@byteplus/veplayer 1.15.3-rc.3 → 1.15.3-rc.31

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 (46) hide show
  1. package/README.md +13 -0
  2. package/index.d.ts +1144 -311
  3. package/index.min.css +1 -1
  4. package/index.min.js +2 -2
  5. package/lite.cjs +2 -0
  6. package/lite.cjs.css +1 -0
  7. package/lite.d.ts +366 -0
  8. package/lite.esm.css +1 -0
  9. package/lite.esm.mjs +2 -0
  10. package/lite.min.css +1 -0
  11. package/lite.min.js +2 -0
  12. package/package.json +25 -1
  13. package/plugin/XGVideo.js +2 -1
  14. package/plugin/modules/DashAbralgo.d.ts +2 -0
  15. package/plugin/modules/DashAbralgo.mjs +2 -0
  16. package/plugin/modules/XGVideo.d.ts +2 -0
  17. package/plugin/modules/XGVideo.mjs +2 -0
  18. package/plugin/modules/danmuMask.d.ts +2 -0
  19. package/plugin/modules/danmuMask.mjs +2 -0
  20. package/plugin/modules/danmujs.d.ts +2 -0
  21. package/plugin/modules/danmujs.mjs +3 -0
  22. package/plugin/modules/dash.d.ts +2 -0
  23. package/plugin/modules/dash.mjs +2 -0
  24. package/plugin/modules/flv.d.ts +2 -0
  25. package/plugin/modules/flv.mjs +2 -0
  26. package/plugin/modules/hls.d.ts +2 -0
  27. package/plugin/modules/hls.mjs +2 -0
  28. package/plugin/modules/hlsEncrypt.d.ts +2 -0
  29. package/plugin/modules/hlsEncrypt.mjs +2 -0
  30. package/plugin/modules/mp4Encrypt.d.ts +2 -0
  31. package/plugin/modules/mp4Encrypt.mjs +2 -0
  32. package/plugin/modules/preloader.d.ts +2 -0
  33. package/plugin/modules/preloader.mjs +2 -0
  34. package/plugin/modules/streamprobe.d.ts +2 -0
  35. package/plugin/modules/streamprobe.mjs +2 -0
  36. package/plugin/modules/vestrategy.d.ts +2 -0
  37. package/plugin/modules/vestrategy.mjs +2 -0
  38. package/plugin/modules/vestrategy_adapt_range.d.ts +2 -0
  39. package/plugin/modules/vestrategy_adapt_range.mjs +2 -0
  40. package/plugin/modules/vestrategy_h265.d.ts +2 -0
  41. package/plugin/modules/vestrategy_h265.mjs +2 -0
  42. package/plugin/modules/vestrategy_preload.d.ts +2 -0
  43. package/plugin/modules/vestrategy_preload.mjs +2 -0
  44. package/plugin/mp4Encrypt.js +2 -2
  45. package/plugin/vestrategy.js +1 -1
  46. package/plugin/vestrategy_preload.js +1 -1
@@ -0,0 +1,2 @@
1
+ // @byteplus/veplayer@1.15.3-rc.31 Built @7/30/2026, 5:49:58 PM
2
+ 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}function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var a=function e(){if(this instanceof e){var a=[null];return a.push.apply(a,arguments),new(Function.bind.apply(t,a))}return t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})})),a}var global$1,hasRequiredGlobal,index_min={exports:{}},es_array_concat={};function requireGlobal(){if(hasRequiredGlobal)return global$1;hasRequiredGlobal=1;var e=function(e){return e&&e.Math==Math&&e};return global$1=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof commonjsGlobal&&commonjsGlobal)||function(){return this}()||Function("return this")()}var fails,hasRequiredFails,descriptors,hasRequiredDescriptors,functionBindNative,hasRequiredFunctionBindNative,functionCall,hasRequiredFunctionCall,objectGetOwnPropertyDescriptor={};function requireFails(){return hasRequiredFails?fails:(hasRequiredFails=1,fails=function(e){try{return!!e()}catch(e){return!0}})}function requireDescriptors(){if(hasRequiredDescriptors)return descriptors;hasRequiredDescriptors=1;var e=requireFails();return descriptors=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))}function requireFunctionBindNative(){if(hasRequiredFunctionBindNative)return functionBindNative;hasRequiredFunctionBindNative=1;var e=requireFails();return functionBindNative=!e((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")}))}function requireFunctionCall(){if(hasRequiredFunctionCall)return functionCall;hasRequiredFunctionCall=1;var e=requireFunctionBindNative(),t=Function.prototype.call;return functionCall=e?t.bind(t):function(){return t.apply(t,arguments)},functionCall}var hasRequiredObjectPropertyIsEnumerable,createPropertyDescriptor,hasRequiredCreatePropertyDescriptor,functionUncurryThis,hasRequiredFunctionUncurryThis,classofRaw,hasRequiredClassofRaw,indexedObject,hasRequiredIndexedObject,isNullOrUndefined,hasRequiredIsNullOrUndefined,requireObjectCoercible,hasRequiredRequireObjectCoercible,toIndexedObject,hasRequiredToIndexedObject,documentAll_1,hasRequiredDocumentAll,isCallable,hasRequiredIsCallable,isObject$1,hasRequiredIsObject,getBuiltIn,hasRequiredGetBuiltIn,objectIsPrototypeOf,hasRequiredObjectIsPrototypeOf,engineUserAgent,hasRequiredEngineUserAgent,engineV8Version,hasRequiredEngineV8Version,symbolConstructorDetection,hasRequiredSymbolConstructorDetection,useSymbolAsUid,hasRequiredUseSymbolAsUid,isSymbol,hasRequiredIsSymbol,tryToString,hasRequiredTryToString,aCallable,hasRequiredACallable,getMethod,hasRequiredGetMethod,ordinaryToPrimitive,hasRequiredOrdinaryToPrimitive,objectPropertyIsEnumerable={};function requireObjectPropertyIsEnumerable(){if(hasRequiredObjectPropertyIsEnumerable)return objectPropertyIsEnumerable;hasRequiredObjectPropertyIsEnumerable=1;var e={}.propertyIsEnumerable,t=Object.getOwnPropertyDescriptor,a=t&&!e.call({1:2},1);return objectPropertyIsEnumerable.f=a?function(e){var a=t(this,e);return!!a&&a.enumerable}:e,objectPropertyIsEnumerable}function requireCreatePropertyDescriptor(){return hasRequiredCreatePropertyDescriptor?createPropertyDescriptor:(hasRequiredCreatePropertyDescriptor=1,createPropertyDescriptor=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}})}function requireFunctionUncurryThis(){if(hasRequiredFunctionUncurryThis)return functionUncurryThis;hasRequiredFunctionUncurryThis=1;var e=requireFunctionBindNative(),t=Function.prototype,a=t.call,r=e&&t.bind.bind(a,a);return functionUncurryThis=e?r:function(e){return function(){return a.apply(e,arguments)}},functionUncurryThis}function requireClassofRaw(){if(hasRequiredClassofRaw)return classofRaw;hasRequiredClassofRaw=1;var e=requireFunctionUncurryThis(),t=e({}.toString),a=e("".slice);return classofRaw=function(e){return a(t(e),8,-1)}}function requireIndexedObject(){if(hasRequiredIndexedObject)return indexedObject;hasRequiredIndexedObject=1;var e=requireFunctionUncurryThis(),t=requireFails(),a=requireClassofRaw(),r=Object,n=e("".split);return indexedObject=t((function(){return!r("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?n(e,""):r(e)}:r}function requireIsNullOrUndefined(){return hasRequiredIsNullOrUndefined?isNullOrUndefined:(hasRequiredIsNullOrUndefined=1,isNullOrUndefined=function(e){return null==e})}function requireRequireObjectCoercible(){if(hasRequiredRequireObjectCoercible)return requireObjectCoercible;hasRequiredRequireObjectCoercible=1;var e=requireIsNullOrUndefined(),t=TypeError;return requireObjectCoercible=function(a){if(e(a))throw t("Can't call method on "+a);return a}}function requireToIndexedObject(){if(hasRequiredToIndexedObject)return toIndexedObject;hasRequiredToIndexedObject=1;var e=requireIndexedObject(),t=requireRequireObjectCoercible();return toIndexedObject=function(a){return e(t(a))}}function requireDocumentAll(){if(hasRequiredDocumentAll)return documentAll_1;hasRequiredDocumentAll=1;var e="object"==typeof document&&document.all;return documentAll_1={all:e,IS_HTMLDDA:void 0===e&&void 0!==e}}function requireIsCallable(){if(hasRequiredIsCallable)return isCallable;hasRequiredIsCallable=1;var e=requireDocumentAll(),t=e.all;return isCallable=e.IS_HTMLDDA?function(e){return"function"==typeof e||e===t}:function(e){return"function"==typeof e}}function requireIsObject(){if(hasRequiredIsObject)return isObject$1;hasRequiredIsObject=1;var e=requireIsCallable(),t=requireDocumentAll(),a=t.all;return isObject$1=t.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:e(t)||t===a}:function(t){return"object"==typeof t?null!==t:e(t)}}function requireGetBuiltIn(){if(hasRequiredGetBuiltIn)return getBuiltIn;hasRequiredGetBuiltIn=1;var e=requireGlobal(),t=requireIsCallable();return getBuiltIn=function(a,r){return arguments.length<2?(n=e[a],t(n)?n:void 0):e[a]&&e[a][r];var n},getBuiltIn}function requireObjectIsPrototypeOf(){if(hasRequiredObjectIsPrototypeOf)return objectIsPrototypeOf;hasRequiredObjectIsPrototypeOf=1;var e=requireFunctionUncurryThis();return objectIsPrototypeOf=e({}.isPrototypeOf)}function requireEngineUserAgent(){if(hasRequiredEngineUserAgent)return engineUserAgent;hasRequiredEngineUserAgent=1;var e=requireGetBuiltIn();return engineUserAgent=e("navigator","userAgent")||""}function requireEngineV8Version(){if(hasRequiredEngineV8Version)return engineV8Version;hasRequiredEngineV8Version=1;var e,t,a=requireGlobal(),r=requireEngineUserAgent(),n=a.process,i=a.Deno,c=n&&n.versions||i&&i.version,o=c&&c.v8;return o&&(t=(e=o.split("."))[0]>0&&e[0]<4?1:+(e[0]+e[1])),!t&&r&&(!(e=r.match(/Edge\/(\d+)/))||e[1]>=74)&&(e=r.match(/Chrome\/(\d+)/))&&(t=+e[1]),engineV8Version=t}function requireSymbolConstructorDetection(){if(hasRequiredSymbolConstructorDetection)return symbolConstructorDetection;hasRequiredSymbolConstructorDetection=1;var e=requireEngineV8Version(),t=requireFails();return symbolConstructorDetection=!!Object.getOwnPropertySymbols&&!t((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&e&&e<41}))}function requireUseSymbolAsUid(){if(hasRequiredUseSymbolAsUid)return useSymbolAsUid;hasRequiredUseSymbolAsUid=1;var e=requireSymbolConstructorDetection();return useSymbolAsUid=e&&!Symbol.sham&&"symbol"==typeof Symbol.iterator}function requireIsSymbol(){if(hasRequiredIsSymbol)return isSymbol;hasRequiredIsSymbol=1;var e=requireGetBuiltIn(),t=requireIsCallable(),a=requireObjectIsPrototypeOf(),r=requireUseSymbolAsUid(),n=Object;return isSymbol=r?function(e){return"symbol"==typeof e}:function(r){var i=e("Symbol");return t(i)&&a(i.prototype,n(r))}}function requireTryToString(){if(hasRequiredTryToString)return tryToString;hasRequiredTryToString=1;var e=String;return tryToString=function(t){try{return e(t)}catch(e){return"Object"}}}function requireACallable(){if(hasRequiredACallable)return aCallable;hasRequiredACallable=1;var e=requireIsCallable(),t=requireTryToString(),a=TypeError;return aCallable=function(r){if(e(r))return r;throw a(t(r)+" is not a function")}}function requireGetMethod(){if(hasRequiredGetMethod)return getMethod;hasRequiredGetMethod=1;var e=requireACallable(),t=requireIsNullOrUndefined();return getMethod=function(a,r){var n=a[r];return t(n)?void 0:e(n)}}function requireOrdinaryToPrimitive(){if(hasRequiredOrdinaryToPrimitive)return ordinaryToPrimitive;hasRequiredOrdinaryToPrimitive=1;var e=requireFunctionCall(),t=requireIsCallable(),a=requireIsObject(),r=TypeError;return ordinaryToPrimitive=function(n,i){var c,o;if("string"===i&&t(c=n.toString)&&!a(o=e(c,n)))return o;if(t(c=n.valueOf)&&!a(o=e(c,n)))return o;if("string"!==i&&t(c=n.toString)&&!a(o=e(c,n)))return o;throw r("Can't convert object to primitive value")}}var isPure,hasRequiredIsPure,defineGlobalProperty,hasRequiredDefineGlobalProperty,sharedStore,hasRequiredSharedStore,hasRequiredShared,toObject,hasRequiredToObject,hasOwnProperty_1,hasRequiredHasOwnProperty,uid,hasRequiredUid,wellKnownSymbol,hasRequiredWellKnownSymbol,toPrimitive,hasRequiredToPrimitive,toPropertyKey,hasRequiredToPropertyKey,documentCreateElement,hasRequiredDocumentCreateElement,ie8DomDefine,hasRequiredIe8DomDefine,hasRequiredObjectGetOwnPropertyDescriptor,shared={exports:{}};function requireIsPure(){return hasRequiredIsPure?isPure:(hasRequiredIsPure=1,isPure=!1)}function requireDefineGlobalProperty(){if(hasRequiredDefineGlobalProperty)return defineGlobalProperty;hasRequiredDefineGlobalProperty=1;var e=requireGlobal(),t=Object.defineProperty;return defineGlobalProperty=function(a,r){try{t(e,a,{value:r,configurable:!0,writable:!0})}catch(t){e[a]=r}return r}}function requireSharedStore(){if(hasRequiredSharedStore)return sharedStore;hasRequiredSharedStore=1;var e=requireGlobal(),t=requireDefineGlobalProperty(),a="__core-js_shared__",r=e[a]||t(a,{});return sharedStore=r}function requireShared(){if(hasRequiredShared)return shared.exports;hasRequiredShared=1;var e=requireIsPure(),t=requireSharedStore();return(shared.exports=function(e,a){return t[e]||(t[e]=void 0!==a?a:{})})("versions",[]).push({version:"3.26.1",mode:e?"pure":"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"}),shared.exports}function requireToObject(){if(hasRequiredToObject)return toObject;hasRequiredToObject=1;var e=requireRequireObjectCoercible(),t=Object;return toObject=function(a){return t(e(a))}}function requireHasOwnProperty(){if(hasRequiredHasOwnProperty)return hasOwnProperty_1;hasRequiredHasOwnProperty=1;var e=requireFunctionUncurryThis(),t=requireToObject(),a=e({}.hasOwnProperty);return hasOwnProperty_1=Object.hasOwn||function(e,r){return a(t(e),r)}}function requireUid(){if(hasRequiredUid)return uid;hasRequiredUid=1;var e=requireFunctionUncurryThis(),t=0,a=Math.random(),r=e(1..toString);return uid=function(e){return"Symbol("+(void 0===e?"":e)+")_"+r(++t+a,36)}}function requireWellKnownSymbol(){if(hasRequiredWellKnownSymbol)return wellKnownSymbol;hasRequiredWellKnownSymbol=1;var e=requireGlobal(),t=requireShared(),a=requireHasOwnProperty(),r=requireUid(),n=requireSymbolConstructorDetection(),i=requireUseSymbolAsUid(),c=t("wks"),o=e.Symbol,s=o&&o.for,u=i?o:o&&o.withoutSetter||r;return wellKnownSymbol=function(e){if(!a(c,e)||!n&&"string"!=typeof c[e]){var t="Symbol."+e;n&&a(o,e)?c[e]=o[e]:c[e]=i&&s?s(t):u(t)}return c[e]}}function requireToPrimitive(){if(hasRequiredToPrimitive)return toPrimitive;hasRequiredToPrimitive=1;var e=requireFunctionCall(),t=requireIsObject(),a=requireIsSymbol(),r=requireGetMethod(),n=requireOrdinaryToPrimitive(),i=requireWellKnownSymbol(),c=TypeError,o=i("toPrimitive");return toPrimitive=function(i,s){if(!t(i)||a(i))return i;var u,d=r(i,o);if(d){if(void 0===s&&(s="default"),u=e(d,i,s),!t(u)||a(u))return u;throw c("Can't convert object to primitive value")}return void 0===s&&(s="number"),n(i,s)}}function requireToPropertyKey(){if(hasRequiredToPropertyKey)return toPropertyKey;hasRequiredToPropertyKey=1;var e=requireToPrimitive(),t=requireIsSymbol();return toPropertyKey=function(a){var r=e(a,"string");return t(r)?r:r+""}}function requireDocumentCreateElement(){if(hasRequiredDocumentCreateElement)return documentCreateElement;hasRequiredDocumentCreateElement=1;var e=requireGlobal(),t=requireIsObject(),a=e.document,r=t(a)&&t(a.createElement);return documentCreateElement=function(e){return r?a.createElement(e):{}}}function requireIe8DomDefine(){if(hasRequiredIe8DomDefine)return ie8DomDefine;hasRequiredIe8DomDefine=1;var e=requireDescriptors(),t=requireFails(),a=requireDocumentCreateElement();return ie8DomDefine=!e&&!t((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))}function requireObjectGetOwnPropertyDescriptor(){if(hasRequiredObjectGetOwnPropertyDescriptor)return objectGetOwnPropertyDescriptor;hasRequiredObjectGetOwnPropertyDescriptor=1;var e=requireDescriptors(),t=requireFunctionCall(),a=requireObjectPropertyIsEnumerable(),r=requireCreatePropertyDescriptor(),n=requireToIndexedObject(),i=requireToPropertyKey(),c=requireHasOwnProperty(),o=requireIe8DomDefine(),s=Object.getOwnPropertyDescriptor;return objectGetOwnPropertyDescriptor.f=e?s:function(e,u){if(e=n(e),u=i(u),o)try{return s(e,u)}catch(e){}if(c(e,u))return r(!t(a.f,e,u),e[u])},objectGetOwnPropertyDescriptor}var v8PrototypeDefineBug,hasRequiredV8PrototypeDefineBug,anObject,hasRequiredAnObject,hasRequiredObjectDefineProperty,createNonEnumerableProperty,hasRequiredCreateNonEnumerableProperty,objectDefineProperty={};function requireV8PrototypeDefineBug(){if(hasRequiredV8PrototypeDefineBug)return v8PrototypeDefineBug;hasRequiredV8PrototypeDefineBug=1;var e=requireDescriptors(),t=requireFails();return v8PrototypeDefineBug=e&&t((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))}function requireAnObject(){if(hasRequiredAnObject)return anObject;hasRequiredAnObject=1;var e=requireIsObject(),t=String,a=TypeError;return anObject=function(r){if(e(r))return r;throw a(t(r)+" is not an object")}}function requireObjectDefineProperty(){if(hasRequiredObjectDefineProperty)return objectDefineProperty;hasRequiredObjectDefineProperty=1;var e=requireDescriptors(),t=requireIe8DomDefine(),a=requireV8PrototypeDefineBug(),r=requireAnObject(),n=requireToPropertyKey(),i=TypeError,c=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s="enumerable",u="configurable",d="writable";return objectDefineProperty.f=e?a?function(e,t,a){if(r(e),t=n(t),r(a),"function"==typeof e&&"prototype"===t&&"value"in a&&d in a&&!a[d]){var i=o(e,t);i&&i[d]&&(e[t]=a.value,a={configurable:u in a?a[u]:i[u],enumerable:s in a?a[s]:i[s],writable:!1})}return c(e,t,a)}:c:function(e,a,o){if(r(e),a=n(a),r(o),t)try{return c(e,a,o)}catch(e){}if("get"in o||"set"in o)throw i("Accessors not supported");return"value"in o&&(e[a]=o.value),e},objectDefineProperty}function requireCreateNonEnumerableProperty(){if(hasRequiredCreateNonEnumerableProperty)return createNonEnumerableProperty;hasRequiredCreateNonEnumerableProperty=1;var e=requireDescriptors(),t=requireObjectDefineProperty(),a=requireCreatePropertyDescriptor();return createNonEnumerableProperty=e?function(e,r,n){return t.f(e,r,a(1,n))}:function(e,t,a){return e[t]=a,e}}var functionName,hasRequiredFunctionName,inspectSource,hasRequiredInspectSource,weakMapBasicDetection,hasRequiredWeakMapBasicDetection,sharedKey,hasRequiredSharedKey,hiddenKeys,hasRequiredHiddenKeys,internalState,hasRequiredInternalState,hasRequiredMakeBuiltIn,defineBuiltIn,hasRequiredDefineBuiltIn,makeBuiltIn={exports:{}};function requireFunctionName(){if(hasRequiredFunctionName)return functionName;hasRequiredFunctionName=1;var e=requireDescriptors(),t=requireHasOwnProperty(),a=Function.prototype,r=e&&Object.getOwnPropertyDescriptor,n=t(a,"name"),i=n&&"something"===function(){}.name,c=n&&(!e||e&&r(a,"name").configurable);return functionName={EXISTS:n,PROPER:i,CONFIGURABLE:c}}function requireInspectSource(){if(hasRequiredInspectSource)return inspectSource;hasRequiredInspectSource=1;var e=requireFunctionUncurryThis(),t=requireIsCallable(),a=requireSharedStore(),r=e(Function.toString);return t(a.inspectSource)||(a.inspectSource=function(e){return r(e)}),inspectSource=a.inspectSource}function requireWeakMapBasicDetection(){if(hasRequiredWeakMapBasicDetection)return weakMapBasicDetection;hasRequiredWeakMapBasicDetection=1;var e=requireGlobal(),t=requireIsCallable(),a=e.WeakMap;return weakMapBasicDetection=t(a)&&/native code/.test(String(a))}function requireSharedKey(){if(hasRequiredSharedKey)return sharedKey;hasRequiredSharedKey=1;var e=requireShared(),t=requireUid(),a=e("keys");return sharedKey=function(e){return a[e]||(a[e]=t(e))}}function requireHiddenKeys(){return hasRequiredHiddenKeys?hiddenKeys:(hasRequiredHiddenKeys=1,hiddenKeys={})}function requireInternalState(){if(hasRequiredInternalState)return internalState;hasRequiredInternalState=1;var e,t,a,r=requireWeakMapBasicDetection(),n=requireGlobal(),i=requireIsObject(),c=requireCreateNonEnumerableProperty(),o=requireHasOwnProperty(),s=requireSharedStore(),u=requireSharedKey(),d=requireHiddenKeys(),b="Object already initialized",f=n.TypeError,l=n.WeakMap;if(r||s.state){var h=s.state||(s.state=new l);h.get=h.get,h.has=h.has,h.set=h.set,e=function(e,t){if(h.has(e))throw f(b);return t.facade=e,h.set(e,t),t},t=function(e){return h.get(e)||{}},a=function(e){return h.has(e)}}else{var p=u("state");d[p]=!0,e=function(e,t){if(o(e,p))throw f(b);return t.facade=e,c(e,p,t),t},t=function(e){return o(e,p)?e[p]:{}},a=function(e){return o(e,p)}}return internalState={set:e,get:t,has:a,enforce:function(r){return a(r)?t(r):e(r,{})},getterFor:function(e){return function(a){var r;if(!i(a)||(r=t(a)).type!==e)throw f("Incompatible receiver, "+e+" required");return r}}}}function requireMakeBuiltIn(){if(hasRequiredMakeBuiltIn)return makeBuiltIn.exports;hasRequiredMakeBuiltIn=1;var e=requireFails(),t=requireIsCallable(),a=requireHasOwnProperty(),r=requireDescriptors(),n=requireFunctionName().CONFIGURABLE,i=requireInspectSource(),c=requireInternalState(),o=c.enforce,s=c.get,u=Object.defineProperty,d=r&&!e((function(){return 8!==u((function(){}),"length",{value:8}).length})),b=String(String).split("String"),f=makeBuiltIn.exports=function(e,t,i){"Symbol("===String(t).slice(0,7)&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),i&&i.getter&&(t="get "+t),i&&i.setter&&(t="set "+t),(!a(e,"name")||n&&e.name!==t)&&(r?u(e,"name",{value:t,configurable:!0}):e.name=t),d&&i&&a(i,"arity")&&e.length!==i.arity&&u(e,"length",{value:i.arity});try{i&&a(i,"constructor")&&i.constructor?r&&u(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(e){}var c=o(e);return a(c,"source")||(c.source=b.join("string"==typeof t?t:"")),e};return Function.prototype.toString=f((function(){return t(this)&&s(this).source||i(this)}),"toString"),makeBuiltIn.exports}function requireDefineBuiltIn(){if(hasRequiredDefineBuiltIn)return defineBuiltIn;hasRequiredDefineBuiltIn=1;var e=requireIsCallable(),t=requireObjectDefineProperty(),a=requireMakeBuiltIn(),r=requireDefineGlobalProperty();return defineBuiltIn=function(n,i,c,o){o||(o={});var s=o.enumerable,u=void 0!==o.name?o.name:i;if(e(c)&&a(c,u,o),o.global)s?n[i]=c:r(i,c);else{try{o.unsafe?n[i]&&(s=!0):delete n[i]}catch(e){}s?n[i]=c:t.f(n,i,{value:c,enumerable:!1,configurable:!o.nonConfigurable,writable:!o.nonWritable})}return n}}var mathTrunc,hasRequiredMathTrunc,toIntegerOrInfinity,hasRequiredToIntegerOrInfinity,toAbsoluteIndex,hasRequiredToAbsoluteIndex,toLength,hasRequiredToLength,lengthOfArrayLike,hasRequiredLengthOfArrayLike,arrayIncludes,hasRequiredArrayIncludes,objectKeysInternal,hasRequiredObjectKeysInternal,enumBugKeys,hasRequiredEnumBugKeys,hasRequiredObjectGetOwnPropertyNames,objectGetOwnPropertyNames={};function requireMathTrunc(){if(hasRequiredMathTrunc)return mathTrunc;hasRequiredMathTrunc=1;var e=Math.ceil,t=Math.floor;return mathTrunc=Math.trunc||function(a){var r=+a;return(r>0?t:e)(r)}}function requireToIntegerOrInfinity(){if(hasRequiredToIntegerOrInfinity)return toIntegerOrInfinity;hasRequiredToIntegerOrInfinity=1;var e=requireMathTrunc();return toIntegerOrInfinity=function(t){var a=+t;return a!=a||0===a?0:e(a)}}function requireToAbsoluteIndex(){if(hasRequiredToAbsoluteIndex)return toAbsoluteIndex;hasRequiredToAbsoluteIndex=1;var e=requireToIntegerOrInfinity(),t=Math.max,a=Math.min;return toAbsoluteIndex=function(r,n){var i=e(r);return i<0?t(i+n,0):a(i,n)}}function requireToLength(){if(hasRequiredToLength)return toLength;hasRequiredToLength=1;var e=requireToIntegerOrInfinity(),t=Math.min;return toLength=function(a){return a>0?t(e(a),9007199254740991):0}}function requireLengthOfArrayLike(){if(hasRequiredLengthOfArrayLike)return lengthOfArrayLike;hasRequiredLengthOfArrayLike=1;var e=requireToLength();return lengthOfArrayLike=function(t){return e(t.length)}}function requireArrayIncludes(){if(hasRequiredArrayIncludes)return arrayIncludes;hasRequiredArrayIncludes=1;var e=requireToIndexedObject(),t=requireToAbsoluteIndex(),a=requireLengthOfArrayLike(),r=function(r){return function(n,i,c){var o,s=e(n),u=a(s),d=t(c,u);if(r&&i!=i){for(;u>d;)if((o=s[d++])!=o)return!0}else for(;u>d;d++)if((r||d in s)&&s[d]===i)return r||d||0;return!r&&-1}};return arrayIncludes={includes:r(!0),indexOf:r(!1)}}function requireObjectKeysInternal(){if(hasRequiredObjectKeysInternal)return objectKeysInternal;hasRequiredObjectKeysInternal=1;var e=requireFunctionUncurryThis(),t=requireHasOwnProperty(),a=requireToIndexedObject(),r=requireArrayIncludes().indexOf,n=requireHiddenKeys(),i=e([].push);return objectKeysInternal=function(e,c){var o,s=a(e),u=0,d=[];for(o in s)!t(n,o)&&t(s,o)&&i(d,o);for(;c.length>u;)t(s,o=c[u++])&&(~r(d,o)||i(d,o));return d}}function requireEnumBugKeys(){return hasRequiredEnumBugKeys?enumBugKeys:(hasRequiredEnumBugKeys=1,enumBugKeys=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"])}function requireObjectGetOwnPropertyNames(){if(hasRequiredObjectGetOwnPropertyNames)return objectGetOwnPropertyNames;hasRequiredObjectGetOwnPropertyNames=1;var e=requireObjectKeysInternal(),t=requireEnumBugKeys().concat("length","prototype");return objectGetOwnPropertyNames.f=Object.getOwnPropertyNames||function(a){return e(a,t)},objectGetOwnPropertyNames}var hasRequiredObjectGetOwnPropertySymbols,ownKeys$2,hasRequiredOwnKeys,copyConstructorProperties,hasRequiredCopyConstructorProperties,isForced_1,hasRequiredIsForced,_export,hasRequired_export,isArray,hasRequiredIsArray,doesNotExceedSafeInteger,hasRequiredDoesNotExceedSafeInteger,createProperty,hasRequiredCreateProperty,toStringTagSupport,hasRequiredToStringTagSupport,classof,hasRequiredClassof,isConstructor,hasRequiredIsConstructor,arraySpeciesConstructor,hasRequiredArraySpeciesConstructor,arraySpeciesCreate,hasRequiredArraySpeciesCreate,arrayMethodHasSpeciesSupport,hasRequiredArrayMethodHasSpeciesSupport,hasRequiredEs_array_concat,objectGetOwnPropertySymbols={};function requireObjectGetOwnPropertySymbols(){return hasRequiredObjectGetOwnPropertySymbols||(hasRequiredObjectGetOwnPropertySymbols=1,objectGetOwnPropertySymbols.f=Object.getOwnPropertySymbols),objectGetOwnPropertySymbols}function requireOwnKeys(){if(hasRequiredOwnKeys)return ownKeys$2;hasRequiredOwnKeys=1;var e=requireGetBuiltIn(),t=requireFunctionUncurryThis(),a=requireObjectGetOwnPropertyNames(),r=requireObjectGetOwnPropertySymbols(),n=requireAnObject(),i=t([].concat);return ownKeys$2=e("Reflect","ownKeys")||function(e){var t=a.f(n(e)),c=r.f;return c?i(t,c(e)):t}}function requireCopyConstructorProperties(){if(hasRequiredCopyConstructorProperties)return copyConstructorProperties;hasRequiredCopyConstructorProperties=1;var e=requireHasOwnProperty(),t=requireOwnKeys(),a=requireObjectGetOwnPropertyDescriptor(),r=requireObjectDefineProperty();return copyConstructorProperties=function(n,i,c){for(var o=t(i),s=r.f,u=a.f,d=0;d<o.length;d++){var b=o[d];e(n,b)||c&&e(c,b)||s(n,b,u(i,b))}}}function requireIsForced(){if(hasRequiredIsForced)return isForced_1;hasRequiredIsForced=1;var e=requireFails(),t=requireIsCallable(),a=/#|\.prototype\./,r=function(a,r){var s=i[n(a)];return s==o||s!=c&&(t(r)?e(r):!!r)},n=r.normalize=function(e){return String(e).replace(a,".").toLowerCase()},i=r.data={},c=r.NATIVE="N",o=r.POLYFILL="P";return isForced_1=r}function require_export(){if(hasRequired_export)return _export;hasRequired_export=1;var e=requireGlobal(),t=requireObjectGetOwnPropertyDescriptor().f,a=requireCreateNonEnumerableProperty(),r=requireDefineBuiltIn(),n=requireDefineGlobalProperty(),i=requireCopyConstructorProperties(),c=requireIsForced();return _export=function(o,s){var u,d,b,f,l,h=o.target,p=o.global,y=o.stat;if(u=p?e:y?e[h]||n(h,{}):(e[h]||{}).prototype)for(d in s){if(f=s[d],b=o.dontCallGetSet?(l=t(u,d))&&l.value:u[d],!c(p?d:h+(y?".":"#")+d,o.forced)&&void 0!==b){if(typeof f==typeof b)continue;i(f,b)}(o.sham||b&&b.sham)&&a(f,"sham",!0),r(u,d,f,o)}}}function requireIsArray(){if(hasRequiredIsArray)return isArray;hasRequiredIsArray=1;var e=requireClassofRaw();return isArray=Array.isArray||function(t){return"Array"==e(t)}}function requireDoesNotExceedSafeInteger(){if(hasRequiredDoesNotExceedSafeInteger)return doesNotExceedSafeInteger;hasRequiredDoesNotExceedSafeInteger=1;var e=TypeError;return doesNotExceedSafeInteger=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}}function requireCreateProperty(){if(hasRequiredCreateProperty)return createProperty;hasRequiredCreateProperty=1;var e=requireToPropertyKey(),t=requireObjectDefineProperty(),a=requireCreatePropertyDescriptor();return createProperty=function(r,n,i){var c=e(n);c in r?t.f(r,c,a(0,i)):r[c]=i}}function requireToStringTagSupport(){if(hasRequiredToStringTagSupport)return toStringTagSupport;hasRequiredToStringTagSupport=1;var e={};return e[requireWellKnownSymbol()("toStringTag")]="z",toStringTagSupport="[object z]"===String(e)}function requireClassof(){if(hasRequiredClassof)return classof;hasRequiredClassof=1;var e=requireToStringTagSupport(),t=requireIsCallable(),a=requireClassofRaw(),r=requireWellKnownSymbol()("toStringTag"),n=Object,i="Arguments"==a(function(){return arguments}());return classof=e?a:function(e){var c,o,s;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(o=function(e,t){try{return e[t]}catch(e){}}(c=n(e),r))?o:i?a(c):"Object"==(s=a(c))&&t(c.callee)?"Arguments":s}}function requireIsConstructor(){if(hasRequiredIsConstructor)return isConstructor;hasRequiredIsConstructor=1;var e=requireFunctionUncurryThis(),t=requireFails(),a=requireIsCallable(),r=requireClassof(),n=requireGetBuiltIn(),i=requireInspectSource(),c=function(){},o=[],s=n("Reflect","construct"),u=/^\s*(?:class|function)\b/,d=e(u.exec),b=!u.exec(c),f=function(e){if(!a(e))return!1;try{return s(c,o,e),!0}catch(e){return!1}},l=function(e){if(!a(e))return!1;switch(r(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return b||!!d(u,i(e))}catch(e){return!0}};return l.sham=!0,isConstructor=!s||t((function(){var e;return f(f.call)||!f(Object)||!f((function(){e=!0}))||e}))?l:f}function requireArraySpeciesConstructor(){if(hasRequiredArraySpeciesConstructor)return arraySpeciesConstructor;hasRequiredArraySpeciesConstructor=1;var e=requireIsArray(),t=requireIsConstructor(),a=requireIsObject(),r=requireWellKnownSymbol()("species"),n=Array;return arraySpeciesConstructor=function(i){var c;return e(i)&&(c=i.constructor,(t(c)&&(c===n||e(c.prototype))||a(c)&&null===(c=c[r]))&&(c=void 0)),void 0===c?n:c}}function requireArraySpeciesCreate(){if(hasRequiredArraySpeciesCreate)return arraySpeciesCreate;hasRequiredArraySpeciesCreate=1;var e=requireArraySpeciesConstructor();return arraySpeciesCreate=function(t,a){return new(e(t))(0===a?0:a)}}function requireArrayMethodHasSpeciesSupport(){if(hasRequiredArrayMethodHasSpeciesSupport)return arrayMethodHasSpeciesSupport;hasRequiredArrayMethodHasSpeciesSupport=1;var e=requireFails(),t=requireWellKnownSymbol(),a=requireEngineV8Version(),r=t("species");return arrayMethodHasSpeciesSupport=function(t){return a>=51||!e((function(){var e=[];return(e.constructor={})[r]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}}function requireEs_array_concat(){if(hasRequiredEs_array_concat)return es_array_concat;hasRequiredEs_array_concat=1;var e=require_export(),t=requireFails(),a=requireIsArray(),r=requireIsObject(),n=requireToObject(),i=requireLengthOfArrayLike(),c=requireDoesNotExceedSafeInteger(),o=requireCreateProperty(),s=requireArraySpeciesCreate(),u=requireArrayMethodHasSpeciesSupport(),d=requireWellKnownSymbol(),b=requireEngineV8Version(),f=d("isConcatSpreadable"),l=b>=51||!t((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),h=u("concat"),p=function(e){if(!r(e))return!1;var t=e[f];return void 0!==t?!!t:a(e)};return e({target:"Array",proto:!0,arity:1,forced:!l||!h},{concat:function(e){var t,a,r,u,d,b=n(this),f=s(b,0),l=0;for(t=-1,r=arguments.length;t<r;t++)if(p(d=-1===t?b:arguments[t]))for(u=i(d),c(l+u),a=0;a<u;a++,l++)a in d&&o(f,l,d[a]);else c(l+1),o(f,l++,d);return f.length=l,f}}),es_array_concat}var functionUncurryThisClause,hasRequiredFunctionUncurryThisClause,functionBindContext,hasRequiredFunctionBindContext,arrayIteration,hasRequiredArrayIteration,hasRequiredEs_array_filter,es_array_filter={};function requireFunctionUncurryThisClause(){if(hasRequiredFunctionUncurryThisClause)return functionUncurryThisClause;hasRequiredFunctionUncurryThisClause=1;var e=requireClassofRaw(),t=requireFunctionUncurryThis();return functionUncurryThisClause=function(a){if("Function"===e(a))return t(a)}}function requireFunctionBindContext(){if(hasRequiredFunctionBindContext)return functionBindContext;hasRequiredFunctionBindContext=1;var e=requireFunctionUncurryThisClause(),t=requireACallable(),a=requireFunctionBindNative(),r=e(e.bind);return functionBindContext=function(e,n){return t(e),void 0===n?e:a?r(e,n):function(){return e.apply(n,arguments)}},functionBindContext}function requireArrayIteration(){if(hasRequiredArrayIteration)return arrayIteration;hasRequiredArrayIteration=1;var e=requireFunctionBindContext(),t=requireFunctionUncurryThis(),a=requireIndexedObject(),r=requireToObject(),n=requireLengthOfArrayLike(),i=requireArraySpeciesCreate(),c=t([].push),o=function(t){var o=1==t,s=2==t,u=3==t,d=4==t,b=6==t,f=7==t,l=5==t||b;return function(h,p,y,g){for(var v,m,_=r(h),E=a(_),S=e(p,y),T=n(E),A=0,k=g||i,I=o?k(h,T):s||f?k(h,0):void 0;T>A;A++)if((l||A in E)&&(m=S(v=E[A],A,_),t))if(o)I[A]=m;else if(m)switch(t){case 3:return!0;case 5:return v;case 6:return A;case 2:c(I,v)}else switch(t){case 4:return!1;case 7:c(I,v)}return b?-1:u||d?d:I}};return arrayIteration={forEach:o(0),map:o(1),filter:o(2),some:o(3),every:o(4),find:o(5),findIndex:o(6),filterReject:o(7)}}function requireEs_array_filter(){if(hasRequiredEs_array_filter)return es_array_filter;hasRequiredEs_array_filter=1;var e=require_export(),t=requireArrayIteration().filter;return e({target:"Array",proto:!0,forced:!requireArrayMethodHasSpeciesSupport()("filter")},{filter:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),es_array_filter}var arrayMethodIsStrict,hasRequiredArrayMethodIsStrict,hasRequiredEs_array_indexOf,es_array_indexOf={};function requireArrayMethodIsStrict(){if(hasRequiredArrayMethodIsStrict)return arrayMethodIsStrict;hasRequiredArrayMethodIsStrict=1;var e=requireFails();return arrayMethodIsStrict=function(t,a){var r=[][t];return!!r&&e((function(){r.call(null,a||function(){return 1},1)}))}}function requireEs_array_indexOf(){if(hasRequiredEs_array_indexOf)return es_array_indexOf;hasRequiredEs_array_indexOf=1;var e=require_export(),t=requireFunctionUncurryThisClause(),a=requireArrayIncludes().indexOf,r=requireArrayMethodIsStrict(),n=t([].indexOf),i=!!n&&1/n([1],1,-0)<0,c=r("indexOf");return e({target:"Array",proto:!0,forced:i||!c},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return i?n(this,e,t)||0:a(this,e,t)}}),es_array_indexOf}var objectKeys,hasRequiredObjectKeys,hasRequiredObjectDefineProperties,html,hasRequiredHtml,objectCreate,hasRequiredObjectCreate,addToUnscopables,hasRequiredAddToUnscopables,iterators,hasRequiredIterators,correctPrototypeGetter,hasRequiredCorrectPrototypeGetter,objectGetPrototypeOf,hasRequiredObjectGetPrototypeOf,iteratorsCore,hasRequiredIteratorsCore,setToStringTag,hasRequiredSetToStringTag,iteratorCreateConstructor,hasRequiredIteratorCreateConstructor,aPossiblePrototype,hasRequiredAPossiblePrototype,objectSetPrototypeOf,hasRequiredObjectSetPrototypeOf,iteratorDefine,hasRequiredIteratorDefine,createIterResultObject,hasRequiredCreateIterResultObject,es_array_iterator,hasRequiredEs_array_iterator,objectDefineProperties={};function requireObjectKeys(){if(hasRequiredObjectKeys)return objectKeys;hasRequiredObjectKeys=1;var e=requireObjectKeysInternal(),t=requireEnumBugKeys();return objectKeys=Object.keys||function(a){return e(a,t)}}function requireObjectDefineProperties(){if(hasRequiredObjectDefineProperties)return objectDefineProperties;hasRequiredObjectDefineProperties=1;var e=requireDescriptors(),t=requireV8PrototypeDefineBug(),a=requireObjectDefineProperty(),r=requireAnObject(),n=requireToIndexedObject(),i=requireObjectKeys();return objectDefineProperties.f=e&&!t?Object.defineProperties:function(e,t){r(e);for(var c,o=n(t),s=i(t),u=s.length,d=0;u>d;)a.f(e,c=s[d++],o[c]);return e},objectDefineProperties}function requireHtml(){if(hasRequiredHtml)return html;hasRequiredHtml=1;var e=requireGetBuiltIn();return html=e("document","documentElement")}function requireObjectCreate(){if(hasRequiredObjectCreate)return objectCreate;hasRequiredObjectCreate=1;var e,t=requireAnObject(),a=requireObjectDefineProperties(),r=requireEnumBugKeys(),n=requireHiddenKeys(),i=requireHtml(),c=requireDocumentCreateElement(),o=requireSharedKey(),s="prototype",u="script",d=o("IE_PROTO"),b=function(){},f=function(e){return"<"+u+">"+e+"</"+u+">"},l=function(e){e.write(f("")),e.close();var t=e.parentWindow.Object;return e=null,t},h=function(){try{e=new ActiveXObject("htmlfile")}catch(e){}var t,a,n;h="undefined"!=typeof document?document.domain&&e?l(e):(a=c("iframe"),n="java"+u+":",a.style.display="none",i.appendChild(a),a.src=String(n),(t=a.contentWindow.document).open(),t.write(f("document.F=Object")),t.close(),t.F):l(e);for(var o=r.length;o--;)delete h[s][r[o]];return h()};return n[d]=!0,objectCreate=Object.create||function(e,r){var n;return null!==e?(b[s]=t(e),n=new b,b[s]=null,n[d]=e):n=h(),void 0===r?n:a.f(n,r)}}function requireAddToUnscopables(){if(hasRequiredAddToUnscopables)return addToUnscopables;hasRequiredAddToUnscopables=1;var e=requireWellKnownSymbol(),t=requireObjectCreate(),a=requireObjectDefineProperty().f,r=e("unscopables"),n=Array.prototype;return null==n[r]&&a(n,r,{configurable:!0,value:t(null)}),addToUnscopables=function(e){n[r][e]=!0}}function requireIterators(){return hasRequiredIterators?iterators:(hasRequiredIterators=1,iterators={})}function requireCorrectPrototypeGetter(){if(hasRequiredCorrectPrototypeGetter)return correctPrototypeGetter;hasRequiredCorrectPrototypeGetter=1;var e=requireFails();return correctPrototypeGetter=!e((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))}function requireObjectGetPrototypeOf(){if(hasRequiredObjectGetPrototypeOf)return objectGetPrototypeOf;hasRequiredObjectGetPrototypeOf=1;var e=requireHasOwnProperty(),t=requireIsCallable(),a=requireToObject(),r=requireSharedKey(),n=requireCorrectPrototypeGetter(),i=r("IE_PROTO"),c=Object,o=c.prototype;return objectGetPrototypeOf=n?c.getPrototypeOf:function(r){var n=a(r);if(e(n,i))return n[i];var s=n.constructor;return t(s)&&n instanceof s?s.prototype:n instanceof c?o:null}}function requireIteratorsCore(){if(hasRequiredIteratorsCore)return iteratorsCore;hasRequiredIteratorsCore=1;var e,t,a,r=requireFails(),n=requireIsCallable(),i=requireIsObject(),c=requireObjectCreate(),o=requireObjectGetPrototypeOf(),s=requireDefineBuiltIn(),u=requireWellKnownSymbol(),d=requireIsPure(),b=u("iterator"),f=!1;return[].keys&&("next"in(a=[].keys())?(t=o(o(a)))!==Object.prototype&&(e=t):f=!0),!i(e)||r((function(){var t={};return e[b].call(t)!==t}))?e={}:d&&(e=c(e)),n(e[b])||s(e,b,(function(){return this})),iteratorsCore={IteratorPrototype:e,BUGGY_SAFARI_ITERATORS:f}}function requireSetToStringTag(){if(hasRequiredSetToStringTag)return setToStringTag;hasRequiredSetToStringTag=1;var e=requireObjectDefineProperty().f,t=requireHasOwnProperty(),a=requireWellKnownSymbol()("toStringTag");return setToStringTag=function(r,n,i){r&&!i&&(r=r.prototype),r&&!t(r,a)&&e(r,a,{configurable:!0,value:n})}}function requireIteratorCreateConstructor(){if(hasRequiredIteratorCreateConstructor)return iteratorCreateConstructor;hasRequiredIteratorCreateConstructor=1;var e=requireIteratorsCore().IteratorPrototype,t=requireObjectCreate(),a=requireCreatePropertyDescriptor(),r=requireSetToStringTag(),n=requireIterators(),i=function(){return this};return iteratorCreateConstructor=function(c,o,s,u){var d=o+" Iterator";return c.prototype=t(e,{next:a(+!u,s)}),r(c,d,!1,!0),n[d]=i,c}}function requireAPossiblePrototype(){if(hasRequiredAPossiblePrototype)return aPossiblePrototype;hasRequiredAPossiblePrototype=1;var e=requireIsCallable(),t=String,a=TypeError;return aPossiblePrototype=function(r){if("object"==typeof r||e(r))return r;throw a("Can't set "+t(r)+" as a prototype")}}function requireObjectSetPrototypeOf(){if(hasRequiredObjectSetPrototypeOf)return objectSetPrototypeOf;hasRequiredObjectSetPrototypeOf=1;var e=requireFunctionUncurryThis(),t=requireAnObject(),a=requireAPossiblePrototype();return objectSetPrototypeOf=Object.setPrototypeOf||("__proto__"in{}?function(){var r,n=!1,i={};try{(r=e(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(i,[]),n=i instanceof Array}catch(e){}return function(e,i){return t(e),a(i),n?r(e,i):e.__proto__=i,e}}():void 0),objectSetPrototypeOf}function requireIteratorDefine(){if(hasRequiredIteratorDefine)return iteratorDefine;hasRequiredIteratorDefine=1;var e=require_export(),t=requireFunctionCall(),a=requireIsPure(),r=requireFunctionName(),n=requireIsCallable(),i=requireIteratorCreateConstructor(),c=requireObjectGetPrototypeOf(),o=requireObjectSetPrototypeOf(),s=requireSetToStringTag(),u=requireCreateNonEnumerableProperty(),d=requireDefineBuiltIn(),b=requireWellKnownSymbol(),f=requireIterators(),l=requireIteratorsCore(),h=r.PROPER,p=r.CONFIGURABLE,y=l.IteratorPrototype,g=l.BUGGY_SAFARI_ITERATORS,v=b("iterator"),m="keys",_="values",E="entries",S=function(){return this};return iteratorDefine=function(r,b,l,T,A,k,I){i(l,b,T);var R,w,C,x=function(e){if(e===A&&q)return q;if(!g&&e in D)return D[e];switch(e){case m:case _:case E:return function(){return new l(this,e)}}return function(){return new l(this)}},O=b+" Iterator",P=!1,D=r.prototype,L=D[v]||D["@@iterator"]||A&&D[A],q=!g&&L||x(A),N="Array"==b&&D.entries||L;if(N&&(R=c(N.call(new r)))!==Object.prototype&&R.next&&(a||c(R)===y||(o?o(R,y):n(R[v])||d(R,v,S)),s(R,O,!0,!0),a&&(f[O]=S)),h&&A==_&&L&&L.name!==_&&(!a&&p?u(D,"name",_):(P=!0,q=function(){return t(L,this)})),A)if(w={values:x(_),keys:k?q:x(m),entries:x(E)},I)for(C in w)(g||P||!(C in D))&&d(D,C,w[C]);else e({target:b,proto:!0,forced:g||P},w);return a&&!I||D[v]===q||d(D,v,q,{name:A}),f[b]=q,w}}function requireCreateIterResultObject(){return hasRequiredCreateIterResultObject?createIterResultObject:(hasRequiredCreateIterResultObject=1,createIterResultObject=function(e,t){return{value:e,done:t}})}function requireEs_array_iterator(){if(hasRequiredEs_array_iterator)return es_array_iterator;hasRequiredEs_array_iterator=1;var e=requireToIndexedObject(),t=requireAddToUnscopables(),a=requireIterators(),r=requireInternalState(),n=requireObjectDefineProperty().f,i=requireIteratorDefine(),c=requireCreateIterResultObject(),o=requireIsPure(),s=requireDescriptors(),u="Array Iterator",d=r.set,b=r.getterFor(u);es_array_iterator=i(Array,"Array",(function(t,a){d(this,{type:u,target:e(t),index:0,kind:a})}),(function(){var e=b(this),t=e.target,a=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,c(void 0,!0)):c("keys"==a?r:"values"==a?t[r]:[r,t[r]],!1)}),"values");var f=a.Arguments=a.Array;if(t("keys"),t("values"),t("entries"),!o&&s&&"values"!==f.name)try{n(f,"name",{value:"values"})}catch(e){}return es_array_iterator}var hasRequiredEs_array_map,es_array_map={};function requireEs_array_map(){if(hasRequiredEs_array_map)return es_array_map;hasRequiredEs_array_map=1;var e=require_export(),t=requireArrayIteration().map;return e({target:"Array",proto:!0,forced:!requireArrayMethodHasSpeciesSupport()("map")},{map:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),es_array_map}var deletePropertyOrThrow,hasRequiredDeletePropertyOrThrow,toString,hasRequiredToString,arraySliceSimple,hasRequiredArraySliceSimple,arraySort,hasRequiredArraySort,engineFfVersion,hasRequiredEngineFfVersion,engineIsIeOrEdge,hasRequiredEngineIsIeOrEdge,engineWebkitVersion,hasRequiredEngineWebkitVersion,hasRequiredEs_array_sort,es_array_sort={};function requireDeletePropertyOrThrow(){if(hasRequiredDeletePropertyOrThrow)return deletePropertyOrThrow;hasRequiredDeletePropertyOrThrow=1;var e=requireTryToString(),t=TypeError;return deletePropertyOrThrow=function(a,r){if(!delete a[r])throw t("Cannot delete property "+e(r)+" of "+e(a))}}function requireToString(){if(hasRequiredToString)return toString;hasRequiredToString=1;var e=requireClassof(),t=String;return toString=function(a){if("Symbol"===e(a))throw TypeError("Cannot convert a Symbol value to a string");return t(a)}}function requireArraySliceSimple(){if(hasRequiredArraySliceSimple)return arraySliceSimple;hasRequiredArraySliceSimple=1;var e=requireToAbsoluteIndex(),t=requireLengthOfArrayLike(),a=requireCreateProperty(),r=Array,n=Math.max;return arraySliceSimple=function(i,c,o){for(var s=t(i),u=e(c,s),d=e(void 0===o?s:o,s),b=r(n(d-u,0)),f=0;u<d;u++,f++)a(b,f,i[u]);return b.length=f,b}}function requireArraySort(){if(hasRequiredArraySort)return arraySort;hasRequiredArraySort=1;var e=requireArraySliceSimple(),t=Math.floor,a=function(i,c){var o=i.length,s=t(o/2);return o<8?r(i,c):n(i,a(e(i,0,s),c),a(e(i,s),c),c)},r=function(e,t){for(var a,r,n=e.length,i=1;i<n;){for(r=i,a=e[i];r&&t(e[r-1],a)>0;)e[r]=e[--r];r!==i++&&(e[r]=a)}return e},n=function(e,t,a,r){for(var n=t.length,i=a.length,c=0,o=0;c<n||o<i;)e[c+o]=c<n&&o<i?r(t[c],a[o])<=0?t[c++]:a[o++]:c<n?t[c++]:a[o++];return e};return arraySort=a}function requireEngineFfVersion(){if(hasRequiredEngineFfVersion)return engineFfVersion;hasRequiredEngineFfVersion=1;var e=requireEngineUserAgent().match(/firefox\/(\d+)/i);return engineFfVersion=!!e&&+e[1]}function requireEngineIsIeOrEdge(){if(hasRequiredEngineIsIeOrEdge)return engineIsIeOrEdge;hasRequiredEngineIsIeOrEdge=1;var e=requireEngineUserAgent();return engineIsIeOrEdge=/MSIE|Trident/.test(e)}function requireEngineWebkitVersion(){if(hasRequiredEngineWebkitVersion)return engineWebkitVersion;hasRequiredEngineWebkitVersion=1;var e=requireEngineUserAgent().match(/AppleWebKit\/(\d+)\./);return engineWebkitVersion=!!e&&+e[1]}function requireEs_array_sort(){if(hasRequiredEs_array_sort)return es_array_sort;hasRequiredEs_array_sort=1;var e=require_export(),t=requireFunctionUncurryThis(),a=requireACallable(),r=requireToObject(),n=requireLengthOfArrayLike(),i=requireDeletePropertyOrThrow(),c=requireToString(),o=requireFails(),s=requireArraySort(),u=requireArrayMethodIsStrict(),d=requireEngineFfVersion(),b=requireEngineIsIeOrEdge(),f=requireEngineV8Version(),l=requireEngineWebkitVersion(),h=[],p=t(h.sort),y=t(h.push),g=o((function(){h.sort(void 0)})),v=o((function(){h.sort(null)})),m=u("sort"),_=!o((function(){if(f)return f<70;if(!(d&&d>3)){if(b)return!0;if(l)return l<603;var e,t,a,r,n="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:a=3;break;case 68:case 71:a=4;break;default:a=2}for(r=0;r<47;r++)h.push({k:t+r,v:a})}for(h.sort((function(e,t){return t.v-e.v})),r=0;r<h.length;r++)t=h[r].k.charAt(0),n.charAt(n.length-1)!==t&&(n+=t);return"DGBEFHACIJK"!==n}}));return e({target:"Array",proto:!0,forced:g||!v||!m||!_},{sort:function(e){void 0!==e&&a(e);var t=r(this);if(_)return void 0===e?p(t):p(t,e);var o,u,d=[],b=n(t);for(u=0;u<b;u++)u in t&&y(d,t[u]);for(s(d,function(e){return function(t,a){return void 0===a?-1:void 0===t?1:void 0!==e?+e(t,a)||0:c(t)>c(a)?1:-1}}(e)),o=n(d),u=0;u<o;)t[u]=d[u++];for(;u<b;)i(t,u++);return t}}),es_array_sort}var arraySetLength,hasRequiredArraySetLength,hasRequiredEs_array_splice,es_array_splice={};function requireArraySetLength(){if(hasRequiredArraySetLength)return arraySetLength;hasRequiredArraySetLength=1;var e=requireDescriptors(),t=requireIsArray(),a=TypeError,r=Object.getOwnPropertyDescriptor,n=e&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();return arraySetLength=n?function(e,n){if(t(e)&&!r(e,"length").writable)throw a("Cannot set read only .length");return e.length=n}:function(e,t){return e.length=t}}function requireEs_array_splice(){if(hasRequiredEs_array_splice)return es_array_splice;hasRequiredEs_array_splice=1;var e=require_export(),t=requireToObject(),a=requireToAbsoluteIndex(),r=requireToIntegerOrInfinity(),n=requireLengthOfArrayLike(),i=requireArraySetLength(),c=requireDoesNotExceedSafeInteger(),o=requireArraySpeciesCreate(),s=requireCreateProperty(),u=requireDeletePropertyOrThrow(),d=requireArrayMethodHasSpeciesSupport()("splice"),b=Math.max,f=Math.min;return e({target:"Array",proto:!0,forced:!d},{splice:function(e,d){var l,h,p,y,g,v,m=t(this),_=n(m),E=a(e,_),S=arguments.length;for(0===S?l=h=0:1===S?(l=0,h=_-E):(l=S-2,h=f(b(r(d),0),_-E)),c(_+l-h),p=o(m,h),y=0;y<h;y++)(g=E+y)in m&&s(p,y,m[g]);if(p.length=h,l<h){for(y=E;y<_-h;y++)v=y+l,(g=y+h)in m?m[v]=m[g]:u(m,v);for(y=_;y>_-h+l;y--)u(m,y-1)}else if(l>h)for(y=_-h;y>E;y--)v=y+l-1,(g=y+h-1)in m?m[v]=m[g]:u(m,v);for(y=0;y<l;y++)m[y+E]=arguments[y+2];return i(m,_-h+l),p}}),es_array_splice}var objectAssign,hasRequiredObjectAssign,hasRequiredEs_object_assign,es_object_assign={};function requireObjectAssign(){if(hasRequiredObjectAssign)return objectAssign;hasRequiredObjectAssign=1;var e=requireDescriptors(),t=requireFunctionUncurryThis(),a=requireFunctionCall(),r=requireFails(),n=requireObjectKeys(),i=requireObjectGetOwnPropertySymbols(),c=requireObjectPropertyIsEnumerable(),o=requireToObject(),s=requireIndexedObject(),u=Object.assign,d=Object.defineProperty,b=t([].concat);return objectAssign=!u||r((function(){if(e&&1!==u({b:1},u(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},a={},r=Symbol(),i="abcdefghijklmnopqrst";return t[r]=7,i.split("").forEach((function(e){a[e]=e})),7!=u({},t)[r]||n(u({},a)).join("")!=i}))?function(t,r){for(var u=o(t),d=arguments.length,f=1,l=i.f,h=c.f;d>f;)for(var p,y=s(arguments[f++]),g=l?b(n(y),l(y)):n(y),v=g.length,m=0;v>m;)p=g[m++],e&&!a(h,y,p)||(u[p]=y[p]);return u}:u,objectAssign}function requireEs_object_assign(){if(hasRequiredEs_object_assign)return es_object_assign;hasRequiredEs_object_assign=1;var e=require_export(),t=requireObjectAssign();return e({target:"Object",stat:!0,arity:2,forced:Object.assign!==t},{assign:t}),es_object_assign}var objectToString,hasRequiredObjectToString,hasRequiredEs_object_toString,es_object_toString={};function requireObjectToString(){if(hasRequiredObjectToString)return objectToString;hasRequiredObjectToString=1;var e=requireToStringTagSupport(),t=requireClassof();return objectToString=e?{}.toString:function(){return"[object "+t(this)+"]"}}function requireEs_object_toString(){if(hasRequiredEs_object_toString)return es_object_toString;hasRequiredEs_object_toString=1;var e=requireToStringTagSupport(),t=requireDefineBuiltIn(),a=requireObjectToString();return e||t(Object.prototype,"toString",a,{unsafe:!0}),es_object_toString}var engineIsNode,hasRequiredEngineIsNode,setSpecies,hasRequiredSetSpecies,anInstance,hasRequiredAnInstance,aConstructor,hasRequiredAConstructor,speciesConstructor,hasRequiredSpeciesConstructor,functionApply,hasRequiredFunctionApply,arraySlice,hasRequiredArraySlice,validateArgumentsLength,hasRequiredValidateArgumentsLength,engineIsIos,hasRequiredEngineIsIos,task,hasRequiredTask,engineIsIosPebble,hasRequiredEngineIsIosPebble,engineIsWebosWebkit,hasRequiredEngineIsWebosWebkit,microtask,hasRequiredMicrotask,hostReportErrors,hasRequiredHostReportErrors,perform,hasRequiredPerform,queue,hasRequiredQueue,promiseNativeConstructor,hasRequiredPromiseNativeConstructor,engineIsDeno,hasRequiredEngineIsDeno,engineIsBrowser,hasRequiredEngineIsBrowser,promiseConstructorDetection,hasRequiredPromiseConstructorDetection,es_promise={},es_promise_constructor={};function requireEngineIsNode(){if(hasRequiredEngineIsNode)return engineIsNode;hasRequiredEngineIsNode=1;var e=requireClassofRaw(),t=requireGlobal();return engineIsNode="process"==e(t.process)}function requireSetSpecies(){if(hasRequiredSetSpecies)return setSpecies;hasRequiredSetSpecies=1;var e=requireGetBuiltIn(),t=requireObjectDefineProperty(),a=requireWellKnownSymbol(),r=requireDescriptors(),n=a("species");return setSpecies=function(a){var i=e(a),c=t.f;r&&i&&!i[n]&&c(i,n,{configurable:!0,get:function(){return this}})}}function requireAnInstance(){if(hasRequiredAnInstance)return anInstance;hasRequiredAnInstance=1;var e=requireObjectIsPrototypeOf(),t=TypeError;return anInstance=function(a,r){if(e(r,a))return a;throw t("Incorrect invocation")}}function requireAConstructor(){if(hasRequiredAConstructor)return aConstructor;hasRequiredAConstructor=1;var e=requireIsConstructor(),t=requireTryToString(),a=TypeError;return aConstructor=function(r){if(e(r))return r;throw a(t(r)+" is not a constructor")}}function requireSpeciesConstructor(){if(hasRequiredSpeciesConstructor)return speciesConstructor;hasRequiredSpeciesConstructor=1;var e=requireAnObject(),t=requireAConstructor(),a=requireIsNullOrUndefined(),r=requireWellKnownSymbol()("species");return speciesConstructor=function(n,i){var c,o=e(n).constructor;return void 0===o||a(c=e(o)[r])?i:t(c)}}function requireFunctionApply(){if(hasRequiredFunctionApply)return functionApply;hasRequiredFunctionApply=1;var e=requireFunctionBindNative(),t=Function.prototype,a=t.apply,r=t.call;return functionApply="object"==typeof Reflect&&Reflect.apply||(e?r.bind(a):function(){return r.apply(a,arguments)}),functionApply}function requireArraySlice(){if(hasRequiredArraySlice)return arraySlice;hasRequiredArraySlice=1;var e=requireFunctionUncurryThis();return arraySlice=e([].slice)}function requireValidateArgumentsLength(){if(hasRequiredValidateArgumentsLength)return validateArgumentsLength;hasRequiredValidateArgumentsLength=1;var e=TypeError;return validateArgumentsLength=function(t,a){if(t<a)throw e("Not enough arguments");return t}}function requireEngineIsIos(){if(hasRequiredEngineIsIos)return engineIsIos;hasRequiredEngineIsIos=1;var e=requireEngineUserAgent();return engineIsIos=/(?:ipad|iphone|ipod).*applewebkit/i.test(e)}function requireTask(){if(hasRequiredTask)return task;hasRequiredTask=1;var e,t,a,r,n=requireGlobal(),i=requireFunctionApply(),c=requireFunctionBindContext(),o=requireIsCallable(),s=requireHasOwnProperty(),u=requireFails(),d=requireHtml(),b=requireArraySlice(),f=requireDocumentCreateElement(),l=requireValidateArgumentsLength(),h=requireEngineIsIos(),p=requireEngineIsNode(),y=n.setImmediate,g=n.clearImmediate,v=n.process,m=n.Dispatch,_=n.Function,E=n.MessageChannel,S=n.String,T=0,A={},k="onreadystatechange";try{e=n.location}catch(e){}var I=function(e){if(s(A,e)){var t=A[e];delete A[e],t()}},R=function(e){return function(){I(e)}},w=function(e){I(e.data)},C=function(t){n.postMessage(S(t),e.protocol+"//"+e.host)};return y&&g||(y=function(e){l(arguments.length,1);var a=o(e)?e:_(e),r=b(arguments,1);return A[++T]=function(){i(a,void 0,r)},t(T),T},g=function(e){delete A[e]},p?t=function(e){v.nextTick(R(e))}:m&&m.now?t=function(e){m.now(R(e))}:E&&!h?(r=(a=new E).port2,a.port1.onmessage=w,t=c(r.postMessage,r)):n.addEventListener&&o(n.postMessage)&&!n.importScripts&&e&&"file:"!==e.protocol&&!u(C)?(t=C,n.addEventListener("message",w,!1)):t=k in f("script")?function(e){d.appendChild(f("script"))[k]=function(){d.removeChild(this),I(e)}}:function(e){setTimeout(R(e),0)}),task={set:y,clear:g}}function requireEngineIsIosPebble(){if(hasRequiredEngineIsIosPebble)return engineIsIosPebble;hasRequiredEngineIsIosPebble=1;var e=requireEngineUserAgent(),t=requireGlobal();return engineIsIosPebble=/ipad|iphone|ipod/i.test(e)&&void 0!==t.Pebble}function requireEngineIsWebosWebkit(){if(hasRequiredEngineIsWebosWebkit)return engineIsWebosWebkit;hasRequiredEngineIsWebosWebkit=1;var e=requireEngineUserAgent();return engineIsWebosWebkit=/web0s(?!.*chrome)/i.test(e)}function requireMicrotask(){if(hasRequiredMicrotask)return microtask;hasRequiredMicrotask=1;var e,t,a,r,n,i,c,o,s=requireGlobal(),u=requireFunctionBindContext(),d=requireObjectGetOwnPropertyDescriptor().f,b=requireTask().set,f=requireEngineIsIos(),l=requireEngineIsIosPebble(),h=requireEngineIsWebosWebkit(),p=requireEngineIsNode(),y=s.MutationObserver||s.WebKitMutationObserver,g=s.document,v=s.process,m=s.Promise,_=d(s,"queueMicrotask"),E=_&&_.value;return E||(e=function(){var e,n;for(p&&(e=v.domain)&&e.exit();t;){n=t.fn,t=t.next;try{n()}catch(e){throw t?r():a=void 0,e}}a=void 0,e&&e.enter()},f||p||h||!y||!g?!l&&m&&m.resolve?((c=m.resolve(void 0)).constructor=m,o=u(c.then,c),r=function(){o(e)}):p?r=function(){v.nextTick(e)}:(b=u(b,s),r=function(){b(e)}):(n=!0,i=g.createTextNode(""),new y(e).observe(i,{characterData:!0}),r=function(){i.data=n=!n})),microtask=E||function(e){var n={fn:e,next:void 0};a&&(a.next=n),t||(t=n,r()),a=n}}function requireHostReportErrors(){if(hasRequiredHostReportErrors)return hostReportErrors;hasRequiredHostReportErrors=1;var e=requireGlobal();return hostReportErrors=function(t,a){var r=e.console;r&&r.error&&(1==arguments.length?r.error(t):r.error(t,a))},hostReportErrors}function requirePerform(){return hasRequiredPerform?perform:(hasRequiredPerform=1,perform=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}})}function requireQueue(){if(hasRequiredQueue)return queue;hasRequiredQueue=1;var e=function(){this.head=null,this.tail=null};return e.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}},queue=e}function requirePromiseNativeConstructor(){if(hasRequiredPromiseNativeConstructor)return promiseNativeConstructor;hasRequiredPromiseNativeConstructor=1;var e=requireGlobal();return promiseNativeConstructor=e.Promise}function requireEngineIsDeno(){return hasRequiredEngineIsDeno?engineIsDeno:(hasRequiredEngineIsDeno=1,engineIsDeno="object"==typeof Deno&&Deno&&"object"==typeof Deno.version)}function requireEngineIsBrowser(){if(hasRequiredEngineIsBrowser)return engineIsBrowser;hasRequiredEngineIsBrowser=1;var e=requireEngineIsDeno(),t=requireEngineIsNode();return engineIsBrowser=!e&&!t&&"object"==typeof window&&"object"==typeof document}function requirePromiseConstructorDetection(){if(hasRequiredPromiseConstructorDetection)return promiseConstructorDetection;hasRequiredPromiseConstructorDetection=1;var e=requireGlobal(),t=requirePromiseNativeConstructor(),a=requireIsCallable(),r=requireIsForced(),n=requireInspectSource(),i=requireWellKnownSymbol(),c=requireEngineIsBrowser(),o=requireEngineIsDeno(),s=requireIsPure(),u=requireEngineV8Version(),d=t&&t.prototype,b=i("species"),f=!1,l=a(e.PromiseRejectionEvent),h=r("Promise",(function(){var e=n(t),a=e!==String(t);if(!a&&66===u)return!0;if(s&&(!d.catch||!d.finally))return!0;if(!u||u<51||!/native code/.test(e)){var r=new t((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[b]=i,!(f=r.then((function(){}))instanceof i))return!0}return!a&&(c||o)&&!l}));return promiseConstructorDetection={CONSTRUCTOR:h,REJECTION_EVENT:l,SUBCLASSING:f}}var hasRequiredNewPromiseCapability,hasRequiredEs_promise_constructor,newPromiseCapability={};function requireNewPromiseCapability(){if(hasRequiredNewPromiseCapability)return newPromiseCapability;hasRequiredNewPromiseCapability=1;var e=requireACallable(),t=TypeError,a=function(a){var r,n;this.promise=new a((function(e,a){if(void 0!==r||void 0!==n)throw t("Bad Promise constructor");r=e,n=a})),this.resolve=e(r),this.reject=e(n)};return newPromiseCapability.f=function(e){return new a(e)},newPromiseCapability}function requireEs_promise_constructor(){if(hasRequiredEs_promise_constructor)return es_promise_constructor;hasRequiredEs_promise_constructor=1;var e,t,a,r=require_export(),n=requireIsPure(),i=requireEngineIsNode(),c=requireGlobal(),o=requireFunctionCall(),s=requireDefineBuiltIn(),u=requireObjectSetPrototypeOf(),d=requireSetToStringTag(),b=requireSetSpecies(),f=requireACallable(),l=requireIsCallable(),h=requireIsObject(),p=requireAnInstance(),y=requireSpeciesConstructor(),g=requireTask().set,v=requireMicrotask(),m=requireHostReportErrors(),_=requirePerform(),E=requireQueue(),S=requireInternalState(),T=requirePromiseNativeConstructor(),A=requirePromiseConstructorDetection(),k=requireNewPromiseCapability(),I="Promise",R=A.CONSTRUCTOR,w=A.REJECTION_EVENT,C=A.SUBCLASSING,x=S.getterFor(I),O=S.set,P=T&&T.prototype,D=T,L=P,q=c.TypeError,N=c.document,M=c.process,U=k.f,F=U,j=!!(N&&N.createEvent&&c.dispatchEvent),B="unhandledrejection",H=function(e){var t;return!(!h(e)||!l(t=e.then))&&t},G=function(e,t){var a,r,n,i=t.value,c=1==t.state,s=c?e.ok:e.fail,u=e.resolve,d=e.reject,b=e.domain;try{s?(c||(2===t.rejection&&K(t),t.rejection=1),!0===s?a=i:(b&&b.enter(),a=s(i),b&&(b.exit(),n=!0)),a===e.promise?d(q("Promise-chain cycle")):(r=H(a))?o(r,a,u,d):u(a)):d(i)}catch(e){b&&!n&&b.exit(),d(e)}},$=function(e,t){e.notified||(e.notified=!0,v((function(){for(var a,r=e.reactions;a=r.get();)G(a,e);e.notified=!1,t&&!e.rejection&&z(e)})))},V=function(e,t,a){var r,n;j?((r=N.createEvent("Event")).promise=t,r.reason=a,r.initEvent(e,!1,!0),c.dispatchEvent(r)):r={promise:t,reason:a},!w&&(n=c["on"+e])?n(r):e===B&&m("Unhandled promise rejection",a)},z=function(e){o(g,c,(function(){var t,a=e.facade,r=e.value;if(W(e)&&(t=_((function(){i?M.emit("unhandledRejection",r,a):V(B,a,r)})),e.rejection=i||W(e)?2:1,t.error))throw t.value}))},W=function(e){return 1!==e.rejection&&!e.parent},K=function(e){o(g,c,(function(){var t=e.facade;i?M.emit("rejectionHandled",t):V("rejectionhandled",t,e.value)}))},Y=function(e,t,a){return function(r){e(t,r,a)}},X=function(e,t,a){e.done||(e.done=!0,a&&(e=a),e.value=t,e.state=2,$(e,!0))},J=function(e,t,a){if(!e.done){e.done=!0,a&&(e=a);try{if(e.facade===t)throw q("Promise can't be resolved itself");var r=H(t);r?v((function(){var a={done:!1};try{o(r,t,Y(J,a,e),Y(X,a,e))}catch(t){X(a,t,e)}})):(e.value=t,e.state=1,$(e,!1))}catch(t){X({done:!1},t,e)}}};if(R&&(L=(D=function(t){p(this,L),f(t),o(e,this);var a=x(this);try{t(Y(J,a),Y(X,a))}catch(e){X(a,e)}}).prototype,(e=function(e){O(this,{type:I,done:!1,notified:!1,parent:!1,reactions:new E,rejection:!1,state:0,value:void 0})}).prototype=s(L,"then",(function(e,t){var a=x(this),r=U(y(this,D));return a.parent=!0,r.ok=!l(e)||e,r.fail=l(t)&&t,r.domain=i?M.domain:void 0,0==a.state?a.reactions.add(r):v((function(){G(r,a)})),r.promise})),t=function(){var t=new e,a=x(t);this.promise=t,this.resolve=Y(J,a),this.reject=Y(X,a)},k.f=U=function(e){return e===D||undefined===e?new t(e):F(e)},!n&&l(T)&&P!==Object.prototype)){a=P.then,C||s(P,"then",(function(e,t){var r=this;return new D((function(e,t){o(a,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete P.constructor}catch(e){}u&&u(P,L)}return r({global:!0,constructor:!0,wrap:!0,forced:R},{Promise:D}),d(D,I,!1,!0),b(I),es_promise_constructor}var isArrayIteratorMethod,hasRequiredIsArrayIteratorMethod,getIteratorMethod,hasRequiredGetIteratorMethod,getIterator,hasRequiredGetIterator,iteratorClose,hasRequiredIteratorClose,iterate,hasRequiredIterate,checkCorrectnessOfIteration,hasRequiredCheckCorrectnessOfIteration,promiseStaticsIncorrectIteration,hasRequiredPromiseStaticsIncorrectIteration,hasRequiredEs_promise_all,es_promise_all={};function requireIsArrayIteratorMethod(){if(hasRequiredIsArrayIteratorMethod)return isArrayIteratorMethod;hasRequiredIsArrayIteratorMethod=1;var e=requireWellKnownSymbol(),t=requireIterators(),a=e("iterator"),r=Array.prototype;return isArrayIteratorMethod=function(e){return void 0!==e&&(t.Array===e||r[a]===e)}}function requireGetIteratorMethod(){if(hasRequiredGetIteratorMethod)return getIteratorMethod;hasRequiredGetIteratorMethod=1;var e=requireClassof(),t=requireGetMethod(),a=requireIsNullOrUndefined(),r=requireIterators(),n=requireWellKnownSymbol()("iterator");return getIteratorMethod=function(i){if(!a(i))return t(i,n)||t(i,"@@iterator")||r[e(i)]}}function requireGetIterator(){if(hasRequiredGetIterator)return getIterator;hasRequiredGetIterator=1;var e=requireFunctionCall(),t=requireACallable(),a=requireAnObject(),r=requireTryToString(),n=requireGetIteratorMethod(),i=TypeError;return getIterator=function(c,o){var s=arguments.length<2?n(c):o;if(t(s))return a(e(s,c));throw i(r(c)+" is not iterable")},getIterator}function requireIteratorClose(){if(hasRequiredIteratorClose)return iteratorClose;hasRequiredIteratorClose=1;var e=requireFunctionCall(),t=requireAnObject(),a=requireGetMethod();return iteratorClose=function(r,n,i){var c,o;t(r);try{if(!(c=a(r,"return"))){if("throw"===n)throw i;return i}c=e(c,r)}catch(e){o=!0,c=e}if("throw"===n)throw i;if(o)throw c;return t(c),i}}function requireIterate(){if(hasRequiredIterate)return iterate;hasRequiredIterate=1;var e=requireFunctionBindContext(),t=requireFunctionCall(),a=requireAnObject(),r=requireTryToString(),n=requireIsArrayIteratorMethod(),i=requireLengthOfArrayLike(),c=requireObjectIsPrototypeOf(),o=requireGetIterator(),s=requireGetIteratorMethod(),u=requireIteratorClose(),d=TypeError,b=function(e,t){this.stopped=e,this.result=t},f=b.prototype;return iterate=function(l,h,p){var y,g,v,m,_,E,S,T=p&&p.that,A=!(!p||!p.AS_ENTRIES),k=!(!p||!p.IS_RECORD),I=!(!p||!p.IS_ITERATOR),R=!(!p||!p.INTERRUPTED),w=e(h,T),C=function(e){return y&&u(y,"normal",e),new b(!0,e)},x=function(e){return A?(a(e),R?w(e[0],e[1],C):w(e[0],e[1])):R?w(e,C):w(e)};if(k)y=l.iterator;else if(I)y=l;else{if(!(g=s(l)))throw d(r(l)+" is not iterable");if(n(g)){for(v=0,m=i(l);m>v;v++)if((_=x(l[v]))&&c(f,_))return _;return new b(!1)}y=o(l,g)}for(E=k?l.next:y.next;!(S=t(E,y)).done;){try{_=x(S.value)}catch(e){u(y,"throw",e)}if("object"==typeof _&&_&&c(f,_))return _}return new b(!1)}}function requireCheckCorrectnessOfIteration(){if(hasRequiredCheckCorrectnessOfIteration)return checkCorrectnessOfIteration;hasRequiredCheckCorrectnessOfIteration=1;var e=requireWellKnownSymbol()("iterator"),t=!1;try{var a=0,r={next:function(){return{done:!!a++}},return:function(){t=!0}};r[e]=function(){return this},Array.from(r,(function(){throw 2}))}catch(e){}return checkCorrectnessOfIteration=function(a,r){if(!r&&!t)return!1;var n=!1;try{var i={};i[e]=function(){return{next:function(){return{done:n=!0}}}},a(i)}catch(e){}return n}}function requirePromiseStaticsIncorrectIteration(){if(hasRequiredPromiseStaticsIncorrectIteration)return promiseStaticsIncorrectIteration;hasRequiredPromiseStaticsIncorrectIteration=1;var e=requirePromiseNativeConstructor(),t=requireCheckCorrectnessOfIteration(),a=requirePromiseConstructorDetection().CONSTRUCTOR;return promiseStaticsIncorrectIteration=a||!t((function(t){e.all(t).then(void 0,(function(){}))}))}function requireEs_promise_all(){if(hasRequiredEs_promise_all)return es_promise_all;hasRequiredEs_promise_all=1;var e=require_export(),t=requireFunctionCall(),a=requireACallable(),r=requireNewPromiseCapability(),n=requirePerform(),i=requireIterate();return e({target:"Promise",stat:!0,forced:requirePromiseStaticsIncorrectIteration()},{all:function(e){var c=this,o=r.f(c),s=o.resolve,u=o.reject,d=n((function(){var r=a(c.resolve),n=[],o=0,d=1;i(e,(function(e){var a=o++,i=!1;d++,t(r,c,e).then((function(e){i||(i=!0,n[a]=e,--d||s(n))}),u)})),--d||s(n)}));return d.error&&u(d.value),o.promise}}),es_promise_all}var hasRequiredEs_promise_catch,es_promise_catch={};function requireEs_promise_catch(){if(hasRequiredEs_promise_catch)return es_promise_catch;hasRequiredEs_promise_catch=1;var e=require_export(),t=requireIsPure(),a=requirePromiseConstructorDetection().CONSTRUCTOR,r=requirePromiseNativeConstructor(),n=requireGetBuiltIn(),i=requireIsCallable(),c=requireDefineBuiltIn(),o=r&&r.prototype;if(e({target:"Promise",proto:!0,forced:a,real:!0},{catch:function(e){return this.then(void 0,e)}}),!t&&i(r)){var s=n("Promise").prototype.catch;o.catch!==s&&c(o,"catch",s,{unsafe:!0})}return es_promise_catch}var hasRequiredEs_promise_race,es_promise_race={};function requireEs_promise_race(){if(hasRequiredEs_promise_race)return es_promise_race;hasRequiredEs_promise_race=1;var e=require_export(),t=requireFunctionCall(),a=requireACallable(),r=requireNewPromiseCapability(),n=requirePerform(),i=requireIterate();return e({target:"Promise",stat:!0,forced:requirePromiseStaticsIncorrectIteration()},{race:function(e){var c=this,o=r.f(c),s=o.reject,u=n((function(){var r=a(c.resolve);i(e,(function(e){t(r,c,e).then(o.resolve,s)}))}));return u.error&&s(u.value),o.promise}}),es_promise_race}var hasRequiredEs_promise_reject,es_promise_reject={};function requireEs_promise_reject(){if(hasRequiredEs_promise_reject)return es_promise_reject;hasRequiredEs_promise_reject=1;var e=require_export(),t=requireFunctionCall(),a=requireNewPromiseCapability();return e({target:"Promise",stat:!0,forced:requirePromiseConstructorDetection().CONSTRUCTOR},{reject:function(e){var r=a.f(this);return t(r.reject,void 0,e),r.promise}}),es_promise_reject}var promiseResolve,hasRequiredPromiseResolve,hasRequiredEs_promise_resolve,hasRequiredEs_promise,es_promise_resolve={};function requirePromiseResolve(){if(hasRequiredPromiseResolve)return promiseResolve;hasRequiredPromiseResolve=1;var e=requireAnObject(),t=requireIsObject(),a=requireNewPromiseCapability();return promiseResolve=function(r,n){if(e(r),t(n)&&n.constructor===r)return n;var i=a.f(r);return(0,i.resolve)(n),i.promise}}function requireEs_promise_resolve(){if(hasRequiredEs_promise_resolve)return es_promise_resolve;hasRequiredEs_promise_resolve=1;var e=require_export(),t=requireGetBuiltIn(),a=requireIsPure(),r=requirePromiseNativeConstructor(),n=requirePromiseConstructorDetection().CONSTRUCTOR,i=requirePromiseResolve(),c=t("Promise"),o=a&&!n;return e({target:"Promise",stat:!0,forced:a||n},{resolve:function(e){return i(o&&this===c?r:this,e)}}),es_promise_resolve}function requireEs_promise(){return hasRequiredEs_promise||(hasRequiredEs_promise=1,requireEs_promise_constructor(),requireEs_promise_all(),requireEs_promise_catch(),requireEs_promise_race(),requireEs_promise_reject(),requireEs_promise_resolve()),es_promise}var regexpFlags,hasRequiredRegexpFlags,regexpStickyHelpers,hasRequiredRegexpStickyHelpers,regexpUnsupportedDotAll,hasRequiredRegexpUnsupportedDotAll,regexpUnsupportedNcg,hasRequiredRegexpUnsupportedNcg,regexpExec,hasRequiredRegexpExec,hasRequiredEs_regexp_exec,es_regexp_exec={};function requireRegexpFlags(){if(hasRequiredRegexpFlags)return regexpFlags;hasRequiredRegexpFlags=1;var e=requireAnObject();return regexpFlags=function(){var t=e(this),a="";return t.hasIndices&&(a+="d"),t.global&&(a+="g"),t.ignoreCase&&(a+="i"),t.multiline&&(a+="m"),t.dotAll&&(a+="s"),t.unicode&&(a+="u"),t.unicodeSets&&(a+="v"),t.sticky&&(a+="y"),a}}function requireRegexpStickyHelpers(){if(hasRequiredRegexpStickyHelpers)return regexpStickyHelpers;hasRequiredRegexpStickyHelpers=1;var e=requireFails(),t=requireGlobal().RegExp,a=e((function(){var e=t("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),r=a||e((function(){return!t("a","y").sticky})),n=a||e((function(){var e=t("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));return regexpStickyHelpers={BROKEN_CARET:n,MISSED_STICKY:r,UNSUPPORTED_Y:a}}function requireRegexpUnsupportedDotAll(){if(hasRequiredRegexpUnsupportedDotAll)return regexpUnsupportedDotAll;hasRequiredRegexpUnsupportedDotAll=1;var e=requireFails(),t=requireGlobal().RegExp;return regexpUnsupportedDotAll=e((function(){var e=t(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)}))}function requireRegexpUnsupportedNcg(){if(hasRequiredRegexpUnsupportedNcg)return regexpUnsupportedNcg;hasRequiredRegexpUnsupportedNcg=1;var e=requireFails(),t=requireGlobal().RegExp;return regexpUnsupportedNcg=e((function(){var e=t("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")}))}function requireRegexpExec(){if(hasRequiredRegexpExec)return regexpExec;hasRequiredRegexpExec=1;var e,t,a=requireFunctionCall(),r=requireFunctionUncurryThis(),n=requireToString(),i=requireRegexpFlags(),c=requireRegexpStickyHelpers(),o=requireShared(),s=requireObjectCreate(),u=requireInternalState().get,d=requireRegexpUnsupportedDotAll(),b=requireRegexpUnsupportedNcg(),f=o("native-string-replace",String.prototype.replace),l=RegExp.prototype.exec,h=l,p=r("".charAt),y=r("".indexOf),g=r("".replace),v=r("".slice),m=(t=/b*/g,a(l,e=/a/,"a"),a(l,t,"a"),0!==e.lastIndex||0!==t.lastIndex),_=c.BROKEN_CARET,E=void 0!==/()??/.exec("")[1];return(m||E||_||d||b)&&(h=function(e){var t,r,c,o,d,b,S,T=this,A=u(T),k=n(e),I=A.raw;if(I)return I.lastIndex=T.lastIndex,t=a(h,I,k),T.lastIndex=I.lastIndex,t;var R=A.groups,w=_&&T.sticky,C=a(i,T),x=T.source,O=0,P=k;if(w&&(C=g(C,"y",""),-1===y(C,"g")&&(C+="g"),P=v(k,T.lastIndex),T.lastIndex>0&&(!T.multiline||T.multiline&&"\n"!==p(k,T.lastIndex-1))&&(x="(?: "+x+")",P=" "+P,O++),r=new RegExp("^(?:"+x+")",C)),E&&(r=new RegExp("^"+x+"$(?!\\s)",C)),m&&(c=T.lastIndex),o=a(l,w?r:T,P),w?o?(o.input=v(o.input,O),o[0]=v(o[0],O),o.index=T.lastIndex,T.lastIndex+=o[0].length):T.lastIndex=0:m&&o&&(T.lastIndex=T.global?o.index+o[0].length:c),E&&o&&o.length>1&&a(f,o[0],r,(function(){for(d=1;d<arguments.length-2;d++)void 0===arguments[d]&&(o[d]=void 0)})),o&&R)for(o.groups=b=s(null),d=0;d<R.length;d++)b[(S=R[d])[0]]=o[S[1]];return o}),regexpExec=h}function requireEs_regexp_exec(){if(hasRequiredEs_regexp_exec)return es_regexp_exec;hasRequiredEs_regexp_exec=1;var e=require_export(),t=requireRegexpExec();return e({target:"RegExp",proto:!0,forced:/./.exec!==t},{exec:t}),es_regexp_exec}var stringMultibyte,hasRequiredStringMultibyte,hasRequiredEs_string_iterator,es_string_iterator={};function requireStringMultibyte(){if(hasRequiredStringMultibyte)return stringMultibyte;hasRequiredStringMultibyte=1;var e=requireFunctionUncurryThis(),t=requireToIntegerOrInfinity(),a=requireToString(),r=requireRequireObjectCoercible(),n=e("".charAt),i=e("".charCodeAt),c=e("".slice),o=function(e){return function(o,s){var u,d,b=a(r(o)),f=t(s),l=b.length;return f<0||f>=l?e?"":void 0:(u=i(b,f))<55296||u>56319||f+1===l||(d=i(b,f+1))<56320||d>57343?e?n(b,f):u:e?c(b,f,f+2):d-56320+(u-55296<<10)+65536}};return stringMultibyte={codeAt:o(!1),charAt:o(!0)}}function requireEs_string_iterator(){if(hasRequiredEs_string_iterator)return es_string_iterator;hasRequiredEs_string_iterator=1;var e=requireStringMultibyte().charAt,t=requireToString(),a=requireInternalState(),r=requireIteratorDefine(),n=requireCreateIterResultObject(),i="String Iterator",c=a.set,o=a.getterFor(i);return r(String,"String",(function(e){c(this,{type:i,string:t(e),index:0})}),(function(){var t,a=o(this),r=a.string,i=a.index;return i>=r.length?n(void 0,!0):(t=e(r,i),a.index+=t.length,n(t,!1))})),es_string_iterator}var fixRegexpWellKnownSymbolLogic,hasRequiredFixRegexpWellKnownSymbolLogic,advanceStringIndex,hasRequiredAdvanceStringIndex,regexpExecAbstract,hasRequiredRegexpExecAbstract,hasRequiredEs_string_match,es_string_match={};function requireFixRegexpWellKnownSymbolLogic(){if(hasRequiredFixRegexpWellKnownSymbolLogic)return fixRegexpWellKnownSymbolLogic;hasRequiredFixRegexpWellKnownSymbolLogic=1,requireEs_regexp_exec();var e=requireFunctionUncurryThisClause(),t=requireDefineBuiltIn(),a=requireRegexpExec(),r=requireFails(),n=requireWellKnownSymbol(),i=requireCreateNonEnumerableProperty(),c=n("species"),o=RegExp.prototype;return fixRegexpWellKnownSymbolLogic=function(s,u,d,b){var f=n(s),l=!r((function(){var e={};return e[f]=function(){return 7},7!=""[s](e)})),h=l&&!r((function(){var e=!1,t=/a/;return"split"===s&&((t={}).constructor={},t.constructor[c]=function(){return t},t.flags="",t[f]=/./[f]),t.exec=function(){return e=!0,null},t[f](""),!e}));if(!l||!h||d){var p=e(/./[f]),y=u(f,""[s],(function(t,r,n,i,c){var s=e(t),u=r.exec;return u===a||u===o.exec?l&&!c?{done:!0,value:p(r,n,i)}:{done:!0,value:s(n,r,i)}:{done:!1}}));t(String.prototype,s,y[0]),t(o,f,y[1])}b&&i(o[f],"sham",!0)}}function requireAdvanceStringIndex(){if(hasRequiredAdvanceStringIndex)return advanceStringIndex;hasRequiredAdvanceStringIndex=1;var e=requireStringMultibyte().charAt;return advanceStringIndex=function(t,a,r){return a+(r?e(t,a).length:1)}}function requireRegexpExecAbstract(){if(hasRequiredRegexpExecAbstract)return regexpExecAbstract;hasRequiredRegexpExecAbstract=1;var e=requireFunctionCall(),t=requireAnObject(),a=requireIsCallable(),r=requireClassofRaw(),n=requireRegexpExec(),i=TypeError;return regexpExecAbstract=function(c,o){var s=c.exec;if(a(s)){var u=e(s,c,o);return null!==u&&t(u),u}if("RegExp"===r(c))return e(n,c,o);throw i("RegExp#exec called on incompatible receiver")}}function requireEs_string_match(){if(hasRequiredEs_string_match)return es_string_match;hasRequiredEs_string_match=1;var e=requireFunctionCall(),t=requireFixRegexpWellKnownSymbolLogic(),a=requireAnObject(),r=requireIsNullOrUndefined(),n=requireToLength(),i=requireToString(),c=requireRequireObjectCoercible(),o=requireGetMethod(),s=requireAdvanceStringIndex(),u=requireRegexpExecAbstract();return t("match",(function(t,d,b){return[function(a){var n=c(this),s=r(a)?void 0:o(a,t);return s?e(s,a,n):new RegExp(a)[t](i(n))},function(e){var t=a(this),r=i(e),c=b(d,t,r);if(c.done)return c.value;if(!t.global)return u(t,r);var o=t.unicode;t.lastIndex=0;for(var f,l=[],h=0;null!==(f=u(t,r));){var p=i(f[0]);l[h]=p,""===p&&(t.lastIndex=s(r,n(t.lastIndex),o)),h++}return 0===h?null:l}]})),es_string_match}var stringRepeat,hasRequiredStringRepeat,hasRequiredEs_string_repeat,es_string_repeat={};function requireStringRepeat(){if(hasRequiredStringRepeat)return stringRepeat;hasRequiredStringRepeat=1;var e=requireToIntegerOrInfinity(),t=requireToString(),a=requireRequireObjectCoercible(),r=RangeError;return stringRepeat=function(n){var i=t(a(this)),c="",o=e(n);if(o<0||o==1/0)throw r("Wrong number of repetitions");for(;o>0;(o>>>=1)&&(i+=i))1&o&&(c+=i);return c}}function requireEs_string_repeat(){return hasRequiredEs_string_repeat||(hasRequiredEs_string_repeat=1,require_export()({target:"String",proto:!0},{repeat:requireStringRepeat()})),es_string_repeat}var getSubstitution,hasRequiredGetSubstitution,hasRequiredEs_string_replace,es_string_replace={};function requireGetSubstitution(){if(hasRequiredGetSubstitution)return getSubstitution;hasRequiredGetSubstitution=1;var e=requireFunctionUncurryThis(),t=requireToObject(),a=Math.floor,r=e("".charAt),n=e("".replace),i=e("".slice),c=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,o=/\$([$&'`]|\d{1,2})/g;return getSubstitution=function(e,s,u,d,b,f){var l=u+e.length,h=d.length,p=o;return void 0!==b&&(b=t(b),p=c),n(f,p,(function(t,n){var c;switch(r(n,0)){case"$":return"$";case"&":return e;case"`":return i(s,0,u);case"'":return i(s,l);case"<":c=b[i(n,1,-1)];break;default:var o=+n;if(0===o)return t;if(o>h){var f=a(o/10);return 0===f?t:f<=h?void 0===d[f-1]?r(n,1):d[f-1]+r(n,1):t}c=d[o-1]}return void 0===c?"":c}))}}function requireEs_string_replace(){if(hasRequiredEs_string_replace)return es_string_replace;hasRequiredEs_string_replace=1;var e=requireFunctionApply(),t=requireFunctionCall(),a=requireFunctionUncurryThis(),r=requireFixRegexpWellKnownSymbolLogic(),n=requireFails(),i=requireAnObject(),c=requireIsCallable(),o=requireIsNullOrUndefined(),s=requireToIntegerOrInfinity(),u=requireToLength(),d=requireToString(),b=requireRequireObjectCoercible(),f=requireAdvanceStringIndex(),l=requireGetMethod(),h=requireGetSubstitution(),p=requireRegexpExecAbstract(),y=requireWellKnownSymbol()("replace"),g=Math.max,v=Math.min,m=a([].concat),_=a([].push),E=a("".indexOf),S=a("".slice),T="$0"==="a".replace(/./,"$0"),A=!!/./[y]&&""===/./[y]("a","$0");return r("replace",(function(a,r,n){var T=A?"$":"$0";return[function(e,a){var n=b(this),i=o(e)?void 0:l(e,y);return i?t(i,e,n,a):t(r,d(n),e,a)},function(t,a){var o=i(this),b=d(t);if("string"==typeof a&&-1===E(a,T)&&-1===E(a,"$<")){var l=n(r,o,b,a);if(l.done)return l.value}var y=c(a);y||(a=d(a));var A=o.global;if(A){var k=o.unicode;o.lastIndex=0}for(var I=[];;){var R=p(o,b);if(null===R)break;if(_(I,R),!A)break;""===d(R[0])&&(o.lastIndex=f(b,u(o.lastIndex),k))}for(var w,C="",x=0,O=0;O<I.length;O++){for(var P=d((R=I[O])[0]),D=g(v(s(R.index),b.length),0),L=[],q=1;q<R.length;q++)_(L,void 0===(w=R[q])?w:String(w));var N=R.groups;if(y){var M=m([P],L,D,b);void 0!==N&&_(M,N);var U=d(e(a,void 0,M))}else U=h(P,b,D,L,N,a);D>=x&&(C+=S(b,x,D)+U,x=D+P.length)}return C+S(b,x)}]}),!!n((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!T||A),es_string_replace}var domIterables,hasRequiredDomIterables,domTokenListPrototype,hasRequiredDomTokenListPrototype,arrayForEach,hasRequiredArrayForEach,hasRequiredWeb_domCollections_forEach,web_domCollections_forEach={};function requireDomIterables(){return hasRequiredDomIterables?domIterables:(hasRequiredDomIterables=1,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})}function requireDomTokenListPrototype(){if(hasRequiredDomTokenListPrototype)return domTokenListPrototype;hasRequiredDomTokenListPrototype=1;var e=requireDocumentCreateElement()("span").classList,t=e&&e.constructor&&e.constructor.prototype;return domTokenListPrototype=t===Object.prototype?void 0:t}function requireArrayForEach(){if(hasRequiredArrayForEach)return arrayForEach;hasRequiredArrayForEach=1;var e=requireArrayIteration().forEach,t=requireArrayMethodIsStrict()("forEach");return arrayForEach=t?[].forEach:function(t){return e(this,t,arguments.length>1?arguments[1]:void 0)},arrayForEach}function requireWeb_domCollections_forEach(){if(hasRequiredWeb_domCollections_forEach)return web_domCollections_forEach;hasRequiredWeb_domCollections_forEach=1;var e=requireGlobal(),t=requireDomIterables(),a=requireDomTokenListPrototype(),r=requireArrayForEach(),n=requireCreateNonEnumerableProperty(),i=function(e){if(e&&e.forEach!==r)try{n(e,"forEach",r)}catch(t){e.forEach=r}};for(var c in t)t[c]&&i(e[c]&&e[c].prototype);return i(a),web_domCollections_forEach}var hasRequiredWeb_domCollections_iterator,web_domCollections_iterator={};function requireWeb_domCollections_iterator(){if(hasRequiredWeb_domCollections_iterator)return web_domCollections_iterator;hasRequiredWeb_domCollections_iterator=1;var e=requireGlobal(),t=requireDomIterables(),a=requireDomTokenListPrototype(),r=requireEs_array_iterator(),n=requireCreateNonEnumerableProperty(),i=requireWellKnownSymbol(),c=i("iterator"),o=i("toStringTag"),s=r.values,u=function(e,a){if(e){if(e[c]!==s)try{n(e,c,s)}catch(t){e[c]=s}if(e[o]||n(e,o,a),t[a])for(var i in r)if(e[i]!==r[i])try{n(e,i,r[i])}catch(t){e[i]=r[i]}}};for(var d in t)u(e[d]&&e[d].prototype,d);return u(a,"DOMTokenList"),web_domCollections_iterator}var urlConstructorDetection,hasRequiredUrlConstructorDetection,defineBuiltInAccessor,hasRequiredDefineBuiltInAccessor,callWithSafeIterationClosing,hasRequiredCallWithSafeIterationClosing,arrayFrom,hasRequiredArrayFrom,stringPunycodeToAscii,hasRequiredStringPunycodeToAscii,defineBuiltIns,hasRequiredDefineBuiltIns,web_urlSearchParams_constructor,hasRequiredWeb_urlSearchParams_constructor,hasRequiredWeb_url_constructor,hasRequiredWeb_url,web_url={},web_url_constructor={};function requireUrlConstructorDetection(){if(hasRequiredUrlConstructorDetection)return urlConstructorDetection;hasRequiredUrlConstructorDetection=1;var e=requireFails(),t=requireWellKnownSymbol(),a=requireIsPure(),r=t("iterator");return urlConstructorDetection=!e((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,a){t.delete("b"),n+=a+e})),a&&!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[r]||"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"!==n||"x"!==new URL("http://x",void 0).host}))}function requireDefineBuiltInAccessor(){if(hasRequiredDefineBuiltInAccessor)return defineBuiltInAccessor;hasRequiredDefineBuiltInAccessor=1;var e=requireMakeBuiltIn(),t=requireObjectDefineProperty();return defineBuiltInAccessor=function(a,r,n){return n.get&&e(n.get,r,{getter:!0}),n.set&&e(n.set,r,{setter:!0}),t.f(a,r,n)}}function requireCallWithSafeIterationClosing(){if(hasRequiredCallWithSafeIterationClosing)return callWithSafeIterationClosing;hasRequiredCallWithSafeIterationClosing=1;var e=requireAnObject(),t=requireIteratorClose();return callWithSafeIterationClosing=function(a,r,n,i){try{return i?r(e(n)[0],n[1]):r(n)}catch(e){t(a,"throw",e)}}}function requireArrayFrom(){if(hasRequiredArrayFrom)return arrayFrom;hasRequiredArrayFrom=1;var e=requireFunctionBindContext(),t=requireFunctionCall(),a=requireToObject(),r=requireCallWithSafeIterationClosing(),n=requireIsArrayIteratorMethod(),i=requireIsConstructor(),c=requireLengthOfArrayLike(),o=requireCreateProperty(),s=requireGetIterator(),u=requireGetIteratorMethod(),d=Array;return arrayFrom=function(b){var f=a(b),l=i(this),h=arguments.length,p=h>1?arguments[1]:void 0,y=void 0!==p;y&&(p=e(p,h>2?arguments[2]:void 0));var g,v,m,_,E,S,T=u(f),A=0;if(!T||this===d&&n(T))for(g=c(f),v=l?new this(g):d(g);g>A;A++)S=y?p(f[A],A):f[A],o(v,A,S);else for(E=(_=s(f,T)).next,v=l?new this:[];!(m=t(E,_)).done;A++)S=y?r(_,p,[m.value,A],!0):m.value,o(v,A,S);return v.length=A,v},arrayFrom}function requireStringPunycodeToAscii(){if(hasRequiredStringPunycodeToAscii)return stringPunycodeToAscii;hasRequiredStringPunycodeToAscii=1;var e=requireFunctionUncurryThis(),t=2147483647,a=/[^\0-\u007E]/,r=/[.\u3002\uFF0E\uFF61]/g,n="Overflow: input needs wider integers to process",i=RangeError,c=e(r.exec),o=Math.floor,s=String.fromCharCode,u=e("".charCodeAt),d=e([].join),b=e([].push),f=e("".replace),l=e("".split),h=e("".toLowerCase),p=function(e){return e+22+75*(e<26)},y=function(e,t,a){var r=0;for(e=a?o(e/700):e>>1,e+=o(e/t);e>455;)e=o(e/35),r+=36;return o(r+36*e/(e+38))},g=function(e){var a=[];e=function(e){for(var t=[],a=0,r=e.length;a<r;){var n=u(e,a++);if(n>=55296&&n<=56319&&a<r){var i=u(e,a++);56320==(64512&i)?b(t,((1023&n)<<10)+(1023&i)+65536):(b(t,n),a--)}else b(t,n)}return t}(e);var r,c,f=e.length,l=128,h=0,g=72;for(r=0;r<e.length;r++)(c=e[r])<128&&b(a,s(c));var v=a.length,m=v;for(v&&b(a,"-");m<f;){var _=t;for(r=0;r<e.length;r++)(c=e[r])>=l&&c<_&&(_=c);var E=m+1;if(_-l>o((t-h)/E))throw i(n);for(h+=(_-l)*E,l=_,r=0;r<e.length;r++){if((c=e[r])<l&&++h>t)throw i(n);if(c==l){for(var S=h,T=36;;){var A=T<=g?1:T>=g+26?26:T-g;if(S<A)break;var k=S-A,I=36-A;b(a,s(p(A+k%I))),S=o(k/I),T+=36}b(a,s(p(S))),g=y(h,E,m==v),h=0,m++}}h++,l++}return d(a,"")};return stringPunycodeToAscii=function(e){var t,n,i=[],o=l(f(h(e),r,"."),".");for(t=0;t<o.length;t++)n=o[t],b(i,c(a,n)?"xn--"+g(n):n);return d(i,".")}}function requireDefineBuiltIns(){if(hasRequiredDefineBuiltIns)return defineBuiltIns;hasRequiredDefineBuiltIns=1;var e=requireDefineBuiltIn();return defineBuiltIns=function(t,a,r){for(var n in a)e(t,n,a[n],r);return t}}function requireWeb_urlSearchParams_constructor(){if(hasRequiredWeb_urlSearchParams_constructor)return web_urlSearchParams_constructor;hasRequiredWeb_urlSearchParams_constructor=1,requireEs_array_iterator();var e=require_export(),t=requireGlobal(),a=requireFunctionCall(),r=requireFunctionUncurryThis(),n=requireDescriptors(),i=requireUrlConstructorDetection(),c=requireDefineBuiltIn(),o=requireDefineBuiltIns(),s=requireSetToStringTag(),u=requireIteratorCreateConstructor(),d=requireInternalState(),b=requireAnInstance(),f=requireIsCallable(),l=requireHasOwnProperty(),h=requireFunctionBindContext(),p=requireClassof(),y=requireAnObject(),g=requireIsObject(),v=requireToString(),m=requireObjectCreate(),_=requireCreatePropertyDescriptor(),E=requireGetIterator(),S=requireGetIteratorMethod(),T=requireValidateArgumentsLength(),A=requireWellKnownSymbol(),k=requireArraySort(),I=A("iterator"),R="URLSearchParams",w=R+"Iterator",C=d.set,x=d.getterFor(R),O=d.getterFor(w),P=Object.getOwnPropertyDescriptor,D=function(e){if(!n)return t[e];var a=P(t,e);return a&&a.value},L=D("fetch"),q=D("Request"),N=D("Headers"),M=q&&q.prototype,U=N&&N.prototype,F=t.RegExp,j=t.TypeError,B=t.decodeURIComponent,H=t.encodeURIComponent,G=r("".charAt),$=r([].join),V=r([].push),z=r("".replace),W=r([].shift),K=r([].splice),Y=r("".split),X=r("".slice),J=/\+/g,Z=Array(4),Q=function(e){return Z[e-1]||(Z[e-1]=F("((?:%[\\da-f]{2}){"+e+"})","gi"))},ee=function(e){try{return B(e)}catch(t){return e}},te=function(e){var t=z(e,J," "),a=4;try{return B(t)}catch(e){for(;a;)t=z(t,Q(a--),ee);return t}},ae=/[!'()~]|%20/g,re={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},ne=function(e){return re[e]},ie=function(e){return z(H(e),ae,ne)},ce=u((function(e,t){C(this,{type:w,iterator:E(x(e).entries),kind:t})}),"Iterator",(function(){var e=O(this),t=e.kind,a=e.iterator.next(),r=a.value;return a.done||(a.value="keys"===t?r.key:"values"===t?r.value:[r.key,r.value]),a}),!0),oe=function(e){this.entries=[],this.url=null,void 0!==e&&(g(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===G(e,0)?X(e,1):e:v(e)))};oe.prototype={type:R,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,n,i,c,o,s,u=S(e);if(u)for(r=(t=E(e,u)).next;!(n=a(r,t)).done;){if(c=(i=E(y(n.value))).next,(o=a(c,i)).done||(s=a(c,i)).done||!a(c,i).done)throw j("Expected sequence with length 2");V(this.entries,{key:v(o.value),value:v(s.value)})}else for(var d in e)l(e,d)&&V(this.entries,{key:d,value:v(e[d])})},parseQuery:function(e){if(e)for(var t,a,r=Y(e,"&"),n=0;n<r.length;)(t=r[n++]).length&&(a=Y(t,"="),V(this.entries,{key:te(W(a)),value:te($(a,"="))}))},serialize:function(){for(var e,t=this.entries,a=[],r=0;r<t.length;)e=t[r++],V(a,ie(e.key)+"="+ie(e.value));return $(a,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var se=function(){b(this,ue),C(this,new oe(arguments.length>0?arguments[0]:void 0))},ue=se.prototype;if(o(ue,{append:function(e,t){T(arguments.length,2);var a=x(this);V(a.entries,{key:v(e),value:v(t)}),a.updateURL()},delete:function(e){T(arguments.length,1);for(var t=x(this),a=t.entries,r=v(e),n=0;n<a.length;)a[n].key===r?K(a,n,1):n++;t.updateURL()},get:function(e){T(arguments.length,1);for(var t=x(this).entries,a=v(e),r=0;r<t.length;r++)if(t[r].key===a)return t[r].value;return null},getAll:function(e){T(arguments.length,1);for(var t=x(this).entries,a=v(e),r=[],n=0;n<t.length;n++)t[n].key===a&&V(r,t[n].value);return r},has:function(e){T(arguments.length,1);for(var t=x(this).entries,a=v(e),r=0;r<t.length;)if(t[r++].key===a)return!0;return!1},set:function(e,t){T(arguments.length,1);for(var a,r=x(this),n=r.entries,i=!1,c=v(e),o=v(t),s=0;s<n.length;s++)(a=n[s]).key===c&&(i?K(n,s--,1):(i=!0,a.value=o));i||V(n,{key:c,value:o}),r.updateURL()},sort:function(){var e=x(this);k(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,a=x(this).entries,r=h(e,arguments.length>1?arguments[1]:void 0),n=0;n<a.length;)r((t=a[n++]).value,t.key,this)},keys:function(){return new ce(this,"keys")},values:function(){return new ce(this,"values")},entries:function(){return new ce(this,"entries")}},{enumerable:!0}),c(ue,I,ue.entries,{name:"entries"}),c(ue,"toString",(function(){return x(this).serialize()}),{enumerable:!0}),s(se,R),e({global:!0,constructor:!0,forced:!i},{URLSearchParams:se}),!i&&f(N)){var de=r(U.has),be=r(U.set),fe=function(e){if(g(e)){var t,a=e.body;if(p(a)===R)return t=e.headers?new N(e.headers):new N,de(t,"content-type")||be(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),m(e,{body:_(0,v(a)),headers:_(0,t)})}return e};if(f(L)&&e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return L(e,arguments.length>1?fe(arguments[1]):{})}}),f(q)){var le=function(e){return b(this,M),new q(e,arguments.length>1?fe(arguments[1]):{})};M.constructor=le,le.prototype=M,e({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:le})}}return web_urlSearchParams_constructor={URLSearchParams:se,getState:x}}function requireWeb_url_constructor(){if(hasRequiredWeb_url_constructor)return web_url_constructor;hasRequiredWeb_url_constructor=1,requireEs_string_iterator();var e,t=require_export(),a=requireDescriptors(),r=requireUrlConstructorDetection(),n=requireGlobal(),i=requireFunctionBindContext(),c=requireFunctionUncurryThis(),o=requireDefineBuiltIn(),s=requireDefineBuiltInAccessor(),u=requireAnInstance(),d=requireHasOwnProperty(),b=requireObjectAssign(),f=requireArrayFrom(),l=requireArraySliceSimple(),h=requireStringMultibyte().codeAt,p=requireStringPunycodeToAscii(),y=requireToString(),g=requireSetToStringTag(),v=requireValidateArgumentsLength(),m=requireWeb_urlSearchParams_constructor(),_=requireInternalState(),E=_.set,S=_.getterFor("URL"),T=m.URLSearchParams,A=m.getState,k=n.URL,I=n.TypeError,R=n.parseInt,w=Math.floor,C=Math.pow,x=c("".charAt),O=c(/./.exec),P=c([].join),D=c(1..toString),L=c([].pop),q=c([].push),N=c("".replace),M=c([].shift),U=c("".split),F=c("".slice),j=c("".toLowerCase),B=c([].unshift),H="Invalid scheme",G="Invalid host",$="Invalid port",V=/[a-z]/i,z=/[\d+-.a-z]/i,W=/\d/,K=/^0x/i,Y=/^[0-7]+$/,X=/^\d+$/,J=/^[\da-f]+$/i,Z=/[\0\t\n\r #%/:<>?@[\\\]^|]/,Q=/[\0\t\n\r #/:<>?@[\\\]^|]/,ee=/^[\u0000-\u0020]+|[\u0000-\u0020]+$/g,te=/[\t\n\r]/g,ae=function(e){var t,a,r,n;if("number"==typeof e){for(t=[],a=0;a<4;a++)B(t,e%256),e=w(e/256);return P(t,".")}if("object"==typeof e){for(t="",r=function(e){for(var t=null,a=1,r=null,n=0,i=0;i<8;i++)0!==e[i]?(n>a&&(t=r,a=n),r=null,n=0):(null===r&&(r=i),++n);return n>a&&(t=r,a=n),t}(e),a=0;a<8;a++)n&&0===e[a]||(n&&(n=!1),r===a?(t+=a?":":"::",n=!0):(t+=D(e[a],16),a<7&&(t+=":")));return"["+t+"]"}return e},re={},ne=b({},re,{" ":1,'"':1,"<":1,">":1,"`":1}),ie=b({},ne,{"#":1,"?":1,"{":1,"}":1}),ce=b({},ie,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),oe=function(e,t){var a=h(e,0);return a>32&&a<127&&!d(t,e)?e:encodeURIComponent(e)},se={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ue=function(e,t){var a;return 2==e.length&&O(V,x(e,0))&&(":"==(a=x(e,1))||!t&&"|"==a)},de=function(e){var t;return e.length>1&&ue(F(e,0,2))&&(2==e.length||"/"===(t=x(e,2))||"\\"===t||"?"===t||"#"===t)},be=function(e){return"."===e||"%2e"===j(e)},fe={},le={},he={},pe={},ye={},ge={},ve={},me={},_e={},Ee={},Se={},Te={},Ae={},ke={},Ie={},Re={},we={},Ce={},xe={},Oe={},Pe={},De=function(e,t,a){var r,n,i,c=y(e);if(t){if(n=this.parse(c))throw I(n);this.searchParams=null}else{if(void 0!==a&&(r=new De(a,!0)),n=this.parse(c,null,r))throw I(n);(i=A(new T)).bindURL(this),this.searchParams=i}};De.prototype={type:"URL",parse:function(t,a,r){var n,i,c,o,s,u=this,b=a||fe,h=0,p="",g=!1,v=!1,m=!1;for(t=y(t),a||(u.scheme="",u.username="",u.password="",u.host=null,u.port=null,u.path=[],u.query=null,u.fragment=null,u.cannotBeABaseURL=!1,t=N(t,ee,"")),t=N(t,te,""),n=f(t);h<=n.length;){switch(i=n[h],b){case fe:if(!i||!O(V,i)){if(a)return H;b=he;continue}p+=j(i),b=le;break;case le:if(i&&(O(z,i)||"+"==i||"-"==i||"."==i))p+=j(i);else{if(":"!=i){if(a)return H;p="",b=he,h=0;continue}if(a&&(u.isSpecial()!=d(se,p)||"file"==p&&(u.includesCredentials()||null!==u.port)||"file"==u.scheme&&!u.host))return;if(u.scheme=p,a)return void(u.isSpecial()&&se[u.scheme]==u.port&&(u.port=null));p="","file"==u.scheme?b=ke:u.isSpecial()&&r&&r.scheme==u.scheme?b=pe:u.isSpecial()?b=me:"/"==n[h+1]?(b=ye,h++):(u.cannotBeABaseURL=!0,q(u.path,""),b=xe)}break;case he:if(!r||r.cannotBeABaseURL&&"#"!=i)return H;if(r.cannotBeABaseURL&&"#"==i){u.scheme=r.scheme,u.path=l(r.path),u.query=r.query,u.fragment="",u.cannotBeABaseURL=!0,b=Pe;break}b="file"==r.scheme?ke:ge;continue;case pe:if("/"!=i||"/"!=n[h+1]){b=ge;continue}b=_e,h++;break;case ye:if("/"==i){b=Ee;break}b=Ce;continue;case ge:if(u.scheme=r.scheme,i==e)u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=l(r.path),u.query=r.query;else if("/"==i||"\\"==i&&u.isSpecial())b=ve;else if("?"==i)u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=l(r.path),u.query="",b=Oe;else{if("#"!=i){u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=l(r.path),u.path.length--,b=Ce;continue}u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,u.path=l(r.path),u.query=r.query,u.fragment="",b=Pe}break;case ve:if(!u.isSpecial()||"/"!=i&&"\\"!=i){if("/"!=i){u.username=r.username,u.password=r.password,u.host=r.host,u.port=r.port,b=Ce;continue}b=Ee}else b=_e;break;case me:if(b=_e,"/"!=i||"/"!=x(p,h+1))continue;h++;break;case _e:if("/"!=i&&"\\"!=i){b=Ee;continue}break;case Ee:if("@"==i){g&&(p="%40"+p),g=!0,c=f(p);for(var _=0;_<c.length;_++){var E=c[_];if(":"!=E||m){var S=oe(E,ce);m?u.password+=S:u.username+=S}else m=!0}p=""}else if(i==e||"/"==i||"?"==i||"#"==i||"\\"==i&&u.isSpecial()){if(g&&""==p)return"Invalid authority";h-=f(p).length+1,p="",b=Se}else p+=i;break;case Se:case Te:if(a&&"file"==u.scheme){b=Re;continue}if(":"!=i||v){if(i==e||"/"==i||"?"==i||"#"==i||"\\"==i&&u.isSpecial()){if(u.isSpecial()&&""==p)return G;if(a&&""==p&&(u.includesCredentials()||null!==u.port))return;if(o=u.parseHost(p))return o;if(p="",b=we,a)return;continue}"["==i?v=!0:"]"==i&&(v=!1),p+=i}else{if(""==p)return G;if(o=u.parseHost(p))return o;if(p="",b=Ae,a==Te)return}break;case Ae:if(!O(W,i)){if(i==e||"/"==i||"?"==i||"#"==i||"\\"==i&&u.isSpecial()||a){if(""!=p){var T=R(p,10);if(T>65535)return $;u.port=u.isSpecial()&&T===se[u.scheme]?null:T,p=""}if(a)return;b=we;continue}return $}p+=i;break;case ke:if(u.scheme="file","/"==i||"\\"==i)b=Ie;else{if(!r||"file"!=r.scheme){b=Ce;continue}if(i==e)u.host=r.host,u.path=l(r.path),u.query=r.query;else if("?"==i)u.host=r.host,u.path=l(r.path),u.query="",b=Oe;else{if("#"!=i){de(P(l(n,h),""))||(u.host=r.host,u.path=l(r.path),u.shortenPath()),b=Ce;continue}u.host=r.host,u.path=l(r.path),u.query=r.query,u.fragment="",b=Pe}}break;case Ie:if("/"==i||"\\"==i){b=Re;break}r&&"file"==r.scheme&&!de(P(l(n,h),""))&&(ue(r.path[0],!0)?q(u.path,r.path[0]):u.host=r.host),b=Ce;continue;case Re:if(i==e||"/"==i||"\\"==i||"?"==i||"#"==i){if(!a&&ue(p))b=Ce;else if(""==p){if(u.host="",a)return;b=we}else{if(o=u.parseHost(p))return o;if("localhost"==u.host&&(u.host=""),a)return;p="",b=we}continue}p+=i;break;case we:if(u.isSpecial()){if(b=Ce,"/"!=i&&"\\"!=i)continue}else if(a||"?"!=i)if(a||"#"!=i){if(i!=e&&(b=Ce,"/"!=i))continue}else u.fragment="",b=Pe;else u.query="",b=Oe;break;case Ce:if(i==e||"/"==i||"\\"==i&&u.isSpecial()||!a&&("?"==i||"#"==i)){if(".."===(s=j(s=p))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(u.shortenPath(),"/"==i||"\\"==i&&u.isSpecial()||q(u.path,"")):be(p)?"/"==i||"\\"==i&&u.isSpecial()||q(u.path,""):("file"==u.scheme&&!u.path.length&&ue(p)&&(u.host&&(u.host=""),p=x(p,0)+":"),q(u.path,p)),p="","file"==u.scheme&&(i==e||"?"==i||"#"==i))for(;u.path.length>1&&""===u.path[0];)M(u.path);"?"==i?(u.query="",b=Oe):"#"==i&&(u.fragment="",b=Pe)}else p+=oe(i,ie);break;case xe:"?"==i?(u.query="",b=Oe):"#"==i?(u.fragment="",b=Pe):i!=e&&(u.path[0]+=oe(i,re));break;case Oe:a||"#"!=i?i!=e&&("'"==i&&u.isSpecial()?u.query+="%27":u.query+="#"==i?"%23":oe(i,re)):(u.fragment="",b=Pe);break;case Pe:i!=e&&(u.fragment+=oe(i,ne))}h++}},parseHost:function(e){var t,a,r;if("["==x(e,0)){if("]"!=x(e,e.length-1))return G;if(t=function(e){var t,a,r,n,i,c,o,s=[0,0,0,0,0,0,0,0],u=0,d=null,b=0,f=function(){return x(e,b)};if(":"==f()){if(":"!=x(e,1))return;b+=2,d=++u}for(;f();){if(8==u)return;if(":"!=f()){for(t=a=0;a<4&&O(J,f());)t=16*t+R(f(),16),b++,a++;if("."==f()){if(0==a)return;if(b-=a,u>6)return;for(r=0;f();){if(n=null,r>0){if(!("."==f()&&r<4))return;b++}if(!O(W,f()))return;for(;O(W,f());){if(i=R(f(),10),null===n)n=i;else{if(0==n)return;n=10*n+i}if(n>255)return;b++}s[u]=256*s[u]+n,2!=++r&&4!=r||u++}if(4!=r)return;break}if(":"==f()){if(b++,!f())return}else if(f())return;s[u++]=t}else{if(null!==d)return;b++,d=++u}}if(null!==d)for(c=u-d,u=7;0!=u&&c>0;)o=s[u],s[u--]=s[d+c-1],s[d+--c]=o;else if(8!=u)return;return s}(F(e,1,-1)),!t)return G;this.host=t}else if(this.isSpecial()){if(e=p(e),O(Z,e))return G;if(t=function(e){var t,a,r,n,i,c,o,s=U(e,".");if(s.length&&""==s[s.length-1]&&s.length--,(t=s.length)>4)return e;for(a=[],r=0;r<t;r++){if(""==(n=s[r]))return e;if(i=10,n.length>1&&"0"==x(n,0)&&(i=O(K,n)?16:8,n=F(n,8==i?1:2)),""===n)c=0;else{if(!O(10==i?X:8==i?Y:J,n))return e;c=R(n,i)}q(a,c)}for(r=0;r<t;r++)if(c=a[r],r==t-1){if(c>=C(256,5-t))return null}else if(c>255)return null;for(o=L(a),r=0;r<a.length;r++)o+=a[r]*C(256,3-r);return o}(e),null===t)return G;this.host=t}else{if(O(Q,e))return G;for(t="",a=f(e),r=0;r<a.length;r++)t+=oe(a[r],re);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"==this.scheme},includesCredentials:function(){return""!=this.username||""!=this.password},isSpecial:function(){return d(se,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"==this.scheme&&1==t&&ue(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,a=e.username,r=e.password,n=e.host,i=e.port,c=e.path,o=e.query,s=e.fragment,u=t+":";return null!==n?(u+="//",e.includesCredentials()&&(u+=a+(r?":"+r:"")+"@"),u+=ae(n),null!==i&&(u+=":"+i)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?c[0]:c.length?"/"+P(c,"/"):"",null!==o&&(u+="?"+o),null!==s&&(u+="#"+s),u},setHref:function(e){var t=this.parse(e);if(t)throw I(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"==e)try{return new Le(e.path[0]).origin}catch(e){return"null"}return"file"!=e&&this.isSpecial()?e+"://"+ae(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(y(e)+":",fe)},getUsername:function(){return this.username},setUsername:function(e){var t=f(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var a=0;a<t.length;a++)this.username+=oe(t[a],ce)}},getPassword:function(){return this.password},setPassword:function(e){var t=f(y(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var a=0;a<t.length;a++)this.password+=oe(t[a],ce)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?ae(e):ae(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,Se)},getHostname:function(){var e=this.host;return null===e?"":ae(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,Te)},getPort:function(){var e=this.port;return null===e?"":y(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""==(e=y(e))?this.port=null:this.parse(e,Ae))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+P(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,we))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""==(e=y(e))?this.query=null:("?"==x(e,0)&&(e=F(e,1)),this.query="",this.parse(e,Oe)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!=(e=y(e))?("#"==x(e,0)&&(e=F(e,1)),this.fragment="",this.parse(e,Pe)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Le=function(e){var t=u(this,qe),r=v(arguments.length,1)>1?arguments[1]:void 0,n=E(t,new De(e,!1,r));a||(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())},qe=Le.prototype,Ne=function(e,t){return{get:function(){return S(this)[e]()},set:t&&function(e){return S(this)[t](e)},configurable:!0,enumerable:!0}};if(a&&(s(qe,"href",Ne("serialize","setHref")),s(qe,"origin",Ne("getOrigin")),s(qe,"protocol",Ne("getProtocol","setProtocol")),s(qe,"username",Ne("getUsername","setUsername")),s(qe,"password",Ne("getPassword","setPassword")),s(qe,"host",Ne("getHost","setHost")),s(qe,"hostname",Ne("getHostname","setHostname")),s(qe,"port",Ne("getPort","setPort")),s(qe,"pathname",Ne("getPathname","setPathname")),s(qe,"search",Ne("getSearch","setSearch")),s(qe,"searchParams",Ne("getSearchParams")),s(qe,"hash",Ne("getHash","setHash"))),o(qe,"toJSON",(function(){return S(this).serialize()}),{enumerable:!0}),o(qe,"toString",(function(){return S(this).serialize()}),{enumerable:!0}),k){var Me=k.createObjectURL,Ue=k.revokeObjectURL;Me&&o(Le,"createObjectURL",i(Me,k)),Ue&&o(Le,"revokeObjectURL",i(Ue,k))}return g(Le,"URL"),t({global:!0,constructor:!0,forced:!r,sham:!a},{URL:Le}),web_url_constructor}function requireWeb_url(){return hasRequiredWeb_url||(hasRequiredWeb_url=1,requireWeb_url_constructor()),web_url}var hasRequiredWeb_url_toJson,web_url_toJson={};function requireWeb_url_toJson(){if(hasRequiredWeb_url_toJson)return web_url_toJson;hasRequiredWeb_url_toJson=1;var e=require_export(),t=requireFunctionCall();return e({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return t(URL.prototype.toString,this)}}),web_url_toJson}var hasRequiredWeb_urlSearchParams,web_urlSearchParams={};function requireWeb_urlSearchParams(){return hasRequiredWeb_urlSearchParams||(hasRequiredWeb_urlSearchParams=1,requireWeb_urlSearchParams_constructor()),web_urlSearchParams}var arrayCopyWithin,hasRequiredArrayCopyWithin,hasRequiredEs_array_copyWithin,es_array_copyWithin={};function requireArrayCopyWithin(){if(hasRequiredArrayCopyWithin)return arrayCopyWithin;hasRequiredArrayCopyWithin=1;var e=requireToObject(),t=requireToAbsoluteIndex(),a=requireLengthOfArrayLike(),r=requireDeletePropertyOrThrow(),n=Math.min;return arrayCopyWithin=[].copyWithin||function(i,c){var o=e(this),s=a(o),u=t(i,s),d=t(c,s),b=arguments.length>2?arguments[2]:void 0,f=n((void 0===b?s:t(b,s))-d,s-u),l=1;for(d<u&&u<d+f&&(l=-1,d+=f-1,u+=f-1);f-- >0;)d in o?o[u]=o[d]:r(o,u),u+=l,d+=l;return o},arrayCopyWithin}function requireEs_array_copyWithin(){if(hasRequiredEs_array_copyWithin)return es_array_copyWithin;hasRequiredEs_array_copyWithin=1;var e=require_export(),t=requireArrayCopyWithin(),a=requireAddToUnscopables();return e({target:"Array",proto:!0},{copyWithin:t}),a("copyWithin"),es_array_copyWithin}var hasRequiredEs_array_includes,es_array_includes={};function requireEs_array_includes(){if(hasRequiredEs_array_includes)return es_array_includes;hasRequiredEs_array_includes=1;var e=require_export(),t=requireArrayIncludes().includes,a=requireFails(),r=requireAddToUnscopables();return e({target:"Array",proto:!0,forced:a((function(){return!Array(1).includes()}))},{includes:function(e){return t(this,e,arguments.length>1?arguments[1]:void 0)}}),r("includes"),es_array_includes}var hasRequiredEs_array_join,es_array_join={};function requireEs_array_join(){if(hasRequiredEs_array_join)return es_array_join;hasRequiredEs_array_join=1;var e=require_export(),t=requireFunctionUncurryThis(),a=requireIndexedObject(),r=requireToIndexedObject(),n=requireArrayMethodIsStrict(),i=t([].join),c=a!=Object,o=n("join",",");return e({target:"Array",proto:!0,forced:c||!o},{join:function(e){return i(r(this),void 0===e?",":e)}}),es_array_join}var arrayLastIndexOf,hasRequiredArrayLastIndexOf,hasRequiredEs_array_lastIndexOf,es_array_lastIndexOf={};function requireArrayLastIndexOf(){if(hasRequiredArrayLastIndexOf)return arrayLastIndexOf;hasRequiredArrayLastIndexOf=1;var e=requireFunctionApply(),t=requireToIndexedObject(),a=requireToIntegerOrInfinity(),r=requireLengthOfArrayLike(),n=requireArrayMethodIsStrict(),i=Math.min,c=[].lastIndexOf,o=!!c&&1/[1].lastIndexOf(1,-0)<0,s=n("lastIndexOf");return arrayLastIndexOf=o||!s?function(n){if(o)return e(c,this,arguments)||0;var s=t(this),u=r(s),d=u-1;for(arguments.length>1&&(d=i(d,a(arguments[1]))),d<0&&(d=u+d);d>=0;d--)if(d in s&&s[d]===n)return d||0;return-1}:c,arrayLastIndexOf}function requireEs_array_lastIndexOf(){if(hasRequiredEs_array_lastIndexOf)return es_array_lastIndexOf;hasRequiredEs_array_lastIndexOf=1;var e=require_export(),t=requireArrayLastIndexOf();return e({target:"Array",proto:!0,forced:t!==[].lastIndexOf},{lastIndexOf:t}),es_array_lastIndexOf}var arrayReduce,hasRequiredArrayReduce,hasRequiredEs_array_reduce,es_array_reduce={};function requireArrayReduce(){if(hasRequiredArrayReduce)return arrayReduce;hasRequiredArrayReduce=1;var e=requireACallable(),t=requireToObject(),a=requireIndexedObject(),r=requireLengthOfArrayLike(),n=TypeError,i=function(i){return function(c,o,s,u){e(o);var d=t(c),b=a(d),f=r(d),l=i?f-1:0,h=i?-1:1;if(s<2)for(;;){if(l in b){u=b[l],l+=h;break}if(l+=h,i?l<0:f<=l)throw n("Reduce of empty array with no initial value")}for(;i?l>=0:f>l;l+=h)l in b&&(u=o(u,b[l],l,d));return u}};return arrayReduce={left:i(!1),right:i(!0)}}function requireEs_array_reduce(){if(hasRequiredEs_array_reduce)return es_array_reduce;hasRequiredEs_array_reduce=1;var e=require_export(),t=requireArrayReduce().left,a=requireArrayMethodIsStrict(),r=requireEngineV8Version(),n=requireEngineIsNode();return e({target:"Array",proto:!0,forced:!a("reduce")||!n&&r>79&&r<83},{reduce:function(e){var a=arguments.length;return t(this,e,a,a>1?arguments[1]:void 0)}}),es_array_reduce}var hasRequiredEs_array_slice,es_array_slice={};function requireEs_array_slice(){if(hasRequiredEs_array_slice)return es_array_slice;hasRequiredEs_array_slice=1;var e=require_export(),t=requireIsArray(),a=requireIsConstructor(),r=requireIsObject(),n=requireToAbsoluteIndex(),i=requireLengthOfArrayLike(),c=requireToIndexedObject(),o=requireCreateProperty(),s=requireWellKnownSymbol(),u=requireArrayMethodHasSpeciesSupport(),d=requireArraySlice(),b=u("slice"),f=s("species"),l=Array,h=Math.max;return e({target:"Array",proto:!0,forced:!b},{slice:function(e,s){var u,b,p,y=c(this),g=i(y),v=n(e,g),m=n(void 0===s?g:s,g);if(t(y)&&(u=y.constructor,(a(u)&&(u===l||t(u.prototype))||r(u)&&null===(u=u[f]))&&(u=void 0),u===l||void 0===u))return d(y,v,m);for(b=new(void 0===u?l:u)(h(m-v,0)),p=0;v<m;v++,p++)v in y&&o(b,p,y[v]);return b.length=p,b}}),es_array_slice}var arrayBufferBasicDetection,hasRequiredArrayBufferBasicDetection,toIndex,hasRequiredToIndex,ieee754,hasRequiredIeee754,arrayFill,hasRequiredArrayFill,arrayBuffer,hasRequiredArrayBuffer,hasRequiredEs_arrayBuffer_constructor,es_arrayBuffer_constructor={};function requireArrayBufferBasicDetection(){return hasRequiredArrayBufferBasicDetection?arrayBufferBasicDetection:(hasRequiredArrayBufferBasicDetection=1,arrayBufferBasicDetection="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView)}function requireToIndex(){if(hasRequiredToIndex)return toIndex;hasRequiredToIndex=1;var e=requireToIntegerOrInfinity(),t=requireToLength(),a=RangeError;return toIndex=function(r){if(void 0===r)return 0;var n=e(r),i=t(n);if(n!==i)throw a("Wrong length or index");return i}}function requireIeee754(){if(hasRequiredIeee754)return ieee754;hasRequiredIeee754=1;var e=Array,t=Math.abs,a=Math.pow,r=Math.floor,n=Math.log,i=Math.LN2;return ieee754={pack:function(c,o,s){var u,d,b,f=e(s),l=8*s-o-1,h=(1<<l)-1,p=h>>1,y=23===o?a(2,-24)-a(2,-77):0,g=c<0||0===c&&1/c<0?1:0,v=0;for((c=t(c))!=c||c===1/0?(d=c!=c?1:0,u=h):(u=r(n(c)/i),c*(b=a(2,-u))<1&&(u--,b*=2),(c+=u+p>=1?y/b:y*a(2,1-p))*b>=2&&(u++,b/=2),u+p>=h?(d=0,u=h):u+p>=1?(d=(c*b-1)*a(2,o),u+=p):(d=c*a(2,p-1)*a(2,o),u=0));o>=8;)f[v++]=255&d,d/=256,o-=8;for(u=u<<o|d,l+=o;l>0;)f[v++]=255&u,u/=256,l-=8;return f[--v]|=128*g,f},unpack:function(e,t){var r,n=e.length,i=8*n-t-1,c=(1<<i)-1,o=c>>1,s=i-7,u=n-1,d=e[u--],b=127&d;for(d>>=7;s>0;)b=256*b+e[u--],s-=8;for(r=b&(1<<-s)-1,b>>=-s,s+=t;s>0;)r=256*r+e[u--],s-=8;if(0===b)b=1-o;else{if(b===c)return r?NaN:d?-1/0:1/0;r+=a(2,t),b-=o}return(d?-1:1)*r*a(2,b-t)}}}function requireArrayFill(){if(hasRequiredArrayFill)return arrayFill;hasRequiredArrayFill=1;var e=requireToObject(),t=requireToAbsoluteIndex(),a=requireLengthOfArrayLike();return arrayFill=function(r){for(var n=e(this),i=a(n),c=arguments.length,o=t(c>1?arguments[1]:void 0,i),s=c>2?arguments[2]:void 0,u=void 0===s?i:t(s,i);u>o;)n[o++]=r;return n},arrayFill}function requireArrayBuffer(){if(hasRequiredArrayBuffer)return arrayBuffer;hasRequiredArrayBuffer=1;var e=requireGlobal(),t=requireFunctionUncurryThis(),a=requireDescriptors(),r=requireArrayBufferBasicDetection(),n=requireFunctionName(),i=requireCreateNonEnumerableProperty(),c=requireDefineBuiltIns(),o=requireFails(),s=requireAnInstance(),u=requireToIntegerOrInfinity(),d=requireToLength(),b=requireToIndex(),f=requireIeee754(),l=requireObjectGetPrototypeOf(),h=requireObjectSetPrototypeOf(),p=requireObjectGetOwnPropertyNames().f,y=requireObjectDefineProperty().f,g=requireArrayFill(),v=requireArraySliceSimple(),m=requireSetToStringTag(),_=requireInternalState(),E=n.PROPER,S=n.CONFIGURABLE,T=_.get,A=_.set,k="ArrayBuffer",I="DataView",R="prototype",w="Wrong index",C=e[k],x=C,O=x&&x[R],P=e[I],D=P&&P[R],L=Object.prototype,q=e.Array,N=e.RangeError,M=t(g),U=t([].reverse),F=f.pack,j=f.unpack,B=function(e){return[255&e]},H=function(e){return[255&e,e>>8&255]},G=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},$=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},V=function(e){return F(e,23,4)},z=function(e){return F(e,52,8)},W=function(e,t){y(e[R],t,{get:function(){return T(this)[t]}})},K=function(e,t,a,r){var n=b(a),i=T(e);if(n+t>i.byteLength)throw N(w);var c=T(i.buffer).bytes,o=n+i.byteOffset,s=v(c,o,o+t);return r?s:U(s)},Y=function(e,t,a,r,n,i){var c=b(a),o=T(e);if(c+t>o.byteLength)throw N(w);for(var s=T(o.buffer).bytes,u=c+o.byteOffset,d=r(+n),f=0;f<t;f++)s[u+f]=d[i?f:t-f-1]};if(r){var X=E&&C.name!==k;if(o((function(){C(1)}))&&o((function(){new C(-1)}))&&!o((function(){return new C,new C(1.5),new C(NaN),1!=C.length||X&&!S})))X&&S&&i(C,"name",k);else{(x=function(e){return s(this,O),new C(b(e))})[R]=O;for(var J,Z=p(C),Q=0;Z.length>Q;)(J=Z[Q++])in x||i(x,J,C[J]);O.constructor=x}h&&l(D)!==L&&h(D,L);var ee=new P(new x(2)),te=t(D.setInt8);ee.setInt8(0,2147483648),ee.setInt8(1,2147483649),!ee.getInt8(0)&&ee.getInt8(1)||c(D,{setInt8:function(e,t){te(this,e,t<<24>>24)},setUint8:function(e,t){te(this,e,t<<24>>24)}},{unsafe:!0})}else O=(x=function(e){s(this,O);var t=b(e);A(this,{bytes:M(q(t),0),byteLength:t}),a||(this.byteLength=t)})[R],D=(P=function(e,t,r){s(this,D),s(e,O);var n=T(e).byteLength,i=u(t);if(i<0||i>n)throw N("Wrong offset");if(i+(r=void 0===r?n-i:d(r))>n)throw N("Wrong length");A(this,{buffer:e,byteLength:r,byteOffset:i}),a||(this.buffer=e,this.byteLength=r,this.byteOffset=i)})[R],a&&(W(x,"byteLength"),W(P,"buffer"),W(P,"byteLength"),W(P,"byteOffset")),c(D,{getInt8:function(e){return K(this,1,e)[0]<<24>>24},getUint8:function(e){return K(this,1,e)[0]},getInt16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=K(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return $(K(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return $(K(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return j(K(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return j(K(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){Y(this,1,e,B,t)},setUint8:function(e,t){Y(this,1,e,B,t)},setInt16:function(e,t){Y(this,2,e,H,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){Y(this,2,e,H,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){Y(this,4,e,G,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){Y(this,4,e,G,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){Y(this,4,e,V,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){Y(this,8,e,z,t,arguments.length>2?arguments[2]:void 0)}});return m(x,k),m(P,I),arrayBuffer={ArrayBuffer:x,DataView:P}}function requireEs_arrayBuffer_constructor(){if(hasRequiredEs_arrayBuffer_constructor)return es_arrayBuffer_constructor;hasRequiredEs_arrayBuffer_constructor=1;var e=require_export(),t=requireGlobal(),a=requireArrayBuffer(),r=requireSetSpecies(),n="ArrayBuffer",i=a[n];return e({global:!0,constructor:!0,forced:t[n]!==i},{ArrayBuffer:i}),r(n),es_arrayBuffer_constructor}var hasRequiredEs_arrayBuffer_slice,es_arrayBuffer_slice={};function requireEs_arrayBuffer_slice(){if(hasRequiredEs_arrayBuffer_slice)return es_arrayBuffer_slice;hasRequiredEs_arrayBuffer_slice=1;var e=require_export(),t=requireFunctionUncurryThisClause(),a=requireFails(),r=requireArrayBuffer(),n=requireAnObject(),i=requireToAbsoluteIndex(),c=requireToLength(),o=requireSpeciesConstructor(),s=r.ArrayBuffer,u=r.DataView,d=u.prototype,b=t(s.prototype.slice),f=t(d.getUint8),l=t(d.setUint8);return e({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:a((function(){return!new s(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(b&&void 0===t)return b(n(this),e);for(var a=n(this).byteLength,r=i(e,a),d=i(void 0===t?a:t,a),h=new(o(this,s))(c(d-r)),p=new u(this),y=new u(h),g=0;r<d;)l(y,g++,f(p,r++));return h}}),es_arrayBuffer_slice}var inheritIfRequired,hasRequiredInheritIfRequired,thisNumberValue,hasRequiredThisNumberValue,whitespaces,hasRequiredWhitespaces,stringTrim,hasRequiredStringTrim,hasRequiredEs_number_constructor,es_number_constructor={};function requireInheritIfRequired(){if(hasRequiredInheritIfRequired)return inheritIfRequired;hasRequiredInheritIfRequired=1;var e=requireIsCallable(),t=requireIsObject(),a=requireObjectSetPrototypeOf();return inheritIfRequired=function(r,n,i){var c,o;return a&&e(c=n.constructor)&&c!==i&&t(o=c.prototype)&&o!==i.prototype&&a(r,o),r}}function requireThisNumberValue(){if(hasRequiredThisNumberValue)return thisNumberValue;hasRequiredThisNumberValue=1;var e=requireFunctionUncurryThis();return thisNumberValue=e(1..valueOf)}function requireWhitespaces(){return hasRequiredWhitespaces?whitespaces:(hasRequiredWhitespaces=1,whitespaces="\t\n\v\f\r                 \u2028\u2029\ufeff")}function requireStringTrim(){if(hasRequiredStringTrim)return stringTrim;hasRequiredStringTrim=1;var e=requireFunctionUncurryThis(),t=requireRequireObjectCoercible(),a=requireToString(),r=requireWhitespaces(),n=e("".replace),i="["+r+"]",c=RegExp("^"+i+i+"*"),o=RegExp(i+i+"*$"),s=function(e){return function(r){var i=a(t(r));return 1&e&&(i=n(i,c,"")),2&e&&(i=n(i,o,"")),i}};return stringTrim={start:s(1),end:s(2),trim:s(3)}}function requireEs_number_constructor(){if(hasRequiredEs_number_constructor)return es_number_constructor;hasRequiredEs_number_constructor=1;var e=requireDescriptors(),t=requireGlobal(),a=requireFunctionUncurryThis(),r=requireIsForced(),n=requireDefineBuiltIn(),i=requireHasOwnProperty(),c=requireInheritIfRequired(),o=requireObjectIsPrototypeOf(),s=requireIsSymbol(),u=requireToPrimitive(),d=requireFails(),b=requireObjectGetOwnPropertyNames().f,f=requireObjectGetOwnPropertyDescriptor().f,l=requireObjectDefineProperty().f,h=requireThisNumberValue(),p=requireStringTrim().trim,y="Number",g=t[y],v=g.prototype,m=t.TypeError,_=a("".slice),E=a("".charCodeAt),S=function(e){var t,a,r,n,i,c,o,d,b=u(e,"number");if(s(b))throw m("Cannot convert a Symbol value to a number");if("string"==typeof b&&b.length>2)if(b=p(b),43===(t=E(b,0))||45===t){if(88===(a=E(b,2))||120===a)return NaN}else if(48===t){switch(E(b,1)){case 66:case 98:r=2,n=49;break;case 79:case 111:r=8,n=55;break;default:return+b}for(c=(i=_(b,2)).length,o=0;o<c;o++)if((d=E(i,o))<48||d>n)return NaN;return parseInt(i,r)}return+b};if(r(y,!g(" 0o1")||!g("0b1")||g("+0x1"))){for(var T,A=function(e){var t=arguments.length<1?0:g(function(e){var t=u(e,"number");return"bigint"==typeof t?t:S(t)}(e)),a=this;return o(v,a)&&d((function(){h(a)}))?c(Object(t),a,A):t},k=e?b(g):"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(","),I=0;k.length>I;I++)i(g,T=k[I])&&!i(A,T)&&l(A,T,f(g,T));A.prototype=v,v.constructor=A,n(t,y,A,{constructor:!0})}return es_number_constructor}var numberParseInt,hasRequiredNumberParseInt,hasRequiredEs_parseInt,es_parseInt={};function requireNumberParseInt(){if(hasRequiredNumberParseInt)return numberParseInt;hasRequiredNumberParseInt=1;var e=requireGlobal(),t=requireFails(),a=requireFunctionUncurryThis(),r=requireToString(),n=requireStringTrim().trim,i=requireWhitespaces(),c=e.parseInt,o=e.Symbol,s=o&&o.iterator,u=/^[+-]?0x/i,d=a(u.exec),b=8!==c(i+"08")||22!==c(i+"0x16")||s&&!t((function(){c(Object(s))}));return numberParseInt=b?function(e,t){var a=n(r(e));return c(a,t>>>0||(d(u,a)?16:10))}:c}function requireEs_parseInt(){if(hasRequiredEs_parseInt)return es_parseInt;hasRequiredEs_parseInt=1;var e=require_export(),t=requireNumberParseInt();return e({global:!0,forced:parseInt!=t},{parseInt:t}),es_parseInt}var isRegexp,hasRequiredIsRegexp,regexpGetFlags,hasRequiredRegexpGetFlags,proxyAccessor,hasRequiredProxyAccessor,hasRequiredEs_regexp_constructor,es_regexp_constructor={};function requireIsRegexp(){if(hasRequiredIsRegexp)return isRegexp;hasRequiredIsRegexp=1;var e=requireIsObject(),t=requireClassofRaw(),a=requireWellKnownSymbol()("match");return isRegexp=function(r){var n;return e(r)&&(void 0!==(n=r[a])?!!n:"RegExp"==t(r))}}function requireRegexpGetFlags(){if(hasRequiredRegexpGetFlags)return regexpGetFlags;hasRequiredRegexpGetFlags=1;var e=requireFunctionCall(),t=requireHasOwnProperty(),a=requireObjectIsPrototypeOf(),r=requireRegexpFlags(),n=RegExp.prototype;return regexpGetFlags=function(i){var c=i.flags;return void 0!==c||"flags"in n||t(i,"flags")||!a(n,i)?c:e(r,i)}}function requireProxyAccessor(){if(hasRequiredProxyAccessor)return proxyAccessor;hasRequiredProxyAccessor=1;var e=requireObjectDefineProperty().f;return proxyAccessor=function(t,a,r){r in t||e(t,r,{configurable:!0,get:function(){return a[r]},set:function(e){a[r]=e}})}}function requireEs_regexp_constructor(){if(hasRequiredEs_regexp_constructor)return es_regexp_constructor;hasRequiredEs_regexp_constructor=1;var e=requireDescriptors(),t=requireGlobal(),a=requireFunctionUncurryThis(),r=requireIsForced(),n=requireInheritIfRequired(),i=requireCreateNonEnumerableProperty(),c=requireObjectGetOwnPropertyNames().f,o=requireObjectIsPrototypeOf(),s=requireIsRegexp(),u=requireToString(),d=requireRegexpGetFlags(),b=requireRegexpStickyHelpers(),f=requireProxyAccessor(),l=requireDefineBuiltIn(),h=requireFails(),p=requireHasOwnProperty(),y=requireInternalState().enforce,g=requireSetSpecies(),v=requireWellKnownSymbol(),m=requireRegexpUnsupportedDotAll(),_=requireRegexpUnsupportedNcg(),E=v("match"),S=t.RegExp,T=S.prototype,A=t.SyntaxError,k=a(T.exec),I=a("".charAt),R=a("".replace),w=a("".indexOf),C=a("".slice),x=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,O=/a/g,P=/a/g,D=new S(O)!==O,L=b.MISSED_STICKY,q=b.UNSUPPORTED_Y,N=e&&(!D||L||m||_||h((function(){return P[E]=!1,S(O)!=O||S(P)==P||"/a/i"!=S(O,"i")})));if(r("RegExp",N)){for(var M=function(e,t){var a,r,c,b,f,l,h=o(T,this),g=s(e),v=void 0===t,E=[],P=e;if(!h&&g&&v&&e.constructor===M)return e;if((g||o(T,e))&&(e=e.source,v&&(t=d(P))),e=void 0===e?"":u(e),t=void 0===t?"":u(t),P=e,m&&"dotAll"in O&&(r=!!t&&w(t,"s")>-1)&&(t=R(t,/s/g,"")),a=t,L&&"sticky"in O&&(c=!!t&&w(t,"y")>-1)&&q&&(t=R(t,/y/g,"")),_&&(b=function(e){for(var t,a=e.length,r=0,n="",i=[],c={},o=!1,s=!1,u=0,d="";r<=a;r++){if("\\"===(t=I(e,r)))t+=I(e,++r);else if("]"===t)o=!1;else if(!o)switch(!0){case"["===t:o=!0;break;case"("===t:k(x,C(e,r+1))&&(r+=2,s=!0),n+=t,u++;continue;case">"===t&&s:if(""===d||p(c,d))throw new A("Invalid capture group name");c[d]=!0,i[i.length]=[d,u],s=!1,d="";continue}s?d+=t:n+=t}return[n,i]}(e),e=b[0],E=b[1]),f=n(S(e,t),h?this:T,M),(r||c||E.length)&&(l=y(f),r&&(l.dotAll=!0,l.raw=M(function(e){for(var t,a=e.length,r=0,n="",i=!1;r<=a;r++)"\\"!==(t=I(e,r))?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),n+=t):n+="[\\s\\S]":n+=t+I(e,++r);return n}(e),a)),c&&(l.sticky=!0),E.length&&(l.groups=E)),e!==P)try{i(f,"source",""===P?"(?:)":P)}catch(e){}return f},U=c(S),F=0;U.length>F;)f(M,S,U[F++]);T.constructor=M,M.prototype=T,l(t,"RegExp",M,{constructor:!0})}return g("RegExp"),es_regexp_constructor}var hasRequiredEs_regexp_toString,es_regexp_toString={};function requireEs_regexp_toString(){if(hasRequiredEs_regexp_toString)return es_regexp_toString;hasRequiredEs_regexp_toString=1;var e=requireFunctionName().PROPER,t=requireDefineBuiltIn(),a=requireAnObject(),r=requireToString(),n=requireFails(),i=requireRegexpGetFlags(),c="toString",o=RegExp.prototype[c],s=n((function(){return"/a/b"!=o.call({source:"a",flags:"b"})})),u=e&&o.name!=c;return(s||u)&&t(RegExp.prototype,c,(function(){var e=a(this);return"/"+r(e.source)+"/"+r(i(e))}),{unsafe:!0}),es_regexp_toString}var notARegexp,hasRequiredNotARegexp,correctIsRegexpLogic,hasRequiredCorrectIsRegexpLogic,hasRequiredEs_string_includes,es_string_includes={};function requireNotARegexp(){if(hasRequiredNotARegexp)return notARegexp;hasRequiredNotARegexp=1;var e=requireIsRegexp(),t=TypeError;return notARegexp=function(a){if(e(a))throw t("The method doesn't accept regular expressions");return a}}function requireCorrectIsRegexpLogic(){if(hasRequiredCorrectIsRegexpLogic)return correctIsRegexpLogic;hasRequiredCorrectIsRegexpLogic=1;var e=requireWellKnownSymbol()("match");return correctIsRegexpLogic=function(t){var a=/./;try{"/./"[t](a)}catch(r){try{return a[e]=!1,"/./"[t](a)}catch(e){}}return!1}}function requireEs_string_includes(){if(hasRequiredEs_string_includes)return es_string_includes;hasRequiredEs_string_includes=1;var e=require_export(),t=requireFunctionUncurryThis(),a=requireNotARegexp(),r=requireRequireObjectCoercible(),n=requireToString(),i=requireCorrectIsRegexpLogic(),c=t("".indexOf);return e({target:"String",proto:!0,forced:!i("includes")},{includes:function(e){return!!~c(n(r(this)),n(a(e)),arguments.length>1?arguments[1]:void 0)}}),es_string_includes}var hasRequiredEs_string_startsWith,es_string_startsWith={};function requireEs_string_startsWith(){if(hasRequiredEs_string_startsWith)return es_string_startsWith;hasRequiredEs_string_startsWith=1;var e,t=require_export(),a=requireFunctionUncurryThisClause(),r=requireObjectGetOwnPropertyDescriptor().f,n=requireToLength(),i=requireToString(),c=requireNotARegexp(),o=requireRequireObjectCoercible(),s=requireCorrectIsRegexpLogic(),u=requireIsPure(),d=a("".startsWith),b=a("".slice),f=Math.min,l=s("startsWith");return t({target:"String",proto:!0,forced:!!(u||l||(e=r(String.prototype,"startsWith"),!e||e.writable))&&!l},{startsWith:function(e){var t=i(o(this));c(e);var a=n(f(arguments.length>1?arguments[1]:void 0,t.length)),r=i(e);return d?d(t,r,a):b(t,a,a+r.length)===r}}),es_string_startsWith}var arrayBufferViewCore,hasRequiredArrayBufferViewCore,typedArrayConstructorsRequireWrappers,hasRequiredTypedArrayConstructorsRequireWrappers,isIntegralNumber,hasRequiredIsIntegralNumber,toPositiveInteger,hasRequiredToPositiveInteger,toOffset,hasRequiredToOffset,isBigIntArray,hasRequiredIsBigIntArray,toBigInt,hasRequiredToBigInt,typedArrayFrom,hasRequiredTypedArrayFrom,hasRequiredTypedArrayConstructor,hasRequiredEs_typedArray_float32Array,es_typedArray_float32Array={},typedArrayConstructor={exports:{}};function requireArrayBufferViewCore(){if(hasRequiredArrayBufferViewCore)return arrayBufferViewCore;hasRequiredArrayBufferViewCore=1;var e,t,a,r=requireArrayBufferBasicDetection(),n=requireDescriptors(),i=requireGlobal(),c=requireIsCallable(),o=requireIsObject(),s=requireHasOwnProperty(),u=requireClassof(),d=requireTryToString(),b=requireCreateNonEnumerableProperty(),f=requireDefineBuiltIn(),l=requireObjectDefineProperty().f,h=requireObjectIsPrototypeOf(),p=requireObjectGetPrototypeOf(),y=requireObjectSetPrototypeOf(),g=requireWellKnownSymbol(),v=requireUid(),m=requireInternalState(),_=m.enforce,E=m.get,S=i.Int8Array,T=S&&S.prototype,A=i.Uint8ClampedArray,k=A&&A.prototype,I=S&&p(S),R=T&&p(T),w=Object.prototype,C=i.TypeError,x=g("toStringTag"),O=v("TYPED_ARRAY_TAG"),P="TypedArrayConstructor",D=r&&!!y&&"Opera"!==u(i.opera),L=!1,q={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},N={BigInt64Array:8,BigUint64Array:8},M=function(e){var t=p(e);if(o(t)){var a=E(t);return a&&s(a,P)?a[P]:M(t)}},U=function(e){if(!o(e))return!1;var t=u(e);return s(q,t)||s(N,t)};for(e in q)(a=(t=i[e])&&t.prototype)?_(a)[P]=t:D=!1;for(e in N)(a=(t=i[e])&&t.prototype)&&(_(a)[P]=t);if((!D||!c(I)||I===Function.prototype)&&(I=function(){throw C("Incorrect invocation")},D))for(e in q)i[e]&&y(i[e],I);if((!D||!R||R===w)&&(R=I.prototype,D))for(e in q)i[e]&&y(i[e].prototype,R);if(D&&p(k)!==R&&y(k,R),n&&!s(R,x))for(e in L=!0,l(R,x,{get:function(){return o(this)?this[O]:void 0}}),q)i[e]&&b(i[e],O,e);return arrayBufferViewCore={NATIVE_ARRAY_BUFFER_VIEWS:D,TYPED_ARRAY_TAG:L&&O,aTypedArray:function(e){if(U(e))return e;throw C("Target is not a typed array")},aTypedArrayConstructor:function(e){if(c(e)&&(!y||h(I,e)))return e;throw C(d(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,a,r){if(n){if(a)for(var c in q){var o=i[c];if(o&&s(o.prototype,e))try{delete o.prototype[e]}catch(a){try{o.prototype[e]=t}catch(e){}}}R[e]&&!a||f(R,e,a?t:D&&T[e]||t,r)}},exportTypedArrayStaticMethod:function(e,t,a){var r,c;if(n){if(y){if(a)for(r in q)if((c=i[r])&&s(c,e))try{delete c[e]}catch(e){}if(I[e]&&!a)return;try{return f(I,e,a?t:D&&I[e]||t)}catch(e){}}for(r in q)!(c=i[r])||c[e]&&!a||f(c,e,t)}},getTypedArrayConstructor:M,isView:function(e){if(!o(e))return!1;var t=u(e);return"DataView"===t||s(q,t)||s(N,t)},isTypedArray:U,TypedArray:I,TypedArrayPrototype:R}}function requireTypedArrayConstructorsRequireWrappers(){if(hasRequiredTypedArrayConstructorsRequireWrappers)return typedArrayConstructorsRequireWrappers;hasRequiredTypedArrayConstructorsRequireWrappers=1;var e=requireGlobal(),t=requireFails(),a=requireCheckCorrectnessOfIteration(),r=requireArrayBufferViewCore().NATIVE_ARRAY_BUFFER_VIEWS,n=e.ArrayBuffer,i=e.Int8Array;return typedArrayConstructorsRequireWrappers=!r||!t((function(){i(1)}))||!t((function(){new i(-1)}))||!a((function(e){new i,new i(null),new i(1.5),new i(e)}),!0)||t((function(){return 1!==new i(new n(2),1,void 0).length}))}function requireIsIntegralNumber(){if(hasRequiredIsIntegralNumber)return isIntegralNumber;hasRequiredIsIntegralNumber=1;var e=requireIsObject(),t=Math.floor;return isIntegralNumber=Number.isInteger||function(a){return!e(a)&&isFinite(a)&&t(a)===a}}function requireToPositiveInteger(){if(hasRequiredToPositiveInteger)return toPositiveInteger;hasRequiredToPositiveInteger=1;var e=requireToIntegerOrInfinity(),t=RangeError;return toPositiveInteger=function(a){var r=e(a);if(r<0)throw t("The argument can't be less than 0");return r}}function requireToOffset(){if(hasRequiredToOffset)return toOffset;hasRequiredToOffset=1;var e=requireToPositiveInteger(),t=RangeError;return toOffset=function(a,r){var n=e(a);if(n%r)throw t("Wrong offset");return n}}function requireIsBigIntArray(){if(hasRequiredIsBigIntArray)return isBigIntArray;hasRequiredIsBigIntArray=1;var e=requireClassof(),t=requireFunctionUncurryThis()("".slice);return isBigIntArray=function(a){return"Big"===t(e(a),0,3)}}function requireToBigInt(){if(hasRequiredToBigInt)return toBigInt;hasRequiredToBigInt=1;var e=requireToPrimitive(),t=TypeError;return toBigInt=function(a){var r=e(a,"number");if("number"==typeof r)throw t("Can't convert number to bigint");return BigInt(r)}}function requireTypedArrayFrom(){if(hasRequiredTypedArrayFrom)return typedArrayFrom;hasRequiredTypedArrayFrom=1;var e=requireFunctionBindContext(),t=requireFunctionCall(),a=requireAConstructor(),r=requireToObject(),n=requireLengthOfArrayLike(),i=requireGetIterator(),c=requireGetIteratorMethod(),o=requireIsArrayIteratorMethod(),s=requireIsBigIntArray(),u=requireArrayBufferViewCore().aTypedArrayConstructor,d=requireToBigInt();return typedArrayFrom=function(b){var f,l,h,p,y,g,v,m,_=a(this),E=r(b),S=arguments.length,T=S>1?arguments[1]:void 0,A=void 0!==T,k=c(E);if(k&&!o(k))for(m=(v=i(E,k)).next,E=[];!(g=t(m,v)).done;)E.push(g.value);for(A&&S>2&&(T=e(T,arguments[2])),l=n(E),h=new(u(_))(l),p=s(h),f=0;l>f;f++)y=A?T(E[f],f):E[f],h[f]=p?d(y):+y;return h},typedArrayFrom}function requireTypedArrayConstructor(){if(hasRequiredTypedArrayConstructor)return typedArrayConstructor.exports;hasRequiredTypedArrayConstructor=1;var e=require_export(),t=requireGlobal(),a=requireFunctionCall(),r=requireDescriptors(),n=requireTypedArrayConstructorsRequireWrappers(),i=requireArrayBufferViewCore(),c=requireArrayBuffer(),o=requireAnInstance(),s=requireCreatePropertyDescriptor(),u=requireCreateNonEnumerableProperty(),d=requireIsIntegralNumber(),b=requireToLength(),f=requireToIndex(),l=requireToOffset(),h=requireToPropertyKey(),p=requireHasOwnProperty(),y=requireClassof(),g=requireIsObject(),v=requireIsSymbol(),m=requireObjectCreate(),_=requireObjectIsPrototypeOf(),E=requireObjectSetPrototypeOf(),S=requireObjectGetOwnPropertyNames().f,T=requireTypedArrayFrom(),A=requireArrayIteration().forEach,k=requireSetSpecies(),I=requireObjectDefineProperty(),R=requireObjectGetOwnPropertyDescriptor(),w=requireInternalState(),C=requireInheritIfRequired(),x=w.get,O=w.set,P=w.enforce,D=I.f,L=R.f,q=Math.round,N=t.RangeError,M=c.ArrayBuffer,U=M.prototype,F=c.DataView,j=i.NATIVE_ARRAY_BUFFER_VIEWS,B=i.TYPED_ARRAY_TAG,H=i.TypedArray,G=i.TypedArrayPrototype,$=i.aTypedArrayConstructor,V=i.isTypedArray,z="BYTES_PER_ELEMENT",W="Wrong length",K=function(e,t){$(e);for(var a=0,r=t.length,n=new e(r);r>a;)n[a]=t[a++];return n},Y=function(e,t){D(e,t,{get:function(){return x(this)[t]}})},X=function(e){var t;return _(U,e)||"ArrayBuffer"==(t=y(e))||"SharedArrayBuffer"==t},J=function(e,t){return V(e)&&!v(t)&&t in e&&d(+t)&&t>=0},Z=function(e,t){return t=h(t),J(e,t)?s(2,e[t]):L(e,t)},Q=function(e,t,a){return t=h(t),!(J(e,t)&&g(a)&&p(a,"value"))||p(a,"get")||p(a,"set")||a.configurable||p(a,"writable")&&!a.writable||p(a,"enumerable")&&!a.enumerable?D(e,t,a):(e[t]=a.value,e)};return r?(j||(R.f=Z,I.f=Q,Y(G,"buffer"),Y(G,"byteOffset"),Y(G,"byteLength"),Y(G,"length")),e({target:"Object",stat:!0,forced:!j},{getOwnPropertyDescriptor:Z,defineProperty:Q}),typedArrayConstructor.exports=function(r,i,c){var s=r.match(/\d+$/)[0]/8,d=r+(c?"Clamped":"")+"Array",h="get"+r,p="set"+r,y=t[d],v=y,_=v&&v.prototype,I={},R=function(e,t){D(e,t,{get:function(){return function(e,t){var a=x(e);return a.view[h](t*s+a.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,a){var r=x(e);c&&(a=(a=q(a))<0?0:a>255?255:255&a),r.view[p](t*s+r.byteOffset,a,!0)}(this,t,e)},enumerable:!0})};j?n&&(v=i((function(e,t,r,n){return o(e,_),C(g(t)?X(t)?void 0!==n?new y(t,l(r,s),n):void 0!==r?new y(t,l(r,s)):new y(t):V(t)?K(v,t):a(T,v,t):new y(f(t)),e,v)})),E&&E(v,H),A(S(y),(function(e){e in v||u(v,e,y[e])})),v.prototype=_):(v=i((function(e,t,r,n){o(e,_);var i,c,u,d=0,h=0;if(g(t)){if(!X(t))return V(t)?K(v,t):a(T,v,t);i=t,h=l(r,s);var p=t.byteLength;if(void 0===n){if(p%s)throw N(W);if((c=p-h)<0)throw N(W)}else if((c=b(n)*s)+h>p)throw N(W);u=c/s}else u=f(t),i=new M(c=u*s);for(O(e,{buffer:i,byteOffset:h,byteLength:c,length:u,view:new F(i)});d<u;)R(e,d++)})),E&&E(v,H),_=v.prototype=m(G)),_.constructor!==v&&u(_,"constructor",v),P(_).TypedArrayConstructor=v,B&&u(_,B,d);var w=v!=y;I[d]=v,e({global:!0,constructor:!0,forced:w,sham:!j},I),z in v||u(v,z,s),z in _||u(_,z,s),k(d)}):typedArrayConstructor.exports=function(){},typedArrayConstructor.exports}function requireEs_typedArray_float32Array(){return hasRequiredEs_typedArray_float32Array||(hasRequiredEs_typedArray_float32Array=1,requireTypedArrayConstructor()("Float32",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_float32Array}var hasRequiredEs_typedArray_float64Array,es_typedArray_float64Array={};function requireEs_typedArray_float64Array(){return hasRequiredEs_typedArray_float64Array||(hasRequiredEs_typedArray_float64Array=1,requireTypedArrayConstructor()("Float64",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_float64Array}var hasRequiredEs_typedArray_int8Array,es_typedArray_int8Array={};function requireEs_typedArray_int8Array(){return hasRequiredEs_typedArray_int8Array||(hasRequiredEs_typedArray_int8Array=1,requireTypedArrayConstructor()("Int8",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_int8Array}var hasRequiredEs_typedArray_int16Array,es_typedArray_int16Array={};function requireEs_typedArray_int16Array(){return hasRequiredEs_typedArray_int16Array||(hasRequiredEs_typedArray_int16Array=1,requireTypedArrayConstructor()("Int16",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_int16Array}var hasRequiredEs_typedArray_int32Array,es_typedArray_int32Array={};function requireEs_typedArray_int32Array(){return hasRequiredEs_typedArray_int32Array||(hasRequiredEs_typedArray_int32Array=1,requireTypedArrayConstructor()("Int32",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_int32Array}var hasRequiredEs_typedArray_uint8Array,es_typedArray_uint8Array={};function requireEs_typedArray_uint8Array(){return hasRequiredEs_typedArray_uint8Array||(hasRequiredEs_typedArray_uint8Array=1,requireTypedArrayConstructor()("Uint8",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_uint8Array}var hasRequiredEs_typedArray_uint8ClampedArray,es_typedArray_uint8ClampedArray={};function requireEs_typedArray_uint8ClampedArray(){return hasRequiredEs_typedArray_uint8ClampedArray||(hasRequiredEs_typedArray_uint8ClampedArray=1,requireTypedArrayConstructor()("Uint8",(function(e){return function(t,a,r){return e(this,t,a,r)}}),!0)),es_typedArray_uint8ClampedArray}var hasRequiredEs_typedArray_uint16Array,es_typedArray_uint16Array={};function requireEs_typedArray_uint16Array(){return hasRequiredEs_typedArray_uint16Array||(hasRequiredEs_typedArray_uint16Array=1,requireTypedArrayConstructor()("Uint16",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_uint16Array}var hasRequiredEs_typedArray_uint32Array,es_typedArray_uint32Array={};function requireEs_typedArray_uint32Array(){return hasRequiredEs_typedArray_uint32Array||(hasRequiredEs_typedArray_uint32Array=1,requireTypedArrayConstructor()("Uint32",(function(e){return function(t,a,r){return e(this,t,a,r)}}))),es_typedArray_uint32Array}var hasRequiredEs_typedArray_copyWithin,es_typedArray_copyWithin={};function requireEs_typedArray_copyWithin(){if(hasRequiredEs_typedArray_copyWithin)return es_typedArray_copyWithin;hasRequiredEs_typedArray_copyWithin=1;var e=requireFunctionUncurryThis(),t=requireArrayBufferViewCore(),a=e(requireArrayCopyWithin()),r=t.aTypedArray;return(0,t.exportTypedArrayMethod)("copyWithin",(function(e,t){return a(r(this),e,t,arguments.length>2?arguments[2]:void 0)})),es_typedArray_copyWithin}var hasRequiredEs_typedArray_every,es_typedArray_every={};function requireEs_typedArray_every(){if(hasRequiredEs_typedArray_every)return es_typedArray_every;hasRequiredEs_typedArray_every=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().every,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("every",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_every}var hasRequiredEs_typedArray_fill,es_typedArray_fill={};function requireEs_typedArray_fill(){if(hasRequiredEs_typedArray_fill)return es_typedArray_fill;hasRequiredEs_typedArray_fill=1;var e=requireArrayBufferViewCore(),t=requireArrayFill(),a=requireToBigInt(),r=requireClassof(),n=requireFunctionCall(),i=requireFunctionUncurryThis(),c=requireFails(),o=e.aTypedArray,s=e.exportTypedArrayMethod,u=i("".slice);return s("fill",(function(e){var i=arguments.length;o(this);var c="Big"===u(r(this),0,3)?a(e):+e;return n(t,this,c,i>1?arguments[1]:void 0,i>2?arguments[2]:void 0)}),c((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e}))),es_typedArray_fill}var arrayFromConstructorAndList,hasRequiredArrayFromConstructorAndList,typedArraySpeciesConstructor,hasRequiredTypedArraySpeciesConstructor,typedArrayFromSpeciesAndList,hasRequiredTypedArrayFromSpeciesAndList,hasRequiredEs_typedArray_filter,es_typedArray_filter={};function requireArrayFromConstructorAndList(){if(hasRequiredArrayFromConstructorAndList)return arrayFromConstructorAndList;hasRequiredArrayFromConstructorAndList=1;var e=requireLengthOfArrayLike();return arrayFromConstructorAndList=function(t,a){for(var r=0,n=e(a),i=new t(n);n>r;)i[r]=a[r++];return i}}function requireTypedArraySpeciesConstructor(){if(hasRequiredTypedArraySpeciesConstructor)return typedArraySpeciesConstructor;hasRequiredTypedArraySpeciesConstructor=1;var e=requireArrayBufferViewCore(),t=requireSpeciesConstructor(),a=e.aTypedArrayConstructor,r=e.getTypedArrayConstructor;return typedArraySpeciesConstructor=function(e){return a(t(e,r(e)))}}function requireTypedArrayFromSpeciesAndList(){if(hasRequiredTypedArrayFromSpeciesAndList)return typedArrayFromSpeciesAndList;hasRequiredTypedArrayFromSpeciesAndList=1;var e=requireArrayFromConstructorAndList(),t=requireTypedArraySpeciesConstructor();return typedArrayFromSpeciesAndList=function(a,r){return e(t(a),r)}}function requireEs_typedArray_filter(){if(hasRequiredEs_typedArray_filter)return es_typedArray_filter;hasRequiredEs_typedArray_filter=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().filter,a=requireTypedArrayFromSpeciesAndList(),r=e.aTypedArray;return(0,e.exportTypedArrayMethod)("filter",(function(e){var n=t(r(this),e,arguments.length>1?arguments[1]:void 0);return a(this,n)})),es_typedArray_filter}var hasRequiredEs_typedArray_find,es_typedArray_find={};function requireEs_typedArray_find(){if(hasRequiredEs_typedArray_find)return es_typedArray_find;hasRequiredEs_typedArray_find=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().find,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("find",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_find}var hasRequiredEs_typedArray_findIndex,es_typedArray_findIndex={};function requireEs_typedArray_findIndex(){if(hasRequiredEs_typedArray_findIndex)return es_typedArray_findIndex;hasRequiredEs_typedArray_findIndex=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().findIndex,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("findIndex",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_findIndex}var hasRequiredEs_typedArray_forEach,es_typedArray_forEach={};function requireEs_typedArray_forEach(){if(hasRequiredEs_typedArray_forEach)return es_typedArray_forEach;hasRequiredEs_typedArray_forEach=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().forEach,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("forEach",(function(e){t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_forEach}var hasRequiredEs_typedArray_includes,es_typedArray_includes={};function requireEs_typedArray_includes(){if(hasRequiredEs_typedArray_includes)return es_typedArray_includes;hasRequiredEs_typedArray_includes=1;var e=requireArrayBufferViewCore(),t=requireArrayIncludes().includes,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("includes",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_includes}var hasRequiredEs_typedArray_indexOf,es_typedArray_indexOf={};function requireEs_typedArray_indexOf(){if(hasRequiredEs_typedArray_indexOf)return es_typedArray_indexOf;hasRequiredEs_typedArray_indexOf=1;var e=requireArrayBufferViewCore(),t=requireArrayIncludes().indexOf,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("indexOf",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_indexOf}var hasRequiredEs_typedArray_iterator,es_typedArray_iterator={};function requireEs_typedArray_iterator(){if(hasRequiredEs_typedArray_iterator)return es_typedArray_iterator;hasRequiredEs_typedArray_iterator=1;var e=requireGlobal(),t=requireFails(),a=requireFunctionUncurryThis(),r=requireArrayBufferViewCore(),n=requireEs_array_iterator(),i=requireWellKnownSymbol()("iterator"),c=e.Uint8Array,o=a(n.values),s=a(n.keys),u=a(n.entries),d=r.aTypedArray,b=r.exportTypedArrayMethod,f=c&&c.prototype,l=!t((function(){f[i].call([1])})),h=!!f&&f.values&&f[i]===f.values&&"values"===f.values.name,p=function(){return o(d(this))};return b("entries",(function(){return u(d(this))}),l),b("keys",(function(){return s(d(this))}),l),b("values",p,l||!h,{name:"values"}),b(i,p,l||!h,{name:"values"}),es_typedArray_iterator}var hasRequiredEs_typedArray_join,es_typedArray_join={};function requireEs_typedArray_join(){if(hasRequiredEs_typedArray_join)return es_typedArray_join;hasRequiredEs_typedArray_join=1;var e=requireArrayBufferViewCore(),t=requireFunctionUncurryThis(),a=e.aTypedArray,r=e.exportTypedArrayMethod,n=t([].join);return r("join",(function(e){return n(a(this),e)})),es_typedArray_join}var hasRequiredEs_typedArray_lastIndexOf,es_typedArray_lastIndexOf={};function requireEs_typedArray_lastIndexOf(){if(hasRequiredEs_typedArray_lastIndexOf)return es_typedArray_lastIndexOf;hasRequiredEs_typedArray_lastIndexOf=1;var e=requireArrayBufferViewCore(),t=requireFunctionApply(),a=requireArrayLastIndexOf(),r=e.aTypedArray;return(0,e.exportTypedArrayMethod)("lastIndexOf",(function(e){var n=arguments.length;return t(a,r(this),n>1?[e,arguments[1]]:[e])})),es_typedArray_lastIndexOf}var hasRequiredEs_typedArray_map,es_typedArray_map={};function requireEs_typedArray_map(){if(hasRequiredEs_typedArray_map)return es_typedArray_map;hasRequiredEs_typedArray_map=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().map,a=requireTypedArraySpeciesConstructor(),r=e.aTypedArray;return(0,e.exportTypedArrayMethod)("map",(function(e){return t(r(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(a(e))(t)}))})),es_typedArray_map}var hasRequiredEs_typedArray_reduce,es_typedArray_reduce={};function requireEs_typedArray_reduce(){if(hasRequiredEs_typedArray_reduce)return es_typedArray_reduce;hasRequiredEs_typedArray_reduce=1;var e=requireArrayBufferViewCore(),t=requireArrayReduce().left,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("reduce",(function(e){var r=arguments.length;return t(a(this),e,r,r>1?arguments[1]:void 0)})),es_typedArray_reduce}var hasRequiredEs_typedArray_reduceRight,es_typedArray_reduceRight={};function requireEs_typedArray_reduceRight(){if(hasRequiredEs_typedArray_reduceRight)return es_typedArray_reduceRight;hasRequiredEs_typedArray_reduceRight=1;var e=requireArrayBufferViewCore(),t=requireArrayReduce().right,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("reduceRight",(function(e){var r=arguments.length;return t(a(this),e,r,r>1?arguments[1]:void 0)})),es_typedArray_reduceRight}var hasRequiredEs_typedArray_reverse,es_typedArray_reverse={};function requireEs_typedArray_reverse(){if(hasRequiredEs_typedArray_reverse)return es_typedArray_reverse;hasRequiredEs_typedArray_reverse=1;var e=requireArrayBufferViewCore(),t=e.aTypedArray,a=e.exportTypedArrayMethod,r=Math.floor;return a("reverse",(function(){for(var e,a=this,n=t(a).length,i=r(n/2),c=0;c<i;)e=a[c],a[c++]=a[--n],a[n]=e;return a})),es_typedArray_reverse}var hasRequiredEs_typedArray_set,es_typedArray_set={};function requireEs_typedArray_set(){if(hasRequiredEs_typedArray_set)return es_typedArray_set;hasRequiredEs_typedArray_set=1;var e=requireGlobal(),t=requireFunctionCall(),a=requireArrayBufferViewCore(),r=requireLengthOfArrayLike(),n=requireToOffset(),i=requireToObject(),c=requireFails(),o=e.RangeError,s=e.Int8Array,u=s&&s.prototype,d=u&&u.set,b=a.aTypedArray,f=a.exportTypedArrayMethod,l=!c((function(){var e=new Uint8ClampedArray(2);return t(d,e,{length:1,0:3},1),3!==e[1]})),h=l&&a.NATIVE_ARRAY_BUFFER_VIEWS&&c((function(){var e=new s(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));return f("set",(function(e){b(this);var a=n(arguments.length>1?arguments[1]:void 0,1),c=i(e);if(l)return t(d,this,c,a);var s=this.length,u=r(c),f=0;if(u+a>s)throw o("Wrong length");for(;f<u;)this[a+f]=c[f++]}),!l||h),es_typedArray_set}var hasRequiredEs_typedArray_slice,es_typedArray_slice={};function requireEs_typedArray_slice(){if(hasRequiredEs_typedArray_slice)return es_typedArray_slice;hasRequiredEs_typedArray_slice=1;var e=requireArrayBufferViewCore(),t=requireTypedArraySpeciesConstructor(),a=requireFails(),r=requireArraySlice(),n=e.aTypedArray;return(0,e.exportTypedArrayMethod)("slice",(function(e,a){for(var i=r(n(this),e,a),c=t(this),o=0,s=i.length,u=new c(s);s>o;)u[o]=i[o++];return u}),a((function(){new Int8Array(1).slice()}))),es_typedArray_slice}var hasRequiredEs_typedArray_some,es_typedArray_some={};function requireEs_typedArray_some(){if(hasRequiredEs_typedArray_some)return es_typedArray_some;hasRequiredEs_typedArray_some=1;var e=requireArrayBufferViewCore(),t=requireArrayIteration().some,a=e.aTypedArray;return(0,e.exportTypedArrayMethod)("some",(function(e){return t(a(this),e,arguments.length>1?arguments[1]:void 0)})),es_typedArray_some}var hasRequiredEs_typedArray_sort,es_typedArray_sort={};function requireEs_typedArray_sort(){if(hasRequiredEs_typedArray_sort)return es_typedArray_sort;hasRequiredEs_typedArray_sort=1;var e=requireGlobal(),t=requireFunctionUncurryThisClause(),a=requireFails(),r=requireACallable(),n=requireArraySort(),i=requireArrayBufferViewCore(),c=requireEngineFfVersion(),o=requireEngineIsIeOrEdge(),s=requireEngineV8Version(),u=requireEngineWebkitVersion(),d=i.aTypedArray,b=i.exportTypedArrayMethod,f=e.Uint16Array,l=f&&t(f.prototype.sort),h=!(!l||a((function(){l(new f(2),null)}))&&a((function(){l(new f(2),{})}))),p=!!l&&!a((function(){if(s)return s<74;if(c)return c<67;if(o)return!0;if(u)return u<602;var e,t,a=new f(516),r=Array(516);for(e=0;e<516;e++)t=e%4,a[e]=515-e,r[e]=e-2*t+3;for(l(a,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(a[e]!==r[e])return!0}));return b("sort",(function(e){return void 0!==e&&r(e),p?l(this,e):n(d(this),function(e){return function(t,a){return void 0!==e?+e(t,a)||0:a!=a?-1:t!=t?1:0===t&&0===a?1/t>0&&1/a<0?1:-1:t>a}}(e))}),!p||h),es_typedArray_sort}var hasRequiredEs_typedArray_subarray,es_typedArray_subarray={};function requireEs_typedArray_subarray(){if(hasRequiredEs_typedArray_subarray)return es_typedArray_subarray;hasRequiredEs_typedArray_subarray=1;var e=requireArrayBufferViewCore(),t=requireToLength(),a=requireToAbsoluteIndex(),r=requireTypedArraySpeciesConstructor(),n=e.aTypedArray;return(0,e.exportTypedArrayMethod)("subarray",(function(e,i){var c=n(this),o=c.length,s=a(e,o);return new(r(c))(c.buffer,c.byteOffset+s*c.BYTES_PER_ELEMENT,t((void 0===i?o:a(i,o))-s))})),es_typedArray_subarray}var hasRequiredEs_typedArray_toLocaleString,es_typedArray_toLocaleString={};function requireEs_typedArray_toLocaleString(){if(hasRequiredEs_typedArray_toLocaleString)return es_typedArray_toLocaleString;hasRequiredEs_typedArray_toLocaleString=1;var e=requireGlobal(),t=requireFunctionApply(),a=requireArrayBufferViewCore(),r=requireFails(),n=requireArraySlice(),i=e.Int8Array,c=a.aTypedArray,o=a.exportTypedArrayMethod,s=[].toLocaleString,u=!!i&&r((function(){s.call(new i(1))}));return o("toLocaleString",(function(){return t(s,u?n(c(this)):c(this),n(arguments))}),r((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!r((function(){i.prototype.toLocaleString.call([1,2])}))),es_typedArray_toLocaleString}var hasRequiredEs_typedArray_toString,es_typedArray_toString={};function requireEs_typedArray_toString(){if(hasRequiredEs_typedArray_toString)return es_typedArray_toString;hasRequiredEs_typedArray_toString=1;var e=requireArrayBufferViewCore().exportTypedArrayMethod,t=requireFails(),a=requireGlobal(),r=requireFunctionUncurryThis(),n=a.Uint8Array,i=n&&n.prototype||{},c=[].toString,o=r([].join);t((function(){c.call({})}))&&(c=function(){return o(this)});var s=i.toString!=c;return e("toString",c,s),es_typedArray_toString}function _iterableToArrayLimit(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,c,o=[],s=!0,u=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){u=!0,n=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(u)throw n}}return o}}function ownKeys$1(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function _objectSpread2$1(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(a),!0).forEach((function(t){_defineProperty$1(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys$1(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}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$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_toPropertyKey$1(r.key),r)}}function _createClass$1(e,t,a){return t&&_defineProperties$1(e.prototype,t),a&&_defineProperties$1(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty$1(e,t,a){return(t=_toPropertyKey$1(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,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){return(_getPrototypeOf$1=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf$1(e,t){return(_setPrototypeOf$1=Object.setPrototypeOf?Object.setPrototypeOf.bind():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 _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 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 a,r=_getPrototypeOf$1(e);if(t){var n=_getPrototypeOf$1(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return _possibleConstructorReturn$1(this,a)}}function _superPropBase$1(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf$1(e)););return e}function _get$1(){return _get$1="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,a){var r=_superPropBase$1(e,t);if(r){var n=Object.getOwnPropertyDescriptor(r,t);return n.get?n.get.call(arguments.length<3?e:a):n.value}},_get$1.apply(this,arguments)}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray$1(e,t)||_nonIterableRest()}function _toConsumableArray$1(e){return _arrayWithoutHoles$1(e)||_iterableToArray$1(e)||_unsupportedIterableToArray$1(e)||_nonIterableSpread$1()}function _arrayWithoutHoles$1(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArray$1(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _unsupportedIterableToArray$1(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray$1(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray$1(e,t):void 0}}function _arrayLikeToArray$1(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}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 _toPrimitive$1(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;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 t?t:String(t)}var eventemitter3={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,a="~";function r(){}function n(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var o=new n(r,i||e,c),s=a?a+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(a=!1)),o.prototype.eventNames=function(){var e,r,n=[];if(0===this._eventsCount)return n;for(r in e=this._events)t.call(e,r)&&n.push(a?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},o.prototype.listeners=function(e){var t=a?a+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,i=r.length,c=new Array(i);n<i;n++)c[n]=r[n].fn;return c},o.prototype.listenerCount=function(e){var t=a?a+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,n,i,c){var o=a?a+e:e;if(!this._events[o])return!1;var s,u,d=this._events[o],b=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),b){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,n),!0;case 5:return d.fn.call(d.context,t,r,n,i),!0;case 6:return d.fn.call(d.context,t,r,n,i,c),!0}for(u=1,s=new Array(b-1);u<b;u++)s[u-1]=arguments[u];d.fn.apply(d.context,s)}else{var f,l=d.length;for(u=0;u<l;u++)switch(d[u].once&&this.removeListener(e,d[u].fn,void 0,!0),b){case 1:d[u].fn.call(d[u].context);break;case 2:d[u].fn.call(d[u].context,t);break;case 3:d[u].fn.call(d[u].context,t,r);break;case 4:d[u].fn.call(d[u].context,t,r,n);break;default:if(!s)for(f=1,s=new Array(b-1);f<b;f++)s[f-1]=arguments[f];d[u].fn.apply(d[u].context,s)}}return!0},o.prototype.on=function(e,t,a){return i(this,e,t,a,!1)},o.prototype.once=function(e,t,a){return i(this,e,t,a,!0)},o.prototype.removeListener=function(e,t,r,n){var i=a?a+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var o=this._events[i];if(o.fn)o.fn!==t||n&&!o.once||r&&o.context!==r||c(this,i);else{for(var s=0,u=[],d=o.length;s<d;s++)(o[s].fn!==t||n&&!o[s].once||r&&o[s].context!==r)&&u.push(o[s]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,e.exports=o}(eventemitter3);var eventemitter3Exports=eventemitter3.exports,EventEmitter=getDefaultExportFromCjs(eventemitter3Exports),XG_DEBUG_OPEN="undefined"!=typeof window&&window.location&&window.location.href.indexOf("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,a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];this.config.debug>=3&&(t=console).log.apply(t,[XGTAG,STYLE.info,e].concat(r))},logWarn:function(e){for(var t,a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];this.config.debug>=1&&(t=console).warn.apply(t,[XGTAG,STYLE.warn,e].concat(r))},logError:function(e){var t;if(!(this.config.debug<1)){for(var a=this.config.debug>=2?"trace":"error",r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];(t=console)[a].apply(t,[XGTAG,STYLE.error,e].concat(n))}}};function bindDebug(e){e.logInfo=XG_DEBUG.logInfo.bind(e),e.logWarn=XG_DEBUG.logWarn.bind(e),e.logError=XG_DEBUG.logError.bind(e)}var XgplayerTimeRange=function(){function e(t){_classCallCheck$1(this,e),this.bufferedList=t}return _createClass$1(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={};function checkIsIn(e,t){for(var a=0,r=t.length;a<r;a++)if(e.indexOf(t[a])>-1)return!0;return!1}function isObject(e){var t=_typeof$1(e);return null!==e&&("object"===t||"function"===t)}function debounce(e,t,a){var r,n,i,c,o,s,u=0,d=!1,b=!1,f=!0,l=!t&&0!==t&&"function"==typeof window.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function h(t){var a=r,i=n;return r=n=void 0,u=t,c=e.apply(i,a)}function p(e,t){return l?(window.cancelAnimationFrame(o),window.requestAnimationFrame(e)):setTimeout(e,t)}function y(e){var a=e-s;return void 0===s||a>=t||a<0||b&&e-u>=i}function g(){var e=Date.now();if(y(e))return v(e);o=p(g,function(e){var a=e-u,r=t-(e-s);return b?Math.min(r,i-a):r}(e))}function v(e){return o=void 0,f&&r?h(e):(r=n=void 0,c)}function m(){for(var e=Date.now(),a=y(e),i=arguments.length,f=new Array(i),l=0;l<i;l++)f[l]=arguments[l];if(r=f,n=this,s=e,a){if(void 0===o)return function(e){return u=e,o=p(g,t),d?h(e):c}(s);if(b)return o=p(g,t),h(s)}return void 0===o&&(o=p(g,t)),c}return t=+t||0,isObject(a)&&(d=!!a.leading,i=(b="maxWait"in a)?Math.max(+a.maxWait||0,t):i,f="trailing"in a?!!a.trailing:f),m.cancel=function(){void 0!==o&&function(e){if(l)return window.cancelAnimationFrame(e);clearTimeout(e)}(o),u=0,r=s=n=o=void 0},m.flush=function(){return void 0===o?c:v(Date.now())},m.pending=function(){return void 0!==o},m}function throttle(e,t,a){var r=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return isObject(a)&&(r="leading"in a?!!a.leading:r,n="trailing"in a?!!a.trailing:n),debounce(e,t,{leading:r,trailing:n,maxWait:t})}function getLang(){var e=(document.documentElement.getAttribute("lang")||navigator.language||"zh-cn").toLocaleLowerCase();return"zh-cn"===e&&(e="zh"),e}function checkIsCurrentVideo(e,t,a){if(e){var r=e.getAttribute(a);return!(!r||r!==t||"VIDEO"!==e.tagName&&"AUDIO"!==e.tagName)}}util.createDom=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",n=document.createElement(e);return n.className=r,n.innerHTML=t,Object.keys(a).forEach((function(t){var r=t,i=a[t];"video"===e||"audio"===e||"live-video"===e?i&&n.setAttribute(r,i):n.setAttribute(r,i)})),n},util.createDomFromHtml=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";try{var r=document.createElement("div");r.innerHTML=e;var n=r.children;return r=null,n.length>0?(n=n[0],a&&util.addClass(n,a),t&&Object.keys(t).forEach((function(e){n.setAttribute(e,t[e])})),n):null}catch(e){return XG_DEBUG.logError("util.createDomFromHtml",e),null}},util.hasClass=function(e,t){if(!e||!t)return!1;try{return Array.prototype.some.call(e.classList,(function(e){return e===t}))}catch(r){var a=e.className&&"object"===_typeof$1(e.className)?e.getAttribute("class"):e.className;return a&&!!a.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))}},util.addClass=function(e,t){if(e&&t)try{t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach((function(t){t&&e.classList.add(t)}))}catch(a){util.hasClass(e,t)||(e.className&&"object"===_typeof$1(e.className)?e.setAttribute("class",e.getAttribute("class")+" "+t):e.className+=" "+t)}},util.removeClass=function(e,t){if(e&&t)try{t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach((function(t){t&&e.classList.remove(t)}))}catch(a){util.hasClass(e,t)&&t.split(/\s+/g).forEach((function(t){var a=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className&&"object"===_typeof$1(e.className)?e.setAttribute("class",e.getAttribute("class").replace(a," ")):e.className=e.className.replace(a," ")}))}},util.toggleClass=function(e,t){e&&t.split(/\s+/g).forEach((function(t){util.hasClass(e,t)?util.removeClass(e,t):util.addClass(e,t)}))},util.classNames=function(){for(var e=arguments,t=[],a=function(a){"String"===util.typeOf(e[a])?t.push(e[a]):"Object"===util.typeOf(e[a])&&Object.keys(e[a]).map((function(r){e[a][r]&&t.push(r)}))},r=0;r<arguments.length;r++)a(r);return t.join(" ")},util.findDom=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,a=arguments.length>1?arguments[1]:void 0;try{e=t.querySelector(a)}catch(r){XG_DEBUG.logError("util.findDom",r),0===a.indexOf("#")&&(e=t.getElementById(a.slice(1)))}return e},util.getCss=function(e,t){return e.currentStyle?e.currentStyle[t]:document.defaultView.getComputedStyle(e,!1)[t]},util.padStart=function(e,t,a){for(var r=String(a),n=t>>0,i=Math.ceil(n/r.length),c=[],o=String(e);i--;)c.push(r);return c.join("").substring(0,n-o.length)+o},util.format=function(e){if(window.isNaN(e))return"";e=Math.round(e);var t=util.padStart(Math.floor(e/3600),2,0),a=util.padStart(Math.floor((e-3600*t)/60),2,0),r=util.padStart(Math.floor(e-3600*t-60*a),2,0);return("00"===t?[a,r]:[t,a,r]).join(":")},util.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.typeOf=function(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]},util.deepCopy=function(e,t){if("Object"===util.typeOf(t)&&"Object"===util.typeOf(e))return Object.keys(t).forEach((function(a){"Object"!==util.typeOf(t[a])||t[a]instanceof Node?"Array"===util.typeOf(t[a])?e[a]="Array"===util.typeOf(e[a])?e[a].concat(t[a]):t[a]:e[a]=t[a]:void 0===e[a]||void 0===e[a]?e[a]=t[a]:util.deepCopy(e[a],t[a])})),e},util.deepMerge=function(e,t){return Object.keys(t).map((function(a){var r;"Array"===util.typeOf(t[a])&&"Array"===util.typeOf(e[a])?"Array"===util.typeOf(e[a])&&(r=e[a]).push.apply(r,_toConsumableArray$1(t[a])):util.typeOf(e[a])!==util.typeOf(t[a])||null===e[a]||"Object"!==util.typeOf(e[a])||t[a]instanceof window.Node?null!==t[a]&&(e[a]=t[a]):util.deepMerge(e[a],t[a])})),e},util.getBgImage=function(e){var t=(e.currentStyle||window.getComputedStyle(e,null)).backgroundImage;if(!t||"none"===t)return"";var a=document.createElement("a");return a.href=t.replace(/url\("|"\)/g,""),a.href},util.copyDom=function(e){if(e&&1===e.nodeType){var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}return""},util.setInterval=function(e,t,a,r){e._interval[t]||(e._interval[t]=window.setInterval(a.bind(e),r))},util.clearInterval=function(e,t){clearInterval(e._interval[t]),e._interval[t]=null},util.setTimeout=function(e,t,a){e._timers||(e._timers=[]);var r=setTimeout((function(){t(),util.clearTimeout(e,r)}),a);return e._timers.push(r),r},util.clearTimeout=function(e,t){var a=e._timers;if("Array"===util.typeOf(a)){for(var r=0;r<a.length;r++)if(a[r]===t){a.splice(r,1),clearTimeout(t);break}}else clearTimeout(t)},util.clearAllTimers=function(e){var t=e._timers;"Array"===util.typeOf(t)&&(t.map((function(e){clearTimeout(e)})),e._timerIds=[])},util.createImgBtn=function(e,t,a,r){var n,i,c,o=util.createDom("xg-".concat(e),"",{},"xgplayer-".concat(e,"-img"));(o.style.backgroundImage='url("'.concat(t,'")'),a&&r)&&(["px","rem","em","pt","dp","vw","vh","vm","%"].every((function(e){return!(a.indexOf(e)>-1&&r.indexOf(e)>-1)||(n=parseFloat(a.slice(0,a.indexOf(e)).trim()),i=parseFloat(r.slice(0,r.indexOf(e)).trim()),c=e,!1)})),o.style.width="".concat(n).concat(c),o.style.height="".concat(i).concat(c),o.style.backgroundSize="".concat(n).concat(c," ").concat(i).concat(c),o.style.margin="start"===e?"-".concat(i/2).concat(c," auto auto -").concat(n/2).concat(c):"auto 5px auto 5px");return o},util.Hex2RGBA=function(e,t){var a=[];if(/^\#[0-9A-F]{3}$/i.test(e)){var r="#";e.replace(/[0-9A-F]/gi,(function(e){r+=e+e})),e=r}return/^#[0-9A-F]{6}$/i.test(e)?(e.replace(/[0-9A-F]{2}/gi,(function(e){a.push(parseInt(e,16))})),"rgba(".concat(a.join(","),", ").concat(t,")")):"rgba(255, 255, 255, 0.1)"},util.getFullScreenEl=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement},util.checkIsFunction=function(e){return e&&"function"==typeof e},util.checkIsObject=function(e){return null!==e&&"object"===_typeof$1(e)},util.hide=function(e){e.style.display="none"},util.show=function(e,t){e.style.display=t||"block"},util.isUndefined=function(e){if(null==e)return!0},util.isNotNull=function(e){return!(null==e)},util.setStyleFromCsstext=function(e,t){t&&("String"===util.typeOf(t)?t.replace(/\s+/g,"").split(";").map((function(t){if(t){var a=t.split(":");a.length>1&&(e.style[a[0]]=a[1])}})):Object.keys(t).map((function(a){e.style[a]=t[a]})))},util.filterStyleFromText=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["width","height","top","left","bottom","right","position","z-index","padding","margin","transform"],a=e.style.cssText;if(!a)return{};var r=a.replace(/\s+/g,"").split(";"),n={},i={};return r.map((function(e){if(e){var a=e.split(":");a.length>1&&(checkIsIn(a[0],t)?n[a[0]]=a[1]:i[a[0]]=a[1])}})),e.setAttribute("style",""),Object.keys(i).map((function(t){e.style[t]=i[t]})),n},util.getStyleFromCsstext=function(e){var t=e.style.cssText;if(!t)return{};var a=t.replace(/\s+/g,"").split(";"),r={};return a.map((function(e){if(e){var t=e.split(":");t.length>1&&(r[t[0]]=t[1])}})),r},util.preloadImg=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if(e){var r=new window.Image;r.onload=function(e){r=null,t&&t(e)},r.onerror=function(e){r=null,a&&a(e)},r.src=e}},util.stopPropagation=function(e){e&&e.stopPropagation()},util.scrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},util.scrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0},util.checkTouchSupport=function(){return"ontouchstart"in window},util.getBuffered2=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.5,a=[],r=0;r<e.length;r++)a.push({start:e.start(r)<.5?0:e.start(r),end:e.end(r)});a.sort((function(e,t){var a=e.start-t.start;return a||t.end-e.end}));var n=[];if(t)for(var i=0;i<a.length;i++){var c=n.length;if(c){var o=n[c-1].end;a[i].start-o<t?a[i].end>o&&(n[c-1].end=a[i].end):n.push(a[i])}else n.push(a[i])}else n=a;return new XgplayerTimeRange(n)},util.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.requestAnimationFrame=function(e){var t=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame;if(t)return t(e)},util.getHostFromUrl=function(e){if("String"!==util.typeOf(e))return"";var t=e.split("/"),a="";return t.length>3&&t[2]&&(a=t[2]),a},util.cancelAnimationFrame=function(e){var t=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.cancelRequestAnimationFrame;t&&t(e)},util.isMSE=function(e){return e.media&&(e=e.media),!!(e&&e instanceof HTMLMediaElement)&&(/^blob/.test(e.currentSrc)||/^blob/.test(e.src))},util.isBlob=function(e){return"string"==typeof e&&/^blob/.test(e)},util.generateSessionId=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=(new Date).getTime();try{e=parseInt(e)}catch(t){e=0}return t+=e,window.performance&&"function"==typeof window.performance.now&&(t+=parseInt(window.performance.now())),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var a=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?a:3&a|8).toString(16)}))},util.createEvent=function(e){var t;return"function"==typeof window.Event?t=new Event(e):(t=document.createEvent("Event")).initEvent(e,!0,!0),t},util.adjustTimeByDuration=function(e,t,a){return t&&e&&(e>t||a&&e<t)?t:e},util.createPositionBar=function(e,t){var a=util.createDom("xg-bar","",{"data-index":-1},e);return t.appendChild(a),a},util.getTransformStyle=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{x:0,y:0,scale:1,rotate:0},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a={scale:"".concat(e.scale||1),translate:"".concat(e.x||0,"%, ").concat(e.y||0,"%"),rotate:"".concat(e.rotate||0,"deg")};return Object.keys(a).forEach((function(e){var r=new RegExp("".concat(e,"\\([^\\(]+\\)"),"g"),n="".concat(e,"(").concat(a[e],")");r.test(t)?(r.lastIndex=-1,t=t.replace(r,n)):t+="".concat(n," ")})),t},util.convertDeg=function(e){return Math.abs(e)<=1?360*e:e%360},util.getIndexByTime=function(e,t){var a=t.length,r=-1;if(a<1)return r;if(e<=t[0].end||a<2)r=0;else if(e>t[a-1].end)r=a-1;else for(var n=1;n<a;n++)if(e>t[n-1].end&&e<=t[n].end){r=n;break}return r},util.getOffsetCurrentTime=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1,r=-1;if((r=a>=0&&a<t.length?a:util.getIndexByTime(e,t))<0)return-1;var n=t.length,i=t[r],c=i.start,o=i.end,s=i.cTime,u=i.offset;return e<c?s:e>=c&&e<=o?e-u:e>o&&r>=n-1?o:-1},util.getCurrentTimeByOffset=function(e,t){var a=-1;if(!t||t.length<0)return e;for(var r=0;r<t.length;r++)if(e<=t[r].duration){a=r;break}if(-1!==a){var n=t[a].start;return a-1<0?n+e:n+(e-t[a-1].duration)}return e};var VERSION_REG={android:/(Android)\s([\d.]+)/,harmony:/(OpenHarmony|HarmonyOS)\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","mp4v.20.8, mp4a.40.2","mp4v.20.240, mp4a.40.2"],sniffer={get device(){return sniffer.os.isPc?"pc":"mobile"},get browser(){if("undefined"==typeof navigator)return"";var e=navigator.userAgent.toLowerCase(),t={ie:/rv:([\d.]+)\) like gecko/,firefox:/firefox\/([\d.]+)/,chrome:/chrome\/([\d.]+)/,opera:/opera.([\d.]+)/,safari:/version\/([\d.]+).*safari/};return[].concat(Object.keys(t).filter((function(a){return t[a].test(e)})))[0]||""},get os(){if("undefined"==typeof navigator)return{};var e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),a=/(?:SymbianOS)/.test(e)||t,r=/(?:Tizen)/gi.test(e),n=/(?:Web0S)/gi.test(e),i=/(?:OpenHarmony|HarmonyOS)/i.test(e),c=/(?:Android)/.test(e),o=/(?:Firefox)/.test(e),s=/(?:iPad|PlayBook)/.test(e)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1,u=s||c&&!/(?:Mobile)/.test(e)||(i||o)&&/(?:Tablet)/.test(e),d=/(?:Phone)/.test(e)&&!u;return{isTablet:u,isPhone:d,isIpad:s,isIos:d||s,isAndroid:c,isPc:!(d||c||a||u),isSymbian:a,isWindowsPhone:t,isFireFox:o,isHarmonyOS:i,isTizen:r,isWebOS:n}},get osVersion(){if("undefined"==typeof navigator)return 0;var e=navigator.userAgent,t="",a=(t=/(?:iPhone)|(?:iPad|PlayBook)/.test(e)?VERSION_REG.ios:/(?:OpenHarmony|HarmonyOS)/i.test(e)?VERSION_REG.harmony:VERSION_REG.android)?t.exec(e):[];if(a&&a.length>=3){var r=a[2].split(".");return r.length>0?parseInt(r[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&&H264_MIMETYPES.map((function(a){"probably"===t.canPlayType('video/mp4; codecs="'.concat(a,'"'))&&(e.isSupport=!0,e.mime+="||".concat(a))})),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 a=e.video||{},r=e.audio||{};try{var n=MediaSource.isTypeSupported(a.contentType),i=MediaSource.isTypeSupported(r.contentType);return Promise.resolve({supported:n&&i,smooth:!1,powerEfficient:!1})}catch(e){return Promise.resolve(t)}}},version="3.0.25-rc.8",ERROR_TYPE_MAP={1:"media",2:"media",3:"media",4:"media",5:"media",6:"media"},ERROR_MAP={1:5101,2:5102,3:5103,4:5104,5:5105,6:5106},Errors=_createClass$1((function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{errorType:"",errorCode:0,errorMessage:"",originError:"",ext:{},mediaError:null};_classCallCheck$1(this,e);var r=t&&t.i18n?t.i18n.ERROR_TYPES:null;if(t.media){var n=a.mediaError?a.mediaError:t.media.error||{},i=t.duration,c=t.currentTime,o=t.ended,s=t.src,u=t.currentSrc,d=t.media,b=d.readyState,f=d.networkState,l=a.errorCode||n.code;ERROR_MAP[l]&&(l=ERROR_MAP[l]);var h={playerVersion:version,currentTime:c,duration:i,ended:o,readyState:b,networkState:f,src:s||u,errorType:a.errorType,errorCode:l,message:a.errorMessage||n.message,mediaError:n,originError:a.originError?a.originError.stack:"",host:util.getHostFromUrl(s||u)};return a.ext&&Object.keys(a.ext).map((function(e){h[e]=a.ext[e]})),h}if(arguments.length>1){for(var p={playerVersion:version,domain:document.domain},y=["errorType","currentTime","duration","networkState","readyState","src","currentSrc","ended","errd","errorCode","mediaError"],g=0;g<arguments.length;g++)p[y[g]]=arguments[g];return p.ex=r?(r[arguments[0]]||{}).msg:"",p}})),PLAY="play",PLAYING="playing",ENDED="ended",PAUSE="pause",ERROR$1="error",SEEKING="seeking",SEEKED="seeked",TIME_UPDATE="timeupdate",WAITING="waiting",CANPLAY="canplay",CANPLAY_THROUGH="canplaythrough",DURATION_CHANGE="durationchange",VOLUME_CHANGE="volumechange",LOADED_DATA="loadeddata",LOADED_METADATA="loadedmetadata",RATE_CHANGE="ratechange",PROGRESS="progress",LOAD_START="loadstart",EMPTIED="emptied",STALLED="stalled",SUSPEND="suspend",ABORT="abort",BUFFER_CHANGE="bufferedChange",PLAYER_FOCUS="focus",PLAYER_BLUR="blur",READY="ready",URL_NULL="urlNull",AUTOPLAY_STARTED="autoplay_started",AUTOPLAY_PREVENTED="autoplay_was_prevented",COMPLETE="complete",REPLAY="replay",DESTROY="destroy",URL_CHANGE="urlchange",DOWNLOAD_SPEED_CHANGE="download_speed_change",LEAVE_PLAYER="leaveplayer",ENTER_PLAYER="enterplayer",LOADING="loading",FULLSCREEN_CHANGE="fullscreen_change",CSS_FULLSCREEN_CHANGE="cssFullscreen_change",MINI_STATE_CHANGE="mini_state_change",DEFINITION_CHANGE="definition_change",BEFORE_DEFINITION_CHANGE="before_definition_change",AFTER_DEFINITION_CHANGE="after_definition_change",SEI_PARSED="SEI_PARSED",RETRY="retry",VIDEO_RESIZE="video_resize",PIP_CHANGE="pip_change",ROTATE="rotate",SCREEN_SHOT="screenShot",PLAYNEXT="playnext",SHORTCUT="shortcut",XGLOG="xglog",USER_ACTION="user_action",RESET="reset",SOURCE_ERROR="source_error",SOURCE_SUCCESS="source_success",SWITCH_SUBTITLE="switch_subtitle",VIDEO_EVENTS=["play","playing","ended","pause","error","seeking","seeked","timeupdate","waiting","canplay","canplaythrough","durationchange","volumechange","loadeddata","loadedmetadata","ratechange","progress","loadstart","emptied","stalled","suspend","abort","lowdecode"],STATS_EVENTS$1={STATS_INFO:"stats_info",STATS_DOWNLOAD:"stats_download",STATS_RESET:"stats_reset"},FPS_STUCK="fps_stuck",events=Object.freeze({__proto__:null,ABORT:ABORT,AFTER_DEFINITION_CHANGE:AFTER_DEFINITION_CHANGE,AUTOPLAY_PREVENTED:AUTOPLAY_PREVENTED,AUTOPLAY_STARTED:AUTOPLAY_STARTED,BEFORE_DEFINITION_CHANGE:BEFORE_DEFINITION_CHANGE,BUFFER_CHANGE:BUFFER_CHANGE,CANPLAY:CANPLAY,CANPLAY_THROUGH:CANPLAY_THROUGH,COMPLETE:COMPLETE,CSS_FULLSCREEN_CHANGE:CSS_FULLSCREEN_CHANGE,DEFINITION_CHANGE:DEFINITION_CHANGE,DESTROY:DESTROY,DOWNLOAD_SPEED_CHANGE:DOWNLOAD_SPEED_CHANGE,DURATION_CHANGE:DURATION_CHANGE,EMPTIED:EMPTIED,ENDED:ENDED,ENTER_PLAYER:ENTER_PLAYER,ERROR:ERROR$1,FPS_STUCK:FPS_STUCK,FULLSCREEN_CHANGE:FULLSCREEN_CHANGE,LEAVE_PLAYER:LEAVE_PLAYER,LOADED_DATA:LOADED_DATA,LOADED_METADATA:LOADED_METADATA,LOADING:LOADING,LOAD_START:LOAD_START,MINI_STATE_CHANGE:MINI_STATE_CHANGE,PAUSE:PAUSE,PIP_CHANGE:PIP_CHANGE,PLAY:PLAY,PLAYER_BLUR:PLAYER_BLUR,PLAYER_FOCUS:PLAYER_FOCUS,PLAYING:PLAYING,PLAYNEXT:PLAYNEXT,PROGRESS:PROGRESS,RATE_CHANGE:RATE_CHANGE,READY:READY,REPLAY:REPLAY,RESET:RESET,RETRY:RETRY,ROTATE:ROTATE,SCREEN_SHOT:SCREEN_SHOT,SEEKED:SEEKED,SEEKING:SEEKING,SEI_PARSED:SEI_PARSED,SHORTCUT:SHORTCUT,SOURCE_ERROR:SOURCE_ERROR,SOURCE_SUCCESS:SOURCE_SUCCESS,STALLED:STALLED,STATS_EVENTS:STATS_EVENTS$1,SUSPEND:SUSPEND,SWITCH_SUBTITLE:SWITCH_SUBTITLE,TIME_UPDATE:TIME_UPDATE,URL_CHANGE:URL_CHANGE,URL_NULL:URL_NULL,USER_ACTION:USER_ACTION,VIDEO_EVENTS:VIDEO_EVENTS,VIDEO_RESIZE:VIDEO_RESIZE,VOLUME_CHANGE:VOLUME_CHANGE,WAITING:WAITING,XGLOG:XGLOG});function emitVideoEvent(e,t){this&&this.emit&&("error"===e?this.errorHandler(e,t.error):this.emit(e,t))}function getVideoEventHandler(e,t){return function(a,r){var n={player:t,eventName:e,originalEvent:a,detail:a.detail||{},timeStamp:a.timeStamp,currentTime:t.currentTime,duration:t.duration,paused:t.paused,ended:t.ended,isInternalOp:!!t._internalOp[a.type],muted:t.muted,volume:t.volume,host:util.getHostFromUrl(t.currentSrc),vtype:t.vtype};if(t.removeInnerOP(a.type),"timeupdate"===e&&(t._currentTime=t.media&&t.media.currentTime),"ratechange"===e){var i=t.media?t.media.playbackRate:0;if(i&&t._rate===i)return;t._rate=t.media&&t.media.playbackRate}if("durationchange"===e&&(t._duration=t.media.duration),"volumechange"===e&&(n.isMutedChange=t._lastMuted!==t.muted,t._lastMuted=t.muted),"error"===e&&(n.error=r||t.video.error),t.mediaEventMiddleware[e]){var c=emitVideoEvent.bind(t,e,n);try{t.mediaEventMiddleware[e].call(t,n,c)}catch(a){throw emitVideoEvent.call(t,e,n),a}}else emitVideoEvent.call(t,e,n)}}var MediaProxy=function(e){_inherits$1(a,EventEmitter);var t=_createSuper$1(a);function a(e){var r;_classCallCheck$1(this,a),(r=t.call(this,e))._hasStart=!1,r._currentTime=0,r._duration=0,r._internalOp={},r._lastMuted=!1,r.vtype="MP4",r._rate=-1,r.mediaConfig=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:0|e.tabindex,mediaType:e.mediaType||"video","data-index":-1},e.videoConfig,e.videoAttributes);var n=e["x5-video-player-type"]||e.x5VideoPlayerType;return sniffer.isWeixin&&sniffer.os.isAndroid&&n&&(r.mediaConfig["x5-video-player-type"]=n,delete r.mediaConfig.playsinline,delete r.mediaConfig["webkit-playsinline"],delete r.mediaConfig["x5-playsinline"]),e.loop&&(r.mediaConfig.loop="loop"),e.autoplayMuted&&!Object.prototype.hasOwnProperty.call(r.mediaConfig,"muted")&&(r.mediaConfig.muted=!0),r.media=e.mediaEl instanceof HTMLMediaElement?e.mediaEl:"function"==typeof e.mediaEl?e.mediaEl(r.mediaConfig):util.createDom(r.mediaConfig.mediaType,"",r.mediaConfig,""),e.defaultPlaybackRate&&(r.media.defaultPlaybackRate=r.media.playbackRate=e.defaultPlaybackRate),"Number"===util.typeOf(e.volume)&&(r.volume=e.volume),e.autoplayMuted&&(r.media.muted=!0,r._lastMuted=!0),e.autoplay&&(r.media.autoplay=!0),e.playsinline&&(r.media.playsinline=!0),r._interval={},r.mediaEventMiddleware={},r.attachVideoEvents(),r}return _createClass$1(a,[{key:"setEventsMiddleware",value:function(e){var t=this;Object.keys(e).map((function(a){t.mediaEventMiddleware[a]=e[a]}))}},{key:"removeEventsMiddleware",value:function(e){var t=this;Object.keys(e).map((function(e){delete t.mediaEventMiddleware[e]}))}},{key:"attachVideoEvents",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.media;this._evHandlers||(this._evHandlers=VIDEO_EVENTS.map((function(t){var a="on".concat(t.charAt(0).toUpperCase()).concat(t.slice(1));return"function"==typeof e[a]&&e.on(t,e[a]),_defineProperty$1({},t,getVideoEventHandler(t,e))}))),this._evHandlers.forEach((function(e){var a=Object.keys(e)[0];t.addEventListener(a,e[a],!1)}))}},{key:"detachVideoEvents",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.media;this._evHandlers.forEach((function(e){var a=Object.keys(e)[0];t.removeEventListener(a,e[a],!1)})),this._evHandlers.forEach((function(t){var a=Object.keys(t)[0],r="on".concat(a.charAt(0).toUpperCase()).concat(a.slice(1));"function"==typeof e[r]&&e.off(a,e[r])})),this._evHandlers=null}},{key:"_attachSourceEvents",value:function(e,t){var a=this;e.removeAttribute("src"),e.load(),t.forEach((function(e,t){a.media.appendChild(util.createDom("source","",{src:"".concat(e.src),type:"".concat(e.type||""),"data-index":t+1}))}));var r=e.children;if(r){this._videoSourceCount=r.length,this._videoSourceIndex=r.length,this._vLoadeddata=function(e){a.emit(SOURCE_SUCCESS,{src:e.target.currentSrc,host:util.getHostFromUrl(e.target.currentSrc)})};for(var n=null,i=0;i<this._evHandlers.length;i++)if("error"===Object.keys(this._evHandlers[i])[0]){n=this._evHandlers[i];break}!this._sourceError&&(this._sourceError=function(e){var t=parseInt(e.target.getAttribute("data-index"),10);if(a._videoSourceIndex--,0===a._videoSourceIndex||t>=a._videoSourceCount){var r={code:4,message:"sources_load_error"};n?n.error(e,r):a.errorHandler("error",r)}var i=ERROR_TYPE_MAP[4];a.emit(SOURCE_ERROR,new Errors(a,{errorType:i,errorCode:4,errorMessage:"sources_load_error",mediaError:{code:4,message:"sources_load_error"},src:e.target.src}))});for(var c=0;c<r.length;c++)r[c].addEventListener("error",this._sourceError);e.addEventListener("loadeddata",this._vLoadeddata)}}},{key:"_detachSourceEvents",value:function(e){var t=e.children;if(t&&0!==t.length&&this._sourceError){for(var a=0;a<t.length;a++)t[a].removeEventListener("error",this._sourceError);for(;t.length>0;)e.removeChild(t[0]);this._vLoadeddata&&e.removeEventListener("loadeddata",this._vLoadeddata)}}},{key:"errorHandler",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.media&&(this.media.error||t)){var a=this.media.error||t,r=a.code?ERROR_TYPE_MAP[a.code]:"other";a.message;this.media.currentSrc||this.media.srcObject||(a={code:6,message:"empty_src"}),this.emit(e,new Errors(this,{errorType:r,errorCode:a.code,errorMessage:a.message||"",mediaError:a}))}}},{key:"destroy",value:function(){for(var e in this.media&&(this.media.pause&&(this.media.pause(),this.media.muted=!0),this.media.removeAttribute("src"),this.media.load()),this._currentTime=0,this._duration=0,this.mediaConfig=null,this._interval)Object.prototype.hasOwnProperty.call(this._interval,e)&&(clearInterval(this._interval[e]),this._interval[e]=null);this.detachVideoEvents(),this.media=null,this.mediaEventMiddleware={},this.removeAllListeners()}},{key:"video",get:function(){return this.media},set:function(e){this.media=e}},{key:"play",value:function(){return this.media?this.media.play():null}},{key:"pause",value:function(){this.media&&this.media.pause()}},{key:"load",value:function(){this.media&&this.media.load()}},{key:"canPlayType",value:function(e){return!!this.media&&this.media.canPlayType(e)}},{key:"getBufferedRange",value:function(e){var t=[0,0];if(!this.media)return t;e||(e=this.media.buffered);var a=this.media.currentTime;if(e)for(var r=0,n=e.length;r<n&&(t[0]=e.start(r),t[1]=e.end(r),!(t[0]<=a&&a<=t[1]));r++);return t[0]-a<=0&&a-t[1]<=0?t:[0,0]}},{key:"autoplay",get:function(){return!!this.media&&this.media.autoplay},set:function(e){this.media&&(this.media.autoplay=e)}},{key:"buffered",get:function(){return this.media?this.media.buffered:null}},{key:"buffered2",get:function(){return this.media&&this.media.buffered?util.getBuffered2(this.media.buffered):null}},{key:"bufferedPoint",get:function(){var e={start:0,end:0};if(!this.media)return e;var t=this.media.buffered;if(!t||0===t.length)return e;for(var a=0;a<t.length;a++)if((t.start(a)<=this.currentTime||t.start(a)<.1)&&t.end(a)>=this.currentTime)return{start:t.start(a),end:t.end(a)};return e}},{key:"crossOrigin",get:function(){return this.media?this.media.crossOrigin:""},set:function(e){this.media&&(this.media.crossOrigin=e)}},{key:"currentSrc",get:function(){return this.media?this.media.currentSrc:""},set:function(e){this.media&&(this.media.currentSrc=e)}},{key:"currentTime",get:function(){return this.media?void 0!==this.media.currentTime?this.media.currentTime:this._currentTime:0},set:function(e){this.media&&(this.media.currentTime=e)}},{key:"defaultMuted",get:function(){return!!this.media&&this.media.defaultMuted},set:function(e){this.media&&(this.media.defaultMuted=e)}},{key:"duration",get:function(){return this._duration}},{key:"ended",get:function(){return!!this.media&&this.media.ended}},{key:"error",get:function(){return this.media.error}},{key:"errorNote",get:function(){if(!this.media.error)return"";return["MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED"][this.media.error.code-1]}},{key:"loop",get:function(){return!!this.media&&this.media.loop},set:function(e){this.media&&(this.media.loop=e)}},{key:"muted",get:function(){return!!this.media&&this.media.muted},set:function(e){this.media&&this.media.muted!==e&&(this._lastMuted=this.media.muted,this.media.muted=e)}},{key:"networkState",get:function(){return this.media.networkState}},{key:"paused",get:function(){return!this.media||this.media.paused}},{key:"playbackRate",get:function(){return this.media?this.media.playbackRate:0},set:function(e){this.media&&e!==1/0&&(this.media.defaultPlaybackRate=e,this.media.playbackRate=e)}},{key:"played",get:function(){return this.media?this.media.played:null}},{key:"preload",get:function(){return!!this.media&&this.media.preload},set:function(e){this.media&&(this.media.preload=e)}},{key:"readyState",get:function(){return this.media.readyState}},{key:"seekable",get:function(){return!!this.media&&this.media.seekable}},{key:"seeking",get:function(){return!!this.media&&this.media.seeking}},{key:"src",get:function(){return this.media?this.media.src:""},set:function(e){this.media&&(this.emit(URL_CHANGE,e),this.emit(WAITING),this._currentTime=0,this._duration=0,util.isMSE(this.media)?this.onWaiting():(this._detachSourceEvents(this.media),"Array"===util.typeOf(e)?this._attachSourceEvents(this.media,e):e?this.media.src=e:this.media.removeAttribute("src"),this.load()))}},{key:"volume",get:function(){return this.media?this.media.volume:0},set:function(e){e!==1/0&&this.media&&(this.media.volume=e)}},{key:"aspectRatio",get:function(){return this.media?this.media.videoWidth/this.media.videoHeight:0}},{key:"addInnerOP",value:function(e){this._internalOp[e]=!0}},{key:"removeInnerOP",value:function(e){delete this._internalOp[e]}},{key:"emit",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get$1(_getPrototypeOf$1(a.prototype),"emit",this)).call.apply(r,[this,e,t].concat(i))}},{key:"on",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get$1(_getPrototypeOf$1(a.prototype),"on",this)).call.apply(r,[this,e,t].concat(i))}},{key:"once",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get$1(_getPrototypeOf$1(a.prototype),"once",this)).call.apply(r,[this,e,t].concat(i))}},{key:"off",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get$1(_getPrototypeOf$1(a.prototype),"off",this)).call.apply(r,[this,e,t].concat(i))}},{key:"offAll",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"removeAllListeners",this).call(this)}}]),a}(),INDEXDB=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{name:"xgplayer",version:1,db:null,ojstore:{name:"xg-m4a",keypath:"vid"}};_classCallCheck$1(this,e),this.indexedDB=window.indexedDB||window.webkitindexedDB,this.IDBKeyRange=window.IDBKeyRange||window.webkitIDBKeyRange,this.myDB=t}return _createClass$1(e,[{key:"openDB",value:function(e){var t=this,a=this,r=this.myDB.version||1,n=a.indexedDB.open(a.myDB.name,r);n.onerror=function(e){},n.onsuccess=function(r){t.myDB.db=r.target.result,e.call(a)},n.onupgradeneeded=function(e){var t=e.target.result;e.target.transaction,t.objectStoreNames.contains(a.myDB.ojstore.name)||t.createObjectStore(a.myDB.ojstore.name,{keyPath:a.myDB.ojstore.keypath})}}},{key:"deletedb",value:function(){this.indexedDB.deleteDatabase(this.myDB.name)}},{key:"closeDB",value:function(){this.myDB.db.close()}},{key:"addData",value:function(e,t){for(var a,r=this.myDB.db.transaction(e,"readwrite").objectStore(e),n=0;n<t.length;n++)(a=r.add(t[n])).onerror=function(){},a.onsuccess=function(){}}},{key:"putData",value:function(e,t){for(var a,r=this.myDB.db.transaction(e,"readwrite").objectStore(e),n=0;n<t.length;n++)(a=r.put(t[n])).onerror=function(){},a.onsuccess=function(){}}},{key:"getDataByKey",value:function(e,t,a){var r=this,n=this.myDB.db.transaction(e,"readwrite").objectStore(e).get(t);n.onerror=function(){a.call(r,null)},n.onsuccess=function(e){var t=e.target.result;a.call(r,t)}}},{key:"deleteData",value:function(e,t){this.myDB.db.transaction(e,"readwrite").objectStore(e).delete(t)}},{key:"clearData",value:function(e){this.myDB.db.transaction(e,"readwrite").objectStore(e).clear()}}]),e}(),FULLSCREEN_EVENTS=["fullscreenchange","webkitfullscreenchange","mozfullscreenchange","MSFullscreenChange"],GET_FULLSCREEN_API=["requestFullscreen","webkitRequestFullscreen","mozRequestFullScreen","msRequestFullscreen"],EXIT_FULLSCREEN_API=["exitFullscreen","webkitExitFullscreen","mozCancelFullScreen","msExitFullscreen"],PLATER_ID="data-xgplayerid";function callHandler(e,t,a){for(var r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];var c=t.call.apply(t,[e].concat(n));a&&"function"==typeof a&&(c&&c.then?c.then((function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];a.call.apply(a,[e].concat(r))})):a.call.apply(a,[e].concat(n)))}function hook(e,t){var a=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),function(){var r=arguments,n=this;if(a.pre)try{var i;(i=a.pre).call.apply(i,[this].concat(Array.prototype.slice.call(arguments)))}catch(t){throw t.message="[pluginName: ".concat(this.pluginName,":").concat(e,":pre error] >> ").concat(t.message),t}if(this.__hooks&&this.__hooks[e])try{var c=runHooks.apply(void 0,[this,e,t].concat(Array.prototype.slice.call(arguments)));c?c.then?c.then((function(e){!1!==e&&callHandler.apply(void 0,[n,t,a.next].concat(_toConsumableArray$1(r)))})).catch((function(e){throw e})):callHandler.apply(void 0,[this,t,a.next].concat(Array.prototype.slice.call(arguments))):void 0===c&&callHandler.apply(void 0,[this,t,a.next].concat(Array.prototype.slice.call(arguments)))}catch(t){throw t.message="[pluginName: ".concat(this.pluginName,":").concat(e,"] >> ").concat(t.message),t}else callHandler.apply(void 0,[this,t,a.next].concat(Array.prototype.slice.call(arguments)))}.bind(this)}function findHookIndex(e,t){var a=this.__hooks;if(!a||!Array.isArray(a[e]))return-1;for(var r=a[e],n=0;n<r.length;n++)if(r[n]===t)return n;return-1}function useHooks(e,t){var a=this.__hooks;if(a)return a.hasOwnProperty(e)?(Array.isArray(a[e])||(a[e]=[]),-1===findHookIndex.call(this,e,t)&&a[e].push(t),!0):(console.warn("has no supported hook which name [".concat(e,"]")),!1)}function removeHooks(e,t){var a=this.__hooks;if(a)if(Array.isArray(a[e])){var r=a[e],n=findHookIndex.call(this,e,t);-1!==n&&r.splice(n,1)}else a[e]&&(a[e]=null)}function usePluginHooks(e){if(this.plugins&&this.plugins[e.toLowerCase()]){for(var t=this.plugins[e.toLowerCase()],a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return t.useHooks&&t.useHooks.apply(t,r)}}function removePluginHooks(e){if(this.plugins&&this.plugins[e.toLowerCase()]){var t=this.plugins[e.toLowerCase()];if(t){for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];return t.removeHooks&&t.removeHooks.apply(t,r)}}}function hooksDescriptor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e.__hooks={},t&&t.map((function(t){e.__hooks[t]=null})),Object.defineProperty(e,"hooks",{get:function(){return e.__hooks&&Object.keys(e.__hooks).map((function(t){if(e.__hooks[t])return t}))}})}function delHooksDescriptor(e){e.__hooks=null}function runHooks(e,t,a){for(var r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];if(e.__hooks&&Array.isArray(e.__hooks[t])){var c=e.__hooks[t],o=-1;return function e(t,a,r){for(var n=arguments.length,i=new Array(n>3?n-3:0),s=3;s<n;s++)i[s-3]=arguments[s];if(o++,0===c.length||o===c.length)return r.call.apply(r,[t,t].concat(i));var u=c[o],d=u.call.apply(u,[t,t].concat(i));return d&&d.then?d.then((function(n){return!1===n?null:e.apply(void 0,[t,a,r].concat(i))})).catch((function(e){console.warn("[runHooks]".concat(a," reject"),e.message)})):!1!==d?e.apply(void 0,[t,a,r].concat(i)):!1!==d&&void 0}.apply(void 0,[e,t,a].concat(n))}return a.call.apply(a,[e,e].concat(n))}function showErrorMsg(e,t){XG_DEBUG.logError("[".concat(e,"] event or callback cant be undefined or null when call ").concat(t))}var BasePlugin=function(){function e(t){_classCallCheck$1(this,e),util.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$1(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.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 a=this;e&&t&&this.player?"string"==typeof e?(this.__events[e]=t,this.player.on(e,t)):Array.isArray(e)&&e.forEach((function(e){a.__events[e]=t,a.player.on(e,t)})):showErrorMsg(this.pluginName,"plugin.on(event, callback)")}},{key:"once",value:function(e,t){var a=this;e&&t&&this.player?"string"==typeof e?(this.__onceEvents[e]=t,this.player.once(e,t)):Array.isArray(e)&&e.forEach((function(r){a.__onceEvents[r]=t,a.player.once(e,t)})):showErrorMsg(this.pluginName,"plugin.once(event, callback)")}},{key:"off",value:function(e,t){var a=this;e&&t&&this.player?"string"==typeof e?(delete this.__events[e],this.player.off(e,t)):Array.isArray(e)&&e.forEach((function(r){delete a.__events[e],a.player.off(r,t)})):showErrorMsg(this.pluginName,"plugin.off(event, callback)")}},{key:"offAll",value:function(){var e=this;["__events","__onceEvents"].forEach((function(t){Object.keys(e[t]).forEach((function(a){e[t][a]&&e.off(a,e[t][a]),a&&delete e[t][a]}))})),this.__events={},this.__onceEvents={}}},{key:"emit",value:function(e){var t;if(this.player){for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];(t=this.player).emit.apply(t,[e].concat(r))}}},{key:"emitUserAction",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(this.player){var r=_objectSpread2$1(_objectSpread2$1({},a),{},{pluginName:this.pluginName});this.player.emitUserAction(e,t,r)}}},{key:"hook",value:function(e,t){return hook.call.apply(hook,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(e,t){for(var a=arguments.length,r=new Array(a>2?a-2:0),n=2;n<a;n++)r[n-2]=arguments[n];return useHooks.call.apply(useHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removeHooks",value:function(e,t){for(var a=arguments.length,r=new Array(a>2?a-2:0),n=2;n<a;n++)r[n-2]=arguments[n];return removeHooks.call.apply(removeHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"registerPlugin",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(this.player)return a&&(t.pluginName=a),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=this,t=this.player,a=this.pluginName;this.offAll(),util.clearAllTimers(this),util.checkIsFunction(this.destroy)&&this.destroy(),["player","playerConfig","pluginName","logger","__args","__hooks"].map((function(t){e[t]=null})),t.unRegisterPlugin(a),delHooksDescriptor(this)}}],[{key:"defineGetterOrSetter",value:function(e,t){for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&Object.defineProperty(e,a,t[a])}},{key:"defineMethod",value:function(e,t){for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&"function"==typeof t[a]&&Object.defineProperty(e,a,{configurable:!0,value:t[a]})}},{key:"defaultConfig",get:function(){return{}}},{key:"pluginName",get:function(){return"pluginName"}}]),e}(),DOCUMENT_NODE_TYPE=9;if("undefined"!=typeof Element&&!Element.prototype.matches){var proto=Element.prototype;proto.matches=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector}function closest$1(e,t){for(;e&&e.nodeType!==DOCUMENT_NODE_TYPE;){if("function"==typeof e.matches&&e.matches(t))return e;e=e.parentNode}}var closest_1=closest$1,closest=closest_1;function _delegate(e,t,a,r,n){var i=listener.apply(this,arguments);return e.addEventListener(a,i,n),{destroy:function(){e.removeEventListener(a,i,n)}}}function delegate(e,t,a,r,n){return"function"==typeof e.addEventListener?_delegate.apply(null,arguments):"function"==typeof a?_delegate.bind(null,document).apply(null,arguments):("string"==typeof e&&(e=document.querySelectorAll(e)),Array.prototype.map.call(e,(function(e){return _delegate(e,t,a,r,n)})))}function listener(e,t,a,r){return function(a){a.delegateTarget=closest(a.target,t),a.delegateTarget&&r.call(e,a)}}var delegate_1=delegate,_delegate$1=getDefaultExportFromCjs(delegate_1),ROOT_TYPES={CONTROLS:"controls",ROOT:"root"},POSITIONS={ROOT:"root",ROOT_LEFT:"rootLeft",ROOT_RIGHT:"rootRight",ROOT_TOP:"rootTop",CONTROLS_LEFT:"controlsLeft",CONTROLS_RIGTH:"controlsRight",CONTROLS_RIGHT:"controlsRight",CONTROLS_CENTER:"controlsCenter",CONTROLS:"controls"},PLUGIN_STATE_CLASS={ICON_DISABLE:"xg-icon-disable",ICON_HIDE:"xg-icon-hide"};function isUrl(e){return!!e&&(e.indexOf&&/^(?:http|data:|\/)/.test(e))}function mergeIconClass(e,t){return"object"===_typeof$1(e)&&e.class&&"string"==typeof e.class?"".concat(t," ").concat(e.class):t}function mergeIconAttr(e,t){return"object"===_typeof$1(e)&&e.attr&&"object"===_typeof$1(e.attr)&&Object.keys(e.attr).map((function(a){t[a]=e.attr[a]})),t}function createIcon(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=null;if(e instanceof window.Element)return util.addClass(e,a),Object.keys(r).map((function(t){e.setAttribute(t,r[t])})),e;if(isUrl(e)||isUrl(e.url))return r.src=isUrl(e)?e:e.url||"",i=util.createDom(e.tag||"img","",r,"xg-img ".concat(a));if("function"==typeof e)try{return(i=e())instanceof window.Element?(util.addClass(i,a),Object.keys(r).map((function(e){i.setAttribute(e,r[e])})),i):(XG_DEBUG.logWarn("warn>>icons.".concat(t," in config of plugin named [").concat(n,"] is a function mast return an Element Object")),null)}catch(e){return XG_DEBUG.logError("Plugin named [".concat(n,"]:createIcon"),e),null}return"string"==typeof e?util.createDomFromHtml(e,r,a):(XG_DEBUG.logWarn("warn>>icons.".concat(t," in config of plugin named [").concat(n,"] is invalid")),null)}function registerIconsObj(e,t){var a=t.config.icons||t.playerConfig.icons;Object.keys(e).map((function(r){var n=e[r],i=n&&n.class?n.class:"",c=n&&n.attr?n.attr:{},o=null;a&&a[r]&&(i=mergeIconClass(a[r],i),c=mergeIconAttr(a[r],c),o=createIcon(a[r],r,i,c,t.pluginName)),!o&&n&&(o=createIcon(n.icon?n.icon:n,c,i,{},t.pluginName)),t.icons[r]=o}))}function registerTextObj(e,t){Object.keys(e).map((function(a){Object.defineProperty(t.langText,a,{get:function(){var r=t.lang,n=t.i18n;return n[a]?n[a]:e[a]&&e[a][r]||""}})}))}var Plugin=function(e){_inherits$1(a,BasePlugin);var t=_createSuper$1(a);function a(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return _classCallCheck$1(this,a),(e=t.call(this,r)).__delegates=[],e}return _createClass$1(a,[{key:"__init",value:function(e){if(_get$1(_getPrototypeOf$1(a.prototype),"__init",this).call(this,e),e.root){var t=e.root,r=null;this.icons={},this.root=null,this.parent=null,this.extraEls=[],registerIconsObj(this.registerIcons()||{},this),this.langText={},registerTextObj(this.registerLanguageTexts()||{},this);var n="";try{n=this.render()}catch(e){throw XG_DEBUG.logError("Plugin:".concat(this.pluginName,":render"),e),new Error("Plugin:".concat(this.pluginName,":render:").concat(e.message))}if(n)(r=a.insert(n,t,e.index)).setAttribute("data-index",e.index);else{if(!e.tag)return;(r=util.createDom(e.tag,"",e.attr,e.name)).setAttribute("data-index",e.index),t.appendChild(r)}this.root=r,this.parent=t;var i=this.config.attr||{},c=this.config.style||{};this.setAttr(i),this.setStyle(c),this.config.index&&this.root.setAttribute("data-index",this.config.index),this.__registerChildren()}}},{key:"__registerChildren",value:function(){var e=this;if(this.root){this._children=[];var t=this.children();t&&"object"===_typeof$1(t)&&Object.keys(t).length>0&&Object.keys(t).map((function(a){var r,n,i=a,c=t[i],o={root:e.root};"function"==typeof c?(r=e.config[i]||{},n=c):"object"===_typeof$1(c)&&"function"==typeof c.plugin&&(r=c.options?util.deepCopy(e.config[i]||{},c.options):e.config[i]||{},n=c.plugin),o.config=r,void 0!==r.index&&(o.index=r.index),r.root&&(o.root=r.root),e.registerPlugin(n,o,i)}))}}},{key:"updateLang",value:function(e){e||(e=this.lang);var t=this.root,a=this.i18n,r=this.langText;t&&function e(t,a){for(var r=0;r<t.children.length;r++)t.children[r].children.length>0?e(t.children[r],a):a(t.children[r])}(t,(function(t){var n=t.getAttribute&&t.getAttribute("lang-key");if(n){var i=a[n.toUpperCase()]||r[n];i&&(t.innerHTML="function"==typeof i?i(e):i)}}))}},{key:"lang",get:function(){return this.player.lang}},{key:"changeLangTextKey",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=this.i18n||{},r=this.langText;e.setAttribute&&e.setAttribute("lang-key",t);var n=a[t]||r[t]||"";n&&(e.innerHTML=n)}},{key:"plugins",value:function(){return this._children}},{key:"disable",value:function(){this.config.disable=!0,util.addClass(this.find(".xgplayer-icon"),PLUGIN_STATE_CLASS.ICON_DISABLE)}},{key:"enable",value:function(){this.config.disable=!1,util.removeClass(this.find(".xgplayer-icon"),PLUGIN_STATE_CLASS.ICON_DISABLE)}},{key:"children",value:function(){return{}}},{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]:"";t.root=t.root||this.root;var n=_get$1(_getPrototypeOf$1(a.prototype),"registerPlugin",this).call(this,e,t,r);return this._children.push(n),n}},{key:"registerIcons",value:function(){return{}}},{key:"registerLanguageTexts",value:function(){return{}}},{key:"find",value:function(e){if(this.root)return this.root.querySelector(e)}},{key:"bind",value:function(e,t,r){var n=this;if(arguments.length<3&&"function"==typeof t)Array.isArray(e)?e.forEach((function(e){n.bindEL(e,t)})):this.bindEL(e,t);else{var i=a.delegate.call(this,this.root,e,t,r);this.__delegates=this.__delegates.concat(i)}}},{key:"unbind",value:function(e,t){var a=this;if(arguments.length<3&&"function"==typeof t)Array.isArray(e)?e.forEach((function(e){a.unbindEL(e,t)})):this.unbindEL(e,t);else for(var r="".concat(e,"_").concat(t),n=0;n<this.__delegates.length;n++)if(this.__delegates[n].key===r){this.__delegates[n].destroy(),this.__delegates.splice(n,1);break}}},{key:"setStyle",value:function(e,t){var a=this;if(this.root)return"String"===util.typeOf(e)?this.root.style[e]=t:void("Object"===util.typeOf(e)&&Object.keys(e).map((function(t){a.root.style[t]=e[t]})))}},{key:"setAttr",value:function(e,t){var a=this;if(this.root)return"String"===util.typeOf(e)?this.root.setAttribute(e,t):void("Object"===util.typeOf(e)&&Object.keys(e).map((function(t){a.root.setAttribute(t,e[t])})))}},{key:"setHtml",value:function(e,t){this.root&&(this.root.innerHTML=e,"function"==typeof t&&t())}},{key:"bindEL",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.root&&"on".concat(e)in this.root&&"function"==typeof t&&this.root.addEventListener(e,t,a)}},{key:"unbindEL",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.root&&"on".concat(e)in this.root&&"function"==typeof t&&this.root.removeEventListener(e,t,a)}},{key:"show",value:function(e){if(this.root)return this.root.style.display=void 0!==e?e:"block","none"===window.getComputedStyle(this.root,null).getPropertyValue("display")?this.root.style.display="block":void 0}},{key:"hide",value:function(){this.root&&(this.root.style.display="none")}},{key:"appendChild",value:function(e,t){if(!this.root)return null;if(arguments.length<2&&arguments[0]instanceof window.Element)return this.root.appendChild(arguments[0]);if(!(t&&t instanceof window.Element))return null;try{return"string"==typeof e?this.find(e).appendChild(t):e.appendChild(t)}catch(e){return XG_DEBUG.logError("Plugin:appendChild",e),null}}},{key:"render",value:function(){return""}},{key:"destroy",value:function(){}},{key:"__destroy",value:function(){var e=this,t=this.player;this.__delegates.map((function(e){e.destroy()})),this.__delegates=[],this._children instanceof Array&&(this._children.map((function(e){t.unRegisterPlugin(e.pluginName)})),this._children=null),this.root&&(this.root.hasOwnProperty("remove")?this.root.remove():this.root.parentNode&&this.root.parentNode.removeChild(this.root)),_get$1(_getPrototypeOf$1(a.prototype),"__destroy",this).call(this),this.icons={},["root","parent"].map((function(t){e[t]=null})),this.extraEls=[]}}],[{key:"insert",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=t.children.length,n=Number(a),i=e instanceof window.Node;if(r){for(var c=0,o=null,s="";c<r;c++){o=t.children[c];var u=Number(o.getAttribute("data-index"));if(u>=n){s="beforebegin";break}u<n&&(s="afterend")}return i?"afterend"===s?t.appendChild(e):t.insertBefore(e,o):o.insertAdjacentHTML(s,e),"afterend"===s?t.children[t.children.length-1]:t.children[c]}return i?t.appendChild(e):t.insertAdjacentHTML("beforeend",e),t.children[t.children.length-1]}},{key:"defaultConfig",get:function(){return{}}},{key:"delegate",value:function(e,t,a,r){var n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=[];if(e instanceof window.Node&&"function"==typeof r)if(Array.isArray(a))a.forEach((function(a){var c=_delegate$1(e,t,a,r,n);c.key="".concat(t,"_").concat(a),i.push(c)}));else{var c=_delegate$1(e,t,a,r,n);c.key="".concat(t,"_").concat(a),i.push(c)}return i}},{key:"ROOT_TYPES",get:function(){return ROOT_TYPES}},{key:"POSITIONS",get:function(){return POSITIONS}}]),a}(),ResizeObserver$2=function(){function e(){var t=this;if(_classCallCheck$1(this,e),_defineProperty$1(this,"__trigger",(function(e){var a=(new Date).getTime();t.timeStamp=a;for(var r=0;r<e.length;r++)t.__runHandler(e[r].target)})),this.__handlers=[],this.timeStamp=0,this.observer=null,window.ResizeObserver)try{this.observer=new window.ResizeObserver(throttle(this.__trigger,100,{trailing:!0})),this.timeStamp=(new Date).getTime()}catch(e){console.error(e)}}return _createClass$1(e,[{key:"addObserver",value:function(e,t){if(this.observer){this.observer.observe(e);for(var a=e.getAttribute(PLATER_ID),r=this.__handlers,n=-1,i=0;i<r.length;i++)r[i]&&e===r[i].target&&(n=i);n>-1?this.__handlers[n].handler=t:this.__handlers.push({target:e,handler:t,playerId:a})}}},{key:"unObserver",value:function(e){var t=-1;this.__handlers.map((function(a,r){e===a.target&&(t=r)}));try{var a;null===(a=this.observer)||void 0===a||a.unobserve(e)}catch(e){}t>-1&&this.__handlers.splice(t,1)}},{key:"destroyObserver",value:function(){var e;null===(e=this.observer)||void 0===e||e.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(e){for(var t=this.__handlers,a=0;a<t.length;a++)if(t[a]&&e===t[a].target){try{t[a].handler(e)}catch(e){console.error(e)}return!0}return!1}}]),e}(),resizeObserver$1=null;function addObserver$1(e,t){return resizeObserver$1||(resizeObserver$1=new ResizeObserver$2),resizeObserver$1.addObserver(e,t),resizeObserver$1}function unObserver$1(e,t){var a;null===(a=resizeObserver$1)||void 0===a||a.unObserver(e,t)}var pluginsManager={pluginGroup:{},init:function(e){var t=e._pluginInfoId;t||(t=(new Date).getTime(),e._pluginInfoId=t),!e.config.closeResizeObserver&&addObserver$1(e.root,(function(){e.resize()})),this.pluginGroup[t]={_originalOptions:e.config||{},_plugins:{}}},formatPluginInfo:function(e,t){var a=null,r=null;return e.plugin&&"function"==typeof e.plugin?(a=e.plugin,r=e.options):(a=e,r={}),t&&(r.config=t||{}),{PLUFGIN:a,options:r}},checkPluginIfExits:function(e,t){for(var a=0;a<t.length;a++)if(e.toLowerCase()===t[a].pluginName.toLowerCase())return!0;return!1},getRootByConfig:function(e,t){for(var a=Object.keys(t),r=null,n=0;n<a.length;n++)if(e.toLowerCase()===a[n].toLowerCase()){r=t[a[n]];break}return"Object"===util.typeOf(r)?{root:r.root,position:r.position}:{}},lazyRegister:function(e,t){var a=this,r=t.timeout||1500;return Promise.race([t.loader().then((function(t){var r;r=t&&t.__esModule?t.default:t,a.register(e,r,t.options)})),new Promise((function(e,t){setTimeout((function(){t(new Error("timeout"))}),r)}))])},register:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e&&t&&"function"==typeof t&&void 0!==t.prototype){var r=e._pluginInfoId;if(r&&this.pluginGroup[r]){this.pluginGroup[r]._plugins||(this.pluginGroup[r]._plugins={});var n=this.pluginGroup[r]._plugins,i=this.pluginGroup[r]._originalOptions;a.player=e;var c=a.pluginName||t.pluginName;if(!c)throw new Error("The property pluginName is necessary");if(!t.isSupported||t.isSupported(e.config.mediaType,e.config.codecType)){a.config||(a.config={});for(var o=Object.keys(i),s=0;s<o.length;s++)if(c.toLowerCase()===o[s].toLowerCase()){var u=i[o[s]];"Object"===util.typeOf(u)?a.config=Object.assign({},a.config,i[o[s]]):"Boolean"===util.typeOf(u)&&(a.config.disable=!u);break}t.defaultConfig&&Object.keys(t.defaultConfig).forEach((function(e){void 0===a.config[e]&&(a.config[e]=t.defaultConfig[e])})),a.root?"string"==typeof a.root&&(a.root=e[a.root]):a.root=e.root,a.index=a.config.index||0;try{n[c.toLowerCase()]&&(this.unRegister(r,c.toLowerCase()),console.warn("the is one plugin with same pluginName [".concat(c,"] exist, destroy the old instance")));var d=new t(a);return n[c.toLowerCase()]=d,n[c.toLowerCase()].func=t,d&&"function"==typeof d.afterCreate&&d.afterCreate(),d}catch(e){throw console.error(e),e}}else console.warn("not supported plugin [".concat(c,"]"))}}},unRegister:function(e,t){e._pluginInfoId&&(e=e._pluginInfoId),t=t.toLowerCase();try{var a=this.pluginGroup[e]._plugins[t];a&&(a.pluginName&&a.__destroy(),delete this.pluginGroup[e]._plugins[t])}catch(a){console.error("[unRegister:".concat(t,"] cgid:[").concat(e,"] error"),a)}},deletePlugin:function(e,t){var a=e._pluginInfoId;a&&this.pluginGroup[a]&&this.pluginGroup[a]._plugins&&delete this.pluginGroup[a]._plugins[t]},getPlugins:function(e){var t=e._pluginInfoId;return t&&this.pluginGroup[t]?this.pluginGroup[t]._plugins:{}},findPlugin:function(e,t){var a=e._pluginInfoId;if(!a||!this.pluginGroup[a])return null;var r=t.toLowerCase();return this.pluginGroup[a]._plugins[r]},beforeInit:function(e){var t=this;function a(e){return e&&e.then?e:new Promise((function(e){e()}))}return new Promise((function(r){if(t.pluginGroup)return(e._loadingPlugins&&e._loadingPlugins.length?Promise.all(e._loadingPlugins):Promise.resolve()).then((function(){var n=e._pluginInfoId;if(t.pluginGroup[n]){var i=t.pluginGroup[n]._plugins,c=[];Object.keys(i).forEach((function(e){if(i[e]&&i[e].beforePlayerInit)try{var t=i[e].beforePlayerInit();c.push(a(t))}catch(e){throw c.push(a(null)),e}})),Promise.all([].concat(c)).then((function(){r()})).catch((function(e){console.error(e),r()}))}else r()}))}))},afterInit:function(e){var t=e._pluginInfoId;if(t&&this.pluginGroup[t]){var a=this.pluginGroup[t]._plugins;Object.keys(a).forEach((function(e){a[e]&&a[e].afterPlayerInit&&a[e].afterPlayerInit()}))}},setLang:function(e,t){var a=t._pluginInfoId;if(a&&this.pluginGroup[a]){var r=this.pluginGroup[a]._plugins;Object.keys(r).forEach((function(t){if(r[t].updateLang)r[t].updateLang(e);else try{r[t].lang=e}catch(e){console.warn("".concat(t," setLang"))}}))}},reRender:function(e){var t=this,a=e._pluginInfoId;if(a&&this.pluginGroup[a]){var r=[],n=this.pluginGroup[a]._plugins;Object.keys(n).forEach((function(e){"controls"!==e&&n[e]&&(r.push({plugin:n[e].func,options:n[e].__args}),t.unRegister(a,e))})),r.forEach((function(a){t.register(e,a.plugin,a.options)}))}},onPluginsReady:function(e){var t=e._pluginInfoId;if(t&&this.pluginGroup[t]){var a=this.pluginGroup[t]._plugins||{};Object.keys(a).forEach((function(e){a[e].onPluginsReady&&"function"==typeof a[e].onPluginsReady&&a[e].onPluginsReady()}))}},destroy:function(e){var t=e._pluginInfoId;if(this.pluginGroup[t]){unObserver$1(e.root);for(var a=this.pluginGroup[t]._plugins,r=0,n=Object.keys(a);r<n.length;r++){var i=n[r];this.unRegister(t,i)}delete this.pluginGroup[t],delete e._pluginInfoId}}},STATE_CLASS={DEFAULT:"xgplayer",DEFAULT_SKIN:"xgplayer-skin-default",ENTER:"xgplayer-is-enter",PAUSED:"xgplayer-pause",PLAYING:"xgplayer-playing",ENDED:"xgplayer-ended",CANPLAY:"xgplayer-canplay",LOADING:"xgplayer-isloading",ERROR:"xgplayer-is-error",REPLAY:"xgplayer-replay",NO_START:"xgplayer-nostart",ACTIVE:"xgplayer-active",INACTIVE:"xgplayer-inactive",FULLSCREEN:"xgplayer-is-fullscreen",CSS_FULLSCREEN:"xgplayer-is-cssfullscreen",ROTATE_FULLSCREEN:"xgplayer-rotate-fullscreen",PARENT_ROTATE_FULLSCREEN:"xgplayer-rotate-parent",PARENT_FULLSCREEN:"xgplayer-fullscreen-parent",INNER_FULLSCREEN:"xgplayer-fullscreen-inner",NO_CONTROLS:"no-controls",FLEX_CONTROLS:"flex-controls",CONTROLS_FOLLOW:"controls-follow",CONTROLS_AUTOHIDE:"controls-autohide",TOP_BAR_AUTOHIDE:"top-bar-autohide",NOT_ALLOW_AUTOPLAY:"not-allow-autoplay",SEEKING:"seeking",PC:"xgplayer-pc",MOBILE:"xgplayer-mobile",MINI:"xgplayer-mini"};function getDefaultConfig$1(){return{id:"",el:null,url:"",domEventType:"default",nullUrlStart:!1,width:600,height:337.5,fluid:!1,fitVideoSize:"fixed",videoFillMode:"auto",volume:.6,autoplay:!1,autoplayMuted:!1,loop:!1,isLive:!1,zoom:1,videoInit:!0,poster:"",isMobileSimulateMode:!1,defaultPlaybackRate:1,execBeforePluginsCall:null,allowSeekAfterEnded:!0,enableContextmenu:!0,closeVideoClick:!1,closeVideoDblclick:!1,closePlayerBlur:!1,closeDelayBlur:!1,leavePlayerTime:3e3,closePlayVideoFocus:!1,closePauseVideoFocus:!1,closeFocusVideoFocus:!0,closeControlsBlur:!0,topBarAutoHide:!0,videoAttributes:{},startTime:0,seekedStatus:"play",miniprogress:!1,disableSwipeHandler:function(){},enableSwipeHandler:function(){},preProcessUrl:null,ignores:[],whitelist:[],inactive:3e3,lang:getLang(),controls:!0,marginControls:!1,fullscreenTarget:null,screenShot:!1,rotate:!1,pip:!1,download:!1,mini:!1,cssFullscreen:!0,keyShortcut:!0,presets:[],plugins:[],playbackRate:1,definition:{list:[]},playsinline:!0,customDuration:0,timeOffset:0,icons:{},i18n:[],tabindex:0,thumbnail:null,videoConfig:{},isHideTips:!1,minWaitDelay:200,commonStyle:{progressColor:"",playedColor:"",cachedColor:"",sliderBtnStyle:{},volumeColor:""}}}var usePreset=function(e,t){var a,r,n=t.preset&&t.options?new t.preset(t.options,e.config):new t({},e.config),i=n.plugins,c=void 0===i?[]:i,o=n.ignores,s=void 0===o?[]:o,u=n.icons,d=void 0===u?{}:u,b=n.i18n,f=void 0===b?[]:b;e.config.plugins||(e.config.plugins=[]),e.config.ignores||(e.config.ignores=[]),(a=e.config.plugins).push.apply(a,_toConsumableArray$1(c)),(r=e.config.ignores).push.apply(r,_toConsumableArray$1(s)),Object.keys(d).map((function(t){e.config.icons[t]||(e.config.icons[t]=d[t])}));var l=e.config.i18n||[];f.push.apply(f,_toConsumableArray$1(l)),e.config.i18n=f},Controls=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onMouseEnter",(function(t){var a=_assertThisInitialized$1(e),r=a.player;a.playerConfig.closeControlsBlur&&r.focus({autoHide:!1})})),_defineProperty$1(_assertThisInitialized$1(e),"onMouseLeave",(function(t){_assertThisInitialized$1(e).player.focus()})),e}return _createClass$1(a,[{key:"beforeCreate",value:function(e){e.config.mode||"mobile"!==sniffer.device||(e.config.mode="flex"),e.player.config.marginControls&&(e.config.autoHide=!1)}},{key:"afterCreate",value:function(){var e=this,t=this.config,a=t.disable,r=t.height,n=t.mode;if(!a){"flex"===n&&this.player.addClass(STATE_CLASS.FLEX_CONTROLS);var i={height:"".concat(r,"px")};Object.keys(i).map((function(t){e.root.style[t]=i[t]})),this.left=this.find("xg-left-grid"),this.center=this.find("xg-center-grid"),this.right=this.find("xg-right-grid"),this.innerRoot=this.find("xg-inner-controls"),this.on(MINI_STATE_CHANGE,(function(t){t?util.addClass(e.root,"mini-controls"):util.removeClass(e.root,"mini-controls")}));var c=this.playerConfig.isMobileSimulateMode;"mobile"!==sniffer.device&&"mobile"!==c&&(this.bind("mouseenter",this.onMouseEnter),this.bind("mouseleave",this.onMouseLeave))}}},{key:"focus",value:function(){this.player.focus({autoHide:!1})}},{key:"focusAwhile",value:function(){this.player.focus({autoHide:!0})}},{key:"blur",value:function(){this.player.blur({ignorePaused:!0})}},{key:"recoverAutoHide",value:function(){this.config.autoHide&&util.addClass(this.root,STATE_CLASS.CONTROLS_AUTOHIDE)}},{key:"pauseAutoHide",value:function(){util.removeClass(this.root,STATE_CLASS.CONTROLS_AUTOHIDE)}},{key:"show",value:function(e){this.root.style.display="",this.player.focus()}},{key:"hide",value:function(){this.root.style.display="none"}},{key:"mode",get:function(){return this.config.mode}},{key:"registerPlugin",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(this.root){var n=e.defaultConfig||{};if(!t.root){switch(t.position?t.position:t.config&&t.config.position?t.config.position:n.position){case POSITIONS.CONTROLS_LEFT:t.root=this.left;break;case POSITIONS.CONTROLS_RIGHT:t.root=this.right;break;case POSITIONS.CONTROLS_CENTER:t.root=this.center;break;case POSITIONS.CONTROLS:t.root=this.root;break;default:t.root=this.left}return _get$1(_getPrototypeOf$1(a.prototype),"registerPlugin",this).call(this,e,t,r)}}}},{key:"destroy",value:function(){"mobile"!==sniffer.device&&(this.unbind("mouseenter",this.onMouseEnter),this.unbind("mouseleave",this.onMouseLeave)),this.left=null,this.center=null,this.right=null,this.innerRoot=null}},{key:"render",value:function(){var e=this.config,t=e.mode,a=e.autoHide,r=e.initShow;if(!e.disable){var n=util.classNames({"xgplayer-controls":!0},{"flex-controls":"flex"===t},{"bottom-controls":"bottom"===t},_defineProperty$1({},STATE_CLASS.CONTROLS_AUTOHIDE,a),{"xgplayer-controls-initshow":r||!a});return'<xg-controls class="'.concat(n,'" unselectable="on">\n <xg-inner-controls class="xg-inner-controls xg-pos">\n <xg-left-grid class="xg-left-grid">\n </xg-left-grid>\n <xg-center-grid class="xg-center-grid"></xg-center-grid>\n <xg-right-grid class="xg-right-grid">\n </xg-right-grid>\n </xg-inner-controls>\n </xg-controls>')}}}],[{key:"pluginName",get:function(){return"controls"}},{key:"defaultConfig",get:function(){return{disable:!1,autoHide:!0,mode:"",initShow:!1}}}]),a}(),EN={LANG:"en",TEXT:{ERROR_TYPES:{network:{code:1,msg:"video download error"},mse:{code:2,msg:"stream append error"},parse:{code:3,msg:"parsing error"},format:{code:4,msg:"wrong format"},decoder:{code:5,msg:"decoding error"},runtime:{code:6,msg:"grammatical errors"},timeout:{code:7,msg:"play timeout"},other:{code:8,msg:"other errors"}},HAVE_NOTHING:"There is no information on whether audio/video is ready",HAVE_METADATA:"Audio/video metadata is ready ",HAVE_CURRENT_DATA:"Data about the current play location is available, but there is not enough data to play the next frame/millisecond",HAVE_FUTURE_DATA:"Current and at least one frame of data is available",HAVE_ENOUGH_DATA:"The available data is sufficient to start playing",NETWORK_EMPTY:"Audio/video has not been initialized",NETWORK_IDLE:"Audio/video is active and has been selected for resources, but no network is used",NETWORK_LOADING:"The browser is downloading the data",NETWORK_NO_SOURCE:"No audio/video source was found",MEDIA_ERR_ABORTED:"The fetch process is aborted by the user",MEDIA_ERR_NETWORK:"An error occurred while downloading",MEDIA_ERR_DECODE:"An error occurred while decoding",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video is not supported",REPLAY:"Replay",ERROR:"Network is offline",PLAY_TIPS:"Play",PAUSE_TIPS:"Pause",PLAYNEXT_TIPS:"Play next",DOWNLOAD_TIPS:"Download",ROTATE_TIPS:"Rotate",RELOAD_TIPS:"Reload",FULLSCREEN_TIPS:"Fullscreen",EXITFULLSCREEN_TIPS:"Exit fullscreen",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Exit cssfullscreen",TEXTTRACK:"Caption",TEXTTRACK_OFF:"Off",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LIVE",OFF:"Off",OPEN:"Open",MINI_DRAG:"Click and hold to drag",MINISCREEN:"Miniscreen",REFRESH_TIPS:"Please Try",REFRESH:"Refresh",FORWARD:"forward",LIVE_TIP:"Live"}},XGI18nLang={lang:{},langKeys:[],textKeys:[]};function deepMerge(e,t){return Object.keys(t).forEach((function(a){var r,n=util.typeOf(t[a]),i=util.typeOf(e[a]);"Array"===n?("Array"!==i&&(e[a]=[]),(r=e[a]).push.apply(r,_toConsumableArray$1(t[a]))):"Object"===n?("Object"!==i&&(e[a]={}),deepMerge(e[a],t[a])):e[a]=t[a]})),e}function updateKeys(){Object.keys(XGI18nLang.lang.en).map((function(e){XGI18nLang.textKeys[e]=e}))}function extend(e,t){var a=[];if(t||(t=XGI18nLang),t.lang){a="Array"!==util.typeOf(e)?Object.keys(e).map((function(t){return{LANG:"zh"===t?"zh-cn":t,TEXT:e[t]}})):e;var r=t.lang;a.map((function(e){"zh"===e.LANG&&(e.LANG="zh-cn"),r[e.LANG]?deepMerge(r[e.LANG]||{},e.TEXT||{}):use(e,t)})),updateKeys()}}function use(e,t){var a=e.LANG;if(t||(t=XGI18nLang),t.lang){var r=e.TEXT||{};"zh"===a&&(a="zh-cn"),t.lang[a]?deepMerge(t.lang[a],r):(t.langKeys.push(a),t.lang[a]=r),updateKeys()}}function init2(e){var t,a={lang:{},langKeys:[],textKeys:{},pId:e};return deepMerge(a.lang,XGI18nLang.lang),(t=a.langKeys).push.apply(t,_toConsumableArray$1(XGI18nLang.langKeys)),deepMerge(a.textKeys,XGI18nLang.textKeys),a}use(EN);var I18N={get textKeys(){return XGI18nLang.textKeys},get langKeys(){return XGI18nLang.langKeys},get lang(){var e={};return XGI18nLang.langKeys.map((function(t){e[t]=XGI18nLang.lang[t]})),XGI18nLang.lang["zh-cn"]&&(e.zh=XGI18nLang.lang["zh-cn"]||{}),e},extend:extend,use:use,init:init2},STATES={INITIAL:1,READY:2,ATTACHING:3,ATTACHED:4,NOTALLOW:5,RUNNING:6,ENDED:7,DESTROYED:8},STATE_ARRAY=["ERROR","INITIAL","READY","ATTACHING","ATTACHED","NOTALLOW","RUNNING","ENDED","DESTROYED"],store={},instance=null,InstManager=function(e){_inherits$1(a,eventemitter3Exports.EventEmitter);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"add",value:function(e){e&&(store[e.playerId]=e,1===Object.keys(store).length&&this.setActive(e.playerId,!0))}},{key:"remove",value:function(e){e&&(e.isUserActive,delete store[e.playerId])}},{key:"_iterate",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];for(var a in store)if(Object.prototype.hasOwnProperty.call(store,a)){var r=store[a];if(t){if(e(r))break}else e(r)}}},{key:"forEach",value:function(e){this._iterate(e)}},{key:"find",value:function(e){var t=null;return this._iterate((function(a){var r=e(a);return r&&(t=a),r}),!0),t}},{key:"findAll",value:function(e){var t=[];return this._iterate((function(a){e(a)&&t.push(a)})),t}},{key:"setActive",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(store[e])return t?this.forEach((function(t){e===t.playerId?(t.isUserActive=!0,t.isInstNext=!1):t.isUserActive=!1})):store[e].isUserActive=t,e}},{key:"getActiveId",value:function(){for(var e=Object.keys(store),t=0;t<e.length;t++){var a=store[e[t]];if(a&&a.isUserActive)return e[t]}return null}},{key:"setNext",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(store[e])return t?this.forEach((function(t){e===t.playerId?(t.isUserActive=!1,t.isInstNext=!0):t.isInstNext=!1})):store[e].isInstNext=t,e}}],[{key:"getInstance",value:function(){return instance||(instance=new a),instance}}]),a}();function checkPlayerRoot(e){for(var t=Object.keys(store),a=0;a<t.length;a++){var r=store[t[a]];if(r.root===e)return r}return null}var PLAYER_HOOKS=["play","pause","replay","retry"],REAL_TIME_SPEED=0,AVG_SPEED=0,instManager=null,Player=function(e){_inherits$1(a,MediaProxy);var t=_createSuper$1(a);function a(e){var r,n,i;_classCallCheck$1(this,a);var c=util.deepMerge(getDefaultConfig$1(),e);_defineProperty$1(_assertThisInitialized$1(i=t.call(this,c)),"canPlayFunc",(function(){if(i.config){var e=i.config,t=e.autoplay,a=e.defaultPlaybackRate;XG_DEBUG.logInfo("player","canPlayFunc, startTime",i.__startTime),i._seekToStartTime(),i.playbackRate=a,(t||i._useAutoplay)&&i.mediaPlay(),i.off(CANPLAY,i.canPlayFunc),i.removeClass(STATE_CLASS.ENTER)}})),_defineProperty$1(_assertThisInitialized$1(i),"onFullscreenChange",(function(e,t){var a=function(){util.setTimeout(_assertThisInitialized$1(i),(function(){i.resize()}),100)},r=util.getFullScreenEl();i._fullActionFrom?i._fullActionFrom="":i.emit(USER_ACTION,{eventType:"system",action:"switch_fullscreen",pluginName:"player",currentTime:i.currentTime,duration:i.duration,props:[{prop:"fullscreen",from:!0,to:!1}]});var n=checkIsCurrentVideo(r,i.playerId,PLATER_ID);if(t||r&&(r===i._fullscreenEl||n))a(),!i.config.closeFocusVideoFocus&&i.media.focus(),i.fullscreen=!0,i.changeFullStyle(i.root,r,STATE_CLASS.FULLSCREEN),i.emit(FULLSCREEN_CHANGE,!0,i._fullScreenOffset),i.cssfullscreen&&i.exitCssFullscreen();else if(i.fullscreen){a();var c=_assertThisInitialized$1(i),o=c._fullScreenOffset;if(c.config.needFullscreenScroll?(window.scrollTo(o.left,o.top),util.setTimeout(_assertThisInitialized$1(i),(function(){i.fullscreen=!1,i._fullScreenOffset=null}),100)):(!i.config.closeFocusVideoFocus&&i.media.focus(),i.fullscreen=!1,i._fullScreenOffset=null),i.cssfullscreen)i.removeClass(STATE_CLASS.FULLSCREEN);else{var s=i._fullscreenEl;s||!i.root.contains(e.target)&&e.target!==i.root||(s=e.target),i.recoverFullStyle(i.root,s,STATE_CLASS.FULLSCREEN)}i._fullscreenEl=null,i.emit(FULLSCREEN_CHANGE,!1)}})),_defineProperty$1(_assertThisInitialized$1(i),"_onWebkitbeginfullscreen",(function(e){i._fullscreenEl=i.media,i.onFullscreenChange(e,!0)})),_defineProperty$1(_assertThisInitialized$1(i),"_onWebkitendfullscreen",(function(e){i.onFullscreenChange(e,!1)})),hooksDescriptor(_assertThisInitialized$1(i),PLAYER_HOOKS),i.config=c,i._pluginInfoId=util.generateSessionId(),bindDebug(_assertThisInitialized$1(i));var o=i.constructor.defaultPreset;if(i.config.presets.length){var s=i.config.presets.indexOf("default");s>=0&&o&&(i.config.presets[s]=o)}else o&&i.config.presets.push(o);if(i.userTimer=null,i.waitTimer=null,i.handleSource=!0,i._state=STATES.INITIAL,i.isAd=!1,i.isError=!1,i._hasStart=!1,i.isSeeking=!1,i.isCanplay=!1,i._useAutoplay=!1,i.__startTime=-1,i.rotateDeg=0,i.isActive=!1,i.fullscreen=!1,i.cssfullscreen=!1,i.isRotateFullscreen=!1,i._fullscreenEl=null,i.timeSegments=[],i._cssfullscreenEl=null,i.curDefinition=null,i._orgCss="",i._fullScreenOffset=null,i._videoHeight=0,i._videoWidth=0,i.videoPos={pi:1,scale:0,rotate:-1,x:0,y:0,h:-1,w:-1,vy:0,vx:0},i.sizeInfo={width:0,height:0,left:0,top:0},i._accPlayed={t:0,acc:0,loopAcc:0},i._offsetInfo={currentTime:-1,duration:0},i.innerContainer=null,i.controls=null,i.topBar=null,i.root=null,i.__i18n=I18N.init(i._pluginInfoId),sniffer.os.isAndroid&&sniffer.osVersion>0&&sniffer.osVersion<6&&(i.config.autoplay=!1),i.database=new INDEXDB,i.isUserActive=!1,i._onceSeekCanplay=null,i._isPauseBeforeSeek=0,i.innerStates={isActiveLocked:!1},i.instManager=instManager,!i._initDOM())return console.error(new Error("can't find the dom which id is ".concat(i.config.id," or this.config.el does not exist"))),_possibleConstructorReturn$1(i);var u=i.config,d=u.definition,b=void 0===d?{}:d,f=u.url;if(Array.isArray(null==b?void 0:b.list)&&b.list.length>0){var l=b.list.find((function(e){return e.definition&&e.definition===b.defaultDefinition}));l||(b.defaultDefinition=b.list[0].definition,l=b.list[0]),i.curDefinition=l,f||(i.config.url=l.url)}return i._bindEvents(),i._registerPresets(),i._registerPlugins(),pluginsManager.onPluginsReady(_assertThisInitialized$1(i)),i.getInitDefinition(),i.setState(STATES.READY),util.setTimeout(_assertThisInitialized$1(i),(function(){i.emit(READY)}),0),null===(r=(n=i).onReady)||void 0===r||r.call(n),(i.config.videoInit||i.config.autoplay)&&(!i.hasStart||i.state<STATES.ATTACHED)&&i.start(),i}return _createClass$1(a,[{key:"_initDOM",value:function(){var e,t=this;if(this.root=this.config.id?document.getElementById(this.config.id):null,!this.root){var a=this.config.el;if(!a||1!==a.nodeType)return this.emit(ERROR$1,new Errors("use",this.config.vid,{line:32,handle:"Constructor",msg:"container id can't be empty"})),console.error("this.config.id or this.config.el can't be empty"),!1;this.root=a}var r=checkPlayerRoot(this.root);if(r&&(XG_DEBUG.logWarn("The is an Player instance already exists in this.root, destroy it and reinitialize"),r.destroy()),this.root.setAttribute(PLATER_ID,this.playerId),this.media.setAttribute(PLATER_ID,this.playerId),null===(e=instManager)||void 0===e||e.add(this),pluginsManager.init(this),this._initBaseDoms(),this.config.controls){var n=this.config.controls.root||null,i=pluginsManager.register(this,Controls,{root:n});this.controls=i}var c="mobile"===this.config.isMobileSimulateMode?"mobile":sniffer.device;if(this.addClass("".concat(STATE_CLASS.DEFAULT," ").concat(STATE_CLASS.INACTIVE," xgplayer-").concat(c," ").concat(this.config.controls?"":STATE_CLASS.NO_CONTROLS)),this.config.autoplay?this.addClass(STATE_CLASS.ENTER):this.addClass(STATE_CLASS.NO_START),this.config.fluid){var o=this.config,s=o.width,u=o.height;"number"==typeof s&&"number"==typeof u||(s=600,u=337.5);var d={width:"100%",height:"0","max-width":"100%","padding-top":"".concat(100*u/s,"%")};Object.keys(d).forEach((function(e){t.root.style[e]=d[e]}))}else["width","height"].forEach((function(e){t.config[e]&&("number"!=typeof t.config[e]?t.root.style[e]=t.config[e]:t.root.style[e]="".concat(t.config[e],"px"))}));var b=this.root.getBoundingClientRect(),f=b.width,l=b.height,h=b.left,p=b.top;return this.sizeInfo.width=f,this.sizeInfo.height=l,this.sizeInfo.left=h,this.sizeInfo.top=p,!0}},{key:"_initBaseDoms",value:function(){this.topBar=null,this.leftBar=null,this.rightBar=null,this.config.marginControls&&(this.innerContainer=util.createDom("xg-video-container","",{"data-index":-1},"xg-video-container"),this.root.appendChild(this.innerContainer))}},{key:"_bindEvents",value:function(){var e=this;["focus","blur"].forEach((function(t){e.on(t,e["on"+t.charAt(0).toUpperCase()+t.slice(1)])})),FULLSCREEN_EVENTS.forEach((function(t){document&&document.addEventListener(t,e.onFullscreenChange)})),sniffer.os.isIos&&(this.media.addEventListener("webkitbeginfullscreen",this._onWebkitbeginfullscreen),this.media.addEventListener("webkitendfullscreen",this._onWebkitendfullscreen)),this.once(LOADED_DATA,this.resize),this.playFunc=function(){e.config.closeFocusVideoFocus||e.media.focus()},this.once(PLAY,this.playFunc)}},{key:"_unbindEvents",value:function(){var e=this;this.root.removeEventListener("mousemove",this.mousemoveFunc),FULLSCREEN_EVENTS.forEach((function(t){document.removeEventListener(t,e.onFullscreenChange)})),this.playFunc&&this.off(PLAY,this.playFunc),this.off(CANPLAY,this.canPlayFunc),this.media.removeEventListener("webkitbeginfullscreen",this._onWebkitbeginfullscreen),this.media.removeEventListener("webkitendfullscreen",this._onWebkitendfullscreen)}},{key:"_clearUserTimer",value:function(){this.userTimer&&(util.clearTimeout(this,this.userTimer),this.userTimer=null)}},{key:"_startInit",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.media&&(e&&""!==e&&("Array"!==util.typeOf(e)||0!==e.length)||(e="",this.emit(URL_NULL),XG_DEBUG.logWarn("config.url is null, please get url and run player._startInit(url)"),!this.config.nullUrlStart))){util.isNotNull(a.playSessionId)&&(this._playSessionId=a.playSessionId),this.handleSource&&(this._detachSourceEvents(this.media),"Array"===util.typeOf(e)&&e.length>0?this._attachSourceEvents(this.media,e):this.media.src&&this.media.src===e?e||this.media.removeAttribute("src"):this.media.src=e),"Number"===util.typeOf(this.config.volume)&&(this.volume=this.config.volume);var r=this.innerContainer?this.innerContainer:this.root;this.media instanceof window.Element&&!r.contains(this.media)&&r.insertBefore(this.media,r.firstChild);var n=this.media.readyState;XG_DEBUG.logInfo("_startInit readyState",n),this.config.autoplay&&(!util.isMSE(this.media)&&this.load(),(sniffer.os.isIpad||sniffer.os.isPhone)&&this.mediaPlay());var i=this.config.startTime;this.__startTime=i>0?i:-1,this.config.startTime=0,n>=2&&this.duration>0?this.canPlayFunc():this.on(CANPLAY,this.canPlayFunc),(!this.hasStart||this.state<STATES.ATTACHED)&&pluginsManager.afterInit(this),this.hasStart=!0,this.setState(STATES.ATTACHED),util.setTimeout(this,(function(){t.emit(COMPLETE)}),0)}}},{key:"_registerPlugins",value:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._loadingPlugins=[];var a=this.config.ignores||[],r=this.config.plugins||[],n=this.config.i18n||[];t&&I18N.extend(n,this.__i18n);var i=a.join("||").toLowerCase().split("||"),c=this.plugins;r.forEach((function(a){try{var r=a.plugin?a.plugin.pluginName:a.pluginName;if(r&&i.indexOf(r.toLowerCase())>-1)return null;if(!t&&c[r.toLowerCase()])return;if(a.lazy&&a.loader){var n=pluginsManager.lazyRegister(e,a);return void(a.forceBeforeInit&&(n.then((function(){e._loadingPlugins.splice(e._loadingPlugins.indexOf(n),1)})).catch((function(t){XG_DEBUG.logError("_registerPlugins:loadingPlugin",t),e._loadingPlugins.splice(e._loadingPlugins.indexOf(n),1)})),e._loadingPlugins.push(n)))}return e.registerPlugin(a)}catch(e){XG_DEBUG.logError("_registerPlugins:",e)}}))}},{key:"_registerPresets",value:function(){var e=this;this.config.presets.forEach((function(t){usePreset(e,t)}))}},{key:"_getRootByPosition",value:function(e){var t=null;switch(e){case POSITIONS.ROOT_RIGHT:this.rightBar||(this.rightBar=util.createPositionBar("xg-right-bar",this.root)),t=this.rightBar;break;case POSITIONS.ROOT_LEFT:this.leftBar||(this.leftBar=util.createPositionBar("xg-left-bar",this.root)),t=this.leftBar;break;case POSITIONS.ROOT_TOP:this.topBar||(this.topBar=util.createPositionBar("xg-top-bar",this.root),this.config.topBarAutoHide&&util.addClass(this.topBar,STATE_CLASS.TOP_BAR_AUTOHIDE)),t=this.topBar;break;default:t=this.innerContainer||this.root}return t}},{key:"registerPlugin",value:function(e,t){var a=pluginsManager.formatPluginInfo(e,t),r=a.PLUFGIN,n=a.options,i=this.config.plugins;!pluginsManager.checkPluginIfExits(r.pluginName,i)&&i.push(r);var c=pluginsManager.getRootByConfig(r.pluginName,this.config);c.root&&(n.root=c.root),c.position&&(n.position=c.position);var o,s=n.position?n.position:n.config&&n.config.position||r.defaultConfig&&r.defaultConfig.position;return!n.root&&"string"==typeof s&&s.indexOf("controls")>-1?null===(o=this.controls)||void 0===o?void 0:o.registerPlugin(r,n,r.pluginName):(n.root||(n.root=this._getRootByPosition(s)),pluginsManager.register(this,r,n))}},{key:"deregister",value:function(e){"string"==typeof e?pluginsManager.unRegister(this,e):e instanceof BasePlugin&&pluginsManager.unRegister(this,e.pluginName)}},{key:"unRegisterPlugin",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.deregister(e),t&&this.removePluginFromConfig(e)}},{key:"removePluginFromConfig",value:function(e){var t;if("string"==typeof e?t=e:e instanceof BasePlugin&&(t=e.pluginName),t)for(var a=this.config.plugins.length-1;a>-1;a--){if(this.config.plugins[a].pluginName.toLowerCase()===t.toLowerCase()){this.config.plugins.splice(a,1);break}}}},{key:"plugins",get:function(){return pluginsManager.getPlugins(this)}},{key:"getPlugin",value:function(e){var t=pluginsManager.findPlugin(this,e);return t&&t.pluginName?t:null}},{key:"addClass",value:function(e){this.root&&(util.hasClass(this.root,e)||util.addClass(this.root,e))}},{key:"removeClass",value:function(e){this.root&&util.removeClass(this.root,e)}},{key:"hasClass",value:function(e){if(this.root)return util.hasClass(this.root,e)}},{key:"setAttribute",value:function(e,t){this.root&&this.root.setAttribute(e,t)}},{key:"removeAttribute",value:function(e,t){this.root&&this.root.removeAttribute(e,t)}},{key:"start",value:function(e){var t=this;if(!(this.state>STATES.ATTACHING)){var a=this._playSessionId;return util.isNotNull(a)&&(this._playSessionId=void 0),e||this.config.url||this.getInitDefinition(),this.hasStart=!0,this.setState(STATES.ATTACHING),this._registerPlugins(!1),pluginsManager.beforeInit(this).then((function(){if(t.config){e||(e=t.url||t.config.url);var r=t.preProcessUrl(e);return t._startInit(r.url,{playSessionId:a})}})).catch((function(e){throw e.fileName="player",e.lineNumber="236",XG_DEBUG.logError("start:beforeInit:",e),e}))}}},{key:"switchURL",value:function(e,t){var a=this,r=e;"Object"===util.typeOf(e)&&(r=e.url),r=this.preProcessUrl(r).url;var n=this.currentTime;this.__startTime=n;var i=this.paused&&!this.isError;return this.src=r,new Promise((function(e,t){var n=function(e){a.off("timeupdate",c),a.off("canplay",c),t(e)},c=function(){a._seekToStartTime(),i&&a.pause(),a.off("error",n),e(!0)};a.once("error",n),r?(sniffer.os.isAndroid?a.once("timeupdate",c):a.once("canplay",c),a.play()):a.errorHandler("error",{code:6,message:"empty_src"})}))}},{key:"videoPlay",value:function(){this.mediaPlay()}},{key:"mediaPlay",value:function(){var e=this;if(!this.hasStart&&this.state<STATES.ATTACHED)return this.removeClass(STATE_CLASS.NO_START),this.addClass(STATE_CLASS.ENTER),this.start(),void(this._useAutoplay=!0);this.state<STATES.RUNNING&&(this.removeClass(STATE_CLASS.NO_START),!this.isCanplay&&this.addClass(STATE_CLASS.ENTER));var t=_get$1(_getPrototypeOf$1(a.prototype),"play",this).call(this);return void 0!==t&&t&&t.then?t.then((function(){e.removeClass(STATE_CLASS.NOT_ALLOW_AUTOPLAY),e.addClass(STATE_CLASS.PLAYING),e.state<STATES.RUNNING&&(XG_DEBUG.logInfo(">>>>playPromise.then"),e.setState(STATES.RUNNING),e.emit(AUTOPLAY_STARTED))})).catch((function(t){if(XG_DEBUG.logWarn(">>>>playPromise.catch",t.name),e.media&&e.media.error)return e.onError(),void e.removeClass(STATE_CLASS.ENTER);"NotAllowedError"===t.name&&(e._errorTimer=util.setTimeout(e,(function(){e._errorTimer=null,e.emit(AUTOPLAY_PREVENTED),e.addClass(STATE_CLASS.NOT_ALLOW_AUTOPLAY),e.removeClass(STATE_CLASS.ENTER),e.pause(),e.setState(STATES.NOTALLOW)}),0))})):(XG_DEBUG.logWarn("video.play not return promise"),this.state<STATES.RUNNING&&(this.setState(STATES.RUNNING),this.removeClass(STATE_CLASS.NOT_ALLOW_AUTOPLAY),this.removeClass(STATE_CLASS.NO_START),this.removeClass(STATE_CLASS.ENTER),this.addClass(STATE_CLASS.PLAYING),this.emit(AUTOPLAY_STARTED))),t}},{key:"mediaPause",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"pause",this).call(this)}},{key:"videoPause",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"pause",this).call(this)}},{key:"play",value:function(){var e=this;return this.removeClass(STATE_CLASS.PAUSED),runHooks(this,"play",(function(){return e.mediaPlay()}))}},{key:"pause",value:function(){var e=this;runHooks(this,"pause",(function(){_get$1(_getPrototypeOf$1(a.prototype),"pause",e).call(e)}))}},{key:"seek",value:function(e,t){var a=this;if(this.media&&!Number.isNaN(Number(e))&&this.hasStart){var r=this.config,n=r.isSeekedPlay,i=r.seekedStatus,c=t||(n?"play":i);e=e<0?0:e>this.duration?parseInt(this.duration,10):e,!this._isPauseBeforeSeek&&(this._isPauseBeforeSeek=this.paused?2:1),this._onceSeekCanplay&&this.off(SEEKED,this._onceSeekCanplay),this._onceSeekCanplay=function(){switch(a.removeClass(STATE_CLASS.ENTER),a.isSeeking=!1,c){case"play":a.play();break;case"pause":a.pause();break;default:a._isPauseBeforeSeek>1||a.paused?a.pause():a.play()}a._isPauseBeforeSeek=0,a._onceSeekCanplay=null},this.once(SEEKED,this._onceSeekCanplay),this.state<STATES.RUNNING?(this.removeClass(STATE_CLASS.NO_START),this.currentTime=e,this.play()):this.currentTime=e}}},{key:"getInitDefinition",value:function(){var e=this,t=this.config,a=t.definition;!t.url&&a&&a.list&&a.list.length>0&&a.defaultDefinition&&a.list.map((function(t){t.definition===a.defaultDefinition&&(e.config.url=t.url,e.curDefinition=t)}))}},{key:"changeDefinition",value:function(e,t){var a=this,r=this.config.definition;if(Array.isArray(null==r?void 0:r.list)&&r.list.forEach((function(t){(null==e?void 0:e.definition)===t.definition&&(a.curDefinition=t)})),null!=e&&e.bitrate&&"number"!=typeof e.bitrate&&(e.bitrate=parseInt(e.bitrate,10)||0),this.emit(DEFINITION_CHANGE,{from:t,to:e}),this.hasStart){var n=this.switchURL(e.url,_objectSpread2$1({seamless:!1!==r.seamless&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported},e));n&&n.then?n.then((function(){a.emit(AFTER_DEFINITION_CHANGE,{from:t,to:e})})):this.emit(AFTER_DEFINITION_CHANGE,{from:t,to:e})}else this.config.url=e.url}},{key:"reload",value:function(){this.load(),this.reloadFunc=function(){this.play()},this.once(LOADED_DATA,this.reloadFunc)}},{key:"resetState",value:function(){var e=this,t=[STATE_CLASS.NOT_ALLOW_AUTOPLAY,STATE_CLASS.PLAYING,STATE_CLASS.NO_START,STATE_CLASS.PAUSED,STATE_CLASS.REPLAY,STATE_CLASS.ENTER,STATE_CLASS.ENDED,STATE_CLASS.ERROR,STATE_CLASS.LOADING];this.hasStart=!1,this.isError=!1,this._useAutoplay=!1,this.mediaPause(),this._accPlayed.acc=0,this._accPlayed.t=0,this._accPlayed.loopAcc=0,t.forEach((function(t){e.removeClass(t)})),this.addClass(STATE_CLASS.NO_START),this.emit(RESET)}},{key:"reset",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1?arguments[1]:void 0;if(this.resetState(),this.plugins&&(t.map((function(t){e.deregister(t)})),a)){var r=getDefaultConfig$1();Object.keys(this.config).forEach((function(t){"undefined"===e.config[t]||"plugins"!==t&&"presets"!==t&&"el"!==t&&"id"!==t||(e.config[t]=r[t])}))}}},{key:"destroy",value:function(){var e,t=this,r=this.innerContainer,n=this.root,i=this.media;if(n&&i){if(this.hasStart=!1,this._useAutoplay=!1,n.removeAttribute(PLATER_ID),i.removeAttribute(PLATER_ID),this.updateAcc("destroy"),this._unbindEvents(),this._detachSourceEvents(this.media),util.clearAllTimers(this),this.emit(DESTROY),null===(e=instManager)||void 0===e||e.remove(this),pluginsManager.destroy(this),delHooksDescriptor(this),_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.fullscreen&&this._fullscreenEl===this.root&&this.exitFullscreen(),r)for(var c=r.children,o=0;o<c.length;o++)r.removeChild(c[o]);!r&&i instanceof window.Node&&n.contains(i)&&!this.config.remainMediaAfterDestroy&&n.removeChild(i),["topBar","leftBar","rightBar","innerContainer"].map((function(e){t[e]&&n.removeChild(t[e]),t[e]=null}));var s=n.className.split(" ");s.length>0?n.className=s.filter((function(e){return e.indexOf("xgplayer")<0})).join(" "):n.className="",this.removeAttribute("data-xgfill"),["isSeeking","isCanplay","isActive","cssfullscreen","fullscreen"].forEach((function(e){t[e]=!1}))}}},{key:"replay",value:function(){var e=this;this.removeClass(STATE_CLASS.ENDED),this.currentTime=0,this.isSeeking=!1,runHooks(this,"replay",(function(){e.once(SEEKED,(function(){var t=e.mediaPlay();t&&t.catch&&t.catch((function(e){console.log(e)}))})),e.emit(REPLAY),e.onPlay()}))}},{key:"retry",value:function(){var e=this;this.removeClass(STATE_CLASS.ERROR),this.addClass(STATE_CLASS.LOADING),runHooks(this,"retry",(function(){var t=e.currentTime,a=e.config.url,r=util.isMSE(e.media)?{url:a}:e.preProcessUrl(a);e.src=r.url,!e.config.isLive&&(e.currentTime=t),e.once(CANPLAY,(function(){e.mediaPlay()}))}))}},{key:"changeFullStyle",value:function(e,t,a,r){e&&(r||(r=STATE_CLASS.PARENT_FULLSCREEN),this._orgCss||(this._orgCss=util.filterStyleFromText(e)),util.addClass(e,a),t&&t!==e&&!this._orgPCss&&(this._orgPCss=util.filterStyleFromText(t),util.addClass(t,r),t.setAttribute(PLATER_ID,this.playerId)))}},{key:"recoverFullStyle",value:function(e,t,a,r){r||(r=STATE_CLASS.PARENT_FULLSCREEN),this._orgCss&&(util.setStyleFromCsstext(e,this._orgCss),this._orgCss=""),util.removeClass(e,a),t&&t!==e&&this._orgPCss&&(util.setStyleFromCsstext(t,this._orgPCss),this._orgPCss="",util.removeClass(t,r),t.removeAttribute(PLATER_ID))}},{key:"getFullscreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.fullscreenTarget,t=this.root,a=this.media;if("video"!==e&&"media"!==e||(e=this[e]),e||(e=t),this._fullScreenOffset={top:util.scrollTop(),left:util.scrollLeft()},this._fullscreenEl=e,this._fullActionFrom="get",util.getFullScreenEl()===this._fullscreenEl)return this.onFullscreenChange(),Promise.resolve();try{for(var r=0;r<GET_FULLSCREEN_API.length;r++){var n=GET_FULLSCREEN_API[r];if(e[n]){var i="webkitRequestFullscreen"===n?e.webkitRequestFullscreen(window.Element.ALLOW_KEYBOARD_INPUT):e[n]();return i&&i.then?i:Promise.resolve()}}return a.fullscreenEnabled||a.webkitSupportsFullscreen?(a.webkitEnterFullscreen(),Promise.resolve()):Promise.reject(new Error("call getFullscreen fail"))}catch(e){return Promise.reject(new Error("call getFullscreen fail"))}}},{key:"exitFullscreen",value:function(e){if(this.isRotateFullscreen&&this.exitRotateFullscreen(),this._fullscreenEl||util.getFullScreenEl()){this.root;var t=this.media;this._fullActionFrom="exit";try{for(var a=0;a<EXIT_FULLSCREEN_API.length;a++){var r=EXIT_FULLSCREEN_API[a];if(document[r]){var n=document[r]();return n&&n.then?(n.catch((function(){})),n):Promise.resolve()}}if(t&&t.webkitSupportsFullscreen){var i=t.webkitExitFullScreen();return i&&i.catch&&i.catch((function(){})),Promise.resolve()}return Promise.reject(new Error("call exitFullscreen fail"))}catch(e){return Promise.reject(new Error("call exitFullscreen fail"))}}}},{key:"getCssFullscreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.fullscreenTarget;this.isRotateFullscreen?this.exitRotateFullscreen():this.fullscreen&&this.exitFullscreen();var t=e?"".concat(STATE_CLASS.INNER_FULLSCREEN," ").concat(STATE_CLASS.CSS_FULLSCREEN):STATE_CLASS.CSS_FULLSCREEN;this.changeFullStyle(this.root,e,t);var a=this.config.fullscreen,r=void 0===a?{}:a;(!0===r.useCssFullscreen||"function"==typeof r.useCssFullscreen&&r.useCssFullscreen())&&(this.fullscreen=!0,this.emit(FULLSCREEN_CHANGE,!0)),this._cssfullscreenEl=e,this.cssfullscreen=!0,this.emit(CSS_FULLSCREEN_CHANGE,!0)}},{key:"exitCssFullscreen",value:function(){var e=this._cssfullscreenEl?"".concat(STATE_CLASS.INNER_FULLSCREEN," ").concat(STATE_CLASS.CSS_FULLSCREEN):STATE_CLASS.CSS_FULLSCREEN;if(this.fullscreen){var t=this.config.fullscreen,a=void 0===t?{}:t;!0===a.useCssFullscreen||"function"==typeof a.useCssFullscreen&&a.useCssFullscreen()?(this.recoverFullStyle(this.root,this._cssfullscreenEl,e),this.fullscreen=!1,this.emit(FULLSCREEN_CHANGE,!1)):this.removeClass(e)}else this.recoverFullStyle(this.root,this._cssfullscreenEl,e);this._cssfullscreenEl=null,this.cssfullscreen=!1,this.emit(CSS_FULLSCREEN_CHANGE,!1)}},{key:"getRotateFullscreen",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.fullscreenTarget;this.cssfullscreen&&this.exitCssFullscreen(e);var t=e?"".concat(STATE_CLASS.INNER_FULLSCREEN," ").concat(STATE_CLASS.ROTATE_FULLSCREEN):STATE_CLASS.ROTATE_FULLSCREEN;this._fullscreenEl=e||this.root,this.changeFullStyle(this.root,e,t,STATE_CLASS.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!0,this.fullscreen=!0,this.setRotateDeg(90),this._rootStyle=this.root.getAttribute("style");var a=90===Math.abs(window.orientation)||90===Math.abs(screen.orientation.angle);this.root.style.width="".concat(a?window.innerWidth:window.innerHeight,"px"),this.emit(FULLSCREEN_CHANGE,!0)}},{key:"exitRotateFullscreen",value:function(e){var t=this._fullscreenEl!==this.root?"".concat(STATE_CLASS.INNER_FULLSCREEN," ").concat(STATE_CLASS.ROTATE_FULLSCREEN):STATE_CLASS.ROTATE_FULLSCREEN;this.recoverFullStyle(this.root,this._fullscreenEl,t,STATE_CLASS.PARENT_ROTATE_FULLSCREEN),this.isRotateFullscreen=!1,this.fullscreen=!1,this.setRotateDeg(0),this.emit(FULLSCREEN_CHANGE,!1),this._rootStyle&&(this.root.style.style=this._rootStyle,this._rootStyle=!1)}},{key:"setRotateDeg",value:function(e){90===window.orientation||-90===window.orientation?this.rotateDeg=0:this.rotateDeg=e}},{key:"focus",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{autoHide:!this.config.closeDelayBlur,delay:this.config.inactive};this.isActive?this.onFocus(e):this.emit(PLAYER_FOCUS,_objectSpread2$1({paused:this.paused,ended:this.ended},e))}},{key:"blur",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{ignorePaused:!1};this.isActive?(this._clearUserTimer(),this.emit(PLAYER_BLUR,_objectSpread2$1({paused:this.paused,ended:this.ended},e))):this.onBlur(e)}},{key:"onFocus",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{autoHide:!0,delay:3e3},a=this.innerStates;if(this.isActive=!0,this.removeClass(STATE_CLASS.INACTIVE),this._clearUserTimer(),void 0!==t.isLock&&(a.isActiveLocked=t.isLock),!1===t.autoHide||!0===t.isLock||a.isActiveLocked)this._clearUserTimer();else{var r=t&&t.delay?t.delay:this.config.inactive;this.userTimer=util.setTimeout(this,(function(){e.userTimer=null,e.blur()}),r)}}},{key:"onBlur",value:function(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).ignorePaused,t=void 0!==e&&e;if(!this.innerStates.isActiveLocked){var a=this.config.closePauseVideoFocus;this.isActive=!1,(t||a||!this.paused&&!this.ended)&&this.addClass(STATE_CLASS.INACTIVE)}}},{key:"onEmptied",value:function(){this.updateAcc("emptied")}},{key:"onCanplay",value:function(){this.removeClass(STATE_CLASS.ENTER),this.removeClass(STATE_CLASS.ERROR),this.removeClass(STATE_CLASS.LOADING),this.isCanplay=!0,this.waitTimer&&util.clearTimeout(this,this.waitTimer)}},{key:"onLoadeddata",value:function(){var e=this;this.isError=!1,this.isSeeking=!1,this.__startTime>0&&(this.duration>0?this._seekToStartTime():this.once(DURATION_CHANGE,(function(){e._seekToStartTime()})))}},{key:"onLoadstart",value:function(){this.removeClass(STATE_CLASS.ERROR),this.isCanplay=!1}},{key:"onPlay",value:function(){this.state===STATES.ENDED&&this.setState(STATES.RUNNING),this.removeClass(STATE_CLASS.PAUSED),this.ended&&this.removeClass(STATE_CLASS.ENDED),!this.config.closePlayVideoFocus&&this.focus()}},{key:"onPause",value:function(){this.addClass(STATE_CLASS.PAUSED),this.updateAcc("pause"),this.config.closePauseVideoFocus||(this._clearUserTimer(),this.focus())}},{key:"onEnded",value:function(){this.updateAcc("ended"),this.addClass(STATE_CLASS.ENDED),this.setState(STATES.ENDED)}},{key:"onError",value:function(){this.isError=!0,this.updateAcc("error"),this.removeClass(STATE_CLASS.NOT_ALLOW_AUTOPLAY),this.removeClass(STATE_CLASS.NO_START),this.removeClass(STATE_CLASS.ENTER),this.removeClass(STATE_CLASS.LOADING),this.addClass(STATE_CLASS.ERROR)}},{key:"onSeeking",value:function(){this.isSeeking||this.updateAcc("seeking"),this.isSeeking=!0,this.addClass(STATE_CLASS.SEEKING)}},{key:"onSeeked",value:function(){this.isSeeking=!1,this.waitTimer&&util.clearTimeout(this,this.waitTimer),this.removeClass(STATE_CLASS.LOADING),this.removeClass(STATE_CLASS.SEEKING)}},{key:"onWaiting",value:function(){var e=this;this.waitTimer&&util.clearTimeout(this,this.waitTimer),this.updateAcc("waiting"),this.waitTimer=util.setTimeout(this,(function(){e.addClass(STATE_CLASS.LOADING),e.emit(LOADING),util.clearTimeout(e,e.waitTimer),e.waitTimer=null}),this.config.minWaitDelay)}},{key:"onPlaying",value:function(){var e=this;this.isError=!1,[STATE_CLASS.NO_START,STATE_CLASS.PAUSED,STATE_CLASS.ENDED,STATE_CLASS.ERROR,STATE_CLASS.REPLAY,STATE_CLASS.LOADING].forEach((function(t){e.removeClass(t)})),this._accPlayed.t||this.paused||this.ended||(this._accPlayed.t=(new Date).getTime())}},{key:"onTimeupdate",value:function(){!this._videoHeight&&this.media.videoHeight&&this.resize(),(this.waitTimer||this.hasClass(STATE_CLASS.LOADING))&&this.media.readyState>2&&(this.removeClass(STATE_CLASS.LOADING),util.clearTimeout(this,this.waitTimer),this.waitTimer=null),!this.paused&&this.state===STATES.NOTALLOW&&this.duration&&(this.setState(STATES.RUNNING),this.emit(AUTOPLAY_STARTED)),this._accPlayed.t||this.paused||this.ended||(this._accPlayed.t=(new Date).getTime())}},{key:"onVolumechange",value:function(){"Number"===util.typeOf(this.config.volume)&&(this.config.volume=this.volume)}},{key:"onRatechange",value:function(){this.config.defaultPlaybackRate=this.playbackRate}},{key:"emitUserAction",value:function(e,t,a){if(this.media&&t&&e){var r="String"===util.typeOf(e)?e:e.type||"";a.props&&"Array"!==util.typeOf(a.props)&&(a.props=[a.props]),this.emit(USER_ACTION,_objectSpread2$1({eventType:r,action:t,currentTime:this.currentTime,duration:this.duration,ended:this.ended,event:e},a))}}},{key:"updateAcc",value:function(e){if(this._accPlayed.t){var t=(new Date).getTime()-this._accPlayed.t;this._accPlayed.acc+=t,this._accPlayed.t=0,("ended"===e||this.ended)&&(this._accPlayed.loopAcc=this._accPlayed.acc)}}},{key:"checkBuffer",value:function(e){var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{startDiff:0,endDiff:0})||{},a=t.startDiff,r=void 0===a?0:a,n=t.endDiff,i=void 0===n?0:n,c=this.media.buffered;if(!c||0===c.length||!this.duration)return!0;for(var o=e||this.media.currentTime||.2,s=c.length,u=0;u<s;u++)if(c.start(u)+r<=o&&c.end(u)-i>o)return!0;return!1}},{key:"resizePosition",value:function(){var e=this,t=this.videoPos,a=t.vy,r=t.vx,n=t.h,i=t.w,c=this.videoPos.rotate;if(!(c<0&&n<0&&i<0)){var o=this.videoPos._pi;if(!o&&this.media.videoHeight&&(o=this.media.videoWidth/this.media.videoHeight*100),o){this.videoPos.pi=o;var s={rotate:c=c<0?0:c},u=0,d=0,b=1,f=Math.abs(c/90),l=this.root,h=this.innerContainer,p=l.offsetWidth,y=h?h.offsetHeight:l.offsetHeight,g={},v=y,m=p;if(f%2==0)b=n>0?100/n:i>0?100/i:1,s.scale=b,u=a>0?(100-n)/2-a:0,s.y=2===f?0-u:u,d=r>0?(100-i)/2-r:0,s.x=2===f?0-d:d,g.width="".concat(m,"px"),g.height="".concat(v,"px"),g.maxWidth="",g.maxHeight="";else if(f%2==1){v=p;var _=y-p;d=-_/2/(m=y)*100,s.x=3===f?d+a/2:d-a/2,u=_/2/v*100,s.y=3===f?u+r/2:u-r/2,s.scale=b,g.width="".concat(m,"px"),g.maxWidth="".concat(m,"px"),g.height="".concat(v,"px"),g.maxHeight="".concat(v,"px")}var E=util.getTransformStyle(s,this.media.style.transform||this.media.style.webkitTransform);g.transform=E,g.webkitTransform=E,Object.keys(g).map((function(t){e.media.style[t]=g[t]}))}}}},{key:"position",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{h:0,y:0,x:0,w:0};if(this.media&&e&&e.h){var t=this.videoPos;t.h=100*e.h||0,t.w=100*e.w||0,t.vx=100*e.x||0,t.vy=100*e.y||0,this.resizePosition()}}},{key:"setConfig",value:function(e){var t=this;e&&Object.keys(e).map((function(a){if("plugins"!==a){t.config[a]=e[a];var r=t.plugins[a.toLowerCase()];r&&"Function"===util.typeOf(r.setConfig)&&r.setConfig(e[a])}}))}},{key:"playNext",value:function(e){var t=this;this.resetState(),this.setConfig(e),this._currentTime=0,this._duration=0,runHooks(this,"playnext",(function(){t.start(),t.emit(PLAYNEXT,e)}))}},{key:"resize",value:function(){var e=this;if(this.media&&this.root){var t=this.root.getBoundingClientRect();this.sizeInfo.width=t.width,this.sizeInfo.height=t.height,this.sizeInfo.left=t.left,this.sizeInfo.top=t.top;var a=this.media,r=a.videoWidth,n=a.videoHeight,i=this.config,c=i.fitVideoSize,o=i.videoFillMode;if("fill"!==o&&"cover"!==o&&"contain"!==o||this.setAttribute("data-xgfill",o),n&&r){this._videoHeight=n,this._videoWidth=r;var s=this.controls&&this.innerContainer?this.controls.root.getBoundingClientRect().height:0,u=t.width,d=t.height-s,b=parseInt(r/n*1e3,10),f=parseInt(u/d*1e3,10),l=u,h=d,p={};"auto"===c&&f>b||"fixWidth"===c?(h=u/b*1e3,this.config.fluid?p.paddingTop="".concat(100*h/l,"%"):p.height="".concat(h+s,"px")):("auto"===c&&f<b||"fixHeight"===c)&&(l=b*d/1e3,p.width="".concat(l,"px")),this.fullscreen||this.cssfullscreen||Object.keys(p).forEach((function(t){e.root.style[t]=p[t]})),("fillHeight"===o&&f<b||"fillWidth"===o&&f>b)&&this.setAttribute("data-xgfill","cover");var y={videoScale:b,vWidth:l,vHeight:h,cWidth:l,cHeight:h+s};this.resizePosition(),this.emit(VIDEO_RESIZE,y)}}}},{key:"updateObjectPosition",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.media.updateObjectPosition?this.media.updateObjectPosition(e,t):this.media.style.objectPosition="".concat(100*e,"% ").concat(100*t,"%")}},{key:"setState",value:function(e){XG_DEBUG.logInfo("setState","state from:".concat(STATE_ARRAY[this.state]," to:").concat(STATE_ARRAY[e])),this._state=e}},{key:"preProcessUrl",value:function(e,t){var a=this.config,r=a.preProcessUrl,n=a.preProcessUrlOptions,i=Object.assign({},n,t);return util.isBlob(e)||"function"!=typeof r?{url:e}:r(e,i)}},{key:"_seekToStartTime",value:function(){this.__startTime>0&&this.duration>0&&(this.currentTime=this.__startTime>this.duration?this.duration:this.__startTime,this.__startTime=-1)}},{key:"state",get:function(){return this._state}},{key:"isFullscreen",get:function(){return this.fullscreen}},{key:"isCssfullScreen",get:function(){return this.cssfullscreen}},{key:"hasStart",get:function(){return this._hasStart},set:function(e){"boolean"==typeof e&&(this._hasStart=e,!1===e&&this.setState(STATES.READY),this.emit("hasstart"))}},{key:"isPlaying",get:function(){return this._state===STATES.RUNNING||this._state===STATES.ENDED},set:function(e){e?this.setState(STATES.RUNNING):this._state>=STATES.RUNNING&&this.setState(STATES.ATTACHED)}},{key:"definitionList",get:function(){return this.config&&this.config.definition&&this.config.definition.list||[]},set:function(e){var t=this,a=this.config.definition,r=null,n=null;a.list=e,this.emit("resourceReady",e),e.forEach((function(e){var i;(null===(i=t.curDefinition)||void 0===i?void 0:i.definition)===e.definition&&(r=e),a.defaultDefinition===e.definition&&(n=e)})),!n&&e.length>0&&(n=e[0]),r?this.changeDefinition(r):n&&this.changeDefinition(n)}},{key:"videoFrameInfo",get:function(){var e={total:0,dropped:0,corrupted:0,droppedRate:0,droppedDuration:0};if(!this.media||!this.media.getVideoPlaybackQuality)return e;var t=this.media.getVideoPlaybackQuality();return e.dropped=t.droppedVideoFrames||0,e.total=t.totalVideoFrames||0,e.corrupted=t.corruptedVideoFrames||0,e.total>0&&(e.droppedRate=e.dropped/e.total*100,e.droppedDuration=parseInt(this.cumulateTime/e.total*e.dropped,0)),e}},{key:"lang",get:function(){return this.config.lang},set:function(e){0!==I18N.langKeys.filter((function(t){return t===e})).length||"zh"===e?(this.config.lang=e,pluginsManager.setLang(e,this)):console.error("Sorry, set lang fail, because the language [".concat(e,"] is not supported now, list of all supported languages is [").concat(I18N.langKeys.join(),"] "))}},{key:"i18n",get:function(){var e=this.config.lang;return"zh"===e&&(e="zh-cn"),this.__i18n.lang[e]||this.__i18n.lang.en}},{key:"i18nKeys",get:function(){return this.__i18n.textKeys||{}}},{key:"version",get:function(){return version}},{key:"playerId",get:function(){return this._pluginInfoId}},{key:"url",get:function(){return this.__url||this.config.url},set:function(e){this.__url=e}},{key:"poster",get:function(){return this.plugins.poster?this.plugins.poster.config.poster:this.config.poster},set:function(e){this.plugins.poster&&this.plugins.poster.update(e)}},{key:"readyState",get:function(){return _get$1(_getPrototypeOf$1(a.prototype),"readyState",this)}},{key:"error",get:function(){var e=_get$1(_getPrototypeOf$1(a.prototype),"error",this);return this.i18n[e]||e}},{key:"networkState",get:function(){return _get$1(_getPrototypeOf$1(a.prototype),"networkState",this)}},{key:"fullscreenChanging",get:function(){return!(null===this._fullScreenOffset)}},{key:"cumulateTime",get:function(){var e=this._accPlayed,t=e.acc,a=e.t;return a?(new Date).getTime()-a+t:t}},{key:"zoom",get:function(){return this.config.zoom},set:function(e){this.config.zoom=e}},{key:"videoRotateDeg",get:function(){return this.videoPos.rotate},set:function(e){(e=util.convertDeg(e))%90==0&&e!==this.videoPos.rotate&&(this.videoPos.rotate=e,this.resizePosition())}},{key:"avgSpeed",get:function(){return AVG_SPEED},set:function(e){AVG_SPEED=e}},{key:"realTimeSpeed",get:function(){return REAL_TIME_SPEED},set:function(e){REAL_TIME_SPEED=e}},{key:"offsetCurrentTime",get:function(){return this._offsetInfo.currentTime||0},set:function(e){this._offsetInfo.currentTime=e}},{key:"offsetDuration",get:function(){return this._offsetInfo.duration||0},set:function(e){this._offsetInfo.duration=e||0}},{key:"hook",value:function(e,t){return hook.call.apply(hook,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"runHooks",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return runHooks.call.apply(runHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"useHooks",value:function(e,t){return useHooks.call.apply(useHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removeHooks",value:function(e,t){return removeHooks.call.apply(removeHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"usePluginHooks",value:function(e,t,a){for(var r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];return usePluginHooks.call.apply(usePluginHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"removePluginHooks",value:function(e,t,a){for(var r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];return removePluginHooks.call.apply(removePluginHooks,[this].concat(Array.prototype.slice.call(arguments)))}},{key:"setUserActive",value:function(e,t){var a;"boolean"==typeof t&&t!==this.muted&&(this.addInnerOP("volumechange"),util.typeOf(t)===Boolean&&(this.muted=t)),null===(a=instManager)||void 0===a||a.setActive(this.playerId,e)}}],[{key:"debugger",get:function(){return XG_DEBUG.config.debug},set:function(e){XG_DEBUG.config.debug=e}},{key:"instManager",get:function(){return instManager},set:function(e){instManager=e}},{key:"getCurrentUserActivePlayerId",value:function(){var e;return null===(e=instManager)||void 0===e?void 0:e.getActiveId()}},{key:"setCurrentUserActive",value:function(e,t){var a;null===(a=instManager)||void 0===a||a.setActive(e,t)}},{key:"isHevcSupported",value:function(){return sniffer.isHevcSupported()}},{key:"probeConfigSupported",value:function(e){return sniffer.probeConfigSupported(e)}},{key:"install",value:function(e,t){a.plugins||(a.plugins={}),a.plugins[e]||(a.plugins[e]=t)}},{key:"use",value:function(e,t){a.plugins||(a.plugins={}),a.plugins[e]=t}}]),a}();function xgIconTips(e,t,a){try{return' <div class="xg-tips '.concat(a?"hide":" ",'" lang-key="').concat(e.i18nKeys[t],'">\n ').concat(e.i18n[t],"\n </div>")}catch(e){return'<div class="xg-tips hide"></div>'}}_defineProperty$1(Player,"defaultPreset",null),_defineProperty$1(Player,"XgVideoProxy",null),Player.instManager=InstManager.getInstance();var Icon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_onMouseenter",(function(t){e.emit("icon_mouseenter",{pluginName:e.pluginName})})),_defineProperty$1(_assertThisInitialized$1(e),"_onMouseLeave",(function(t){e.emit("icon_mouseleave",{pluginName:e.pluginName})})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){this.bind("mouseenter",this._onMouseenter),this.bind("mouseleave",this._onMouseLeave),this.config.disable&&this.disable()}},{key:"destroy",value:function(){this.unbind("mouseenter",this._onMouseenter),this.unbind("mouseleave",this._onMouseLeave)}}]),a}();function CssFullSceenSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="31" height="40" viewBox="0 -5 31 40">\n <path fill="#fff" transform="scale(1.3, 1.3)" class=\'path_full\' d="M9,10v1a.9.9,0,0,1-1,1,.9.9,0,0,1-1-1V9A.9.9,0,0,1,8,8h2a.9.9,0,0,1,1,1,.9.9,0,0,1-1,1Zm6,4V13a1,1,0,0,1,2,0v2a.9.9,0,0,1-1,1H14a1,1,0,0,1,0-2Zm3-7H6V17H18Zm2,0V17a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V7A2,2,0,0,1,6,5H18A2,2,0,0,1,20,7Z"></path>\n</svg>\n',"image/svg+xml").firstChild}function ExitCssFullSceenSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="31" height="40" viewBox="0 -5 31 40">\n <path fill="#fff" transform="scale(1.3, 1.3)" d="M9,10V9a.9.9,0,0,1,1-1,.9.9,0,0,1,1,1v2a.9.9,0,0,1-1,1H8a.9.9,0,0,1-1-1,.9.9,0,0,1,1-1Zm6,4v1a1,1,0,0,1-2,0V13a.9.9,0,0,1,1-1h2a1,1,0,0,1,0,2Zm3-7H6V17H18Zm2,0V17a2,2,0,0,1-2,2H6a2,2,0,0,1-2-2V7A2,2,0,0,1,6,5H18A2,2,0,0,1,20,7Z"></path>\n</svg>\n',"image/svg+xml").firstChild}var CssFullScreen=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"beforeCreate",value:function(e){"boolean"==typeof e.player.config.cssFullscreen&&(e.config.disable=!e.player.config.cssFullscreen)}},{key:"afterCreate",value:function(){var e=this;_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.config.disable||(this.config.target&&(this.playerConfig.fullscreenTarget=this.config.target),this.initIcons(),this.on(CSS_FULLSCREEN_CHANGE,(function(t){e.animate(t)})),this.btnClick=this.btnClick.bind(this),this.handleCssFullscreen=this.hook("cssFullscreen_change",this.btnClick,{pre:function(e){e.preventDefault(),e.stopPropagation()}}),this.bind(["click","touchend"],this.handleCssFullscreen))}},{key:"initIcons",value:function(){var e=this.icons,t=this.find(".xgplayer-icon");t.appendChild(e.cssFullscreen),t.appendChild(e.exitCssFullscreen)}},{key:"btnClick",value:function(e){e.preventDefault(),e.stopPropagation();var t=this.player.isCssfullScreen;this.emitUserAction(e,"switch_cssfullscreen",{cssfullscreen:t}),t?this.player.exitCssFullscreen():this.player.getCssFullscreen()}},{key:"animate",value:function(e){this.root&&(e?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.switchTips(e))}},{key:"switchTips",value:function(e){var t=this.i18nKeys,a=this.find(".xg-tips");a&&this.changeLangTextKey(a,e?t.EXITCSSFULLSCREEN_TIPS:t.CSSFULLSCREEN_TIPS)}},{key:"registerIcons",value:function(){return{cssFullscreen:{icon:CssFullSceenSvg,class:"xg-get-cssfull"},exitCssFullscreen:{icon:ExitCssFullSceenSvg,class:"xg-exit-cssfull"}}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.btnClick)}},{key:"render",value:function(){if(!this.config.disable)return"<xg-icon class='xgplayer-cssfullscreen'>\n <div class=\"xgplayer-icon\">\n </div>\n ".concat(xgIconTips(this,"CSSFULLSCREEN_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"cssFullscreen"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:1,disable:!1,target:null}}}]),a}();function BackSVG(){return(new DOMParser).parseFromString('<svg width="32px" height="40px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <path d="M11.2374369,14 L17.6187184,7.61871843 C17.9604272,7.27700968 17.9604272,6.72299032 17.6187184,6.38128157 C17.2770097,6.03957281 16.7229903,6.03957281 16.3812816,6.38128157 L9.38128157,13.3812816 C9.03957281,13.7229903 9.03957281,14.2770097 9.38128157,14.6187184 L16.3812816,21.6187184 C16.7229903,21.9604272 17.2770097,21.9604272 17.6187184,21.6187184 C17.9604272,21.2770097 17.9604272,20.7229903 17.6187184,20.3812816 L11.2374369,14 L11.2374369,14 Z" fill="#FFFFFF"></path>\n </g>\n</svg>',"image/svg+xml").firstChild}var TopBackIcon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this.initIcons(),this.onClick=function(t){t.preventDefault(),t.stopPropagation(),e.config.onClick(t)},this.bind(["click","touchend"],this.onClick)}},{key:"registerIcons",value:function(){return{screenBack:{icon:BackSVG,class:"xg-fullscreen-back"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(this.root,e.screenBack)}},{key:"show",value:function(){util.addClass(this.root,"show")}},{key:"hide",value:function(){util.removeClass(this.root,"show")}},{key:"render",value:function(){return'<xg-icon class="xgplayer-back">\n </xg-icon>'}}],[{key:"pluginName",get:function(){return"topbackicon"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.ROOT_TOP,index:0}}}]),a}();function FullScreenSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="2 -4 28 40">\n <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M598 214h212v212h-84v-128h-128v-84zM726 726v-128h84v212h-212v-84h128zM214 426v-212h212v84h-128v128h-84zM298 598v128h128v84h-212v-212h84z"></path>\n</svg>\n',"image/svg+xml").firstChild}function ExitFullScreenSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="2 -4 28 40">\n <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z"></path>\n</svg>\n',"image/svg+xml").firstChild}var Fullscreen=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_onOrientationChange",(function(t){e.player.fullscreen&&e.config.rotateFullscreen&&(90===window.orientation||-90===window.orientation?e.player.setRotateDeg(0):e.player.setRotateDeg(90))})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this);var t=this.config,r=this.playerConfig;if(!t.disable){t.target&&(this.playerConfig.fullscreenTarget=this.config.target);var n=util.getFullScreenEl();r.fullscreenTarget===n&&this.player.getFullscreen().catch((function(e){})),this.initIcons(),this.handleFullscreen=this.hook("fullscreenChange",this.toggleFullScreen,{pre:function(t){var a=e.player.fullscreen;e.emitUserAction(t,"switch_fullscreen",{prop:"fullscreen",from:a,to:!a})}}),this.bind(".xgplayer-fullscreen",["touchend","click"],this.handleFullscreen),this.on(FULLSCREEN_CHANGE,(function(t){var a=e.find(".xg-tips");a&&e.changeLangTextKey(a,t?e.i18nKeys.EXITFULLSCREEN_TIPS:e.i18nKeys.FULLSCREEN_TIPS),e.animate(t)})),this.config.needBackIcon&&(this.topBackIcon=this.player.registerPlugin({plugin:TopBackIcon,options:{config:{onClick:function(t){e.handleFullscreen(t)}}}})),"mobile"===sniffer.device&&window.addEventListener("orientationchange",this._onOrientationChange)}}},{key:"registerIcons",value:function(){return{fullscreen:{icon:FullScreenSvg,class:"xg-get-fullscreen"},exitFullscreen:{icon:ExitFullScreenSvg,class:"xg-exit-fullscreen"}}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(".xgplayer-icon","mobile"===sniffer.device?"touchend":"click",this.handleFullscreen),"mobile"===sniffer.device&&window.removeEventListener("orientationchange",this._onOrientationChange)}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".xgplayer-icon",e.fullscreen),this.appendChild(".xgplayer-icon",e.exitFullscreen)}},{key:"toggleFullScreen",value:function(e){e instanceof Event&&(e.preventDefault(),e.stopPropagation());var t=this.player,a=this.config;!0===a.useCssFullscreen||"function"==typeof a.useCssFullscreen&&a.useCssFullscreen()?(t.fullscreen?t.exitCssFullscreen():t.getCssFullscreen(),this.animate(t.fullscreen)):a.rotateFullscreen?(t.fullscreen?t.exitRotateFullscreen():t.getRotateFullscreen(),this.animate(t.fullscreen)):a.switchCallback&&"function"==typeof a.switchCallback?a.switchCallback(t.fullscreen):t.fullscreen?(t.exitFullscreen(),a.useScreenOrientation&&this.unlockScreen()):(t.getFullscreen().catch((function(e){})),a.useScreenOrientation&&t.aspectRatio>1&&this.lockScreen(a.lockOrientationType))}},{key:"animate",value:function(e){e?this.setAttr("data-state","full"):this.setAttr("data-state","normal"),this.topBackIcon&&(e?(this.topBackIcon.show(),this.hide()):(this.topBackIcon.hide(),this.show()))}},{key:"render",value:function(){if(!this.config.disable){return'<xg-icon class="xgplayer-fullscreen">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"FULLSCREEN_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>")}}},{key:"lockScreen",value:function(e){try{screen.orientation.lock(e).catch((function(e){}))}catch(e){}}},{key:"unlockScreen",value:function(){try{screen.orientation.unlock().catch((function(e){}))}catch(e){}}}],[{key:"pluginName",get:function(){return"fullscreen"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:0,useCssFullscreen:!1,rotateFullscreen:!1,useScreenOrientation:!1,lockOrientationType:"landscape",switchCallback:null,target:null,disable:!1,needBackIcon:!1}}}]),a}();function PlayIcon(){return(new DOMParser).parseFromString('<svg class="play" xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="3 -4 28 40">\n <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M576,363L810,512L576,661zM342,214L576,363L576,661L342,810z"></path>\n</svg>\n',"image/svg+xml").firstChild}function PauseIcon(){return(new DOMParser).parseFromString('<svg class="pause" xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="3 -4 28 40">\n <path fill="#fff" transform="scale(0.0320625 0.0320625)" d="M598,214h170v596h-170v-596zM256 810v-596h170v596h-170z"></path>\n</svg>\n',"image/svg+xml").firstChild}var Play=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"btnClick",(function(t){t.preventDefault(),t.stopPropagation();var a=_assertThisInitialized$1(e).player;return e.emitUserAction(t,"switch_play_pause",{prop:"paused",from:a.paused,to:!a.paused}),a.ended?a.replay():a.paused?(a.play(),e.animate(!1)):(a.pause(),e.animate(!0)),!1})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.config.disable||(this.initIcons(),this.bind(["touchend","click"],this.btnClick),this.listenEvents(),this.animate(!0))}},{key:"listenEvents",value:function(){var e=this,t=this.player;this.on([PLAY,PAUSE,ERROR$1,EMPTIED],(function(){e.animate(t.paused)}))}},{key:"registerIcons",value:function(){return{play:{icon:PlayIcon,class:"xg-icon-play"},pause:{icon:PauseIcon,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".xgplayer-icon",e.play),this.appendChild(".xgplayer-icon",e.pause)}},{key:"animate",value:function(e){if(this.player){var t=this.i18nKeys,a=this.find(".xg-tips");e?(this.setAttr("data-state","pause"),a&&this.changeLangTextKey(a,t.PLAY_TIPS)):(this.setAttr("data-state","play"),a&&this.changeLangTextKey(a,t.PAUSE_TIPS))}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(["touchend","click"],this.btnClick)}},{key:"render",value:function(){if(!this.config.disable)return'<xg-icon class="xgplayer-play">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"PLAY_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"play"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_LEFT,index:0,disable:!1}}}]),a}(),TPL=[{tag:"xg-cache",className:"xgplayer-progress-cache",styleKey:"cachedColor"},{tag:"xg-played",className:"xgplayer-progress-played",styleKey:"playedColor"}],InnerList=function(){function e(t){_classCallCheck$1(this,e),this.fragments=t.fragments||[],0===this.fragments.length&&this.fragments.push({percent:1}),this._callBack=t.actionCallback,this.fragConfig={fragFocusClass:t.fragFocusClass||"inner-focus-point",fragAutoFocus:!!t.fragAutoFocus,fragClass:t.fragClass||""},this.style=t.style||{playedColor:"",cachedColor:"",progressColor:""},this.duration=0,this.cachedIndex=0,this.playedIndex=0,this.focusIndex=-1}return _createClass$1(e,[{key:"updateDuration",value:function(e){var t=this;this.duration=e;var a=0,r=this.fragments;this.fragments=r.map((function(e){return e.start=parseInt(a,10),e.end=parseInt(a+e.percent*t.duration,10),e.duration=parseInt(e.percent*t.duration,10),a+=e.percent*t.duration,e}))}},{key:"updateProgress",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"played",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{newIndex:0,curIndex:0,millisecond:0},a=this.progressList,r=this.fragments;if(!(a.length<1)){var n=t.newIndex,i=t.curIndex,c=t.millisecond;n!==i&&a.map((function(t,a){a<n?t[e].style.width="100%":a>n&&(t[e].style.width=0)}));var o=r[n],s=0===c?0:(c-o.start)/o.duration;a[n][e].style.width=s<0?0:"".concat(100*s,"%")}}},{key:"updateFocus",value:function(e){if(this.fragConfig.fragAutoFocus&&!(this.fragments.length<2))if(e){var t=this.findIndex(1e3*e.currentTime,this.focusIndex);if(t>=0&&t!==this.focusIndex){this.focusIndex>-1&&this.unHightLight(this.focusIndex),this.setHightLight(t);var a={index:t,preIndex:this.focusIndex,fragment:this.fragments[this.focusIndex]};this.focusIndex=t,this._callBack&&this._callBack(a)}}else if(this.focusIndex>-1){this.unHightLight(this.focusIndex);var r={index:-1,preIndex:this.focusIndex,fragment:null};this._callBack&&this._callBack(r),this.focusIndex=-1}}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{cached:0,played:0},t=arguments.length>1?arguments[1]:void 0;if(!this.duration||parseInt(1e3*t,10)!==this.duration){if(!t&&0!==t)return;this.updateDuration(parseInt(1e3*t,10))}var a=this.playedIndex,r=this.cachedIndex;if("Undefined"!==util.typeOf(e.played)){var n=this.findIndex(1e3*e.played,a);if(n<0)return;this.updateProgress("played",{newIndex:n,curIndex:a,millisecond:parseInt(1e3*e.played,10)}),this.playedIndex=n}if("Undefined"!==util.typeOf(e.cached)){var i=this.findIndex(1e3*e.cached,r);if(i<0)return;this.updateProgress("cached",{newIndex:i,curIndex:r,millisecond:parseInt(1e3*e.cached,10)}),this.cachedIndex=i}}},{key:"findIndex",value:function(e,t){var a=this.fragments;if(!a||0===a.length)return-1;if(1===a.length)return 0;if(t>-1&&t<a.length&&e>a[t].start&&e<a[t].end)return t;if(e>a[a.length-1].start)return a.length-1;for(var r=0;r<a.length;r++)if(e>a[r].start&&e<=a[r].end){t=r;break}return t}},{key:"findHightLight",value:function(){for(var e=this.root.children,t=0;t<e.length;t++)if(util.hasClass(e[t],this.fragConfig.fragFocusClass))return{dom:e[t],pos:e[t].getBoundingClientRect()}}},{key:"findFragment",value:function(e){var t=this.root.children;return e<0||e>=t.length?null:{dom:t[e],pos:t[e].getBoundingClientRect()}}},{key:"unHightLight",value:function(){for(var e=this.root.children,t=0;t<e.length;t++)util.removeClass(e[t],this.fragConfig.fragFocusClass)}},{key:"setHightLight",value:function(e){var t=this.root.children;if(e<t.length)return util.addClass(t[e],this.fragConfig.fragFocusClass),{dom:t[e],pos:t[e].getBoundingClientRect()}}},{key:"destroy",value:function(){this.progressList=null,this.fragments=null,this.root.innerHTML=""}},{key:"reset",value:function(e){var t=this;if(Object.keys(this.fragConfig).forEach((function(a){void 0!==e[a]&&(t.fragConfig[a]=e[a])})),e.fragments){if(this.fragments=0===e.fragments.length?[{percent:1}]:e.fragments,this.updateDuration(this.duration),this.playedIndex=0,this.cachedIndex=0,this.root)for(var a=this.root.children;a.length>0;)this.root.removeChild(a[0]);this.render()}}},{key:"render",value:function(){var e=this,t=this.style.progressColor;if(this.root||(this.root=util.createDom("xg-inners","",{},"progress-list")),this.fragments){var a=this.fragConfig,r=a.fragClass,n=a.fragFocusClass;this.progressList=this.fragments.map((function(a){var i=util.createDom("xg-inner","",{style:t?"background:".concat(t,"; flex: ").concat(a.percent):"flex: ".concat(a.percent)},"".concat(a.isFocus?n:""," xgplayer-progress-inner ").concat(r));return e.root.appendChild(i),TPL.forEach((function(t){i.appendChild(util.createDom(t.tag,"",{style:t.styleKey?"background: ".concat(e.style[t.styleKey],"; width:0;"):"width:0;"},t.className))})),{cached:i.children[0],played:i.children[1]}}))}return this.root}}]),e}(),FRAGMENT_FOCUS_CLASS={POINT:"inner-focus-point",HIGHLIGHT:"inner-focus-highlight"},Progress=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onMoveOnly",(function(e,t){var a=_assertThisInitialized$1(r),n=a.pos,i=a.config,c=a.player,o=t;if(e){util.event(e);var s=util.getEventPos(e,c.zoom),u=90===c.rotateDeg?s.clientY:s.clientX;if(n.moving&&Math.abs(n.x-u)<i.miniMoveStep)return;n.moving=!0,n.x=u,o=r.computeTime(e,u)}r.triggerCallbacks("dragmove",o,e),r._updateInnerFocus(o)})),_defineProperty$1(_assertThisInitialized$1(r),"onBodyClick",(function(e){r.pos.isLocked&&(r.pos.isLocked=!1,e.preventDefault(),e.stopPropagation())})),_defineProperty$1(_assertThisInitialized$1(r),"_mouseDownHandler",(function(e,t){r._state.time=t.currentTime,r.updateWidth(t.currentTime,t.seekTime,t.percent,0),r._updateInnerFocus(t)})),_defineProperty$1(_assertThisInitialized$1(r),"_mouseUpHandler",(function(e,t){_assertThisInitialized$1(r).pos.moving&&r.updateWidth(t.currentTime,t.seekTime,t.percent,2)})),_defineProperty$1(_assertThisInitialized$1(r),"_mouseMoveHandler",(function(e,t){var a=_assertThisInitialized$1(r),n=a._state,i=a.pos,c=a.config,o=a.player;n.time<t.currentTime?t.forward=!0:t.forward=!1,n.time=t.currentTime,i.isDown&&!i.moving&&(i.moving=!0,c.isPauseMoving&&o.pause(),r.triggerCallbacks("dragstart",t,e),r.emitUserAction("drag","dragstart",t)),r.updateWidth(t.currentTime,t.seekTime,t.percent,1),r.triggerCallbacks("dragmove",t,e),r._updateInnerFocus(t)})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseDown",(function(e){var t=_assertThisInitialized$1(r),a=t._state,n=t.player,i=t.pos,c=t.config,o=t.playerConfig,s=util.getEventPos(e,n.zoom),u=90===n.rotateDeg?s.clientY:s.clientX;if(!(n.isMini||c.closeMoveSeek||!o.allowSeekAfterEnded&&n.ended)){if(n.duration||n.isPlaying){e.stopPropagation(),r.focus(),util.checkIsFunction(o.disableSwipeHandler)&&o.disableSwipeHandler(),util.checkIsFunction(c.onMoveStart)&&c.onMoveStart(),util.event(e),i.x=u,i.isDown=!0,i.moving=!1,a.prePlayTime=n.currentTime,n.focus({autoHide:!1}),r.isProgressMoving=!0,util.addClass(r.progressBtn,"active");var d=r.computeTime(e,u);return d.prePlayTime=a.prePlayTime,r._mouseDownHandlerHook(e,d),"touchstart"===e.type?(r.root.addEventListener("touchmove",r.onMouseMove),r.root.addEventListener("touchend",r.onMouseUp),r.root.addEventListener("touchcancel",r.onMouseUp)):(r.unbind("mousemove",r.onMoveOnly),r._addDragDocumentEvents()),!0}n.play()}})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseUp",(function(e){var t=_assertThisInitialized$1(r),a=t.player,n=t.config,i=t.pos,c=t.playerConfig,o=t._state;if(i){e.stopPropagation(),e.preventDefault(),util.checkIsFunction(c.enableSwipeHandler)&&c.enableSwipeHandler(),util.checkIsFunction(n.onMoveEnd)&&n.onMoveEnd(),util.event(e),util.removeClass(r.progressBtn,"active");var s=r.computeTime(e,i.x);s.prePlayTime=o.prePlayTime,i.moving?(r.triggerCallbacks("dragend",s,e),r.emitUserAction("drag","dragend",s)):(r.triggerCallbacks("click",s,e),r.emitUserAction("click","click",s)),r._mouseUpHandlerHook(e,s),i.moving=!1,i.isDown=!1,i.x=0,i.y=0,i.isLocked=!0,o.prePlayTime=0,o.time=0;var u=e.type;"touchend"===u||"touchcancel"===u?(r.root.removeEventListener("touchmove",r.onMouseMove),r.root.removeEventListener("touchend",r.onMouseUp),r.root.removeEventListener("touchcancel",r.onMouseUp),r.blur()):(r._removeDragDocumentEvents(),i.isEnter?"mobile"!==c.isMobileSimulateMode&&r.bind("mousemove",r.onMoveOnly):r.onMouseLeave(e)),util.setTimeout(_assertThisInitialized$1(r),(function(){r.resetSeekState()}),1),a.focus()}})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseMove",(function(e){var t=_assertThisInitialized$1(r),a=t._state,n=t.pos,i=t.player,c=t.config;util.checkTouchSupport()&&e.preventDefault(),util.event(e);var o=util.getEventPos(e,i.zoom),s=90===i.rotateDeg?o.clientY:o.clientX,u=Math.abs(n.x-s);if(!(n.moving&&u<c.miniMoveStep||!n.moving&&u<c.miniStartStep)){n.x=s;var d=r.computeTime(e,s);d.prePlayTime=a.prePlayTime,r._mouseMoveHandlerHook(e,d)}})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseOut",(function(e){r.triggerCallbacks("mouseout",null,e)})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseOver",(function(e){r.triggerCallbacks("mouseover",null,e)})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseEnter",(function(e){var t=_assertThisInitialized$1(r),a=t.player,n=t.pos;if(!(n.isDown||n.isEnter||a.isMini||!a.config.allowSeekAfterEnded&&a.ended)){n.isEnter=!0,r.bind("mousemove",r.onMoveOnly),r.bind("mouseleave",r.onMouseLeave),util.event(e);var i=util.getEventPos(e,a.zoom),c=90===a.rotateDeg?i.clientY:i.clientX,o=r.computeTime(e,c);r.triggerCallbacks("mouseenter",o,e),r.focus()}})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseLeave",(function(e){r.triggerCallbacks("mouseleave",null,e),r.unlock(),r._updateInnerFocus(null)})),_defineProperty$1(_assertThisInitialized$1(r),"onVideoResize",(function(){var e=r.pos,t=e.x,a=e.isDown;if(e.isEnter&&!a){var n=r.computeTime(null,t);r.onMoveOnly(null,n)}})),r.useable=!1,r.isProgressMoving=!1,r.__dragCallBacks=[],r._state={now:-1,direc:0,time:0,prePlayTime:-1},r._disableBlur=!1,"boolean"==typeof r.config.isDragingSeek&&(console.warn("[XGPLAYER] 'isDragingSeek' is deprecated, please use 'isDraggingSeek' instead"),r.config.isDraggingSeek=r.config.isDragingSeek),r}return _createClass$1(a,[{key:"offsetDuration",get:function(){return this.playerConfig.customDuration||this.player.offsetDuration||this.player.duration}},{key:"duration",get:function(){return this.playerConfig.customDuration||this.player.duration}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"currentTime",get:function(){var e=this.player,t=e.offsetCurrentTime,a=e.currentTime;return t>=0?t:a+this.timeOffset}},{key:"changeState",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.useable=e}},{key:"show",value:function(e){this.root&&(this.root.style.display="flex")}},{key:"_initInner",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t&&0!==t.length||(t=[{percent:1}]);var r=_objectSpread2$1(_objectSpread2$1({fragments:t},a),{},{actionCallback:function(t){e.emitUserAction("fragment_focus","fragment_focus",t)}});this.innerList?this.innerList.reset(r):(this.innerList=new InnerList(r),this.outer.insertBefore(this.innerList.render(),this.outer.children[0]),["findHightLight","unHightLight","setHightLight","findFragment"].map((function(t){e[t]=e.innerList[t].bind(e.innerList)})))}},{key:"_updateInnerFocus",value:function(e){this.innerList&&this.innerList.updateFocus(e)}},{key:"afterCreate",value:function(){if(!this.config.disable&&!this.playerConfig.isLive){this.pos={x:0,y:0,moving:!1,isDown:!1,isEnter:!1,isLocked:!1},this.outer=this.find("xg-outer");var e=this.config,t=e.fragFocusClass,a=e.fragAutoFocus,r=e.fragClass;this._initInner(this.config.fragments,{fragFocusClass:t,fragAutoFocus:a,fragClass:r,style:this.playerConfig.commonStyle||{}}),"mobile"===sniffer.device&&(this.config.isDraggingSeek=!1,this.isMobile=!0),this.progressBtn=this.find(".xgplayer-progress-btn"),this.listenEvents(),this.bindDomEvents(),this.initCustomStyle()}}},{key:"listenEvents",value:function(){var e=this;this.on(DURATION_CHANGE,(function(){e.onMouseLeave()})),this.on(TIME_UPDATE,(function(){e.onTimeupdate()})),this.on(SEEKED,(function(){e.onTimeupdate(),e.onCacheUpdate()})),this.on(PROGRESS,(function(){e.onCacheUpdate()})),this.on(ENDED,(function(){e.onCacheUpdate(!0),e.onTimeupdate(!0),e._state.now=0})),this.on(EMPTIED,(function(){e.onReset()})),this.on(VIDEO_RESIZE,(function(){e.onVideoResize()}))}},{key:"setConfig",value:function(e){var t=this,a=null;Object.keys(e).forEach((function(r){t.config[r]=e[r],"fragments"===r&&(a=e[r])})),a&&this._initInner(a,e)}},{key:"initCustomStyle",value:function(){var e=(this.playerConfig||{}).commonStyle.sliderBtnStyle,t=this.progressBtn;e&&("string"==typeof e?t.style.boxShadow=e:"object"===_typeof$1(e)&&Object.keys(e).map((function(a){t.style[a]=e[a]})))}},{key:"triggerCallbacks",value:function(e,t,a){this.__dragCallBacks.length>0&&this.__dragCallBacks.map((function(r){if(r&&r.handler&&r.type===e)try{r.handler(t,a)}catch(e){console.error("[XGPLAYER][triggerCallbacks] ".concat(r," error"),e)}}))}},{key:"addCallBack",value:function(e,t){t&&"function"==typeof t&&this.__dragCallBacks.push({type:e,handler:t})}},{key:"removeCallBack",value:function(e,t){var a=this.__dragCallBacks,r=-1;a.map((function(a,n){a&&a.type===e&&a.handler===t&&(r=n)})),r>-1&&a.splice(r,1)}},{key:"unlock",value:function(){var e=this.player,t=this.pos;t.isEnter=!1,t.isLocked=!1,e.isMini||(this.unbind("mousemove",this.onMoveOnly),t.isDown?this.unbind("mouseleave",this.onMouseLeave):this.blur())}},{key:"bindDomEvents",value:function(){var e=this.player.config;this._mouseDownHandlerHook=this.hook("dragstart",this._mouseDownHandler),this._mouseUpHandlerHook=this.hook("dragend",this._mouseUpHandler),this._mouseMoveHandlerHook=this.hook("drag",this._mouseMoveHandler),"touch"!==this.domEventType&&"compatible"!==this.domEventType||this.root.addEventListener("touchstart",this.onMouseDown),"mouse"!==this.domEventType&&"compatible"!==this.domEventType||(this.bind("mousedown",this.onMouseDown),"mobile"!==e.isMobileSimulateMode&&this.bind("mouseenter",this.onMouseEnter),this.bind("mouseover",this.onMouseOver),this.bind("mouseout",this.onMouseOut),this.player.root.addEventListener("click",this.onBodyClick,!0))}},{key:"_getRootDocument",value:function(){var e;return(null===(e=this.root)||void 0===e?void 0:e.ownerDocument)||document}},{key:"_addDragDocumentEvents",value:function(){var e=this._getRootDocument();this._dragDocument=e,e.addEventListener("mousemove",this.onMouseMove,!1),e.addEventListener("mouseup",this.onMouseUp,!1)}},{key:"_removeDragDocumentEvents",value:function(){var e=this._dragDocument||this._getRootDocument();e.removeEventListener("mousemove",this.onMouseMove,!1),e.removeEventListener("mouseup",this.onMouseUp,!1),this._dragDocument=null}},{key:"focus",value:function(){this.player.controls.pauseAutoHide(),util.addClass(this.root,"active")}},{key:"blur",value:function(){this._disableBlur||(this.player.controls.recoverAutoHide(),util.removeClass(this.root,"active"))}},{key:"disableBlur",value:function(){this._disableBlur=!0}},{key:"enableBlur",value:function(){this._disableBlur=!1}},{key:"resetDragState",value:function(){var e=this.pos,t=this.playerConfig,a=this.config;e&&(this.root.removeEventListener("touchmove",this.onMouseMove),this.root.removeEventListener("touchend",this.onMouseUp),this.root.removeEventListener("touchcancel",this.onMouseUp),this._removeDragDocumentEvents(),(e.isDown||this.isProgressMoving)&&(util.checkIsFunction(t.enableSwipeHandler)&&t.enableSwipeHandler(),util.checkIsFunction(a.onMoveEnd)&&a.onMoveEnd(),util.removeClass(this.progressBtn,"active"),e.moving=!1,e.isDown=!1,e.x=0,e.y=0,e.isLocked=!1,this._state.prePlayTime=0,this._state.time=0,this.resetSeekState(),this.blur()))}},{key:"updateWidth",value:function(e,t,a,r){var n=this.config,i=this.player;if(!n.isCloseClickSeek||0!==r){var c=t=t>=i.duration?i.duration-n.endedDiff:Number(t).toFixed(1);this.updatePercent(a),this.updateTime(e),(1!==r||n.isDraggingSeek&&"audio"!==i.config.mediaType)&&(this._state.now=c,this._state.direc=c>i.currentTime?0:1,i.seek(c))}}},{key:"computeTime",value:function(e,t){var a,r,n=this.player,i=this.root.getBoundingClientRect(),c=i.width,o=i.height,s=i.top,u=i.left,d=t;90===n.rotateDeg?(a=o,r=s):(a=c,r=u);var b=d-r,f=(b=b>a?a:b<0?0:b)/a;f=f<0?0:f>1?1:f,Number.isNaN(f)&&(f=this.player.currentTime/this.offsetDuration);var l=parseInt(f*this.offsetDuration*1e3,10)/1e3;return{percent:f,currentTime:l,seekTime:util.getCurrentTimeByOffset(l,n.timeSegments),offset:b,width:a,left:r,e:e}}},{key:"updateTime",value:function(e){var t=this.player,a=this.duration;e>a?e=a:e<0&&(e=0);var r=t.plugins.time;r&&r.updateTime(e)}},{key:"resetSeekState",value:function(){this.isProgressMoving=!1;var e=this.player.plugins.time;e&&e.resetActive()}},{key:"updatePercent",value:function(e,t){if(this.isProgressMoving=!0,!this.config.disable){e=e>1?1:e<0?0:e,this.progressBtn.style.left="".concat(100*e,"%"),this.innerList.update({played:e*this.offsetDuration},this.offsetDuration);var a=this.player.plugins.miniprogress;a&&a.update({played:e*this.offsetDuration},this.offsetDuration)}}},{key:"onTimeupdate",value:function(e){var t=this.player,a=this._state,r=this.offsetDuration;if(!(t.isSeeking&&t.media.seeking||this.isProgressMoving)&&t.hasStart){if(a.now>-1){var n=parseInt(1e3*a.now,10)-parseInt(1e3*t.currentTime,10);if(0===a.direc&&n>300||1===a.direc&&n>-300)return void(a.now=-1);a.now=-1}var i=this.currentTime;i=util.adjustTimeByDuration(i,r,e),this.innerList.update({played:i},r),this.progressBtn.style.left="".concat(i/r*100,"%")}}},{key:"onCacheUpdate",value:function(e){var t=this.player,a=this.duration;if(t){var r=t.bufferedPoint.end;r=util.adjustTimeByDuration(r,a,e),this.innerList.update({cached:r},a)}}},{key:"onReset",value:function(){this.innerList.update({played:0,cached:0},0),this.progressBtn.style.left="0%"}},{key:"destroy",value:function(){var e=this.player;this.thumbnailPlugin=null,this.innerList.destroy(),this.innerList=null;var t=this.domEventType;"touch"!==t&&"compatible"!==t||(this.root.removeEventListener("touchstart",this.onMouseDown),this.root.removeEventListener("touchmove",this.onMouseMove),this.root.removeEventListener("touchend",this.onMouseUp),this.root.removeEventListener("touchcancel",this.onMouseUp)),"mouse"!==t&&"compatible"!==t||(this.unbind("mousedown",this.onMouseDown),this.unbind("mouseenter",this.onMouseEnter),this.unbind("mousemove",this.onMoveOnly),this.unbind("mouseleave",this.onMouseLeave),this._removeDragDocumentEvents(),e.root.removeEventListener("click",this.onBodyClick,!0))}},{key:"render",value:function(){if(!this.config.disable&&!this.playerConfig.isLive){var e=this.player.controls?this.player.controls.config.mode:"";return'\n <xg-progress class="xgplayer-progress '.concat("bottom"===e?"xgplayer-progress-bottom":"",'">\n <xg-outer class="xgplayer-progress-outer">\n <xg-progress-btn class="xgplayer-progress-btn"></xg-progress-btn>\n </xg-outer>\n </xg-progress>\n ')}}}],[{key:"pluginName",get:function(){return"progress"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_CENTER,index:0,disable:!1,isDraggingSeek:!0,closeMoveSeek:!1,isPauseMoving:!1,isCloseClickSeek:!1,fragments:[{percent:1}],fragFocusClass:FRAGMENT_FOCUS_CLASS.POINT,fragClass:"",fragAutoFocus:!1,miniMoveStep:5,miniStartStep:2,onMoveStart:function(){},onMoveEnd:function(){},endedDiff:.2}}},{key:"FRAGMENT_FOCUS_CLASS",get:function(){return FRAGMENT_FOCUS_CLASS}}]),a}(),Time=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).isActiving=!1,r}return _createClass$1(a,[{key:"duration",get:function(){var e=this.player,t=e.offsetDuration,a=e.duration;return this.playerConfig.customDuration||t||a}},{key:"currentTime",get:function(){var e=this.player,t=e.offsetCurrentTime,a=e.currentTime;return t>=0?t:a}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"afterCreate",value:function(){var e=this.player.controls.config.mode;this.mode="flex"===e?"flex":"normal",this.config.disable||("flex"===this.mode&&(this.createCenterTime(),this.root.style.display="none"),this.durationDom=this.find(".time-duration"),this.timeDom=this.find(".time-current"),this.listenEvents())}},{key:"listenEvents",value:function(){var e=this;this.on([DURATION_CHANGE,SEEKED,TIME_UPDATE],(function(t){"durationchange"===t.eventName&&(e.isActiving=!1),e.onTimeUpdate()})),this.on(ENDED,(function(){e.onTimeUpdate(!0)})),this.on(EMPTIED,(function(){e.onReset()}))}},{key:"show",value:function(e){if("flex"===this.mode)return this.centerCurDom&&(this.centerCurDom.style.display="block"),void(this.centerDurDom&&(this.centerDurDom.style.display="block"));this.root.style.display="block"}},{key:"hide",value:function(){if("flex"===this.mode)return this.centerCurDom&&(this.centerCurDom.style.display="none"),void(this.centerDurDom&&(this.centerDurDom.style.display="none"));this.root.style.display="none"}},{key:"onTimeUpdate",value:function(e){var t=this.player,a=this.config,r=this.duration;if(!a.disable&&!this.isActiving&&t.hasStart){var n=this.currentTime+this.timeOffset;n=util.adjustTimeByDuration(n,r,e),"flex"===this.mode?(this.centerCurDom.innerHTML=this.minWidthTime(util.format(n)),r!==1/0&&r>0&&(this.centerDurDom.innerHTML=util.format(r))):(this.timeDom.innerHTML=this.minWidthTime(util.format(n)),r!==1/0&&r>0&&(this.durationDom.innerHTML=util.format(r)))}}},{key:"onReset",value:function(){"flex"===this.mode?(this.centerCurDom.innerHTML=this.minWidthTime(util.format(0)),this.centerDurDom.innerHTML=util.format(0)):(this.timeDom.innerHTML=this.minWidthTime(util.format(0)),this.durationDom.innerHTML=util.format(0))}},{key:"createCenterTime",value:function(){var e=this.player;if(e.controls&&e.controls.center){var t=e.controls.center;this.centerCurDom=util.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-left"),this.centerDurDom=util.createDom("xg-icon","00:00",{},"xgplayer-time xg-time-right"),t.children.length>0?t.insertBefore(this.centerCurDom,t.children[0]):t.appendChild(this.centerCurDom),t.appendChild(this.centerDurDom),this.extraEls=[this.centerCurDom,this.centerDurDom]}}},{key:"afterPlayerInit",value:function(){var e=this.config;this.duration===1/0||this.playerConfig.isLive?(util.hide(this.durationDom),util.hide(this.timeDom),util.hide(this.find(".time-separator")),util.show(this.find(".time-live-tag"))):util.hide(this.find(".time-live-tag")),e.hide?this.hide():this.show()}},{key:"changeLiveState",value:function(e){e?(util.hide(this.durationDom),util.hide(this.timeDom),util.hide(this.find(".time-separator")),util.show(this.find(".time-live-tag"))):(util.hide(this.find(".time-live-tag")),util.show(this.find(".time-separator")),util.show(this.durationDom),util.show(this.timeDom))}},{key:"updateTime",value:function(e){this.isActiving=!0,!e&&0!==e||e>this.duration||("flex"!==this.mode?this.timeDom.innerHTML=this.minWidthTime(util.format(e)):this.centerCurDom.innerHTML=this.minWidthTime(util.format(e)))}},{key:"minWidthTime",value:function(e){return e.split(":").map((function(e){return'<span class="time-min-width">'.concat(e,"</span>")})).join(":")}},{key:"resetActive",value:function(){var e=this,t=this.player,a=function(){e.isActiving=!1};this.off(SEEKED,a),t.isSeeking&&t.media.seeking?this.once(SEEKED,a):this.isActiving=!1}},{key:"destroy",value:function(){var e=this.player.controls.center;this.centerCurDom&&e.removeChild(this.centerCurDom),this.centerCurDom=null,this.centerDurDom&&e.removeChild(this.centerDurDom),this.centerDurDom=null}},{key:"render",value:function(){if(!this.config.disable)return'<xg-icon class="xgplayer-time">\n <span class="time-current">00:00</span>\n <span class="time-separator">/</span>\n <span class="time-duration">00:00</span>\n <span class="time-live-tag">'.concat(this.i18n.LIVE_TIP,"</span>\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"time"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_LEFT,index:2,disable:!1}}}]),a}();function volumeLargeSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M940.632 837.632l-72.192-72.192c65.114-64.745 105.412-154.386 105.412-253.44s-40.299-188.695-105.396-253.424l-0.016-0.016 72.192-72.192c83.639 83.197 135.401 198.37 135.401 325.632s-51.762 242.434-135.381 325.612l-0.020 0.020zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z"></path>\n</svg>\n',"image/svg+xml").firstChild}function volumeSmallSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021zM795.648 693.248l-72.704-72.704c27.756-27.789 44.921-66.162 44.921-108.544s-17.165-80.755-44.922-108.546l0.002 0.002 72.704-72.704c46.713 46.235 75.639 110.363 75.639 181.248s-28.926 135.013-75.617 181.227l-0.021 0.021z"></path>\n</svg>\n',"image/svg+xml").firstChild}function volumeMutedSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="28" height="40" viewBox="0 -10 28 40">\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M358.4 358.4h-204.8v307.2h204.8l256 256v-819.2l-256 256z"></path>\n <path fill="#fff" transform="scale(0.0220625 0.0220625)" d="M920.4 439.808l-108.544-109.056-72.704 72.704 109.568 108.544-109.056 108.544 72.704 72.704 108.032-109.568 108.544 109.056 72.704-72.704-109.568-108.032 109.056-108.544-72.704-72.704-108.032 109.568z"></path>\n</svg>\n',"image/svg+xml").firstChild}var Volume=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onBarMousedown",(function(t){var a=_assertThisInitialized$1(e).player,r=e.find(".xgplayer-bar");util.event(t);var n=r.getBoundingClientRect(),i=util.getEventPos(t,a.zoom),c=n.height-(i.clientY-n.top);if(i.h=c,i.barH=n.height,e.pos=i,!(c<-2))return e.updateVolumePos(c,t),document.addEventListener("mouseup",e.onBarMouseUp),e._d.isStart=!0,!1})),_defineProperty$1(_assertThisInitialized$1(e),"onBarMouseMove",(function(t){var a=_assertThisInitialized$1(e)._d;if(a.isStart){var r=_assertThisInitialized$1(e),n=r.pos,i=r.player;t.preventDefault(),t.stopPropagation(),util.event(t);var c=util.getEventPos(t,i.zoom);a.isMoving=!0;var o=n.h-c.clientY+n.clientY;o>n.barH||e.updateVolumePos(o,t)}})),_defineProperty$1(_assertThisInitialized$1(e),"onBarMouseUp",(function(t){util.event(t),document.removeEventListener("mouseup",e.onBarMouseUp);var a=_assertThisInitialized$1(e)._d;a.isStart=!1,a.isMoving=!1})),_defineProperty$1(_assertThisInitialized$1(e),"onMouseenter",(function(t){e._d.isActive=!0,e.focus(),e.emit("icon_mouseenter",{pluginName:e.pluginName})})),_defineProperty$1(_assertThisInitialized$1(e),"onMouseleave",(function(t){e._d.isActive=!1,e.unFocus(100,!1,t),e.emit("icon_mouseleave",{pluginName:e.pluginName})})),_defineProperty$1(_assertThisInitialized$1(e),"onVolumeChange",(function(t){if(e.player){var a=e.player,r=a.muted,n=a.volume;e._d.isMoving||(e.find(".xgplayer-drag").style.height=r||0===n?"4px":"".concat(100*n,"%"),e.config.showValueLabel&&e.updateVolumeValue()),e.animate(r,n)}})),e}return _createClass$1(a,[{key:"registerIcons",value:function(){return{volumeSmall:{icon:volumeSmallSvg,class:"xg-volume-small"},volumeLarge:{icon:volumeLargeSvg,class:"xg-volume"},volumeMuted:{icon:volumeMutedSvg,class:"xg-volume-mute"}}}},{key:"afterCreate",value:function(){var e=this;if(this._timerId=null,this._d={isStart:!1,isMoving:!1,isActive:!1},!this.config.disable){this.initIcons();var t=this.playerConfig,a=t.commonStyle,r=t.volume;a.volumeColor&&(this.find(".xgplayer-drag").style.backgroundColor=a.volumeColor),this.changeMutedHandler=this.hook("mutedChange",(function(t){e.changeMuted(t)}),{pre:function(e){e.preventDefault(),e.stopPropagation()}}),this._onMouseenterHandler=this.hook("mouseenter",this.onMouseenter),this._onMouseleaveHandler=this.hook("mouseleave",this.onMouseleave),"mobile"!==sniffer.device&&"mobile"!==this.playerConfig.isMobileSimulateMode&&(this.bind("mouseenter",this._onMouseenterHandler),this.bind(["blur","mouseleave"],this._onMouseleaveHandler),this.bind(".xgplayer-slider","mousedown",this.onBarMousedown),this.bind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.bind(".xgplayer-slider","mouseup",this.onBarMouseUp)),this.bind(".xgplayer-icon",["touchend","click"],this.changeMutedHandler),this.on(VOLUME_CHANGE,this.onVolumeChange),this.once(LOADED_DATA,this.onVolumeChange),"Number"!==util.typeOf(r)&&(this.player.volume=this.config.default),this.onVolumeChange()}}},{key:"updateVolumePos",value:function(e,t){var a=this.player,r=this.find(".xgplayer-drag"),n=this.find(".xgplayer-bar");if(n&&r){var i=parseInt(e/n.getBoundingClientRect().height*1e3,10);r.style.height="".concat(e,"px");var c=Math.max(Math.min(i/1e3,1),0),o={volume:{from:a.volume,to:c}};a.muted&&(o.muted={from:!0,to:!1}),this.emitUserAction(t,"change_volume",{muted:a.muted,volume:a.volume,props:o}),a.volume=Math.max(Math.min(i/1e3,1),0),a.muted&&(a.muted=!1),this.config.showValueLabel&&this.updateVolumeValue()}}},{key:"updateVolumeValue",value:function(){var e=this.player,t=e.volume,a=e.muted,r=this.find(".xgplayer-value-label"),n=Math.max(Math.min(t,1),0);r.innerText=a?0:Math.round(100*n)}},{key:"focus",value:function(){this.player.focus({autoHide:!1}),this._timerId&&(util.clearTimeout(this,this._timerId),this._timerId=null),util.addClass(this.root,"slide-show")}},{key:"unFocus",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:100,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,n=this._d,i=this.player;n.isActive||(this._timerId&&(util.clearTimeout(this,this._timerId),this._timerId=null),this._timerId=util.setTimeout(this,(function(){n.isActive||(a?i.blur():i.focus(),util.removeClass(e.root,"slide-show"),n.isStart&&e.onBarMouseUp(r)),e._timerId=null}),t))}},{key:"changeMuted",value:function(e){e&&e.stopPropagation();var t=this.player;this._d.isStart&&this.onBarMouseUp(e),this.emitUserAction(e,"change_muted",{muted:t.muted,volume:t.volume,props:{muted:{from:t.muted,to:!t.muted}}}),t.volume>0&&(t.muted=!t.muted),t.volume<.01&&(t.volume=this.config.miniVolume)}},{key:"animate",value:function(e,t){e||0===t?this.setAttr("data-state","mute"):t<.5&&this.icons.volumeSmall?this.setAttr("data-state","small"):this.setAttr("data-state","normal")}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".xgplayer-icon",e.volumeSmall),this.appendChild(".xgplayer-icon",e.volumeLarge),this.appendChild(".xgplayer-icon",e.volumeMuted)}},{key:"destroy",value:function(){this._timerId&&(util.clearTimeout(this,this._timerId),this._timerId=null),this.unbind("mouseenter",this.onMouseenter),this.unbind(["blur","mouseleave"],this.onMouseleave),this.unbind(".xgplayer-slider","mousedown",this.onBarMousedown),this.unbind(".xgplayer-slider","mousemove",this.onBarMouseMove),this.unbind(".xgplayer-slider","mouseup",this.onBarMouseUp),document.removeEventListener("mouseup",this.onBarMouseUp),this.unbind(".xgplayer-icon","mobile"===sniffer.device?"touchend":"click",this.changeMutedHandler)}},{key:"render",value:function(){if(!this.config.disable){var e=this.config.default||this.player.volume,t=this.config.showValueLabel;return'\n <xg-icon class="xgplayer-volume" data-state="normal">\n <div class="xgplayer-icon">\n </div>\n <xg-slider class="xgplayer-slider">\n '.concat(t?'<div class="xgplayer-value-label">'.concat(100*e,"</div>"):"",'\n <div class="xgplayer-bar">\n <xg-drag class="xgplayer-drag" style="height: ').concat(100*e,'%"></xg-drag>\n </div>\n </xg-slider>\n </xg-icon>')}}}],[{key:"pluginName",get:function(){return"volume"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:1,disable:!1,showValueLabel:!1,default:.6,miniVolume:.2}}}]),a}();function now(){return(new Date).getTime()}var LOG_TYPES={LOAD_START:"loadstart",LOADED_DATA:"loadeddata",FIRST_FRAME:"firstFrame",WAIT_START:"waitingStart",WAIT_END:"waitingEnd",SEEK_START:"seekStart",SEEK_END:"seekEnd"},XGLogger=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_onTimeupdate",(function(){e._state.isTimeUpdate=!0,e._state.autoplayStart&&(XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," _onTimeupdate")),e._sendFF("onTimeupdate"))})),_defineProperty$1(_assertThisInitialized$1(e),"_onAutoplayStart",(function(){XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," _onAutoplayStart")),e._state.autoplayStart=!0,e.vt&&e._sendFF("onAutoplayStart")})),_defineProperty$1(_assertThisInitialized$1(e),"_onReset",(function(){e._state={autoplayStart:!1,isFFLoading:!1,isTimeUpdate:!1,isFFSend:!1,isLs:!1},e.vt=0,e.pt=0,e.fvt=0,e.newPointTime=now(),e.loadedCostTime=0,e.startCostTime=0,e._isSeeking=!1,e.seekingStart=0,e.waitingStart=0,e.fixedWaitingStart=0,e._isWaiting=!1,e._waitTimer&&util.clearTimeout(_assertThisInitialized$1(e),e._waitTimer),e._waittTimer&&util.clearTimeout(_assertThisInitialized$1(e),e._waittTimer),e._waitTimer=null,e._waittTimer=null,e._waitType=0})),_defineProperty$1(_assertThisInitialized$1(e),"_onSeeking",(function(){e.seekingStart||(e.suspendWaitingStatus("seek"),e.seekingStart=now(),e.emitLog(LOG_TYPES.SEEK_START,{start:now()}))})),_defineProperty$1(_assertThisInitialized$1(e),"_onSeeked",(function(){e.suspendSeekingStatus("seeked")})),_defineProperty$1(_assertThisInitialized$1(e),"_onWaitingLoadStart",(function(){e._isWaiting||e.vt||(e._isWaiting=!0,e.waitingStart=now(),e.fixedWaitingStart=now(),e._waitType=1,e.emitLog(LOG_TYPES.WAIT_START,{fixedStart:e.fixedWaitingStart,start:e.waitingStart,type:1,endType:"loadstart"}))})),_defineProperty$1(_assertThisInitialized$1(e),"_onWaiting",(function(){!e._isWaiting&&e.vt&&(e._isWaiting=!0,e.vt?e.seekingStart?e._waitType=2:e._waitType=0:e._waitType=1,e.fixedWaitingStart=now(),e._waitTimer=util.setTimeout(_assertThisInitialized$1(e),(function(){e._isWaiting&&(e.waitingStart=now(),util.clearTimeout(_assertThisInitialized$1(e),e._waitTimer),e._waitTimer=null,e._startWaitTimeout(),e.emitLog(LOG_TYPES.WAIT_START,{fixedStart:e.fixedWaitingStart,start:e.waitingStart,type:e._waitType,endType:2===e._waitType?"seek":"playing"}))}),200))})),_defineProperty$1(_assertThisInitialized$1(e),"_onError",(function(){e.suspendSeekingStatus("error"),e.suspendWaitingStatus("error")})),_defineProperty$1(_assertThisInitialized$1(e),"_onPlaying",(function(){e._isWaiting&&e.suspendWaitingStatus("playing")})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this._onReset(),this._waitType="firstFrame",this._initOnceEvents(),this.newPointTime=now(),this.loadedCostTime=0,this.startCostTime=0,this.on(LOAD_START,(function(){var t=e._state,a=t.autoplayStart,r=t.isFFSend;e.startCostTime=now()-e.newPointTime,XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," LOAD_START"),"autoplayStart:".concat(a," isFFSend:").concat(r," startCostTime:").concat(e.startCostTime," newPointTime").concat(e.newPointTime)),r||(!t.isLs&&e.emitLog(LOG_TYPES.LOAD_START,{}),t.isLs=!0,t.isTimeUpdate=!1,t.isFFLoading=!0,e.pt=now(),e.vt=0,e.fvt=0,e._initOnceEvents(),e._onWaitingLoadStart())})),this.on(LOADED_DATA,(function(){e.vt=now(),e.fvt=e.vt-e.pt,e.loadedCostTime=e.vt-e.newPointTime;var t=e._state,a=t.isTimeUpdate,r=t.isFFSend,n=t.autoplayStart;XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," LOADED_DATA"),"fvt:".concat(e.fvt," isTimeUpdate:").concat(e._state.isTimeUpdate," loadedCostTime:").concat(e.loadedCostTime)),(a||n)&&e._sendFF("loadedData"),r||e.emitLog(LOG_TYPES.LOADED_DATA,{}),e.suspendWaitingStatus("loadeddata")})),this.on(SEEKING,this._onSeeking),this.on(SEEKED,this._onSeeked),this.on(DESTROY,(function(){e.endState("destroy")})),this.on(URL_CHANGE,(function(){e.endState("urlChange"),XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," URL_CHANGE")),e._state.isFFSend&&e._onReset()})),this.on([PLAYING,CANPLAY],this._onPlaying),this.on(WAITING,this._onWaiting),this.on(ERROR$1,this._onError),this.on(RESET,(function(){XG_DEBUG.logInfo("[xgLogger]".concat(e.player.playerId," RESET")),e.endState("reset"),e._initOnceEvents(),e._onReset()}))}},{key:"_initOnceEvents",value:function(){this.off(AUTOPLAY_STARTED,this._onAutoplayStart),this.off(TIME_UPDATE,this._onTimeupdate),this.once(AUTOPLAY_STARTED,this._onAutoplayStart),this.once(TIME_UPDATE,this._onTimeupdate)}},{key:"_sendFF",value:function(e){this.s=now();var t=this._state,a=t.isFFLoading,r=t.isFFSend;XG_DEBUG.logInfo("[xgLogger]".concat(this.player.playerId," _sendFF"),"".concat(e," fvt:").concat(this.fvt," isFFLoading:").concat(a," !isFFSend:").concat(!r)),this.vt>0&&a&&!r&&(XG_DEBUG.logInfo("[xgLogger]".concat(this.player.playerId," emitLog_firstFrame"),e),this._state.isFFLoading=!1,this._state.isFFSend=!0,this.emitLog(LOG_TYPES.FIRST_FRAME,{fvt:this.fvt,costTime:this.fvt,vt:this.vt,startCostTime:this.startCostTime,loadedCostTime:this.loadedCostTime}))}},{key:"_startWaitTimeout",value:function(){var e=this;this._waittTimer&&util.clearTimeout(this,this._waittTimer),this._waittTimer=util.setTimeout(this,(function(){e.suspendWaitingStatus("timeout"),util.clearTimeout(e,e._waittTimer),e._waittTimer=null}),this.config.waitTimeout)}},{key:"endState",value:function(e){this.suspendWaitingStatus(e),this.suspendSeekingStatus(e)}},{key:"suspendSeekingStatus",value:function(e){if(this.seekingStart){var t=now(),a=t-this.seekingStart;this.seekingStart=0,this.emitLog(LOG_TYPES.SEEK_END,{end:t,costTime:a,endType:e})}}},{key:"suspendWaitingStatus",value:function(e){if(this._waitTimer&&(util.clearTimeout(this,this._waitTimer),this._waitTimer=null),this._waittTimer&&(util.clearTimeout(this,this._waittTimer),this._waittTimer=null),this._isWaiting=!1,this.waitingStart){var t=now(),a=t-this.waitingStart,r=t-this.fixedWaitingStart,n=this.config.waitTimeout;this._isWaiting=!1,this.waitingStart=0,this.fixedWaitingStart=0,this.emitLog(LOG_TYPES.WAIT_END,{fixedCostTime:r>n?n:r,costTime:a>n?n:a,type:"loadeddata"===e?1:this._waitType,endType:2===this._waitType?"seek":e})}}},{key:"emitLog",value:function(e,t){var a=this.player;this.emit(XGLOG,_objectSpread2$1({t:now(),host:util.getHostFromUrl(a.currentSrc),vtype:a.vtype,eventType:e,currentTime:this.player.currentTime,readyState:a.video.readyState,networkState:a.video.networkState},t))}}],[{key:"pluginName",get:function(){return"xgLogger"}},{key:"defaultConfig",get:function(){return{waitTimeout:1e4}}}]),a}();function ReplaySvg(){return(new DOMParser).parseFromString('<svg class="xgplayer-replay-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78 78" width="78" height="78">\n <path fill="#fff" transform="translate(20, 20)" d="M8.22708362,13.8757234 L11.2677371,12.6472196 C11.7798067,12.4403301 12.3626381,12.6877273 12.5695276,13.1997969 L12.9441342,14.1269807 C13.1510237,14.6390502 12.9036264,15.2218816 12.3915569,15.4287712 L6.8284538,17.6764107 L5.90126995,18.0510173 C5.38920044,18.2579068 4.80636901,18.0105096 4.5994795,17.49844 L1.97723335,11.0081531 C1.77034384,10.4960836 2.0177411,9.91325213 2.52981061,9.70636262 L3.45699446,9.33175602 C3.96906396,9.12486652 4.5518954,9.37226378 4.75878491,9.88433329 L5.67885163,12.1615783 C7.99551726,6.6766934 13.3983951,3 19.5,3 C27.7842712,3 34.5,9.71572875 34.5,18 C34.5,26.2842712 27.7842712,33 19.5,33 C15.4573596,33 11.6658607,31.3912946 8.87004692,28.5831991 C8.28554571,27.9961303 8.28762719,27.0463851 8.87469603,26.4618839 C9.46176488,25.8773827 10.4115101,25.8794641 10.9960113,26.466533 C13.2344327,28.7147875 16.263503,30 19.5,30 C26.127417,30 31.5,24.627417 31.5,18 C31.5,11.372583 26.127417,6 19.5,6 C14.4183772,6 9.94214483,9.18783811 8.22708362,13.8757234 Z"></path>\n</svg>\n',"image/svg+xml").firstChild}var Replay=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"registerIcons",value:function(){return{replay:ReplaySvg}}},{key:"afterCreate",value:function(){var e=this;Plugin.insert(this.icons.replay,this.root,0),this.__handleReplay=this.hook("replayClick",(function(){e.player.replay()}),{pre:function(e){e.preventDefault(),e.stopPropagation()}}),this.bind(".xgplayer-replay",["click","touchend"],this.__handleReplay),this.on(ENDED,(function(){if(e.playerConfig.loop||util.addClass(e.player.root,"replay"),!e.config.disable){e.show();var t=e.root.querySelector("path");if(t){var a=window.getComputedStyle(t).getPropertyValue("transform");if("string"==typeof a&&a.indexOf("none")>-1)return null;t.setAttribute("transform",a)}}})),this.on(PLAY,(function(){e.hide()}))}},{key:"handleReplay",value:function(e){e.preventDefault(),e.stopPropagation(),this.player.replay(),util.removeClass(this.player.root,"replay")}},{key:"show",value:function(e){this.config.disable||(this.root.style.display="flex")}},{key:"enable",value:function(){this.config.disable=!1}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){this.unbind(".xgplayer-replay",["click","touchend"],this.__handleReplay)}},{key:"render",value:function(){return'<xg-replay class="xgplayer-replay">\n <xg-replay-txt class="xgplayer-replay-txt" lang-key="'.concat(this.i18nKeys.REPLAY,'">').concat(this.i18n.REPLAY,"</xg-replay-txt>\n </xg-replay>")}}],[{key:"pluginName",get:function(){return"replay"}},{key:"defaultConfig",get:function(){return{disable:!1}}}]),a}(),Poster=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"isEndedShow",get:function(){return this.config.isEndedShow},set:function(e){this.config.isEndedShow=e}},{key:"hide",value:function(){this.isHide||(this.config.useVideoPoster||util.addClass(this.root,"hide"),this.isHide=!0)}},{key:"show",value:function(){this.isHide=!1,this.config.useVideoPoster||util.removeClass(this.root,"hide")}},{key:"beforeCreate",value:function(e){"string"==typeof e.player.config.poster&&(e.config.poster=e.player.config.poster)}},{key:"afterCreate",value:function(){var e=this;this.config.useVideoPoster&&this.config.poster&&(this.player.media.poster=this.config.poster),this.on(ENDED,(function(){e.isEndedShow&&e.show()})),this.on(PLAYING,(function(){e.hide()})),this.config.hideCanplay?(this.once(TIME_UPDATE,(function(){e.onTimeUpdate()})),this.on(URL_CHANGE,(function(){e.show(),e.config.useVideoPoster||util.addClass(e.root,"xg-showplay"),e.once(TIME_UPDATE,(function(){e.onTimeUpdate()}))}))):this.on(PLAY,(function(){e.hide()}))}},{key:"onTimeUpdate",value:function(){var e=this;this.player.currentTime?util.removeClass(this.root,"xg-showplay"):this.once(TIME_UPDATE,(function(){e.onTimeUpdate()}))}},{key:"setConfig",value:function(e){var t=this;Object.keys(e).forEach((function(a){t.config[a]=e[a]}));var a=this.config.poster;this.update(a)}},{key:"update",value:function(e){e&&(this.config.poster=e,this.config.useVideoPoster?this.player.media.poster=e:this.root.style.backgroundImage="url(".concat(e,")"))}},{key:"getBgSize",value:function(e){var t="";switch(e){case"cover":t="cover";break;case"contain":t="contain";break;case"fixHeight":t="auto 100%";break;default:t=""}return t?"background-size: ".concat(t,";"):""}},{key:"render",value:function(){var e=this.config,t=e.poster,a=e.hideCanplay,r=e.fillMode,n=e.notHidden;if(e.useVideoPoster)return"";var i=this.getBgSize(r),c=t?"background-image:url(".concat(t,");").concat(i):i;return'<xg-poster class="xgplayer-poster '.concat(n?"xg-not-hidden":a?"xg-showplay":"",'" style="').concat(c,'">\n </xg-poster>')}}],[{key:"pluginName",get:function(){return"poster"}},{key:"defaultConfig",get:function(){return{isEndedShow:!0,hideCanplay:!1,notHidden:!1,poster:"",useVideoPoster:!1,fillMode:"fixWidth"}}}]),a}(),AnimateMap={};function addAnimate(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{start:null,end:null};return AnimateMap[e]&&window.clearTimeout(AnimateMap[e].id),AnimateMap[e]={},a.start&&a.start(),AnimateMap[e].id=window.setTimeout((function(){a.end&&a.end(),window.clearTimeout(AnimateMap[e].id),delete AnimateMap[e]}),t),AnimateMap[e].id}function clearAnimation(e){e?window.clearTimeout(e):Object.keys(AnimateMap).map((function(e){window.clearTimeout(AnimateMap[e].id),delete AnimateMap[e]}))}var Start=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onPlayerReset",(function(){r.autoPlayStart=!1;var e="auto"===r.config.mode?"auto-hide":"hide";r.setAttr("data-state","play"),util.removeClass(r.root,e),r.show()})),_defineProperty$1(_assertThisInitialized$1(r),"onAutoplayStart",(function(){if(!r.autoPlayStart){var e="auto"===r.config.mode?"auto-hide":"hide";util.addClass(r.root,e),r.autoPlayStart=!0,r.toggleTo("play")}})),r.autoPlayStart=!1,r}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this.playerConfig;this.initIcons(),this.listenEvents(),this.bindClickEvents(),e.autoplay||this.show()}},{key:"listenEvents",value:function(){var e=this,t=this.player,a=this.playerConfig;this.once(READY,(function(){a&&(a.lang&&"en"===a.lang?util.addClass(t.root,"lang-is-en"):"jp"===a.lang&&util.addClass(t.root,"lang-is-jp"))})),this.on(AUTOPLAY_STARTED,this.onAutoplayStart),this.on(AUTOPLAY_PREVENTED,(function(){var t="auto"===e.config.mode?"auto-hide":"hide";e.setAttr("data-state","play"),util.removeClass(e.root,t),e.show()})),this.on(PLAY,(function(){e.toggleTo("play")})),this.on(PAUSE,(function(){e.toggleTo("pause")})),this.on(RESET,(function(){e.onPlayerReset()}))}},{key:"bindClickEvents",value:function(){var e=this;this.clickHandler=this.hook("startClick",this.switchPausePlay,{pre:function(t){t.cancelable&&t.preventDefault(),t.stopPropagation();var a=e.player.paused;e.emitUserAction(t,"switch_play_pause",{props:"paused",from:a,to:!a})}}),this.bind(["click","touchend"],this.clickHandler)}},{key:"registerIcons",value:function(){return{startPlay:{icon:PlayIcon,class:"xg-icon-play"},startPause:{icon:PauseIcon,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild("xg-start-inner",e.startPlay),this.appendChild("xg-start-inner",e.startPause)}},{key:"hide",value:function(){util.addClass(this.root,"hide")}},{key:"show",value:function(e){util.removeClass(this.root,"hide")}},{key:"focusHide",value:function(){util.addClass(this.root,"focus-hide")}},{key:"recover",value:function(){util.removeClass(this.root,"focus-hide")}},{key:"switchStatus",value:function(e){e?this.setAttr("data-state",this.player.paused?"pause":"play"):this.setAttr("data-state",this.player.paused?"play":"pause")}},{key:"animate",value:function(e){var t=this;this._animateId=addAnimate("pauseplay",400,{start:function(){util.addClass(t.root,"interact"),t.show(),t.switchStatus(!0)},end:function(){util.removeClass(t.root,"interact"),!e&&t.hide(),t._animateId=null}})}},{key:"endAnimate",value:function(){util.removeClass(this.root,"interact"),clearAnimation(this._animateId),this._animateId=null}},{key:"switchPausePlay",value:function(e){var t=this.player;(e.cancelable&&e.preventDefault(),e.stopPropagation(),t.state<STATES.READY)||(this.player.paused||t.state!==STATES.RUNNING?t.play():t.pause())}},{key:"onPlayPause",value:function(e){this.toggleTo(e)}},{key:"toggleTo",value:function(e){var t=this.config,a=this.player;if(a&&!(a.state<STATES.RUNNING)&&this.autoPlayStart){if("show"===t.mode)return this.switchStatus(),void this.show();if("auto"!==t.mode){if(t.isShowPause&&a.paused&&!a.ended||t.isShowEnd&&a.ended)return this.switchStatus(),this.show(),void this.endAnimate();if(t.disableAnimate)return this.switchStatus(),void this.hide();if("play"===e)this.autoPlayStart?this.animate():this.hide();else{if(!this.autoPlayStart||a.ended)return;this.animate()}}else this.switchStatus()}}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.clickHandler),clearAnimation(this._animateId)}},{key:"render",value:function(){var e=this.playerConfig.autoplay?"auto"===this.config.mode?"auto-hide":"hide":"";return'\n <xg-start class="xgplayer-start '.concat(e,'">\n <xg-start-inner></xg-start-inner>\n </xg-start>')}}],[{key:"pluginName",get:function(){return"start"}},{key:"defaultConfig",get:function(){return{isShowPause:!1,isShowEnd:!1,disableAnimate:!1,mode:"hide"}}}]),a}(),Enter=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"render",value:function(){var e=this.config.innerHtml,t=util.createDom("xg-enter","",{},"xgplayer-enter");if(e&&e instanceof window.HTMLElement)t.appendChild(e);else if(e&&"string"==typeof e)t.innerHTML=e;else{for(var a="",r=1;r<=12;r++)a+='<div class="xgplayer-enter-bar'.concat(r,'"></div>');t.innerHTML='<div class="xgplayer-enter-spinner">'.concat(a,"</div>")}return t}}],[{key:"pluginName",get:function(){return"enter"}},{key:"defaultConfig",get:function(){return{innerHtml:"",logo:""}}}]),a}(),MiniScreenIcon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){this.getMini=this.getMini.bind(this),this.exitMini=this.exitMini.bind(this),this.bind("click",this.getMini)}},{key:"getMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"exitMini",value:function(){this.config.onClick&&this.config.onClick()}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.getMini)}},{key:"render",value:function(){var e="MINISCREEN";return'\n <xg-icon class="xgplayer-miniicon">\n <div class="xgplayer-icon btn-text"><span class="icon-text" lang-key="'.concat(this.i18nKeys[e],'">').concat(this.i18n[e],"</span></div>\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"miniscreenIcon"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:10}}}]),a}();function getStyleSize(e){var t=parseFloat(e);return-1===e.indexOf("%")&&!Number.isNaN(t)&&t}var measurements=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],measurementsLength=measurements.length;function getZeroSize(){for(var e={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},t=0;t<measurementsLength;t++){e[measurements[t]]=0}return e}function getStyle(e){return window.getComputedStyle(e)}function getSize(e){if("string"==typeof e&&(e=document.querySelector(e)),e&&"object"===_typeof$1(e)&&e.nodeType){var t=getStyle(e);if("none"===t.display)return getZeroSize();var a={};a.width=e.offsetWidth,a.height=e.offsetHeight;for(var r=a.isBorderBox="border-box"===t.boxSizing,n=0;n<measurementsLength;n++){var i=measurements[n],c=t[i],o=parseFloat(c);a[i]=Number.isNaN(o)?0:o}var s=a.paddingLeft+a.paddingRight,u=a.paddingTop+a.paddingBottom,d=a.marginLeft+a.marginRight,b=a.marginTop+a.marginBottom,f=a.borderLeftWidth+a.borderRightWidth,l=a.borderTopWidth+a.borderBottomWidth,h=r,p=getStyleSize(t.width);!1!==p&&(a.width=p+(h?0:s+f));var y=getStyleSize(t.height);return!1!==y&&(a.height=y+(h?0:u+l)),a.innerWidth=a.width-(s+f),a.innerHeight=a.height-(u+l),a.outerWidth=a.width+d,a.outerHeight=a.height+b,a}}function getTouch$1(e,t){for(var a=0;a<e.length;a++){var r=e[a];if(r.identifier===t)return r}}var EVENTS$2={START:"dragStart",MOVE:"dragMove",ENDED:"dragEnded"},POST_START_EVENTS={mousedown:["mousemove","mouseup"],touchstart:["touchmove","touchend","touchcancel"],pointerdown:["pointermove","pointerup","pointercancel"]},Draggabilly=function(e){_inherits$1(a,EventEmitter);var t=_createSuper$1(a);function a(e){var r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _classCallCheck$1(this,a),(r=t.call(this)).isEnabled=!0,r.isDragging=!1,r.isDown=!1,r.position={},r.downPoint={},r.dragPoint={x:0,y:0},r.startPos={x:0,y:0},r._root=e instanceof Element?e:document.querySelector(e),r._handlerDom=n.handle instanceof Element?n.handle:document.querySelector(n.handle),r._root&&r._handlerDom?(r._bindStartEvent(),r):_possibleConstructorReturn$1(r)}return _createClass$1(a,[{key:"_bindStartEvent",value:function(){var e=this;"ontouchstart"in window?this._startKey="touchstart":this._startKey="mousedown",this["on".concat(this._startKey)]=this["on".concat(this._startKey)].bind(this),this._handlerDom.addEventListener(this._startKey,this["on".concat(this._startKey)]),POST_START_EVENTS[this._startKey].map((function(t){e["on".concat(t)]=e["on".concat(t)].bind(e)}))}},{key:"_unbindStartEvent",value:function(){this._handlerDom.removeEventListener(this._startKey,this["on".concat(this._startKey)])}},{key:"_bindPostStartEvents",value:function(e){var t=this;if(e){var a=POST_START_EVENTS[this._startKey];a.map((function(e){window.addEventListener(e,t["on".concat(e)])})),this._boundPointerEvents=a}}},{key:"_unbindPostStartEvents",value:function(){var e=this;this._boundPointerEvents&&(this._boundPointerEvents.map((function(t){window.removeEventListener(t,e["on".concat(t)])})),delete this._boundPointerEvents)}},{key:"enable",value:function(){this.isEnabled=!0}},{key:"disable",value:function(){this.isEnabled=!1,this.isDragging&&this.onUp()}},{key:"onDocUp",value:function(e){this.onUp()}},{key:"animate",value:function(){var e=this;this.isDragging&&(this.positionDrag(),window.requestAnimationFrame((function(){e.animate()})))}},{key:"positionDrag",value:function(){var e="translate3d(".concat(this.dragPoint.x,"px, ").concat(this.dragPoint.y,"px, 0)");this._root.style.transform=e,this._root.style.webKitTransform=e}},{key:"setLeftTop",value:function(){this._root.style.left=this.position.x+"px",this._root.style.top=this.position.y+"px"}},{key:"onmousedown",value:function(e){this.dragStart(e,e)}},{key:"onmousemove",value:function(e){this.dragMove(e,e)}},{key:"onmouseup",value:function(e){this.dragEnd(e,e)}},{key:"ontouchstart",value:function(e){var t=e.changedTouches[0];this.dragStart(e,t),this.touchIdentifier=void 0!==t.pointerId?t.pointerId:t.identifier,e.preventDefault()}},{key:"ontouchmove",value:function(e){var t=getTouch$1(e.changedTouches,this.touchIdentifier);t&&this.dragMove(e,t)}},{key:"ontouchend",value:function(e){var t=getTouch$1(e.changedTouches,this.touchIdentifier);t&&this.dragEnd(e,t),e.preventDefault()}},{key:"ontouchcancel",value:function(e){var t=getTouch$1(e.changedTouches,this.touchIdentifier);t&&this.dragCancel(e,t)}},{key:"dragStart",value:function(e,t){if(this._root&&!this.isDown&&this.isEnabled){this.downPoint=t,this.dragPoint.x=0,this.dragPoint.y=0,this._getPosition();var a=getSize(this._root);this.startPos.x=this.position.x,this.startPos.y=this.position.y,this.startPos.maxY=window.innerHeight-a.height,this.startPos.maxX=window.innerWidth-a.width,this.setLeftTop(),this.isDown=!0,this._bindPostStartEvents(e)}}},{key:"dragRealStart",value:function(e,t){this.isDragging=!0,this.animate(),this.emit(EVENTS$2.START,this.startPos)}},{key:"dragEnd",value:function(e,t){this._root&&(this._unbindPostStartEvents(),this.isDragging&&(this._root.style.transform="",this.setLeftTop(),this.emit(EVENTS$2.ENDED)),this.presetInfo())}},{key:"_dragPointerMove",value:function(e,t){var a={x:t.pageX-this.downPoint.pageX,y:t.pageY-this.downPoint.pageY};return!this.isDragging&&this.hasDragStarted(a)&&this.dragRealStart(e,t),a}},{key:"dragMove",value:function(e,t){if(e=e||window.event,this.isDown){var a=this.startPos,r=a.x,n=a.y,i=this._dragPointerMove(e,t),c=i.x,o=i.y;c=this.checkContain("x",c,r),o=this.checkContain("y",o,n),this.position.x=r+c,this.position.y=n+o,this.dragPoint.x=c,this.dragPoint.y=o,this.emit(EVENTS$2.MOVE,this.position)}}},{key:"dragCancel",value:function(e,t){this.dragEnd(e,t)}},{key:"presetInfo",value:function(){this.isDragging=!1,this.startPos={x:0,y:0},this.dragPoint={x:0,y:0},this.isDown=!1}},{key:"destroy",value:function(){this._unbindStartEvent(),this._unbindPostStartEvents(),this.isDragging&&this.dragEnd(),this.removeAllListeners(),this._handlerDom=null}},{key:"hasDragStarted",value:function(e){return Math.abs(e.x)>3||Math.abs(e.y)>3}},{key:"checkContain",value:function(e,t,a){return t+a<0?0-a:"x"===e&&t+a>this.startPos.maxX?this.startPos.maxX-a:"y"===e&&t+a>this.startPos.maxY?this.startPos.maxY-a:t}},{key:"_getPosition",value:function(){var e=window.getComputedStyle(this._root),t=this._getPositionCoord(e.left,"width"),a=this._getPositionCoord(e.top,"height");this.position.x=Number.isNaN(t)?0:t,this.position.y=Number.isNaN(a)?0:a,this._addTransformPosition(e)}},{key:"_addTransformPosition",value:function(e){var t=e.transform;if(0===t.indexOf("matrix")){var a=t.split(","),r=0===t.indexOf("matrix3d")?12:4,n=parseInt(a[r],10),i=parseInt(a[r+1],10);this.position.x+=n,this.position.y+=i}}},{key:"_getPositionCoord",value:function(e,t){if(-1!==e.indexOf("%")){var a=getSize(this._root.parentNode);return a?parseFloat(e)/100*a[t]:0}return parseInt(e,10)}}]),a}(),MiniScreen=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;_classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onCancelClick",(function(e){r.exitMini(),r.isClose=!0})),_defineProperty$1(_assertThisInitialized$1(r),"onCenterClick",(function(e){var t=_assertThisInitialized$1(r).player;t.paused?t.play():t.pause()})),_defineProperty$1(_assertThisInitialized$1(r),"onScroll",(function(e){if(!(!window.scrollY&&0!==window.scrollY||Math.abs(window.scrollY-r.pos.scrollY)<50)){var t=parseInt(util.getCss(r.player.root,"height"));t+=r.config.scrollTop,r.pos.scrollY=window.scrollY,window.scrollY>t+5?!r.isMini&&!r.isClose&&r.getMini():window.scrollY<=t&&(r.isMini&&r.exitMini(),r.isClose=!1)}})),r.isMini=!1,r.isClose=!1;var n=_assertThisInitialized$1(r).config;return r.pos={left:n.left<0?window.innerWidth-n.width-20:n.left,top:n.top<0?window.innerHeight-n.height-20:n.top,height:r.config.height,width:r.config.width,scrollY:window.scrollY||0},r.lastStyle=null,r}return _createClass$1(a,[{key:"beforeCreate",value:function(e){"boolean"==typeof e.player.config.mini&&(e.config.isShowIcon=e.player.config.mini)}},{key:"afterCreate",value:function(){var e=this;this.initIcons(),this.on(PAUSE,(function(){e.setAttr("data-state","pause")})),this.on(PLAY,(function(){e.setAttr("data-state","play")}))}},{key:"onPluginsReady",value:function(){var e=this,t=this.player;if(!this.config.disable){if(this.config.isShowIcon){var a={config:{onClick:function(){e.getMini()}}};t.controls.registerPlugin(MiniScreenIcon,a,MiniScreenIcon.pluginName)}var r=util.checkTouchSupport()?"touchend":"click";this.bind(".mini-cancel-btn",r,this.onCancelClick),this.bind(".play-icon",r,this.onCenterClick),this.config.disableDrag||(this._draggabilly=new Draggabilly(this.player.root,{handle:this.root})),this.config.isScrollSwitch&&window.addEventListener("scroll",this.onScroll)}}},{key:"registerIcons",value:function(){return{play:{icon:PlayIcon,class:"xg-icon-play"},pause:{icon:PauseIcon,class:"xg-icon-pause"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".play-icon",e.play),this.appendChild(".play-icon",e.pause)}},{key:"getMini",value:function(){var e=this;if(!this.isMini){var t=this.player,a=this.playerConfig,r=this.config.target||this.player.root;this.lastStyle={},util.addClass(t.root,"xgplayer-mini"),["width","height","top","left"].map((function(t){e.lastStyle[t]=r.style[t],r.style[t]="".concat(e.pos[t],"px")})),a.fluid&&(r.style["padding-top"]=""),this.emit(MINI_STATE_CHANGE,!0),t.isMini=this.isMini=!0}}},{key:"exitMini",value:function(){var e=this;if(!this.isMini)return!1;var t=this.player,a=this.playerConfig,r=this.config.target||this.player.root;util.removeClass(t.root,"xgplayer-mini"),this.lastStyle&&Object.keys(this.lastStyle).map((function(t){r.style[t]=e.lastStyle[t]})),this.lastStyle=null,a.fluid&&(t.root.style.width="100%",t.root.style.height="0",t.root.style["padding-top"]="".concat(100*a.height/a.width,"%")),this.emit(MINI_STATE_CHANGE,!1),this.isMini=t.isMini=!1}},{key:"updatePos",value:function(e){this.pos=Object.assign(this.pos,e),this.isMini&&(this.player.root.style.left="".concat(this.pos.left,"px"),this.player.root.style.top="".concat(this.pos.top,"px"),this.player.root.style.width="".concat(this.pos.width,"px"),this.player.root.style.height="".concat(this.pos.height,"px"))}},{key:"destroy",value:function(){window.removeEventListener("scroll",this.onScroll);var e=util.checkTouchSupport()?"touchend":"click";this.unbind(".mini-cancel-btn",e,this.onCancelClick),this.unbind(".play-icon",e,this.onCenterClick),this._draggabilly&&this._draggabilly.destroy(),this._draggabilly=null,this.exitMini()}},{key:"render",value:function(){if(!this.config.disable)return'\n <xg-mini-layer class="xg-mini-layer">\n <xg-mini-header class="xgplayer-mini-header">\n '.concat(xgIconTips(this,"MINI_DRAG",this.playerConfig.isHideTips),'\n </xg-mini-header>\n <div class="mini-cancel-btn">\n <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20">\n <path fill="#fff" fill-rule="evenodd" d="M3.99 3.49a1 1 0 0 1 1.414 0L10 8.085l4.596-4.595a1 1 0 1 1 1.414 1.414L11.414 9.5l4.596 4.596a1 1 0 0 1 .084 1.32l-.084.094a1 1 0 0 1-1.414 0L10 10.914 5.404 15.51a1 1 0 0 1-1.414-1.414L8.585 9.5 3.99 4.904a1 1 0 0 1-.084-1.32z"></path>\n </svg>\n </div>\n <div class="play-icon">\n </div>\n </xg-mini-layer>')}}],[{key:"pluginName",get:function(){return"miniscreen"}},{key:"defaultConfig",get:function(){return{index:10,disable:!1,width:320,height:180,left:-1,top:-1,isShowIcon:!1,isScrollSwitch:!1,scrollTop:0,disableDrag:!1}}}]),a}(),MOUSE_EVENTS={mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousemove:"onMouseMove"},HOOKS$1=["videoClick","videoDbClick"],PCPlugin=function(e){_inherits$1(a,BasePlugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onMouseMove",(function(t){if(e._isMobileTouchActive())null==t||t.stopImmediatePropagation();else{var a=_assertThisInitialized$1(e),r=a.player,n=a.playerConfig;r.isActive||(r.focus({autoHide:!n.closeDelayBlur}),!n.closeFocusVideoFocus&&r.media.focus())}})),_defineProperty$1(_assertThisInitialized$1(e),"onMouseEnter",(function(t){if(e._isMobileTouchActive())null==t||t.stopImmediatePropagation();else{var a=_assertThisInitialized$1(e),r=a.playerConfig,n=a.player;!r.closeFocusVideoFocus&&n.media.focus(),r.closeDelayBlur?n.focus({autoHide:!1}):n.focus(),e.emit(ENTER_PLAYER)}})),_defineProperty$1(_assertThisInitialized$1(e),"onMouseLeave",(function(t){if(e._isMobileTouchActive())null==t||t.stopImmediatePropagation();else{var a=e.playerConfig,r=a.closePlayerBlur,n=a.leavePlayerTime,i=a.closeDelayBlur;r||i||(n?e.player.focus({autoHide:!0,delay:n}):e.player.blur({ignorePaused:!0})),e.emit(LEAVE_PLAYER)}})),_defineProperty$1(_assertThisInitialized$1(e),"onVideoClick",(function(t){var a=_assertThisInitialized$1(e),r=a.player,n=a.playerConfig;t.target&&n.closeVideoClick||t.target!==r.root&&t.target!==r.media&&t.target!==r.innerContainer&&t.target!==r.media.__canvas||(t.preventDefault(),n.closeVideoStopPropagation||t.stopPropagation(),e._clickCount++,e.clickTimer&&(clearTimeout(e.clickTimer),e.clickTimer=null),e.clickTimer=setTimeout((function(){e._clickCount&&(e._clickCount--,runHooks(_assertThisInitialized$1(e),HOOKS$1[0],(function(t,a){e.switchPlayPause(a.e)}),{e:t,paused:r.paused}),clearTimeout(e.clickTimer),e.clickTimer=null)}),300))})),_defineProperty$1(_assertThisInitialized$1(e),"onVideoDblClick",(function(t){var a=_assertThisInitialized$1(e),r=a.player,n=a.playerConfig;n.closeVideoDblclick||!t.target||t.target!==r.media&&t.target!==r.media.__canvas||(!n.closeVideoClick&&e._clickCount<2?e._clickCount=0:(e._clickCount=0,e.clickTimer&&(clearTimeout(e.clickTimer),e.clickTimer=null),t.preventDefault(),t.stopPropagation(),runHooks(_assertThisInitialized$1(e),HOOKS$1[1],(function(t,a){e.emitUserAction(a.e,"switch_fullscreen",{props:"fullscreen",from:r.fullscreen,to:!r.fullscreen}),r.fullscreen?r.exitFullscreen():r.getFullscreen()}),{e:t,fullscreen:r.fullscreen})))})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this._clickCount=0,HOOKS$1.map((function(t){e.__hooks[t]=null})),"mobile"===this.playerConfig.isMobileSimulateMode||"mobile"===sniffer.device&&!sniffer.os.isIpad||this.initEvents()}},{key:"initEvents",value:function(){var e=this,t=this.player,a=t.media,r=t.root,n=this.playerConfig.enableContextmenu;r&&r.addEventListener("click",this.onVideoClick,!1),r&&r.addEventListener("dblclick",this.onVideoDblClick,!1),Object.keys(MOUSE_EVENTS).map((function(t){r.addEventListener(t,e[MOUSE_EVENTS[t]],!1)})),!n&&a&&a.addEventListener("contextmenu",this.onContextmenu,!1)}},{key:"_isMobileTouchActive",value:function(){var e,t,a=null===(e=this.player)||void 0===e||null===(t=e.plugins)||void 0===t?void 0:t.mobile;return!!a&&!0===a._isTouchActive}},{key:"switchPlayPause",value:function(e){var t=this.player;this.emitUserAction(e,"switch_play_pause",{props:"paused",from:t.paused,to:!t.paused}),t.ended?t.duration!==1/0&&t.duration>0&&t.replay():t.paused?t.play():t.pause()}},{key:"onContextmenu",value:function(e){(e=e||window.event).preventDefault&&e.preventDefault(),e.stopPropagation?e.stopPropagation():(e.returnValue=!1,e.cancelBubble=!0)}},{key:"destroy",value:function(){var e=this,t=this.player,a=t.video,r=t.root;this.clickTimer&&clearTimeout(this.clickTimer),r.removeEventListener("click",this.onVideoClick,!1),r.removeEventListener("dblclick",this.onVideoDblClick,!1),a.removeEventListener("contextmenu",this.onContextmenu,!1),Object.keys(MOUSE_EVENTS).map((function(t){r.removeEventListener(t,e[MOUSE_EVENTS[t]],!1)}))}}],[{key:"pluginName",get:function(){return"pc"}},{key:"defaultConfig",get:function(){return{}}}]),a}(),EVENTS$1={PRESS:"press",PRESS_END:"pressend",DOUBlE_CLICK:"doubleclick",CLICK:"click",TOUCH_MOVE:"touchmove",TOUCH_START:"touchstart",TOUCH_END:"touchend"},TOUCHS={start:"touchstart",end:"touchend",move:"touchmove",cancel:"touchcancel"},MOUSES={start:"mousedown",end:"mouseup",move:"mousemove",cancel:"mouseleave"};function getTouch(e){return e&&e.length>0?e[e.length-1]:null}function getDefaultConfig(){return{pressDelay:600,dbClickDelay:200,disablePress:!1,disableDbClick:!1,miniStep:2,needPreventDefault:!0}}var Touche=function(){function e(t){var a=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{eventType:"touch"};_classCallCheck$1(this,e),_defineProperty$1(this,"onTouchStart",(function(e){var t=a._pos,r=a.root,n=getTouch(e.touches);t.x=n?parseInt(n.pageX,10):e.pageX,t.y=n?parseInt(n.pageX,10):e.pageX,t.start=!0,a.__setPress(e),r.addEventListener(a.events.end,a.onTouchEnd),r.addEventListener(a.events.cancel,a.onTouchCancel),r.addEventListener(a.events.move,a.onTouchMove),a.trigger(EVENTS$1.TOUCH_START,e)})),_defineProperty$1(this,"onTouchCancel",(function(e){a.onTouchEnd(e)})),_defineProperty$1(this,"onTouchEnd",(function(e){var t=a._pos,r=a.root;a.__clearPress(),r.removeEventListener(a.events.cancel,a.onTouchCancel),r.removeEventListener(a.events.end,a.onTouchEnd),r.removeEventListener(a.events.move,a.onTouchMove),e.moving=t.moving,e.press=t.press,t.press&&a.trigger(EVENTS$1.PRESS_END,e),a.trigger(EVENTS$1.TOUCH_END,e),!t.press&&!t.moving&&a.__setDb(e),t.press=!1,t.start=!1,t.moving=!1})),_defineProperty$1(this,"onTouchMove",(function(e){var t=a._pos,r=a.config,n=getTouch(e.touches),i=n?parseInt(n.pageX,10):e.pageX,c=n?parseInt(n.pageY,10):e.pageX,o=i-t.x,s=c-t.y;Math.abs(s)<r.miniStep&&Math.abs(o)<r.miniStep||(a.__clearPress(),t.press&&a.trigger(EVENTS$1.PRESS_END,e),t.press=!1,t.moving=!0,a.trigger(EVENTS$1.TOUCH_MOVE,e))})),this._pos={moving:!1,start:!1,x:0,y:0},this.config=getDefaultConfig(),Object.keys(r).map((function(e){a.config[e]=r[e]})),this.root=t,this.events="mouse"===r.eventType?MOUSES:TOUCHS,this.pressIntrvalId=null,this.dbIntrvalId=null,this.__handlers={},this._initEvent()}return _createClass$1(e,[{key:"_initEvent",value:function(){this.root.addEventListener(this.events.start,this.onTouchStart)}},{key:"__setPress",value:function(e){var t=this,a=this.config;this.pressIntrvalId&&this.__clearPress(),this.pressIntrvalId=setTimeout((function(){t.trigger(EVENTS$1.PRESS,e),t._pos.press=!0,t.__clearPress()}),a.pressDelay)}},{key:"__clearPress",value:function(){window.clearTimeout(this.pressIntrvalId),this.pressIntrvalId=null}},{key:"__setDb",value:function(e){var t=this,a=this.config;if(this.dbIntrvalId)return this.__clearDb(),void this.trigger(EVENTS$1.DOUBlE_CLICK,e);this.dbIntrvalId=setTimeout((function(){t.__clearDb(),t._pos.start||t._pos.press||t._pos.moving||t.trigger(EVENTS$1.CLICK,e)}),a.dbClickDelay)}},{key:"__clearDb",value:function(){clearTimeout(this.dbIntrvalId),this.dbIntrvalId=null}},{key:"on",value:function(e,t){this.__handlers[e]||(this.__handlers[e]=[]),this.__handlers[e].push(t)}},{key:"off",value:function(e,t){if(this.__handlers[e]){for(var a=this.__handlers[e],r=-1,n=0;n<a.length;n++)if(a[n]===t){r=n;break}r>=0&&this.__handlers[e].splice(r,1)}}},{key:"trigger",value:function(e,t){this.__handlers[e]&&this.__handlers[e].map((function(a){try{a(t)}catch(t){console.error("trigger>>:".concat(e),t)}}))}},{key:"destroy",value:function(){var e=this,t={touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"};Object.keys(t).forEach((function(a){e.root.removeEventListener(a,e[t[a]])}))}}]),e}();function SeekTipIcon(){return(new DOMParser).parseFromString('<svg width="20" height="9" viewBox="0 0 8 9" fill="none" xmlns="http://www.w3.org/2000/svg"\n xmlns:xlink="http://www.w3.org/1999/xlink">\n <path opacity="0.54"\n d="M7.5 3.63397C8.16667 4.01887 8.16667 4.98113 7.5 5.36603L1.5 8.83013C0.833334 9.21503 0 8.7339 0 7.9641L0 1.0359C0 0.266098 0.833333 -0.215027 1.5 0.169873L7.5 3.63397Z"\n fill="white" />\n <path transform="translate(5 0)" d="M7.5 3.63397C8.16667 4.01887 8.16667 4.98113 7.5 5.36603L1.5 8.83013C0.833334 9.21503 0 8.7339 0 7.9641L0 1.0359C0 0.266098 0.833333 -0.215027 1.5 0.169873L7.5 3.63397Z" fill="white"/>\n</svg>',"image/svg+xml").firstChild}var ACTIONS={AUTO:"auto",SEEKING:"seeking",PLAYBACK:"playbackrate",LIGHT:""},HOOKS=["videoClick","videoDbClick"],MobilePlugin=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onTouchStart",(function(e){var t=_assertThisInitialized$1(r),a=t.player,n=t.config,i=t.pos,c=t.playerConfig,o=r.getTouche(e);if(r._isTouchActive=!0,r.touchActiveTimer&&(clearTimeout(r.touchActiveTimer),r.touchActiveTimer=null),o&&!n.disableGesture&&r.duration>0&&!a.ended){i.isStart=!0,r.timer&&clearTimeout(r.timer),util.checkIsFunction(c.disableSwipeHandler)&&c.disableSwipeHandler(),r.find(".xg-dur").innerHTML=util.format(r.duration);var s=r.root.getBoundingClientRect();90===a.rotateDeg?(i.top=s.left,i.left=s.top,i.width=s.height,i.height=s.width):(i.top=s.top,i.left=s.left,i.width=s.width,i.height=s.height);var u=parseInt(o.pageX-i.left,10),d=parseInt(o.pageY-i.top,10);i.x=90===a.rotateDeg?d:u,i.y=90===a.rotateDeg?u:d,i.scopeL=n.scopeL*i.width,i.scopeR=(1-n.scopeR)*i.width,i.scopeM1=i.width*(1-n.scopeM)/2,i.scopeM2=i.width-i.scopeM1}})),_defineProperty$1(_assertThisInitialized$1(r),"onTouchMove",(function(e){var t=r.getTouche(e),a=_assertThisInitialized$1(r),n=a.pos,i=a.config,c=a.player;if(t&&!i.disableGesture&&r.duration&&n.isStart){var o=i.miniMoveStep,s=i.hideControlsActive,u=parseInt(t.pageX-n.left,10),d=parseInt(t.pageY-n.top,10),b=90===c.rotateDeg?d:u,f=90===c.rotateDeg?u:d;if(Math.abs(b-n.x)>o||Math.abs(f-n.y)>o){var l=b-n.x,h=f-n.y,p=n.scope;if(-1===p&&(0===(p=r.checkScope(b,f,l,h,n))&&(s?c.blur():c.focus({autoHide:!1}),!n.time&&(n.time=parseInt(1e3*c.currentTime,10)+1e3*r.timeOffset)),n.scope=p),-1===p||p>0&&!i.gestureY||0===p&&!i.gestureX)return;r.executeMove(l,h,p,n.width,n.height),n.x=b,n.y=f}}})),_defineProperty$1(_assertThisInitialized$1(r),"onTouchEnd",(function(e){var t=_assertThisInitialized$1(r),a=t.player,n=t.pos,i=t.playerConfig;if(r.touchActiveTimer&&clearTimeout(r.touchActiveTimer),r.touchActiveTimer=setTimeout((function(){r._isTouchActive=!1}),10),setTimeout((function(){a.getPlugin("progress")&&a.getPlugin("progress").resetSeekState()}),10),n.isStart){n.scope>-1&&e.cancelable&&e.preventDefault();var c=r.config,o=c.disableGesture,s=c.gestureX;!o&&s?r.endLastMove(n.scope):n.time=0,n.scope=-1,r.resetPos(),util.checkIsFunction(i.enableSwipeHandler)&&i.enableSwipeHandler(),r.changeAction(ACTIONS.AUTO)}})),_defineProperty$1(_assertThisInitialized$1(r),"onRootTouchMove",(function(e){!r.config.disableGesture&&r.config.gestureX&&r.checkIsRootTarget(e)&&(e.stopPropagation(),r.pos.isStart?r.onTouchMove(e):r.onTouchStart(e))})),_defineProperty$1(_assertThisInitialized$1(r),"onRootTouchEnd",(function(e){r.pos.scope>-1&&r.onTouchEnd(e)})),r.pos={isStart:!1,x:0,y:0,time:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1},r.timer=null,r._isTouchActive=!1,r}return _createClass$1(a,[{key:"duration",get:function(){return this.playerConfig.customDuration||this.player.duration}},{key:"timeOffset",get:function(){return this.playerConfig.timeOffset||0}},{key:"registerIcons",value:function(){return{seekTipIcon:{icon:SeekTipIcon,class:"xg-seek-pre"}}}},{key:"afterCreate",value:function(){var e=this;HOOKS.map((function(t){e.__hooks[t]=null}));var t=this.playerConfig,a=this.config,r=this.player;!0===t.closeVideoDblclick&&(a.closedbClick=!0),this.resetPos(),util.isUndefined(t.disableGesture)||(a.disableGesture=!!t.disableGesture),this.appendChild(".xg-seek-icon",this.icons.seekTipIcon),this.xgMask=util.createDom("xg-mask","",{},"xgmask"),r.root.appendChild(this.xgMask),this.initCustomStyle(),this.registerThumbnail();var n="mouse"===this.domEventType?"mouse":"touch";this.touch=new Touche(this.root,{eventType:n,needPreventDefault:!this.config.disableGesture}),this.root.addEventListener("contextmenu",(function(e){e.preventDefault()})),r.root.addEventListener("touchmove",this.onRootTouchMove,!0),r.root.addEventListener("touchend",this.onRootTouchEnd,!0),r.root.addEventListener("touchcancel",this.onRootTouchEnd,!0);var i=this.player.controls;i&&i.center&&(i.center.addEventListener("touchmove",this.onRootTouchMove,!0),i.center.addEventListener("touchend",this.onRootTouchEnd,!0),i.center.addEventListener("touchcancel",this.onRootTouchEnd,!0)),this.on(DURATION_CHANGE,(function(){var t=e.player,a=e.config;t.duration>0&&1e3*t.duration<a.moveDuration&&(a.moveDuration=1e3*t.duration)})),this.on([CANPLAY,ENDED],(function(){var t=e.pos,a=t.time;!t.isStart&&a>0&&(e.pos.time=0)}));var c={touchstart:"onTouchStart",touchmove:"onTouchMove",touchend:"onTouchEnd",press:"onPress",pressend:"onPressEnd",click:"onClick",doubleclick:"onDbClick"};if(Object.keys(c).map((function(t){e.touch.on(t,(function(a){e[c[t]](a)}))})),!a.disableActive){var o=r.plugins.progress;o&&(o.addCallBack("dragmove",(function(t){e.activeSeekNote(t.currentTime,t.forward)})),["dragend","click"].forEach((function(t){o.addCallBack(t,(function(){e.changeAction(ACTIONS.AUTO)}))})))}}},{key:"registerThumbnail",value:function(){var e=this.player.plugins.thumbnail;if(e&&e.usable){this.thumbnail=e.createThumbnail(null,"mobile-thumbnail");var t=this.find(".time-preview");t.insertBefore(this.thumbnail,t.children[0])}}},{key:"initCustomStyle",value:function(){var e=(this.playerConfig||{}).commonStyle,t=e.playedColor,a=e.progressColor,r=e.timePreviewStyle,n=e.curTimeColor,i=e.durationColor;if(t&&(this.find(".xg-curbar").style.backgroundColor=t),a&&(this.find(".xg-bar").style.backgroundColor=a),r){var c=this.find(".time-preview");Object.keys(r).forEach((function(e){c.style[e]=r[e]}))}var o=n||t,s=i;o&&(this.find(".xg-cur").style.color=o),s&&(this.find(".xg-dur").style.color=s),this.config.disableTimeProgress&&util.addClass(this.find(".xg-timebar"),"hide")}},{key:"resetPos",value:function(){var e=this;this.pos?(this.pos.isStart=!1,this.pos.scope=-1,["x","y","width","height","scopeL","scopeR","scopeM1","scopeM2"].map((function(t){e.pos[t]=0}))):this.pos={isStart:!1,x:0,y:0,volume:0,rate:1,light:0,width:0,height:0,scopeL:0,scopeR:0,scopeM1:0,scopeM2:0,scope:-1,time:0}}},{key:"changeAction",value:function(e){var t=this.player;this.root.setAttribute("data-xg-action",e);var a=t.plugins.start;a&&a.recover()}},{key:"getTouche",value:function(e){this.player.rotateDeg;var t=e.touches&&e.touches.length>0?e.touches[e.touches.length-1]:e;return{pageX:t.pageX,pageY:t.pageY}}},{key:"checkScope",value:function(e,t,a,r,n){var i=n.width,c=-1;if(e<0||e>i)return c;var o=0===r?Math.abs(a):Math.abs(a/r);return Math.abs(a)>0&&o>=1.73&&e>n.scopeM1&&e<n.scopeM2?c=0:(0===Math.abs(a)||o<=.57)&&(c=e<n.scopeL?1:e>n.scopeR?2:3),c}},{key:"executeMove",value:function(e,t,a,r,n){switch(a){case 0:this.updateTime(e/r*this.config.scopeM);break;case 1:this.updateBrightness(t/n);break;case 2:sniffer.os.isIos||this.updateVolume(t/n)}}},{key:"endLastMove",value:function(e){var t=this,a=this.pos,r=this.player,n=this.config,i=(a.time-this.timeOffset)/1e3;if(0===e)r.seek(Number(i).toFixed(1)),n.hideControlsEnd?r.blur():r.focus(),this.timer=setTimeout((function(){t.pos.time=0}),500);this.changeAction(ACTIONS.AUTO)}},{key:"checkIsRootTarget",value:function(e){var t=this.player.plugins||{};return(!t.progress||!t.progress.root.contains(e.target))&&(t.start&&t.start.root.contains(e.target)||t.controls&&t.controls.root.contains(e.target))}},{key:"sendUseAction",value:function(e){var t=this.player.paused;this.emitUserAction(e,"switch_play_pause",{prop:"paused",from:t,to:!t})}},{key:"clickHandler",value:function(e){var t=this.player,a=this.config,r=this.playerConfig;t.state<STATES.RUNNING?r.closeVideoClick||(this.sendUseAction(util.createEvent("click")),t.play()):!a.closedbClick||r.closeVideoClick?t.isActive?t.blur():t.focus():r.closeVideoClick||((t.isActive||a.focusVideoClick)&&(this.sendUseAction(util.createEvent("click")),this.switchPlayPause()),t.focus())}},{key:"dbClickHandler",value:function(e){var t=this.config,a=this.player;!t.closedbClick&&a.state>=STATES.RUNNING&&(this.sendUseAction(util.createEvent("dblclick")),this.switchPlayPause())}},{key:"onClick",value:function(e){var t=this,a=this.player;runHooks(this,HOOKS[0],(function(e,a){t.clickHandler(a.e)}),{e:e,paused:a.paused})}},{key:"onDbClick",value:function(e){var t=this,a=this.player;runHooks(this,HOOKS[1],(function(e,a){t.dbClickHandler(a.e)}),{e:e,paused:a.paused})}},{key:"onPress",value:function(e){var t=this.pos,a=this.config,r=this.player;a.disablePress||(t.rate=this.player.playbackRate,this.emitUserAction("press","change_rate",{prop:"playbackRate",from:r.playbackRate,to:a.pressRate}),r.playbackRate=a.pressRate,this.changeAction(ACTIONS.PLAYBACK))}},{key:"onPressEnd",value:function(e){var t=this.pos,a=this.config,r=this.player;a.disablePress||(this.emitUserAction("pressend","change_rate",{prop:"playbackRate",from:r.playbackRate,to:t.rate}),r.playbackRate=t.rate,t.rate=1,this.changeAction(ACTIONS.AUTO))}},{key:"updateTime",value:function(e){var t=this.player,a=this.config,r=this.player.duration;e=Number(e.toFixed(4));var n=parseInt(e*a.moveDuration,10)+this.timeOffset;n=(n+=this.pos.time)<0?0:n>1e3*r?1e3*r-200:n,t.getPlugin("time")&&t.getPlugin("time").updateTime(n/1e3),t.getPlugin("progress")&&t.getPlugin("progress").updatePercent(n/1e3/this.duration,!0),this.activeSeekNote(n/1e3,e>0),a.isTouchingSeek&&t.seek(Number((n-this.timeOffset)/1e3).toFixed(1)),this.pos.time=n}},{key:"updateVolume",value:function(e){this.player.rotateDeg&&(e=-e);var t=this.player,a=this.pos;if(e=parseInt(100*e,10),a.volume+=e,!(Math.abs(a.volume)<10)){var r=parseInt(10*t.volume,10)-parseInt(a.volume/10,10);r=r>10?10:r<1?0:r,t.volume=r/10,a.volume=0}}},{key:"updateBrightness",value:function(e){var t=this.pos,a=this.config,r=this.xgMask;if(a.darkness){this.player.rotateDeg&&(e=-e);var n=t.light+.8*e;n=n>a.maxDarkness?a.maxDarkness:n<0?0:n,r&&(r.style.backgroundColor="rgba(0,0,0,".concat(n,")")),t.light=n}}},{key:"activeSeekNote",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=this.player,r=this.config,n=!(this.duration!==1/0&&this.duration>0);if(e&&"number"==typeof e&&!n&&!r.disableActive){e<0?e=0:e>a.duration&&(e=a.duration-.2),this.changeAction(ACTIONS.SEEKING);var i=a.plugins.start;i&&i.focusHide(),this.find(".xg-dur").innerHTML=util.format(this.duration),this.find(".xg-cur").innerHTML=util.format(e),this.find(".xg-curbar").style.width="".concat(e/this.duration*100,"%"),t?util.removeClass(this.find(".xg-seek-show"),"xg-back"):util.addClass(this.find(".xg-seek-show"),"xg-back"),this.updateThumbnails(e)}}},{key:"updateThumbnails",value:function(e){var t=this.player.plugins.thumbnail;t&&t.usable&&this.thumbnail&&t.update(this.thumbnail,e,160,90)}},{key:"switchPlayPause",value:function(){var e=this.player;if(e.state<STATES.ATTACHED)return!1;e.ended||(e.paused?e.play():e.pause())}},{key:"disableGesture",value:function(){this.config.disableGesture=!0}},{key:"enableGesture",value:function(){this.config.disableGesture=!1}},{key:"destroy",value:function(){var e=this.player;this.timer&&clearTimeout(this.timer),this.thumbnail=null,e.root.removeChild(this.xgMask),this.xgMask=null,this.touch&&this.touch.destroy(),this.touch=null,e.root.removeEventListener("touchmove",this.onRootTouchMove,!0),e.root.removeEventListener("touchend",this.onRootTouchEnd,!0),e.root.removeEventListener("touchcancel",this.onRootTouchEnd,!0);var t=this.player.controls;t&&t.center&&(t.center.removeEventListener("touchmove",this.onRootTouchMove,!0),t.center.removeEventListener("touchend",this.onRootTouchEnd,!0),t.center.removeEventListener("touchcancel",this.onRootTouchEnd,!0))}},{key:"render",value:function(){var e="normal"!==this.config.gradient?"gradient ".concat(this.config.gradient):"gradient";return'\n <xg-trigger class="trigger">\n <div class="'.concat(e,'"></div>\n <div class="time-preview">\n <div class="xg-seek-show ').concat(this.config.disableSeekIcon?" hide-seek-icon":"",'">\n <i class="xg-seek-icon"></i>\n <span class="xg-cur">00:00</span>\n <span class="xg-separator">/</span>\n <span class="xg-dur">00:00</span>\n </div>\n <div class="xg-bar xg-timebar">\n <div class="xg-curbar"></div>\n </div>\n </div>\n <div class="xg-playbackrate xg-top-note">\n <span><i>').concat(this.config.pressRate,"X</i>").concat(this.i18n.FORWARD,"</span>\n </div>\n </xg-trigger>\n ")}}],[{key:"pluginName",get:function(){return"mobile"}},{key:"defaultConfig",get:function(){return{index:0,disableGesture:!1,gestureX:!0,gestureY:!0,gradient:"normal",isTouchingSeek:!1,miniMoveStep:5,miniYPer:5,scopeL:.25,scopeR:.25,scopeM:.9,pressRate:2,darkness:!0,maxDarkness:.8,disableActive:!1,disableTimeProgress:!1,hideControlsActive:!1,hideControlsEnd:!1,moveDuration:36e4,closedbClick:!1,disablePress:!0,disableSeekIcon:!1,focusVideoClick:!1}}}]),a}();function preventDefault(e){e.preventDefault(),e.returnValue=!1}function isDisableTag(e){var t=e.tagName;return!("INPUT"!==t&&"TEXTAREA"!==t&&!e.isContentEditable)}var Keyboard=function(e){_inherits$1(a,BasePlugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onBodyKeyDown",(function(t){if(e.player){var a=t||window.event,r=a.keyCode,n=_assertThisInitialized$1(e),i=n._keyState,c=n.player,o=e.config,s=o.disable,u=o.disableBodyTrigger,d=o.isIgnoreUserActive;s||u||!c.isUserActive&&!d||isDisableTag(a.target)||!e.checkIsVisible()||a.metaKey||a.altKey||a.ctrlKey?i.isBodyKeyDown=!1:(t.repeat||i.isKeyDown||((a.target===document.body||e.config.isGlobalTrigger&&!isDisableTag(a.target))&&e.checkCode(r,!0)&&(i.isBodyKeyDown=!0),document.addEventListener("keyup",e.onBodyKeyUp)),i.isBodyKeyDown&&e.handleKeyDown(a))}})),_defineProperty$1(_assertThisInitialized$1(e),"onBodyKeyUp",(function(t){e.player&&(document.removeEventListener("keyup",e.onBodyKeyUp),e.handleKeyUp(t))})),_defineProperty$1(_assertThisInitialized$1(e),"onKeydown",(function(t){if(e.player){var a=t||window.event,r=_assertThisInitialized$1(e)._keyState;if(!a.repeat){if(e.config.disable||e.config.disableRootTrigger||a.metaKey||a.altKey||a.ctrlKey)return;!a||37!==a.keyCode&&!e.checkCode(a.keyCode)||a.target!==e.player.root&&a.target!==e.player.video&&a.target!==e.player.controls.el||(r.isKeyDown=!0),e.player.root.addEventListener("keyup",e.onKeyup)}r.isKeyDown&&e.handleKeyDown(a)}})),_defineProperty$1(_assertThisInitialized$1(e),"onKeyup",(function(t){e.player&&(e.player.root.removeEventListener("keyup",e.onKeyup),e.handleKeyUp(t))})),e}return _createClass$1(a,[{key:"mergekeyCodeMap",value:function(){var e=this,t=this.config.keyCodeMap;t&&Object.keys(t).map((function(a){e.keyCodeMap[a]?["keyCode","action","disable","pressAction","disablePress","isBodyTarget"].map((function(r){t[a][r]&&(e.keyCodeMap[a][r]=t[a][r])})):e.keyCodeMap[a]=t[a]}))}},{key:"afterCreate",value:function(){this.config.disable=!this.playerConfig.keyShortcut;var e="function"==typeof this.config.seekStep?this.config.seekStep(this.player):this.config.seekStep;e&&"number"==typeof e&&(this.seekStep=e),this.keyCodeMap={space:{keyCode:32,action:"playPause",disable:!1,disablePress:!1,noBodyTarget:!1},up:{keyCode:38,action:"upVolume",disable:!1,disablePress:!1,noBodyTarget:!0},down:{keyCode:40,action:"downVolume",disable:!1,disablePress:!1,noBodyTarget:!0},left:{keyCode:37,action:"seekBack",disablePress:!1,disable:!1},right:{keyCode:39,action:"seek",pressAction:"changePlaybackRate",disablePress:!1,disable:!1},esc:{keyCode:27,action:"exitFullscreen",disablePress:!0,disable:!1}},this.mergekeyCodeMap(),this._keyState={isKeyDown:!1,isBodyKeyDown:!1,isPress:!1,tt:0,playbackRate:0},this.player.root.addEventListener("keydown",this.onKeydown),document.addEventListener("keydown",this.onBodyKeyDown)}},{key:"setConfig",value:function(e){var t=this;Object.keys(e).forEach((function(a){t.config[a]=e[a]}))}},{key:"checkIsVisible",value:function(){if(!this.config.checkVisible)return!0;var e=this.player.root.getBoundingClientRect(),t=e.height,a=e.top,r=e.bottom,n=window.innerHeight;return!(a<0&&a<0-.9*t||r>0&&r-n>.9*t)}},{key:"checkCode",value:function(e,t){var a=this,r=!1;return Object.keys(this.keyCodeMap).map((function(n){a.keyCodeMap[n]&&e===a.keyCodeMap[n].keyCode&&!a.keyCodeMap[n].disable&&(r=!t||t&&!a.keyCodeMap[n].noBodyTarget)})),r}},{key:"downVolume",value:function(e){var t=this.player;if(!(t.volume<=0)){var a=parseFloat((t.volume-.1).toFixed(1)),r={volume:{from:t.volume,to:a}};this.emitUserAction(e,"change_volume",{props:r}),t.volume=a>=0?a:0}}},{key:"upVolume",value:function(e){var t=this.player;if(!(t.volume>=1)){var a=parseFloat((t.volume+.1).toFixed(1)),r={volume:{from:t.volume,to:a}};this.emitUserAction(e,"change_volume",{props:r}),t.volume=a<=1?a:1}}},{key:"seek",value:function(e){var t=this.player,a=t.currentTime,r=t.offsetCurrentTime,n=t.duration,i=t.offsetDuration,c=t.timeSegments,o=r>-1?r:a,s=i||n,u=e.repeat&&this.seekStep>=4?parseInt(this.seekStep/2,10):this.seekStep;o+u<=s?o+=u:o=s;var d=util.getCurrentTimeByOffset(o,c),b={currentTime:{from:a,to:d}};this.emitUserAction(e,"seek",{props:b}),this.player.currentTime=d}},{key:"seekBack",value:function(e){var t=this.player,a=t.currentTime,r=t.offsetCurrentTime,n=t.timeSegments,i=(r>-1?r:a)-(e.repeat?parseInt(this.seekStep/2,10):this.seekStep);i<0&&(i=0);var c={currentTime:{from:a,to:i=util.getCurrentTimeByOffset(i,n)}};this.emitUserAction(e,"seek",{props:c}),this.player.currentTime=i}},{key:"changePlaybackRate",value:function(e){var t=this._keyState,a=this.config,r=this.player;0===t.playbackRate&&(t.playbackRate=r.playbackRate,r.playbackRate=a.playbackRate)}},{key:"playPause",value:function(e){var t=this.player;t&&(this.emitUserAction(e,"switch_play_pause"),t.paused?t.play():t.pause())}},{key:"exitFullscreen",value:function(e){var t=this.player,a=t.fullscreen,r=t.cssfullscreen;a&&(this.emitUserAction("keyup","switch_fullscreen",{prop:"fullscreen",from:a,to:!a}),t.exitFullscreen()),r&&(this.emitUserAction("keyup","switch_css_fullscreen",{prop:"cssfullscreen",from:r,to:!r}),t.exitCssFullscreen())}},{key:"handleKeyDown",value:function(e){var t=this._keyState;if(e.repeat){t.isPress=!0;var a=Date.now();if(a-t.tt<200)return;t.tt=a}this.handleKeyCode(e.keyCode,e,t.isPress)}},{key:"handleKeyUp",value:function(e){var t=this._keyState;t.playbackRate>0&&(this.player.playbackRate=t.playbackRate,t.playbackRate=0),t.isKeyDown=!1,t.isPress=!1,t.tt=0}},{key:"handleKeyCode",value:function(e,t,a){for(var r=Object.keys(this.keyCodeMap),n=0;n<r.length;n++){var i=this.keyCodeMap[r[n]],c=i.action,o=i.keyCode,s=i.disable,u=i.pressAction,d=i.disablePress;if(o===e){if(!(s||a&&d)){var b=a&&u||c;"function"==typeof b?c(t,this.player,a):"string"==typeof b&&"function"==typeof this[b]&&this[b](t,this.player,a),this.emit(SHORTCUT,_objectSpread2$1({key:r[n],target:t.target,isPress:a},this.keyCodeMap[r[n]]))}preventDefault(t),t.stopPropagation();break}}}},{key:"destroy",value:function(){this.player.root.removeEventListener("keydown",this.onKeydown),document.removeEventListener("keydown",this.onBodyKeyDown),this.player.root.removeEventListener("keyup",this.onKeyup),document.removeEventListener("keyup",this.onBodyKeyUp)}},{key:"disable",value:function(){this.config.disable=!0}},{key:"enable",value:function(){this.config.disable=!1}}],[{key:"pluginName",get:function(){return"keyboard"}},{key:"defaultConfig",get:function(){return{seekStep:10,checkVisible:!1,disableBodyTrigger:!1,disableRootTrigger:!1,isGlobalTrigger:!0,keyCodeMap:{},disable:!1,playbackRate:2,isIgnoreUserActive:!0}}}]),a}();function loadingIcon(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="-5 -5 110 110">\n <path d="M100,50A50,50,0,1,1,50,0" stroke-width="5" stroke="#ddd" stroke-dasharray="236" fill="none"></path>\n</svg>\n',"image/svg+xml").firstChild}var Loading=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"registerIcons",value:function(){return{loadingIcon:loadingIcon}}},{key:"afterCreate",value:function(){this.appendChild("xg-loading-inner",this.icons.loadingIcon)}},{key:"render",value:function(){return'\n <xg-loading class="xgplayer-loading">\n <xg-loading-inner></xg-loading-inner>\n </xg-loading>'}}],[{key:"pluginName",get:function(){return"loading"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.ROOT}}}]),a}(),TimeSegmentsControls=function(e){_inherits$1(a,BasePlugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_onDurationChange",(function(){e.updateSegments();var t=e.player,a=t.currentTime,r=t.timeSegments;if(e._checkIfEnabled(r)){var n=util.getIndexByTime(a,r),i=util.getOffsetCurrentTime(a,r,n);e.player.offsetCurrentTime=i,e.changeIndex(n,r)}})),_defineProperty$1(_assertThisInitialized$1(e),"_onLoadedData",(function(){var t=e.player.timeSegments;if(e._checkIfEnabled(t)){var a=util.getOffsetCurrentTime(0,t);e.player.offsetCurrentTime=a,e.changeIndex(0,t),e.curPos.start>0&&(e.player.currentTime=e.curPos.start)}})),_defineProperty$1(_assertThisInitialized$1(e),"_onTimeupdate",(function(){var t=e.player,a=t.currentTime,r=t.timeSegments;if(e._checkIfEnabled(r)){var n=r.length;e.lastCurrentTime=a;var i=util.getIndexByTime(a,r);i!==e.curIndex&&e.changeIndex(i,r);var c=util.getOffsetCurrentTime(a,r,i);if(e.player.offsetCurrentTime=c,e.curPos){var o=e.curPos,s=o.start,u=o.end;a<s?e.player.currentTime=s:a>u&&i>=n-1&&e.player.pause()}}})),_defineProperty$1(_assertThisInitialized$1(e),"_onSeeking",(function(){var t=e.player,a=t.currentTime,r=t.timeSegments;if(e._checkIfEnabled(r))if(a<r[0].start)e.player.currentTime=r[0].start;else if(a>r[r.length-1].end)e.player.currentTime=r[r.length-1].end;else{var n=util.getIndexByTime(a,r);if(n>=0){var i=e.getSeekTime(a,e.lastCurrentTime,n,r);i>=0&&(e.player.currentTime=i)}}})),_defineProperty$1(_assertThisInitialized$1(e),"_onPlay",(function(){var t=e.player,a=t.currentTime,r=t.timeSegments;e._checkIfEnabled(r)&&a>=r[r.length-1].end&&(e.player.currentTime=r[0].start)})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){this.curIndex=-1,this.curPos=null,this.lastCurrentTime=0,this.updateSegments(),this.on(DURATION_CHANGE,this._onDurationChange),this.on(LOADED_DATA,this._onLoadedData),this.on(TIME_UPDATE,this._onTimeupdate),this.on(SEEKING,this._onSeeking),this.on(PLAY,this._onPlay)}},{key:"setConfig",value:function(e){var t=this;if(e){var a=Object.keys(e);a.length<1||(a.forEach((function(a){t.config[a]=e[a]})),this.updateSegments())}}},{key:"updateSegments",value:function(){var e=this.config,t=e.disable,a=e.segments,r=this.player;if(t||!a||0===a.length)r.timeSegments=[],r.offsetDuration=0,r.offsetCurrentTime=-1;else{var n=this.formatTimeSegments(a,r.duration);r.timeSegments=n,r.offsetDuration=n.length>0?n[n.length-1].duration:0}}},{key:"formatTimeSegments",value:function(e,t){var a=[];return e?(e.sort((function(e,t){return e.start-t.start})),e.forEach((function(e,r){var n={};if(n.start=e.start<0?0:e.start,n.end=t>0&&e.end>t?t:e.end,!(t>0&&n.start>t)){a.push(n);var i=n.end-n.start;if(0===r)n.offset=e.start,n.cTime=0,n.segDuration=i,n.duration=i;else{var c=a[r-1];n.offset=c.offset+(n.start-c.end),n.cTime=c.duration+c.cTime,n.segDuration=i,n.duration=c.duration+i}}})),a):[]}},{key:"getSeekTime",value:function(e,t,a,r){var n=-1,i=r[a],c=i.start,o=i.end;if(e>=c&&e<=o)return n;var s=e-t;if(s<0&&e<c){var u=t>c?t-c:0;return n=a-1>=0?r[a-1].end+s+u:0}return-1}},{key:"_checkIfEnabled",value:function(e){return!(!e||e.length<1)}},{key:"changeIndex",value:function(e,t){this.curIndex=e,e>=0&&t.length>0?this.curPos=t[e]:this.curPos=null}}],[{key:"pluginName",get:function(){return"TimeSegmentsControls"}},{key:"defaultConfig",get:function(){return{disable:!0,segments:[]}}}]),a}();function RotateSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="-4 -6 40 40" fill="none">\n <g>\n <path transform="scale(1.5 1.5)" d="M11.6665 9.16663H4.1665C2.78579 9.16663 1.6665 10.2859 1.6665 11.6666V15.8333C1.6665 17.214 2.78579 18.3333 4.1665 18.3333H11.6665C13.0472 18.3333 14.1665 17.214 14.1665 15.8333V11.6666C14.1665 10.2859 13.0472 9.16663 11.6665 9.16663Z" fill="white"/>\n <path transform="scale(1.5 1.5)" fill-rule="evenodd" clip-rule="evenodd" d="M3.88148 4.06298C3.75371 4.21005 3.67667 4.40231 3.67749 4.61242C3.67847 4.87253 3.79852 5.10435 3.98581 5.25646L6.99111 8.05895C7.32771 8.37283 7.85502 8.35443 8.16891 8.01782C8.48279 7.68122 8.46437 7.15391 8.12778 6.84003L6.62061 5.43457L9.8198 5.4224C9.82848 5.42239 9.8372 5.42221 9.84591 5.4219C10.9714 5.38233 12.0885 5.6285 13.0931 6.13744C14.0976 6.64635 14.957 7.40148 15.5908 8.33234C16.2246 9.2632 16.6122 10.3394 16.7177 11.4606C16.823 12.5819 16.6427 13.7115 16.1934 14.7442C16.0098 15.1661 16.203 15.6571 16.6251 15.8408C17.0471 16.0243 17.5381 15.8311 17.7216 15.4091C18.2833 14.1183 18.5087 12.7063 18.3771 11.3047C18.2453 9.90318 17.7607 8.55792 16.9684 7.39433C16.1761 6.23073 15.1021 5.28683 13.8463 4.65065C12.5946 4.01651 11.203 3.70872 9.80072 3.75583L6.43415 3.76862L7.96326 2.12885C8.27715 1.79225 8.25872 1.26494 7.92213 0.951061C7.58553 0.63718 7.05822 0.655585 6.74433 0.99219L3.90268 4.0395C3.89545 4.04724 3.88841 4.05509 3.88154 4.06303L3.88148 4.06298Z" fill="white"/>\n </g>\n <defs>\n <clipPath>\n <rect width="40" height="40" fill="white"/>\n </clipPath>\n </defs>\n</svg>\n',"image/svg+xml").firstChild}var Rotate=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).rotateDeg=r.config.rotateDeg||0,r}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;if(!this.config.disable){_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.rotate),this.onBtnClick=this.onBtnClick.bind(this),this._clickTimeStamp=0,this.bind(".xgplayer-icon",["click","touchend"],this.onBtnClick),this.on(VIDEO_RESIZE,(function(){e.rotateDeg&&e.config.innerRotate&&util.setTimeout(e,(function(){e.updateRotateDeg(e.rotateDeg,e.config.innerRotate)}),100)}));var t=this.player.root;this.rootWidth=t.style.width||t.offsetWidth||t.clientWidth,this.rootHeight=t.style.height||t.offsetHeight||t.clientHeight,this.rotateDeg&&this.updateRotateDeg(this.rotateDeg,this.config.innerRotate)}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(".xgplayer-icon",["click","touchend"],this.onBtnClick)}},{key:"onBtnClick",value:function(e){var t=Date.now();t-this._clickTimeStamp<300||(this._clickTimeStamp=t,e.preventDefault(),e.stopPropagation(),this.emitUserAction(e,"rotate"),this.rotate(this.config.clockwise,this.config.innerRotate,1))}},{key:"updateRotateDeg",value:function(e,t){if(e||(e=0),t)this.player.videoRotateDeg=e;else{var a=this.player,r=this.rootWidth,n=this.rootHeight,i=a.root,c=a.innerContainer,o=a.media,s=i.offsetWidth,u=c&&t?c.offsetHeight:i.offsetHeight,d=r,b=n,f=0,l=0;.75!==e&&.25!==e||(d="".concat(u,"px"),b="".concat(s,"px"),f=-(u-s)/2,l=-(s-u)/2);var h="translate(".concat(f,"px,").concat(l,"px) rotate(").concat(e,"turn)"),p={transformOrigin:"center center",transform:h,webKitTransform:h,height:b,width:d},y=t?o:i,g=t?a.getPlugin("poster"):null;Object.keys(p).map((function(e){y.style[e]=p[e],g&&g.root&&(g.root.style[e]=p[e])}))}}},{key:"rotate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=this.player;this.rotateDeg||(this.rotateDeg=0);var n=e?1:-1;this.rotateDeg=(this.rotateDeg+1+.25*n*a)%1,this.updateRotateDeg(this.rotateDeg,t),r.emit(ROTATE,360*this.rotateDeg)}},{key:"registerIcons",value:function(){return{rotate:RotateSvg}}},{key:"render",value:function(){if(!this.config.disable)return'\n <xg-icon class="xgplayer-rotate">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"ROTATE_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"rotate"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:6,innerRotate:!0,clockwise:!1,rotateDeg:0,disable:!1}}}]),a}();function PipIcon(){return(new DOMParser).parseFromString('<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path fill-rule="evenodd" clip-rule="evenodd"\n d="M16.5 4.3H3.5C3.38954 4.3 3.3 4.38954 3.3 4.5V15.5C3.3 15.6105 3.38954 15.7 3.5 15.7H8.50005L8.50006 17.5H3.5C2.39543 17.5 1.5 16.6046 1.5 15.5V4.5C1.5 3.39543 2.39543 2.5 3.5 2.5H16.5C17.6046 2.5 18.5 3.39543 18.5 4.5V8.5H16.7V4.5C16.7 4.38954 16.6105 4.3 16.5 4.3ZM12 11.5C11.4477 11.5 11 11.9477 11 12.5L11 16.5C11 17.0523 11.4478 17.5 12 17.5H17.5C18.0523 17.5 18.5 17.0523 18.5 16.5L18.5 12.5C18.5 11.9477 18.0523 11.5 17.5 11.5H12Z"\n fill="white" />\n</svg>',"image/svg+xml").firstChild}function PipIconExit(){return(new DOMParser).parseFromString('<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path fill-rule="evenodd" clip-rule="evenodd"\n d="M16.5 4.3H3.5C3.38954 4.3 3.3 4.38954 3.3 4.5V15.5C3.3 15.6105 3.38954 15.7 3.5 15.7H8.50005L8.50006 17.5H3.5C2.39543 17.5 1.5 16.6046 1.5 15.5V4.5C1.5 3.39543 2.39543 2.5 3.5 2.5H16.5C17.6046 2.5 18.5 3.39543 18.5 4.5V8.5H16.7V4.5C16.7 4.38954 16.6105 4.3 16.5 4.3ZM12 11.5C11.4477 11.5 11 11.9477 11 12.5L11 16.5C11 17.0523 11.4478 17.5 12 17.5H17.5C18.0523 17.5 18.5 17.0523 18.5 16.5L18.5 12.5C18.5 11.9477 18.0523 11.5 17.5 11.5H12Z"\n fill="white" />\n <path fill-rule="evenodd" clip-rule="evenodd"\n d="M9.4998 7.7C9.77595 7.7 9.9998 7.47614 9.9998 7.2V6.5C9.9998 6.22386 9.77595 6 9.4998 6H5.5402L5.52754 6.00016H5.5C5.22386 6.00016 5 6.22401 5 6.50016V10.4598C5 10.7359 5.22386 10.9598 5.5 10.9598H6.2C6.47614 10.9598 6.7 10.7359 6.7 10.4598V8.83005L8.76983 10.9386C8.96327 11.1357 9.27984 11.1386 9.47691 10.9451L9.97645 10.4548C10.1735 10.2613 10.1764 9.94476 9.983 9.7477L7.97289 7.7H9.4998Z"\n fill="white" />\n</svg>',"image/svg+xml").firstChild}var PresentationMode={PIP:"picture-in-picture",INLINE:"inline",FULLSCREEN:"fullscreen"},PIP=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"switchPIP",(function(t){if(!e.isPIPAvailable())return!1;t.stopPropagation&&t.stopPropagation(),e.isPip?(e.exitPIP(),e.emitUserAction(t,"change_pip",{props:"pip",from:!0,to:!1}),e.setAttr("data-state","normal")):4===e.player.media.readyState&&(e.requestPIP(),e.emitUserAction(t,"change_pip",{props:"pip",from:!1,to:!0}),e.setAttr("data-state","pip"))})),e}return _createClass$1(a,[{key:"beforeCreate",value:function(e){"boolean"==typeof e.player.config.pip&&(e.config.showIcon=e.player.config.pip)}},{key:"afterCreate",value:function(){var e=this;this.isPIPAvailable()&&(_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.pMode=PresentationMode.INLINE,this.initPipEvents(),this.config.showIcon&&this.initIcons(),this.once(COMPLETE,(function(){e.config.showIcon&&(util.removeClass(e.find(".xgplayer-icon"),"xg-icon-disable"),e.bind("click",e.switchPIP))})))}},{key:"registerIcons",value:function(){return{pipIcon:{icon:PipIcon,class:"xg-get-pip"},pipIconExit:{icon:PipIconExit,class:"xg-exit-pip"}}}},{key:"initIcons",value:function(){var e=this.icons;this.appendChild(".xgplayer-icon",e.pipIcon),this.appendChild(".xgplayer-icon",e.pipIconExit)}},{key:"initPipEvents",value:function(){var e=this,t=this.player;this.leavePIPCallback=function(){var a=t.paused;util.setTimeout(e,(function(){!a&&t.mediaPlay()}),0),!a&&t.mediaPlay(),e.setAttr("data-state","normal"),e.pipWindow=null,t.emit(PIP_CHANGE,!1)},this.enterPIPCallback=function(a){t.emit(PIP_CHANGE,!0),null!=a&&a.pictureInPictureWindow&&(e.pipWindow=a.pictureInPictureWindow),e.setAttr("data-state","pip")},this.onWebkitpresentationmodechanged=function(a){var r=t.media.webkitPresentationMode;e.pMode===PresentationMode.FULLSCREEN&&r!==PresentationMode.FULLSCREEN&&t.onFullscreenChange(null,!1),e.pMode=r,r===PresentationMode.PIP?e.enterPIPCallback(a):r===PresentationMode.INLINE&&e.leavePIPCallback(a)},t.media&&(t.media.addEventListener("enterpictureinpicture",this.enterPIPCallback),t.media.addEventListener("leavepictureinpicture",this.leavePIPCallback),a.checkWebkitSetPresentationMode(t.media)&&t.media.addEventListener("webkitpresentationmodechanged",this.onWebkitpresentationmodechanged))}},{key:"copyStyleIntoPiPWindow",value:function(e){var t=_toConsumableArray$1(document.styleSheets).map((function(t){try{return _toConsumableArray$1(t.cssRules).map((function(e){return e.cssText})).join("")}catch(r){var a=document.createElement("link");a.rel="stylesheet",a.type=t.type,a.media=t.media,a.href=t.href,e.document.head.appendChild(a)}return""})).filter(Boolean).join("\n"),a=document.createElement("style");a.textContent=t,e.document.head.appendChild(a)}},{key:"requestPIP",value:function(){var e=this,t=this.player,r=this.playerConfig,n=this.config;if(this.isPIPAvailable()&&!this.isPip)try{var i=r.poster;if(i&&(t.media.poster="String"===util.typeOf(i)?i:i.poster),n.preferDocument&&this.isDocPIPAvailable()){var c={};if(n.width&&n.height)c.width=n.width,c.height=n.height;else{var o=t.root.getBoundingClientRect();c.width=o.width,c.height=o.height}documentPictureInPicture.requestWindow(c).then((function(a){var r=n.docPiPNode,i=n.docPiPStyle;e.enterPIPCallback();var c=r||t.root,o=c.parentElement,s=c.previousSibling,u=c.nextSibling;e.copyStyleIntoPiPWindow(a);var d=document.createElement("style");if(d.append("body{padding:0; margin:0;}"),i){var b="";"string"==typeof i?b=i:"function"==typeof i&&(b=i.call(n)),b&&d.append(b)}else c===t.root&&d.append("\n .xgplayer{width: 100%!important; height: 100%!important;}\n ");a.document.head.append(d),a.document.body.append(c),a.addEventListener("pagehide",(function(a){var r,n,i;null===(r=t.plugins)||void 0===r||null===(n=r.progress)||void 0===n||null===(i=n.resetDragState)||void 0===i||i.call(n),o&&(u?o.insertBefore(c,u):s?o.insertBefore(c,s.nextSibling):o.appendChild(c)),e.leavePIPCallback()}),{once:!0})}))}else a.checkWebkitSetPresentationMode(t.media)?t.media.webkitSetPresentationMode("picture-in-picture"):t.media.requestPictureInPicture();return!0}catch(e){return console.error("requestPiP",e),!1}}},{key:"exitPIP",value:function(){var e=this.player;try{var t;if(this.isPIPAvailable()&&this.isPip)this.isDocPIPAvailable()&&null!==(t=documentPictureInPicture)&&void 0!==t&&t.window?documentPictureInPicture.window.close():a.checkWebkitSetPresentationMode(e.media)?e.media.webkitSetPresentationMode("inline"):document.exitPictureInPicture();return!0}catch(e){return console.error("exitPIP",e),!1}}},{key:"isPip",get:function(){var e,t=this.player;return!(!this.isDocPIPAvailable()||null===(e=documentPictureInPicture)||void 0===e||!e.window)||document.pictureInPictureElement&&document.pictureInPictureElement===t.media||t.media.webkitPresentationMode===PresentationMode.PIP}},{key:"isPIPAvailable",value:function(){var e=this.player.media;return"Boolean"===util.typeOf(document.pictureInPictureEnabled)&&document.pictureInPictureEnabled&&("Boolean"===util.typeOf(e.disablePictureInPicture)&&!e.disablePictureInPicture||e.webkitSupportsPresentationMode&&"Function"===util.typeOf(e.webkitSetPresentationMode))||this.isDocPIPAvailable()}},{key:"isDocPIPAvailable",value:function(){return"documentPictureInPicture"in window&&/^(https|file)/.test(location.protocol)}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this);var e=this.player;e.media.removeEventListener("enterpictureinpicture",this.enterPIPCallback),e.media.removeEventListener("leavepictureinpicture",this.leavePIPCallback),a.checkWebkitSetPresentationMode(e.media)&&e.media.removeEventListener("webkitpresentationmodechanged",this.onWebkitpresentationmodechanged),this.exitPIP(),this.unbind("click",this.btnClick)}},{key:"render",value:function(){if(this.config.showIcon&&this.isPIPAvailable())return'<xg-icon class="xgplayer-pip">\n <div class="xgplayer-icon xg-icon-disable">\n </div>\n '.concat(xgIconTips(this,"PIP",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"pip"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:6,showIcon:!1,preferDocument:!1,width:void 0,height:void 0,docPiPNode:void 0,docPiPStyle:void 0}}},{key:"checkWebkitSetPresentationMode",value:function(e){return"function"==typeof e.webkitSetPresentationMode}}]),a}();function Next(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="40" viewBox="10 0 24 40">\n <path transform="scale(0.038 0.028)" d="M800 380v768h-128v-352l-320 320v-704l320 320v-352z"></path>\n</svg>\n',"image/svg+xml").firstChild}var PlayNextIcon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"playNext",(function(e){var t=_assertThisInitialized$1(r).player;e.preventDefault(),e.stopPropagation(),r.idx+1<r.config.urlList.length?(r.idx++,r.nextHandler(r.config.urlList[r.idx],r.idx),t.emit(PLAYNEXT,r.idx+1)):(r.nextHandler(),t.emit(PLAYNEXT))})),r.idx=-1,r}return _createClass$1(a,[{key:"afterCreate",value:function(){this.config.urlList&&0!==this.config.urlList.length&&(this.appendChild(".xgplayer-icon",this.icons.playNext),this.initEvents())}},{key:"registerIcons",value:function(){return{playNext:Next}}},{key:"initEvents",value:function(){this.nextHandler=this.hook("nextClick",this.changeSrc);var e="mobile"===sniffer.device?"touchend":"click";this.bind(e,this.playNext),this.show()}},{key:"changeSrc",value:function(e){var t=this.player;e&&(t.pause(),t.currentTime=0,t.switchURL?t.switchURL(e):t.src=e,t.config.url=e,t.play())}},{key:"destroy",value:function(){this.unbind(["touchend","click"],this.playNext)}},{key:"render",value:function(){if(this.config.urlList&&0!==this.config.urlList.length)return'\n <xg-icon class="xgplayer-playnext">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"PLAYNEXT_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>\n ")}}],[{key:"pluginName",get:function(){return"playNext"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_LEFT,index:1,url:null,urlList:[]}}}]),a}();function DownloadSvg(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 24 24">\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <g transform="translate(-488.000000, -340.000000)" fill="#FFFFFF">\n <g id="Group-2">\n <g id="volme_big-copy" transform="translate(488.000000, 340.000000)">\n <rect id="Rectangle-18" x="11" y="4" width="2" height="12" rx="1"></rect>\n <rect id="Rectangle-2" x="3" y="18" width="18" height="2" rx="1"></rect>\n <rect id="Rectangle-2" transform="translate(4.000000, 17.500000) rotate(90.000000) translate(-4.000000, -17.500000) " x="1.5" y="16.5" width="5" height="2" rx="1"></rect><rect id="Rectangle-2-Copy-3" transform="translate(20.000000, 17.500000) rotate(90.000000) translate(-20.000000, -17.500000) " x="17.5" y="16.5" width="5" height="2" rx="1"></rect>\n <path d="M9.48791171,8.26502656 L9.48791171,14.2650266 C9.48791171,14.8173113 9.04019646,15.2650266 8.48791171,15.2650266 C7.93562696,15.2650266 7.48791171,14.8173113 7.48791171,14.2650266 L7.48791171,7.26502656 C7.48791171,6.71274181 7.93562696,6.26502656 8.48791171,6.26502656 L15.4879117,6.26502656 C16.0401965,6.26502656 16.4879117,6.71274181 16.4879117,7.26502656 C16.4879117,7.81731131 16.0401965,8.26502656 15.4879117,8.26502656 L9.48791171,8.26502656 Z" id="Combined-Shape" transform="translate(11.987912, 10.765027) scale(1, -1) rotate(45.000000) translate(-11.987912, -10.765027) "></path>\n </g>\n </g>\n </g>\n </g>\n</svg>\n',"image/svg+xml").firstChild}var DEFAULT_CONFIG={mimeType:"application/octet-stream",fileName:"download",timeout:3e4},BrowserUtils={supportsBlob:function(){return"undefined"!=typeof Blob},supportsObjectURL:function(){return"undefined"!=typeof URL&&URL.createObjectURL},isSafari:function(){return"safari"===sniffer.browser},isIEWithMsSaveBlob:function(){return navigator.msSaveBlob},supportsDownloadAttribute:function(){return"download"in document.createElement("a")}},DataURLUtils={isDataURL:function(e){return/^data:([\w+-]+\/[\w+.-]+)?[,;]/.test(e)},dataURLToBlob:function(e){for(var t=e.split(/[:;,]/),a=t[1],r=("base64"===t[e.indexOf("charset")>0?3:2]?atob:decodeURIComponent)(t.pop()),n=new Uint8Array(r.length),i=0;i<r.length;i++)n[i]=r.charCodeAt(i);return new(window.Blob||window.MozBlob||window.WebKitBlob||function(e,t){return e})([n],{type:a})},hasNonASCII:function(e){return/([\x80-\xff])/.test(e)},stringToUint8Array:function(e){for(var t=new Uint8Array(e.length),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return t}},DownloadUtils={downloadWithAnchor:function(e,t){var a=document.createElement("a");a.href=e,a.setAttribute("download",t),a.className="download-js-link",a.innerHTML="downloading...",a.style.display="none";return a.addEventListener("click",(function e(t){t.stopPropagation(),this.removeEventListener("click",e)})),document.body.appendChild(a),setTimeout((function(){a.click(),document.body.removeChild(a),e.startsWith("blob:")&&setTimeout((function(){return URL.revokeObjectURL(e)}),250)}),66),!0},downloadWithSafari:function(e,t){if(e instanceof Blob){var a=new FileReader;return a.onload=function(e){var a=e.target.result;DownloadUtils.downloadWithSafari(a,t)},a.readAsDataURL(e),!0}(DataURLUtils.isDataURL(e)&&(e="data:"+e.replace(/^data:([\w\/\-\+]+)/,DEFAULT_CONFIG.mimeType)),window.open(e))||confirm("Displaying New Document\n\nUse Save As... to download, then click back to return to this page.")&&(location.href=e);return!0},downloadWithIframe:function(e,t){if(e instanceof Blob){var a=new FileReader;return a.onload=function(e){var a=e.target.result;DownloadUtils.downloadWithIframe(a,t)},a.readAsDataURL(e),!0}var r=document.createElement("iframe");return document.body.appendChild(r),DataURLUtils.isDataURL(e)&&(e="data:"+e.replace(/^data:([\w\/\-\+]+)/,DEFAULT_CONFIG.mimeType)),r.src=e,setTimeout((function(){return document.body.removeChild(r)}),333),!0}},RequestUtils={createRequest:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=new XMLHttpRequest;return t.timeout&&(a.timeout=t.timeout),"boolean"==typeof t.withCredentials&&(a.withCredentials=t.withCredentials),a},setHeaders:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Object.entries(t).forEach((function(t){var a=_slicedToArray(t,2),r=a[0],n=a[1];e.setRequestHeader(r,n)}))},downloadFromURL:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(r,n){var i=RequestUtils.createRequest(e,a);i.open("GET",e,!0),i.responseType="blob",a.headers&&RequestUtils.setHeaders(i,a.headers),a.withCredentials&&(i.withCredentials=!0),i.onload=function(e){200===e.target.status?(saveAs(e.target.response,t,a.mimeType||DEFAULT_CONFIG.mimeType),r(e.target.response)):n(new Error("HTTP ".concat(e.target.status,": ").concat(e.target.statusText)))},i.onerror=function(){n(new Error("Network error occurred"))},i.ontimeout=function(){n(new Error("Request timeout"))},a.beforeRequest&&a.beforeRequest(i),setTimeout((function(){return i.send()}),0)}))}};function saveAs(e,t,a){var r,n={},i=DEFAULT_CONFIG.fileName,c=DEFAULT_CONFIG.mimeType;if("string"==typeof t?(i=t||DEFAULT_CONFIG.fileName,c=a||DEFAULT_CONFIG.mimeType):"object"===_typeof$1(t)&&null!==t&&(n=_objectSpread2$1(_objectSpread2$1({},DEFAULT_CONFIG),t),i=n.fileName||DEFAULT_CONFIG.fileName,c=n.mimeType||DEFAULT_CONFIG.mimeType),"true"===String(this)){var o=e;e=t,t=o,c=a||DEFAULT_CONFIG.mimeType}if("string"==typeof e&&!t&&!a&&e.length<2048){var s=e,u=s.split("/").pop().split("?")[0];i=u||DEFAULT_CONFIG.fileName;var d=document.createElement("a");if(d.href=s,-1!==d.href.indexOf(s))return RequestUtils.downloadFromURL(s,i,n)}if(DataURLUtils.isDataURL(e)){if(e.length>2096103.424&&BrowserUtils.supportsBlob()){var b=DataURLUtils.dataURLToBlob(e);return c=b.type||c,saveAs(b,i,c)}return BrowserUtils.isIEWithMsSaveBlob()?navigator.msSaveBlob(DataURLUtils.dataURLToBlob(e),i):DownloadUtils.downloadWithAnchor(e,i)}if("string"==typeof e&&DataURLUtils.hasNonASCII(e)){var f=DataURLUtils.stringToUint8Array(e);e=new(window.Blob||window.MozBlob||window.WebKitBlob||function(e,t){return e})([f],{type:c})}e instanceof Blob?r=e:r=new(window.Blob||window.MozBlob||window.WebKitBlob||function(e,t){return e})([e],{type:c});if(BrowserUtils.isIEWithMsSaveBlob())return navigator.msSaveBlob(r,i);if(BrowserUtils.supportsObjectURL()){var l=URL.createObjectURL(r);return DownloadUtils.downloadWithAnchor(l,i)}if(BrowserUtils.isSafari())return DownloadUtils.downloadWithSafari(r,i);if("string"==typeof r||r.constructor===String)try{var h="data:"+c+";base64,"+btoa(r);return DownloadUtils.downloadWithAnchor(h,i)}catch(e){var p="data:"+c+","+encodeURIComponent(r);return DownloadUtils.downloadWithAnchor(p,i)}var y=new FileReader;return y.onload=function(e){DownloadUtils.downloadWithAnchor(e.target.result,i)},y.readAsDataURL(r),DownloadUtils.downloadWithIframe(r,i)}function saveAsWithAuth(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=_objectSpread2$1(_objectSpread2$1({},DEFAULT_CONFIG),t),r=a.fileName||e.split("/").pop().split("?")[0]||"download";return RequestUtils.downloadFromURL(e,r,a)}var Download=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"download",(function(e){if(!r.isLock){r.emitUserAction(e,"download");var t=r.playerConfig.url,a="";"String"===util.typeOf(t)?a=t:"Array"===util.typeOf(t)&&t.length>0&&(a=t[0].src),saveAsWithAuth(r.getAbsoluteURL(a),Object.assign({},r.config.saveAsOptions||{})),r.isLock=!0,r.timer=window.setTimeout((function(){r.isLock=!1,window.clearTimeout(r.timer),r.timer=null}),300)}})),r.timer=null,r.isLock=!1,r}return _createClass$1(a,[{key:"afterCreate",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.config.disable||(this.appendChild(".xgplayer-icon",this.icons.download),this._handler=this.hook("click",this.download,{pre:function(e){e.preventDefault(),e.stopPropagation()}}),this.bind(["click","touchend"],this._handler))}},{key:"registerIcons",value:function(){return{download:DownloadSvg}}},{key:"getAbsoluteURL",value:function(e){if(!e.match(/^https?:\/\//)){var t=document.createElement("div");t.innerHTML='<a href="'.concat(e,'">x</a>'),e=t.firstChild.href}return e}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.download),window.clearTimeout(this.timer),this.timer=null}},{key:"render",value:function(){if(!this.config.disable)return'<xg-icon class="xgplayer-download">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"DOWNLOAD_TIPS",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"download"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:3,disable:!0,saveAsOptions:{}}}}]),a}(),ScreenShot=function(e){_inherits$1(a,Icon);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"beforeCreate",value:function(e){"boolean"==typeof e.player.config.screenShot&&(e.config.disable=!e.player.config.screenShot)}},{key:"afterCreate",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.appendChild(".xgplayer-icon",this.icons.screenshotIcon);var e=this.config;this.initSize=function(t){e.fitVideo&&(e.width=t.vWidth,e.height=t.vHeight)},this.once(VIDEO_RESIZE,this.initSize)}},{key:"onPluginsReady",value:function(){this.show(),this.onClickBtn=this.onClickBtn.bind(this),this.bind(["click","touchend"],this.onClickBtn)}},{key:"saveScreenShot",value:function(e,t){var a,r=document.createElement("a");r.href=e,r.download=t;try{"undefined"!=typeof MouseEvent?a=new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window}):(a=document.createEvent("MouseEvents")).initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null)}catch(e){console.error("MouseEvent unsupported",e)}a&&r.dispatchEvent(a)}},{key:"createCanvas",value:function(e,t){var a=document.createElement("canvas"),r=a.getContext("2d");this.canvasCtx=r,this.canvas=a,a.width=e||this.config.width,a.height=t||this.config.height,r.imageSmoothingEnabled=!0,r.imageSmoothingEnabled&&(r.imageSmoothingQuality="high")}},{key:"onClickBtn",value:function(e){var t=this;e.preventDefault(),e.stopPropagation(),this.emitUserAction(e,"shot");var a=this.config;this.shot(a.width,a.height).then((function(e){t.emit(SCREEN_SHOT,e),a.saveImg&&t.saveScreenShot(e,a.name+a.format)}))}},{key:"shot",value:function(e,t){var a=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{quality:.92,type:"image/png"},n=this.config,i=this.player,c=r.quality||n.quality,o=r.type||n.type;return new Promise((function(r,s){var u,d=null;if(i.media.canvas)d=i.media.canvas;else{a.canvas?(a.canvas.width=e||n.width,a.canvas.height=t||n.height):a.createCanvas(e,t),d=a.canvas,u=a.canvasCtx;var b,f,l,h,p=i.media.videoWidth/i.media.videoHeight,y=d.width/d.height,g=i.media.videoWidth,v=i.media.videoHeight;p>y?(l=d.width,h=d.width/p,b=0,f=Math.round((d.height-h)/2)):p===y?(l=d.width,h=d.height,b=0,f=0):p<y&&(l=d.height*p,h=d.height,b=Math.round((d.width-l)/2),f=0),u.drawImage(i.media,0,0,g,v,b,f,l,h)}var m=d.toDataURL(o,c).replace(o,"image/octet-stream");r(m=m.replace(/^data:image\/[^;]+/,"data:application/octet-stream"))}))}},{key:"registerIcons",value:function(){return{screenshotIcon:null}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this),this.unbind(["click","touchend"],this.onClickBtn),this.off(VIDEO_RESIZE,this.initSize)}},{key:"render",value:function(){if(!this.config.disable){var e=this.icons.screenshotIcon?"xgplayer-icon":"xgplayer-icon btn-text",t="SCREENSHOT";return'\n <xg-icon class="xgplayer-shot">\n <div class="'.concat(e,'">\n ').concat(this.icons.screenshotIcon?"":'<span lang-key="'.concat(this.i18nKeys[t],'">').concat(this.i18n[t],"</span>"),"\n </div>\n </xg-icon>")}}}],[{key:"pluginName",get:function(){return"screenShot"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:5,quality:.92,type:"image/png",format:".png",width:600,height:337,saveImg:!0,fitVideo:!0,disable:!1,name:"screenshot"}}}]),a}(),OptionList=function(){function e(t){_classCallCheck$1(this,e),this.config=t.config,this.parent=t.root,this.root=util.createDom("ul","",{},"xg-options-list xg-list-slide-scroll ".concat(this.config.className)),t.root.appendChild(this.root);var a=this.config.maxHeight;a&&this.setStyle({maxHeight:a}),this.onItemClick=this.onItemClick.bind(this),this.renderItemList();var r="touch"===this.config.domEventType?"touchend":"click";this._delegates=Plugin.delegate.call(this,this.root,"li",r,this.onItemClick)}return _createClass$1(e,[{key:"renderItemList",value:function(e){var t=this,a=this.config,r=this.root;e?a.data=e:e=a.data,a.style&&Object.keys(a.style).map((function(e){r.style[e]=a[e]})),e.length>0&&(this.attrKeys=Object.keys(e[0])),this.root.innerHTML="",e.map((function(e,a){var r=e.selected?"option-item selected":"option-item";e["data-index"]=a,t.root.appendChild(util.createDom("li","<span>".concat(e.showText,"</span>"),e,r))}))}},{key:"onItemClick",value:function(e){e.delegateTarget||(e.delegateTarget=e.target);var t=e.delegateTarget;if(t&&util.hasClass(t,"selected"))return!1;var a="function"==typeof this.config.onItemClick?this.config.onItemClick:null,r=this.root.querySelector(".selected");util.addClass(t,"selected"),r&&util.removeClass(r,"selected"),a(e,{from:r?this.getAttrObj(r,this.attrKeys):null,to:this.getAttrObj(t,this.attrKeys)})}},{key:"getAttrObj",value:function(e,t){if(!e||!t)return{};var a={};t.map((function(t){a[t]=e.getAttribute(t)}));var r=e.getAttribute("data-index");return r&&(a.index=Number(r)),a}},{key:"show",value:function(){util.removeClass(this.root,"hide"),util.addClass(this.root,"active")}},{key:"hide",value:function(){util.removeClass(this.root,"active"),util.addClass(this.root,"hide")}},{key:"setStyle",value:function(e){var t=this;Object.keys(e).forEach((function(a){t.root.style[a]=e[a]}))}},{key:"destroy",value:function(){this._delegates&&(this._delegates.map((function(e){e.destroy&&e.destroy()})),this._delegates=null),this.root.innerHTML=null,this.parent.removeChild(this.root),this.root=null}}]),e}(),LIST_TYPES={SIDE:"side",MIDDLE:"middle",DEFAULT:"default"},TOGGLE_MODES={CLICK:"click",HOVER:"hover"};function getListClassName(e,t){return e===LIST_TYPES.SIDE?t===POSITIONS.CONTROLS_LEFT?"xg-side-list xg-left-side":"xg-side-list xg-right-side":""}var IS_MOBILE$1="mobile"===sniffer.device,OptionsIcon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onEnter",(function(e){e.stopPropagation(),r.emit("icon_mouseenter",{pluginName:r.pluginName}),r.switchActiveState(e)})),_defineProperty$1(_assertThisInitialized$1(r),"switchActiveState",(function(e){e.stopPropagation(),r.config.toggleMode===TOGGLE_MODES.CLICK?r.toggle(!r.isActive):r.toggle(!0)})),_defineProperty$1(_assertThisInitialized$1(r),"onLeave",(function(e){e.stopPropagation(),r.emit("icon_mouseleave",{pluginName:r.pluginName}),r.config.listType!==LIST_TYPES.SIDE&&r.isActive&&r.toggle(!1)})),_defineProperty$1(_assertThisInitialized$1(r),"onListEnter",(function(e){r.enterType=2})),_defineProperty$1(_assertThisInitialized$1(r),"onListLeave",(function(e){r.enterType=0,r.isActive&&r.toggle(!1)})),r.isIcons=!1,r.isActive=!1,r.curValue=null,r.curIndex=0,r}return _createClass$1(a,[{key:"updateLang",value:function(e){this.renderItemList(this.config.list,this.curIndex)}},{key:"afterCreate",value:function(){var e=this,t=this.config;this.initIcons(),(IS_MOBILE$1=IS_MOBILE$1||"touch"===this.domEventType)&&"mobile"===sniffer.device&&t.listType===LIST_TYPES.DEFAULT&&(t.listType=LIST_TYPES.SIDE),t.hidePortrait&&util.addClass(this.root,"portrait"),this.on([VIDEO_RESIZE,FULLSCREEN_CHANGE],(function(){e._resizeList()})),this.once(CANPLAY,(function(){t.list&&t.list.length>0&&(e.renderItemList(t.list),e.show())})),IS_MOBILE$1&&this.on(PLAYER_FOCUS,(function(){e.isActive&&(e.optionsList&&e.optionsList.hide(),e.isActive=!1)})),IS_MOBILE$1?(t.toggleMode=TOGGLE_MODES.CLICK,this.activeEvent="touchend"):this.activeEvent=t.toggleMode===TOGGLE_MODES.CLICK?"click":"mouseenter",t.toggleMode===TOGGLE_MODES.CLICK?this.bind(this.activeEvent,this.switchActiveState):(this.bind(this.activeEvent,this.onEnter),this.bind("mouseleave",this.onLeave)),this.isIcons&&this.bind("click",this.onIconClick)}},{key:"initIcons",value:function(){var e=this,t=this.icons,a=Object.keys(t),r=!1;a.length>0&&(a.forEach((function(a){e.appendChild(".xgplayer-icon",t[a]),!r&&(r=t[a])})),this.isIcons=r),r||(this.appendChild(".xgplayer-icon",util.createDom("span","",{},"icon-text")),util.addClass(this.find(".xgplayer-icon"),"btn-text"))}},{key:"show",value:function(e){!this.config.list||this.config.list.length<2||util.addClass(this.root,"show")}},{key:"hide",value:function(){util.removeClass(this.root,"show")}},{key:"getTextByLang",value:function(e,t,a){if(void 0===e)return"";var r=this.config.list;!a&&(a=this.player.lang),t=!t||util.isUndefined(e[t])?"text":t,"number"==typeof e&&(e=r[e]);try{return"object"===_typeof$1(e[t])?e[t][a]||e[t].en:e[t]}catch(e){return console.warn(e),""}}},{key:"toggle",value:function(e){if(e!==this.isActive&&!this.config.disable){var t=this.player.controls,a=this.config.listType;e?(a===LIST_TYPES.SIDE?t.blur():t.focus(),this.optionsList&&this.optionsList.show()):(a===LIST_TYPES.SIDE?t.focus():t.focusAwhile(),this.optionsList&&this.optionsList.hide()),this.isActive=e}}},{key:"onItemClick",value:function(e,t){e.stopPropagation();var a=this.config,r=a.listType,n=a.list;this.curIndex=t.to.index,this.curItem=n[this.curIndex],this.changeCurrentText(),(this.config.isItemClickHide||IS_MOBILE$1||r===LIST_TYPES.SIDE)&&this.toggle(!1)}},{key:"onIconClick",value:function(e){}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var e=this.config.list,t=e[this.curIndex<e.length?this.curIndex:0];t&&(this.find(".icon-text").innerHTML=this.getTextByLang(t,"iconText"))}}},{key:"renderItemList",value:function(e,t){var a=this,r=this.config,n=this.optionsList,i=this.player;if("number"==typeof t&&(this.curIndex=t,this.curItem=r.list[t]),n)return n.renderItemList(e),void this.changeCurrentText();var c={config:{data:e||[],className:getListClassName(r.listType,r.position),onItemClick:function(e,t){a.onItemClick(e,t)},domEventType:IS_MOBILE$1?"touch":"mouse"},root:r.listType===LIST_TYPES.SIDE?i.innerContainer||i.root:this.root};if(this.config.isShowIcon){var o=this.player.root.getBoundingClientRect().height,s=r.listType===LIST_TYPES.MIDDLE?o-50:o;s&&r.heightLimit&&(c.config.maxHeight="".concat(s,"px")),this.optionsList=new OptionList(c),this.changeCurrentText(),this.show()}this._resizeList()}},{key:"_resizeList",value:function(){if(this.config.heightLimit){var e=this.player.root.getBoundingClientRect().height,t=this.config.listType===LIST_TYPES.MIDDLE?e-50:e;this.optionsList&&this.optionsList.setStyle({maxHeight:"".concat(t,"px")})}}},{key:"destroy",value:function(){this.config.toggleMode===TOGGLE_MODES.CLICK?this.unbind(this.activeEvent,this.switchActiveState):(this.unbind(this.activeEvent,this.onEnter),this.unbind("mouseleave",this.onLeave)),this.isIcons&&this.unbind("click",this.onIconClick),this.optionsList&&(this.optionsList.destroy(),this.optionsList=null)}},{key:"render",value:function(){if(this.config.isShowIcon)return'<xg-icon class="xg-options-icon '.concat(this.config.className||"",'">\n <div class="xgplayer-icon">\n </div>\n </xg-icon>')}}],[{key:"pluginName",get:function(){return"optionsIcon"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:100,list:[],listType:"default",listStyle:{},hidePortrait:!0,isShowIcon:!1,isItemClickHide:!0,toggleMode:TOGGLE_MODES.HOVER,heightLimit:!0}}}]),a}(),DefinitionIcon=function(e){_inherits$1(a,OptionsIcon);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).curTime=0,r.isPaused=!0,r}return _createClass$1(a,[{key:"beforeCreate",value:function(e){var t=e.config.list;Array.isArray(t)&&t.length>0&&(e.config.list=t.map((function(e){return!e.text&&e.name&&(e.text=e.name),e.text||(e.text=e.definition),e})))}},{key:"afterCreate",value:function(){var e=this;_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.on("resourceReady",(function(t){e.changeDefinitionList(t)})),this.on(DEFINITION_CHANGE,(function(t){e.renderItemList(e.config.list,t.to)})),this.player.definitionList.length<2&&this.hide()}},{key:"show",value:function(e){!this.config.list||this.config.list.length<2||util.addClass(this.root,"show")}},{key:"initDefinition",value:function(){var e=this.config,t=e.list,a=e.defaultDefinition;if(t.length>0){var r=null;t.map((function(e){e.definition===a&&(r=e)})),r||(r=t[0]),this.changeDefinition(r)}}},{key:"renderItemList",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.config.list||[],r=arguments.length>1?arguments[1]:void 0,n=r&&r.definition?r.definition:this.config.defaultDefinition;r&&t.forEach((function(e){e.selected=!1}));var i=0,c=t.map((function(t,a){var r=_objectSpread2$1(_objectSpread2$1({},t),{},{showText:e.getTextByLang(t)||t.definition,selected:!1});return(t.selected||t.definition&&t.definition==n)&&(r.selected=!0,i=a),r}));_get$1(_getPrototypeOf$1(a.prototype),"renderItemList",this).call(this,c,i)}},{key:"changeDefinitionList",value:function(e){Array.isArray(e)&&(this.config.list=e.map((function(e){return!e.text&&e.name&&(e.text=e.name),e.text||(e.text=e.definition),e})),this.renderItemList(),this.config.list.length<2?this.hide():this.show())}},{key:"changeDefinition",value:function(e,t){this.player.changeDefinition(e,t)}},{key:"onItemClick",value:function(e,t){var r=this.player.definitionList;_get$1(_getPrototypeOf$1(a.prototype),"onItemClick",this).apply(this,arguments),this.emitUserAction(e,"change_definition",{from:t.from,to:t.to});for(var n=0;n<r.length;n++)t.to&&r[n].definition===t.to.definition&&(t.to.url=r[n].url),t.from&&r[n].definition===t.from.definition&&(t.from.url=r[n].url);this.player.changeDefinition(t.to,t.from)}}],[{key:"pluginName",get:function(){return"definition"}},{key:"defaultConfig",get:function(){return _objectSpread2$1(_objectSpread2$1({},OptionsIcon.defaultConfig),{},{position:POSITIONS.CONTROLS_RIGHT,index:3,list:[],defaultDefinition:"",disable:!1,hidePortrait:!1,className:"xgplayer-definition",isShowIcon:!0})}}]),a}(),PlaybackRate=function(e){_inherits$1(a,OptionsIcon);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).curRate=1,r}return _createClass$1(a,[{key:"beforeCreate",value:function(e){var t=e.player.config.playbackRate,a=t?Array.isArray(t)?t:e.config.list:[];Array.isArray(a)&&(e.config.list=a.map((function(e){return"number"==typeof e?e={rate:e,text:"".concat(e,"x")}:!e.text&&e.rate&&(e.text="".concat(e.rate,"x")),e})))}},{key:"afterCreate",value:function(){var e=this;_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.on(RATE_CHANGE,(function(){e.curValue!==e.player.playbackRate&&e.renderItemList()})),this.renderItemList()}},{key:"show",value:function(e){this.config.list&&0!==this.config.list.length&&_get$1(_getPrototypeOf$1(a.prototype),"show",this).call(this)}},{key:"onItemClick",value:function(e,t){_get$1(_getPrototypeOf$1(a.prototype),"onItemClick",this).call(this,e,t);var r=e.delegateTarget,n=Number(r.getAttribute("rate"));if(!n||n===this.curValue)return!1;var i={playbackRate:{from:this.player.playbackRate,to:n}};this.emitUserAction(e,"change_rate",{props:i}),this.curValue=n,this.player.playbackRate=n}},{key:"renderItemList",value:function(){var e=this,t=this.player.playbackRate||1;this.curValue=t;var r=-1,n=this.config.list.map((function(a,n){var i={rate:a.rate};return i.rate===t&&(i.selected=!0,r=n),i.showText=e.getTextByLang(a),i}));_get$1(_getPrototypeOf$1(a.prototype),"renderItemList",this).call(this,n,r)}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var e=this.config.list,t=e[this.curIndex<e.length?this.curIndex:0],a="";a=!t||this.curIndex<0?"".concat(this.player.playbackRate,"x"):this.getTextByLang(t,"iconText"),this.find(".icon-text").innerHTML=a}}},{key:"destroy",value:function(){_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this)}}],[{key:"pluginName",get:function(){return"playbackRate"}},{key:"defaultConfig",get:function(){return _objectSpread2$1(_objectSpread2$1({},OptionsIcon.defaultConfig),{},{position:POSITIONS.CONTROLS_RIGHT,index:4,list:[2,1.5,1,.75,.5],className:"xgplayer-playbackrate",isShowIcon:!0,hidePortrait:!1})}}]),a}(),ErrorPlugin=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this.clickHandler=this.hook("errorRetry",this.errorRetry,{pre:function(e){e.preventDefault(),e.stopPropagation()}}),this.onError=this.hook("showError",this.handleError),this.bind(".xgplayer-error-refresh","click",this.clickHandler),this.on(ERROR$1,(function(t){e.onError(t)}))}},{key:"errorRetry",value:function(e){this.emitUserAction(e,"error_retry",{}),this.player.retry()}},{key:"handleError",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=this.player,a=e.errorType,r=t.errorNote?this.i18n[t.errorNote]:"";if(!r)switch(a){case"decoder":r=this.i18n.MEDIA_ERR_DECODE;break;case"network":r=this.i18n.MEDIA_ERR_NETWORK;break;default:r=this.i18n.MEDIA_ERR_SRC_NOT_SUPPORTED}this.find(".xgplayer-error-text").innerHTML=r,this.find(".xgplayer-error-tips").innerHTML="".concat(this.i18n.REFRESH_TIPS,'<span class="xgplayer-error-refresh">').concat(this.i18n.REFRESH,"</span>")}},{key:"destroy",value:function(){this.unbind(".xgplayer-error-refresh","click",this.clickHandler)}},{key:"render",value:function(){return'<xg-error class="xgplayer-error">\n <div class="xgplayer-errornote">\n <span class="xgplayer-error-text"></span>\n <span class="xgplayer-error-tips"><em class="xgplayer-error-refresh"></em></span>\n </div>\n </xg-error>'}}],[{key:"pluginName",get:function(){return"error"}}]),a}(),Prompt=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this.intervalId=0,this.customConfig=null,this.bind(".highlight",["click","touchend"],(function(t){(e.config.onClick||e.customOnClick)&&(t.preventDefault(),t.stopPropagation(),e.customOnClick?e.customOnClick(t):e.config.onClick(t))})),this.player.showPrompt=function(){e.showPrompt.apply(e,arguments)},this.player.hidePrompt=function(){e.hide()}}},{key:"setStyle",value:function(e){var t=this;Object.keys(e).map((function(a){t.root.style[a]=e[a]}))}},{key:"showPrompt",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){};if(e){this.customOnClick=r;var n=this.config.interval;if(this.intervalId&&(clearTimeout(this.intervalId),this.intervalId=null),util.addClass(this.root,"show"),"arrow"===a.mode&&util.addClass(this.root,"arrow"),this.find(".xgplayer-prompt-detail").innerHTML="string"==typeof e?e:"".concat(e.text||"")+"".concat(e.highlight?'<i class="highlight">'.concat(e.highlight,"</i>"):""),a.style&&this.setStyle(a.style),"boolean"==typeof a.autoHide?a.autoHide:this.config.autoHide){var i=a.interval||n;this.intervalId=setTimeout((function(){t.hide()}),i)}}}},{key:"hide",value:function(){util.removeClass(this.root,"show"),util.removeClass(this.root,"arrow"),this.root.removeAttribute("style"),this.customOnClick=null}},{key:"render",value:function(){return'<xg-prompt class="xgplayer-prompt '.concat(STATE_CLASS.CONTROLS_FOLLOW,'">\n <span class="xgplayer-prompt-detail"></span>\n </xg-prompt>')}}],[{key:"pluginName",get:function(){return"prompt"}},{key:"defaultConfig",get:function(){return{interval:3e3,style:{},mode:"arrow",autoHide:!0,detail:{text:"",highlight:""},onClick:function(){}}}}]),a}(),ISPOT={time:0,text:"",id:1,duration:1,color:"#fff",style:{},width:6,height:6};function mergeISPOT(e){Object.keys(ISPOT).map((function(t){void 0===e[t]&&(e[t]=ISPOT[t])}))}var APIS={_updateDotDom:function(e,t){if(t){var a=this.calcuPosition(e.time,e.duration),r=e.style||{};r.left="".concat(a.left,"%"),r.width="".concat(a.width,"%"),t.setAttribute("data-text",e.text),t.setAttribute("data-time",e.time),a.isMini?util.addClass(t,"mini"):util.removeClass(t,"mini"),Object.keys(r).map((function(e){t.style[e]=r[e]}))}},initDots:function(){var e=this;this._ispots.map((function(t){e.createDot(t,!1)})),this.ispotsInit=!0},createDot:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],a=this.player.plugins.progress;if(a&&(t&&(mergeISPOT(e),this._ispots.push(e)),this.ispotsInit||!t)){var r=this.calcuPosition(e.time,e.duration),n=e.style||{};n.left="".concat(r.left,"%"),n.width="".concat(r.width,"%");var i="xgspot_".concat(e.id," xgplayer-spot");r.isMini&&(i+=" mini");var c=e.template?'<div class="xgplayer-spot-pop">'.concat(e.template,"</div>"):"",o=util.createDom("xg-spot",c,{"data-text":e.text,"data-time":e.time,"data-id":e.id},i);Object.keys(n).map((function(e){o.style[e]=n[e]})),a.outer&&a.outer.appendChild(o),this.positionDot(o,e.id)}},findDot:function(e){if(this.player.plugins.progress){var t=this._ispots.filter((function(t,a){return t.id===e}));return t.length>0?t[0]:null}},updateDot:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=this.player.plugins.progress;if(a){var r=this.findDot(e.id);if(r&&Object.keys(e).map((function(t){r[t]=e[t]})),this.ispotsInit){var n=a.find('xg-spot[data-id="'.concat(e.id,'"]'));n&&(this._updateDotDom(e,n),t&&this.showDot(e.id))}}},deleteDot:function(e){var t=this._ispots,a=this.player.plugins.progress;if(a){for(var r=[],n=0;n<t.length;n++)t[n].id===e&&r.push(n);for(var i=r.length-1;i>=0;i--)if(t.splice(r[i],1),this.ispotsInit){var c=a.find('xg-spot[data-id="'.concat(e,'"]'));c&&c.parentElement.removeChild(c)}}},deleteAllDots:function(){var e=this.player.plugins.progress;if(e)if(this.ispotsInit){for(var t=e.root.getElementsByTagName("xg-spot"),a=t.length-1;a>=0;a--)e.outer.removeChild(t[a]);this._ispots=[]}else this._ispots=[]},updateAllDots:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=this.player.plugins.progress;if(a)if(this.ispotsInit){this._ispots=[];var r=a.root.getElementsByTagName("xg-spot"),n=r.length;if(n>t.length)for(var i=n-1;i>t.length-1;i--)a.outer.removeChild(r[i]);t.forEach((function(t,a){a<n?(r[a].setAttribute("data-id","".concat(t.id)),e._ispots.push(t),e.updateDot(t)):e.createDot(t)}))}else this._ispots=t},positionDots:function(){var e=this,t=this._ispots,a=this.playerSize,r=this.player.sizeInfo,n=this.player.plugins.progress;n&&r.width!==a.width&&(a.width=r.width,a.left=r.left,t.forEach((function(t){var a=n.find('xg-spot[data-id="'.concat(t.id,'"]'));a&&e.positionDot(a,t.id)})))},positionDot:function(e,t){var a=util.findDom(e,".xgplayer-spot-pop");if(a){var r=this.playerSize,n=e.getBoundingClientRect(),i=a.getBoundingClientRect(),c=n.left-r.left,o=r.width-c-n.width/2;if(c<i.width/2||r.width<i.width){var s=i.width/2-c;a.style.left="".concat(s,"px")}else if(o<i.width/2){var u=o-i.width/2+n.width/2;a.style.left="".concat(u,"px")}else a.style.left="50%"}},updateDuration:function(){var e=this,t=this.player.plugins.progress;t&&this._ispots.forEach((function(a){var r=t.find('xg-spot[data-id="'.concat(a.id,'"]'));e._updateDotDom(a,r)}))},getAllDotsDom:function(){var e=this.player.plugins.progress;return e?e.root.getElementsByTagName("xg-spot"):[]},getDotDom:function(e){var t=this.player.plugins.progress;if(t)return t.find('xg-spot[data-id="'.concat(e,'"]'))}};function initDotsAPI(e){var t=e.config,a=e.player;Object.keys(APIS).map((function(t){e[t]=APIS[t].bind(e)}));var r=a.config.progressDot||t.ispots||[];e._ispots=r.map((function(e){return mergeISPOT(e),e})),e.ispotsInit=!1,e.playerSize={left:a.sizeInfo.left,width:a.sizeInfo.width},e.on(DURATION_CHANGE,(function(){e.ispotsInit?e.updateDuration():e.initDots()})),e.on(VIDEO_RESIZE,(function(){e.positionDots()}))}var CALLBACK_MAP={dragmove:"onProgressMove",dragstart:"onProgressDragStart",dragend:"onProgressDragEnd",click:"onProgressClick",mouseover:"onProgressMouseOver",mouseenter:"onProgressMouseOver"},ProgressPreview=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this,e)),"onMousemove",(function(e){r.config.disable||(util.hasClass(e.target,"xg-spot-content")&&r.config.isHideThumbnailHover?r.player.plugins.progress.onMouseLeave(e):(r._state.f||util.hasClass(e.target,"xg-spot-content"))&&(util.event(e),e.stopPropagation()))})),_defineProperty$1(_assertThisInitialized$1(r),"onMousedown",(function(e){r.config.disable||(r._state.f||util.hasClass(e.target,"xg-spot-content"))&&(util.event(e),e.stopPropagation())})),_defineProperty$1(_assertThisInitialized$1(r),"onMouseup",(function(e){if(r.isDrag){var t=r.player.plugins.progress;t&&t.pos&&(t.onMouseUp(e),!t.pos.isEnter&&t.onMouseLeave(e))}})),_defineProperty$1(_assertThisInitialized$1(r),"onDotMouseLeave",(function(e){if(!r.config.disable){r._curDot.removeEventListener("mouseleave",r.onDotMouseLeave),r.blurDot(e.target),r._curDot=null;var t=r.player.plugins.progress;t&&t.enableBlur(),r.show()}})),_defineProperty$1(_assertThisInitialized$1(r),"onProgressMouseOver",(function(e,t){if(!r.config.disable&&util.hasClass(t.target,"xgplayer-spot")&&!r._curDot){r._curDot=t.target,r.focusDot(t.target),r._curDot.children.length>0&&r.hide();var a=r.player.plugins.progress;a&&a.disableBlur(),r._curDot.addEventListener("mouseleave",r.onDotMouseLeave)}})),r._ispots=[],r.videoPreview=null,r.videothumbnail=null,r.thumbnail=null,r.timeStr="",r._state={now:0,f:!1},r}return _createClass$1(a,[{key:"beforeCreate",value:function(e){var t=e.player.plugins.progress;t&&(e.root=t.root)}},{key:"afterCreate",value:function(){var e=this;this._curDot=null,this.handlerSpotClick=this.hook("spotClick",(function(t,a){a.seekTime&&e.player.seek(a.seekTime)})),this.transformTimeHook=this.hook("transformTime",(function(t){e.setTimeContent(util.format(t))})),initDotsAPI(this),this.on(DURATION_CHANGE,(function(){e.show()})),this.config.disable&&this.disable(),this.extTextRoot=this.find(".xg-spot-ext-text")}},{key:"setConfig",value:function(e){var t=this;e&&Object.keys(e).map((function(a){t.config[a]=e[a]}))}},{key:"onPluginsReady",value:function(){this.player.plugins.progress&&(this.previewLine=this.find(".xg-spot-line"),this.timePoint=this.find(".xgplayer-progress-point"),this.timeText=this.find(".xg-spot-time"),this.tipText=this.find(".spot-inner-text"),this._hasThumnail=!1,this.registerThumbnail(),this.bindEvents())}},{key:"bindEvents",value:function(){var e=this,t=this.player.plugins.progress;if(t&&(Object.keys(CALLBACK_MAP).map((function(a){e[CALLBACK_MAP[a]]=e[CALLBACK_MAP[a]].bind(e),t.addCallBack(a,e[CALLBACK_MAP[a]])})),"mobile"!==sniffer.device)){this.bind(".xg-spot-info","mousemove",this.onMousemove),this.bind(".xg-spot-info","mousedown",this.onMousedown),this.bind(".xg-spot-info","mouseup",this.onMouseup);var a=this.hook("previewClick",(function(){}));this.handlerPreviewClick=function(r){r.stopPropagation(),a(parseInt(1e3*e._state.now,10)/1e3,r),t&&t.onMouseUp(r)},this.bind(".xg-spot-content","mouseup",this.handlerPreviewClick)}}},{key:"onProgressMove",value:function(e,t){!this.config.disable&&this.player.duration&&this.updatePosition(e.offset,e.width,e.currentTime,e.e)}},{key:"onProgressDragStart",value:function(e){!this.config.disable&&this.player.duration&&(this.isDrag=!0,this.videoPreview&&util.addClass(this.videoPreview,"show"))}},{key:"onProgressDragEnd",value:function(e){!this.config.disable&&this.player.duration&&(this.isDrag=!1,this.videoPreview&&util.removeClass(this.videoPreview,"show"))}},{key:"onProgressClick",value:function(e,t){this.config.disable||util.hasClass(t.target,"xgplayer-spot")&&(t.stopPropagation(),t.preventDefault(),["time","id","text"].map((function(a){e[a]=t.target.getAttribute("data-".concat(a))})),e.time&&(e.time=Number(e.time)),this.handlerSpotClick(t,e))}},{key:"updateLinePos",value:function(e,t){var a=this.root,r=this.previewLine,n=this.player,i=this.config,c="flex"===n.controls.mode,o=a.getBoundingClientRect().width;if(o||!this._hasThumnail){var s,u=e-(o=this._hasThumnail&&o<i.width?i.width:o)/2;u<0&&!c?(u=0,s=e-o/2):u>t-o&&!c?(s=u-(t-o),u=t-o):s=0,void 0!==s&&(r.style.transform="translateX(".concat(s.toFixed(2),"px)")),a.style.transform="translateX(".concat(u.toFixed(2),"px) translateZ(0)")}}},{key:"updateTimeText",value:function(e){var t=this.timeText,a=this.timePoint;t.innerHTML=e,!this.thumbnail&&(a.innerHTML=e)}},{key:"updatePosition",value:function(e,t,a,r){var n=this.root,i=this.config,c=this._state;if(n){c.now=a,this.transformTimeHook(a);var o=this.timeStr;r&&r.target&&util.hasClass(r.target,"xgplayer-spot")?(this.showTips(r.target.getAttribute("data-text"),!1,o),this.focusDot(r.target),c.f=!0,i.isFocusDots&&c.f&&(c.now=parseInt(r.target.getAttribute("data-time"),10))):i.defaultText?(c.f=!1,this.showTips(i.defaultText,!0,o)):(c.f=!1,this.hideTips("")),this.updateTimeText(o),this.updateThumbnails(c.now),this.updateLinePos(e,t)}}},{key:"setTimeContent",value:function(e){this.timeStr=e}},{key:"updateThumbnails",value:function(e){var t=this.player,a=this.videoPreview,r=this.config,n=t.plugins.thumbnail;if(n&&n.usable){this.thumbnail&&n.update(this.thumbnail,e,r.width,r.height);var i=a&&a.getBoundingClientRect();this.videothumbnail&&n.update(this.videothumbnail,e,i.width,i.height)}}},{key:"registerThumbnail",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("mobile"!==sniffer.device){var t=this.player,a=this.config,r=t.getPlugin("thumbnail");if(r&&r.setConfig(e),r&&r.usable&&a.isShowThumbnail){util.removeClass(this.root,"short-line no-thumbnail"),"short"===a.mode&&util.addClass(this.root,"short-line"),this._hasThumnail=!0;var n=this.find(".xg-spot-thumbnail");this.thumbnail=r.createThumbnail(n,"progress-thumbnail"),a.isShowCoverPreview&&(this.videoPreview=util.createDom("xg-video-preview","",{},"xgvideo-preview"),t.root.appendChild(this.videoPreview),this.videothumbnail=r.createThumbnail(this.videoPreview,"xgvideo-thumbnail")),this.updateThumbnails(0)}else util.addClass(this.root,"short-line no-thumbnail")}}},{key:"calcuPosition",value:function(e,t){var a=this.player.plugins.progress,r=this.player,n=a.root.getBoundingClientRect().width,i=r.duration/n*6;return e+t>r.duration&&(t=r.duration-e),r.duration,r.duration,{left:e/r.duration*100,width:t/r.duration*100,isMini:t<i}}},{key:"showDot",value:function(e){var t=this.findDot(e);if(t){var a=this.root.getBoundingClientRect().width,r=t.time/this.player.duration*a;this.updatePosition(r,a,t.time)}}},{key:"focusDot",value:function(e,t){e&&(t||(t=e.getAttribute("data-id")),util.addClass(e,"active"),this._activeDotId=t)}},{key:"blurDot",value:function(e){if(!e){var t=this._activeDotId;e=this.getDotDom(t)}e&&(util.removeClass(e,"active"),this._activeDotId=null)}},{key:"showTips",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";util.addClass(this.root,"no-timepoint"),e&&(util.addClass(this.find(".xg-spot-content"),"show-text"),t&&"production"===this.config.mode?(util.addClass(this.root,"product"),this.tipText.textContent=e):(util.removeClass(this.root,"product"),this.tipText.textContent=this._hasThumnail?e:"".concat(a," ").concat(e)))}},{key:"hideTips",value:function(){util.removeClass(this.root,"no-timepoint"),this.tipText.textContent="",util.removeClass(this.find(".xg-spot-content"),"show-text"),util.removeClass(this.root,"product")}},{key:"hide",value:function(){util.addClass(this.root,"hide")}},{key:"show",value:function(e){util.removeClass(this.root,"hide")}},{key:"enable",value:function(){var e=this.config,t=this.playerConfig;this.config.disable=!1,this.show(),!this.thumbnail&&e.isShowThumbnail&&this.registerThumbnail(t.thumbnail||{})}},{key:"disable",value:function(){this.config.disable=!0,this.hide()}},{key:"destroy",value:function(){var e=this,t=this.player.plugins.progress;t&&Object.keys(CALLBACK_MAP).map((function(a){t.removeCallBack(a,e[CALLBACK_MAP[a]])})),this.videothumbnail=null,this.thumbnail=null,this.videoPreview&&this.player.root.removeChild(this.videoPreview),this.unbind(".xg-spot-info","mousemove",this.onMousemove),this.unbind(".xg-spot-info","mousedown",this.onMousedown),this.unbind(".xg-spot-info","mouseup",this.onMouseup),this.unbind(".xg-spot-content","mouseup",this.handlerPreviewClick)}},{key:"render",value:function(){return"mobile"===sniffer.device||"mobile"===this.playerConfig.isMobileSimulateMode?"":'<div class="xg-spot-info hide '.concat("short"===this.config.mode?"short-line":"",'">\n <div class="xg-spot-content">\n <div class="xg-spot-thumbnail">\n <span class="xg-spot-time"></span>\n </div>\n <div class="xg-spot-text"><span class="spot-inner-text"></span></div>\n </div>\n <div class="xgplayer-progress-point">00:00</div>\n <div class="xg-spot-ext-text"></div>\n <div class="xg-spot-line"></div>\n </div>')}}],[{key:"pluginName",get:function(){return"progresspreview"}},{key:"defaultConfig",get:function(){return{index:1,miniWidth:6,ispots:[],defaultText:"",isFocusDots:!0,isHideThumbnailHover:!0,isShowThumbnail:!0,isShowCoverPreview:!1,mode:"",disable:!1,width:160,height:90}}}]),a}(),Thumbnail=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).ratio=1,r.interval=null,r._preloadMark={},r}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this.usable&&this.initThumbnail(),this.on([DURATION_CHANGE],(function(){var t=e.config,a=t.pic_num,r=t.interval;e.usable&&(e.interval=r>0?r:Math.round(1e3*e.player.duration/a)/1e3)}))}},{key:"setConfig",value:function(e){var t=this;if(e){var a=Object.keys(e);a.length<1||(a.forEach((function(a){t.config[a]=e[a]})),this.usable&&this.initThumbnail())}}},{key:"usable",get:function(){var e=this.config,t=e.urls,a=e.pic_num;return t&&t.length>0&&a>0}},{key:"initThumbnail",value:function(){var e=this.config,t=e.width,a=e.height,r=e.pic_num,n=e.interval;this.ratio=t/a*100,this.interval=n||Math.round(this.player.duration/r),this._preloadMark={}}},{key:"getUrlByIndex",value:function(e){return e>=0&&e<this.config.urls.length?this.config.urls[e]:""}},{key:"preload",value:function(e){var t=this;if(!this._preloadMark[e]){var a=this.config.urls,r=a.length,n=[];e>0&&n.push(e-1),n.push(e),e>0&&e<r-1&&n.push(e+1),n.map((function(e){!t._preloadMark[e]&&e>=0&&e<r&&(t._preloadMark[e]=1,util.preloadImg(a[e],(function(){t._preloadMark[e]=2})))}))}}},{key:"getPosition",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=this.config,n=r.pic_num,i=r.row,c=r.col,o=r.width,s=r.height;this.interval=Math.round(this.player.duration/n);var u=Math.ceil(e/this.interval),d=(u=u>n?n:u)<i*c?0:Math.ceil(u/(i*c))-1,b=u-d*(c*i),f=b>0?Math.ceil(b/c)-1:0,l=b>0?b-f*c-1:0,h=0,p=0;t&&a?t/a<o/s?h=(p=a)*(o/s):p=(h=t)/(o/s):a?t||(h=(p=a||s)*(o/s)):p=(h=t||o)/(o/s);var y=this.getUrlByIndex(d);return{urlIndex:d,rowIndex:f,colIndex:l,url:y,height:p,width:h,style:{backgroundImage:"url(".concat(y,")"),backgroundSize:"".concat(h*c,"px auto"),backgroundPosition:"-".concat(l*h,"px -").concat(f*p,"px"),width:"".concat(h,"px"),height:"".concat(p,"px")}}}},{key:"update",value:function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",i=this.config,c=i.pic_num,o=i.urls;if(!(c<=0)&&o&&0!==o.length){var s=this.getPosition(t,a,r);this.preload(s.urlIndex),Object.keys(s.style).map((function(t){e.style[t]=s.style[t]})),Object.keys(n).map((function(t){e.style[t]=n[t]}))}}},{key:"changeConfig",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.setConfig(e)}},{key:"createThumbnail",value:function(e,t){var a=util.createDom("xg-thumbnail","",{},"thumbnail ".concat(t));return e&&e.appendChild(a),a}}],[{key:"pluginName",get:function(){return"thumbnail"}},{key:"defaultConfig",get:function(){return{isShow:!1,urls:[],pic_num:0,col:0,row:0,height:90,width:160,scale:1,className:"",hidePortrait:!1}}}]),a}();function getBgColor(e){return e?"background:".concat(e,";"):""}var MiniProgress=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onTimeupdate",(function(){var t=e.player.ended,a=_assertThisInitialized$1(e).offsetDuration,r=e.currentTime;r=util.adjustTimeByDuration(r,a,t),e.update({played:r},a)})),e}return _createClass$1(a,[{key:"offsetDuration",get:function(){return this.playerConfig.customDuration||this.player.offsetDuration||this.player.duration}},{key:"currentTime",get:function(){var e=this.player,t=e.offsetCurrentTime,a=e.currentTime;return t>=0?t:a}},{key:"afterCreate",value:function(){var e=this;this.root&&(this.on(TIME_UPDATE,this.onTimeupdate),this.on(EMPTIED,(function(){e.reset()})))}},{key:"reset",value:function(){this.update({played:0,cached:0},0)}},{key:"update",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{cached:0,played:0},t=arguments.length>1?arguments[1]:void 0;t&&this.root&&(e.cached&&(this.find("xg-mini-progress-cache").style.width="".concat(e.cached/t*100,"%")),e.played&&(this.find("xg-mini-progress-played").style.width="".concat(e.played/t*100,"%")))}},{key:"render",value:function(){var e=this.playerConfig,t=e.commonStyle;if(e.miniprogress){var a=this.config,r=a.mode,n=a.height,i={cached:getBgColor(t.cachedColor),played:getBgColor(t.playedColor),progress:getBgColor(t.progressColor),height:n>0&&2!==n?"height: ".concat(n,"px;"):""};return'<xg-mini-progress class="xg-mini-progress '.concat("show"===r?"xg-mini-progress-show":"",'" style="').concat(i.progress," ").concat(i.height,'">\n <xg-mini-progress-cache class="xg-mini-progress-cache" style="').concat(i.cached,'"></xg-mini-progress-cache>\n <xg-mini-progress-played class="xg-mini-progress-played" style="').concat(i.played,'"></xg-mini-progress-played>\n </xg-mini-progress>')}}}],[{key:"pluginName",get:function(){return"MiniProgress"}},{key:"defaultConfig",get:function(){return{mode:"auto",height:2}}}]),a}(),MODES={REAL_TIME:"realtime",FIRST_FRAME:"firstframe",FRAME_RATE:"framerate",POSTER:"poster"};function nowTime(){try{return parseInt(window.performance.now(),10)}catch(e){return(new Date).getTime()}}function checkIsSupportCanvas(){try{return!!document.createElement("canvas").getContext}catch(e){return!1}}var isSupportCanvas=null,DynamicBg=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onLoadedData",(function(t){e.player&&(e._frameCount=e.config.startFrameCount,e.stop(),e.renderOnTimeupdate(t),e.off(TIME_UPDATE,e.renderOnTimeupdate),e.on(TIME_UPDATE,e.renderOnTimeupdate))})),_defineProperty$1(_assertThisInitialized$1(e),"onVisibilitychange",(function(t){"visible"===document.visibilityState?e._checkIfCanStart()&&e.start():"hidden"===document.visibilityState&&e.stop()})),_defineProperty$1(_assertThisInitialized$1(e),"renderOnTimeupdate",(function(t){if(e._frameCount>0)e.renderOnce(),e._frameCount--;else{e._isLoaded=!0,e.off(TIME_UPDATE,e.renderOnTimeupdate);var a=e.config.startInterval;!e.player.paused&&e._checkIfCanStart()&&e.start(0,a)}})),_defineProperty$1(_assertThisInitialized$1(e),"start",(function(t,a){var r=e.player.video,n=nowTime(),i=e.checkVideoIsSupport(r);i&&e.canvasCtx&&(a||(a=e.interval),e.stop(),r.videoWidth&&r.videoHeight&&(e.videoPI=r.videoHeight>0?parseInt(r.videoWidth/r.videoHeight*100,10):0,(e.config.mode===MODES.REAL_TIME||n-e.preTime>=a)&&(r&&r.videoWidth&&e.update(i,e.videoPI),e.preTime=n)),e.frameId="timer"===e._loopType?util.setTimeout(_assertThisInitialized$1(e),e.start,a):util.requestAnimationFrame(e.start))})),_defineProperty$1(_assertThisInitialized$1(e),"stop",(function(){e.frameId&&("timer"===e._loopType?util.clearTimeout(_assertThisInitialized$1(e),e.frameId):util.cancelAnimationFrame(e.frameId),e.frameId=null)})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;!0===this.playerConfig.dynamicBg&&(this.config.disable=!1),a.isSupport||(this.config.disable=!0);var t=this.config,r=t.disable,n=t.mode,i=t.frameRate;r||(this._pos={width:0,height:0,rwidth:0,rheight:0,x:0,y:0,pi:0},this.isStart=!1,this._isLoaded=!1,this.videoPI=0,this.preTime=0,this.interval=parseInt(1e3/i,10),this.canvas=null,this.canvasCtx=null,this._frameCount=0,this._loopType=this.config.mode!==MODES.REAL_TIME&&this.interval>=1e3?"timer":"animation",this.once(COMPLETE,(function(){e.player&&(e.init(),e.renderByPoster(),e.player.paused||e.start())})),n!==MODES.POSTER&&(n!==MODES.FIRST_FRAME&&(this.on(EMPTIED,(function(){e.stop()})),this.on(PLAY,(function(){var t=e.config.startInterval;e._checkIfCanStart()&&e.start(0,t)})),this.on(PAUSE,(function(){e.stop()}))),this.on(LOADED_DATA,this.onLoadedData),this.on(LOAD_START,(function(){e._isLoaded=!1,e.stop()})),document.addEventListener("visibilitychange",this.onVisibilitychange)))}},{key:"setConfig",value:function(e){var t=this;Object.keys(e).forEach((function(a){"root"===a&&e[a]!==t.config[a]?t.reRender(e[a]):"frameRate"===a?t.interval=parseInt(1e3/e[a],10):"disable"===a&&e[a]&&t.stop(),t.config[a]=e[a]}))}},{key:"init",value:function(e){var t=this.player,r=this.config;this.canvasFilter=a.supportCanvasFilter();try{var n=e||r.root;n||(n=r.isInnerRender&&t.innerContainer||t.root),n.insertAdjacentHTML("afterbegin",'<div class="xgplayer-dynamic-bg" data-index="'.concat(r.index,'"><canvas>\n </canvas><xgmask></xgmask></div>')),this.root=n.children[0],this.canvas=this.find("canvas"),this.canvasFilter||(this.canvas.style.filter=r.filter,this.canvas.style.webkitFilter=r.filter),this.mask=this.find("xgmask"),r.addMask&&(this.mask.style.background=r.maskBg),this.canvasCtx=this.canvas.getContext("2d")}catch(e){XG_DEBUG.logError("plugin:DynamicBg",e)}}},{key:"reRender",value:function(e){if(this.config.disable||this.root){this.stop();var t=this.root?this.root.parentElement:null;if(t!==e&&t.removeChild(this.root),e){this.init(e),this.renderOnce();var a=this.config.startInterval;this._checkIfCanStart()&&this.start(0,a)}else this.root=null}}},{key:"checkVideoIsSupport",value:function(e){if(!e)return null;var t=e&&e instanceof window.HTMLVideoElement?e:e.canvas?e.canvas:e.flyVideo?e.flyVideo:null;if(t&&("safari"!==sniffer.browser||!util.isMSE(t)))return t;var a=t?t.tagName.toLowerCase():"";return"canvas"===a||"img"===a?t:null}},{key:"renderByPoster",value:function(){var e=this.playerConfig.poster;if(e){var t="String"===util.typeOf(e)?e:"String"===util.typeOf(e.poster)?e.poster:null;this.updateImg(t)}}},{key:"_checkIfCanStart",value:function(){var e=this.config.mode;return this._isLoaded&&!this.player.paused&&e!==MODES.FIRST_FRAME&&e!==MODES.POSTER}},{key:"renderOnce",value:function(){var e=this.player.video;if(e.videoWidth&&e.videoHeight){this.videoPI=parseInt(e.videoWidth/e.videoHeight*100,10);var t=this.checkVideoIsSupport(e);t&&this.update(t,this.videoPI)}}},{key:"updateImg",value:function(e){var t=this;if(e){var a=this.canvas.getBoundingClientRect(),r=a.width,n=a.height,i=new window.Image;i.onload=function(){if(t.canvas&&!t.frameId&&!t.isStart){t.canvas.height=n,t.canvas.width=r;var e=parseInt(r/n*100,10);t.update(i,e),i=null}},i.src=e}}},{key:"update",value:function(e,t){if(this.canvas&&this.canvasCtx&&t)try{var a=this._pos,r=this.config,n=this.canvas.getBoundingClientRect(),i=n.width,c=n.height;if(i!==a.width||c!==a.height||a.pi!==t){var o=parseInt(i/c*100,10);a.pi=t,a.width!==i&&(a.width=this.canvas.width=i),a.height!==c&&(a.height=this.canvas.height=c);var s=c,u=i;o<t?u=parseInt(c*t/100,10):o>t&&(s=parseInt(100*i/t,10)),a.rwidth=u*r.multiple,a.rheight=s*r.multiple,a.x=(i-a.rwidth)/2,a.y=(c-a.rheight)/2}this.canvasFilter&&(this.canvasCtx.filter=r.filter),this.canvasCtx.drawImage(e,a.x,a.y,a.rwidth,a.rheight)}catch(e){XG_DEBUG.logError("plugin:DynamicBg",e)}}},{key:"destroy",value:function(){this.stop(),document.removeEventListener("visibilitychange",this.onVisibilitychange),this.canvasCtx=null,this.canvas=null}},{key:"render",value:function(){return""}}],[{key:"pluginName",get:function(){return"dynamicBg"}},{key:"defaultConfig",get:function(){return{isInnerRender:!1,disable:!0,index:-1,mode:"framerate",frameRate:10,filter:"blur(50px)",startFrameCount:2,startInterval:0,addMask:!0,multiple:1.2,maskBg:"rgba(0,0,0,0.7)"}}},{key:"isSupport",get:function(){return"boolean"==typeof isSupportCanvas?isSupportCanvas:isSupportCanvas=checkIsSupportCanvas()}},{key:"supportCanvasFilter",value:function(){return!("safari"===sniffer.browser||"firefox"===sniffer.browser)}}]),a}(),ZH={LANG:"zh-cn",TEXT:{ERROR_TYPES:{network:{code:1,msg:"视频下载错误"},mse:{code:2,msg:"流追加错误"},parse:{code:3,msg:"解析错误"},format:{code:4,msg:"格式错误"},decoder:{code:5,msg:"解码错误"},runtime:{code:6,msg:"语法错误"},timeout:{code:7,msg:"播放超时"},other:{code:8,msg:"其他错误"}},HAVE_NOTHING:"没有关于音频/视频是否就绪的信息",HAVE_METADATA:"音频/视频的元数据已就绪",HAVE_CURRENT_DATA:"关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒",HAVE_FUTURE_DATA:"当前及至少下一帧的数据是可用的",HAVE_ENOUGH_DATA:"可用数据足以开始播放",NETWORK_EMPTY:"音频/视频尚未初始化",NETWORK_IDLE:"音频/视频是活动的且已选取资源,但并未使用网络",NETWORK_LOADING:"浏览器正在下载数据",NETWORK_NO_SOURCE:"未找到音频/视频来源",MEDIA_ERR_ABORTED:"取回过程被用户中止",MEDIA_ERR_NETWORK:"网络错误",MEDIA_ERR_DECODE:"解码错误",MEDIA_ERR_SRC_NOT_SUPPORTED:"不支持的音频/视频格式",REPLAY:"重播",ERROR:"网络连接似乎出现了问题",PLAY_TIPS:"播放",PAUSE_TIPS:"暂停",PLAYNEXT_TIPS:"下一集",DOWNLOAD_TIPS:"下载",ROTATE_TIPS:"旋转",RELOAD_TIPS:"重新载入",FULLSCREEN_TIPS:"进入全屏",EXITFULLSCREEN_TIPS:"退出全屏",CSSFULLSCREEN_TIPS:"进入样式全屏",EXITCSSFULLSCREEN_TIPS:"退出样式全屏",TEXTTRACK:"字幕",TEXTTRACK_OFF:"关闭",PIP:"画中画",SCREENSHOT:"截图",LIVE:"正在直播",OFF:"关闭",OPEN:"开启",MINI_DRAG:"点击按住可拖动视频",MINISCREEN:"小屏幕",REFRESH_TIPS:"请试试",REFRESH:"刷新",FORWARD:"快进中",LIVE_TIP:"直播"}},INFO="info",STATS_EVENTS=STATS_EVENTS$1,Stats=function(e){_inherits$1(a,BasePlugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_recordUserActions",(function(t){var a=e._getTime(),r=Object.assign({},t,{msg:t.msg||t.action});e._stats[INFO].push(_objectSpread2$1(_objectSpread2$1({type:"userAction"},a),{},{payload:r}))})),_defineProperty$1(_assertThisInitialized$1(e),"_onReset",(function(){e.reset()})),_defineProperty$1(_assertThisInitialized$1(e),"_recordInfo",(function(t){e.info(t)})),_defineProperty$1(_assertThisInitialized$1(e),"_downloadStats",(function(){var t=e.getStats(),a=new Blob([JSON.stringify(t)],{type:"application/json"}),r=window.URL.createObjectURL(a),n=document.createElement("a");n.style.display="none",n.href=r,n.download="player.txt",n.disabled=!1,n.click()})),e}return _createClass$1(a,[{key:"_getTime",value:function(){return{timestamp:Date.now(),timeFormat:(new Date).toISOString()}}},{key:"afterCreate",value:function(){this.reset(),this.on(USER_ACTION,this._recordUserActions),this.on(STATS_EVENTS.STATS_INFO,this._recordInfo),this.on(STATS_EVENTS.STATS_DOWNLOAD,this._downloadStats),this.on(STATS_EVENTS.STATS_RESET,this._onReset)}},{key:"destroy",value:function(){this.offAll()}},{key:"downloadStats",value:function(){this._downloadStats()}},{key:"info",value:function(e){e.profile?this._infoProfile(e):this._info(e)}},{key:"_info",value:function(e){var t=this._getTime();this._stats[INFO].push(_objectSpread2$1(_objectSpread2$1({},t),{},{payload:e}))}},{key:"_infoProfile",value:function(e){if(e&&e.startMs){var t=_objectSpread2$1({cat:"function",dur:Date.now()-e.startMs,name:e.name||e.msg,ph:"X",pid:0,tid:0,ts:e.startMs,profile:!0},e);this._info(t)}else console.warn("infoProfile need object data, include startMs")}},{key:"reset",value:function(){var e;this._stats=(_defineProperty$1(e={},INFO,[]),_defineProperty$1(e,"media",{}),e)}},{key:"getStats",value:function(){for(var e=this.player.media,t=[],a=0;a<e.buffered.length;a++)t.push({start:e.buffered.start(a),end:e.buffered.end(a)});var r={currentTime:e.currentTime,readyState:e.readyState,buffered:t,paused:e.paused,ended:e.ended};return this._stats.media=r,{raw:this._stats,timestat:this._getTimeStats(),profile:this._getProfile()}}},{key:"_getTimeStats",value:function(){return this._stats[INFO].map((function(e){var t=e.payload.data,a="";try{t instanceof Error?a=t.msg:void 0!==t&&(a=JSON.stringify(t))}catch(e){console.log("err",e)}return"[".concat(e.timeFormat,"] : ").concat(e.payload.msg," ").concat(a," ")}))}},{key:"_getProfile",value:function(){var e={traceEvents:[]};return this._stats[INFO].forEach((function(t){t.payload.profile&&e.traceEvents.push(t.payload)})),e}}],[{key:"pluginName",get:function(){return"stats"}},{key:"defaultConfig",get:function(){return{}}}]),a}(),GapJump=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onGapJump",(function(){var t=_assertThisInitialized$1(e),r=t.player,n=t.config;if(r.media.readyState!==HTMLMediaElement.HAVE_NOTHING){if(r.media.seeking){if(!e.seekingEventReceived)return}else e.seekingEventReceived=!1;if(!r.media.paused||0===r.media.currentTime||!e.hasPlayed){var i=r.media.buffered,c=n.smallGapLimit||.5,o=n.gapDetectionThreshold||.3,s=r.media.currentTime,u=e._getIndex(i,s,o);if(null!==u&&0!==u){console.log("GapJump bufferRange ",i.start(u),i.end(u));var d=i.start(u)+.1;if(!(d>r.media.duration)){var b=d-s,f=b<=c;b<a.BROWSER_GAP_TOLERANCE||f&&(!1!==n.useGapJump&&(r.media.currentTime=e.isSafari?d+.1:d),e.player&&e.player.emit("detectGap"),console.log("gapJump gapIndex",u," isGapSamll:",f," currentTime:",r.media.currentTime," jumpSize:",s-r.media.currentTime),.08!==d&&r&&r.emit("log",{type:"oneevent",end_type:"gap",vid:r.config.vid,ext:{video_postion:Math.floor(1e3*d)}}))}}}}})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;!1!==this.config.useGapJump&&(this.hasPlayed=!1,this.seekingEventReceived=!1,this.isSafari=/(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent)&&!/BlackBerry/.test(navigator.platform),this.on(WAITING,this.onGapJump),this.on(PLAY,(function(){e.hasPlayed=!0})),this.on(SEEKING,(function(){e.seekingEventReceived=!0})))}},{key:"_getIndex",value:function(e,t,a){if(!e||!e.length)return null;if(1===e.length&&e.end(0)-e.start(0)<1e-6)return null;for(var r=this._getBuffered(e),n=null,i=0;i<r.length;i++){if(r[i].start>t&&(0===i||r[i-1].end-t<=a)){n=i;break}}return n}},{key:"_getBuffered",value:function(e){if(!e)return[];for(var t=[],a=0;a<e.length;a++)t.push({start:e.start(a),end:e.end(a)});return t}}],[{key:"pluginName",get:function(){return"gapJump"}},{key:"defaultConfig",get:function(){return{useGapJump:!1,smallGapLimit:.5,gapDetectionThreshold:.3}}}]),a}();GapJump.BROWSER_GAP_TOLERANCE=.001;var WaitingTimeoutJump=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"onWaiting",(function(){var t=_assertThisInitialized$1(e).config;e.jumpCnt>t.jumpCntMax||e.timer||!1===t.useWaitingTimeoutJump||(e.timer=setTimeout(e.onJump,1e3*t.waitingTime))})),_defineProperty$1(_assertThisInitialized$1(e),"onJump",(function(){var t=_assertThisInitialized$1(e),a=t.player,r=t.config;if(clearTimeout(e.timer),e.timer=null,!(e.jumpCnt>r.jumpCntMax||!1===r.useWaitingTimeoutJump||a.media.paused&&0!==a.media.currentTime&&e.hasPlayed)){e.jumpSize=r.jumpSize*(e.jumpCnt+1),e.jumpCnt===r.jumpSize&&e.jumpSize<6&&(e.jumpSize=6);var n=a.currentTime+e.jumpSize;n>a.media.duration||(e.jumpCnt++,a.currentTime=n)}})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this,t=this.config,a=t.useWaitingTimeoutJump,r=t.jumpSize;!1!==a&&(this.hasPlayed=!1,this.jumpCnt=0,this.timer=null,this.jumpSize=r,this.on(WAITING,this.onWaiting),this.on([PLAYING,CANPLAY],(function(){clearTimeout(e.timer),e.timer=null,e.jumpSize=e.config.jumpSize})),this.on(PLAY,(function(){e.hasPlayed=!0})))}}],[{key:"pluginName",get:function(){return"waitingTimeoutJump"}},{key:"defaultConfig",get:function(){return{useWaitingTimeoutJump:!1,waitingTime:15,jumpSize:2,jumpCntMax:4}}}]),a}(),DEFAULT_SPEED_TYPE="cdn",SPEED_TYPE=["cdn"],TestSpeed=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"getSpeed",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:DEFAULT_SPEED_TYPE;if(!e.speedListCache||!e.speedListCache[t])return 0;if(e.speedListCache[t].length<=0)return 0;var a=0;return e.speedListCache[t].map((function(e){a+=e})),Math.floor(a/e.speedListCache[t].length)})),_defineProperty$1(_assertThisInitialized$1(e),"startTimer",(function(){util.isMSE(e.player.video)||(e.initSpeedList(),e.cnt=0,e.timer=setTimeout(e.testSpeed,e.config.testTimeStep))})),_defineProperty$1(_assertThisInitialized$1(e),"initSpeedList",(function(){e.speedListCache={},SPEED_TYPE.forEach((function(t){e.speedListCache[t]=[]}))})),_defineProperty$1(_assertThisInitialized$1(e),"_onRealSpeedChange",(function(t){t.speed&&e.appendList(t.speed,t.type||DEFAULT_SPEED_TYPE)})),_defineProperty$1(_assertThisInitialized$1(e),"testSpeed",(function(){if(clearTimeout(e.timer),e.timer=null,e.player&&e.config.openSpeed){var t=e.config,a=t.url,r=t.loadSize,n=t.testCnt,i=t.testTimeStep,c=a+(a.indexOf("?")<0?"?testst=":"&testst=")+Date.now();if(!(e.cnt>=n)){e.cnt++;try{var o=(new Date).getTime(),s=null,u=new XMLHttpRequest;e.xhr=u,u.open("GET",c);var d={},b=Math.floor(10*Math.random());d.Range="bytes="+b+"-"+(r+b),d&&Object.keys(d).forEach((function(e){u.setRequestHeader(e,d[e])})),u.onreadystatechange=function(){if(4===u.readyState){e.xhr=null,s=(new Date).getTime();var t=u.getResponseHeader("Content-Length")/1024*8,a=Math.round(1e3*t/(s-o));e.appendList(a),e.timer=setTimeout(e.testSpeed,i)}},u.send()}catch(e){console.error(e)}}}})),_defineProperty$1(_assertThisInitialized$1(e),"appendList",(function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DEFAULT_SPEED_TYPE;if(e.speedListCache&&e.speedListCache[a]){var r=e.config.saveSpeedMax;e.speedListCache[a].length>=r&&e.speedListCache[a].shift(),e.speedListCache[a].push(t);var n=_assertThisInitialized$1(e).player;n&&(a===DEFAULT_SPEED_TYPE?n.realTimeSpeed=t:n[e.getSpeedName("realTime",a)]=t),e.updateSpeed(a)}})),_defineProperty$1(_assertThisInitialized$1(e),"updateSpeed",(function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:DEFAULT_SPEED_TYPE,a=e.getSpeed(t),r=_assertThisInitialized$1(e).player;if(r)if(t===DEFAULT_SPEED_TYPE)r.avgSpeed&&a===r.avgSpeed||(r.avgSpeed=a,r.emit(DOWNLOAD_SPEED_CHANGE,{speed:a,realTimeSpeed:r.realTimeSpeed}));else{var n=e.getSpeedName("avg",t);r[n]&&a===r[n]||(r[n]=a,r.emit(DOWNLOAD_SPEED_CHANGE,{speed:a,realTimeSpeed:r.realTimeSpeed}))}})),e}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this.config,t=e.openSpeed,a=e.addSpeedTypeList;(null==a?void 0:a.length)>0&&SPEED_TYPE.push.apply(SPEED_TYPE,_toConsumableArray$1(a)),this.initSpeedList(),this.on("real_time_speed",this._onRealSpeedChange),this.timer=null,this.cnt=0,this.xhr=null,t&&this.on([LOADED_DATA,REPLAY],this.startTimer)}},{key:"getSpeedName",value:function(e,t){return e+"Speed"+t.toUpperCase()}},{key:"openSpeed",get:function(){return this.config.openSpeed},set:function(e){if(this.config.openSpeed=e,!e&&this.timer)return clearTimeout(this.timer),void(this.timer=null);if(this.config.openSpeed){if(this.timer)return;this.timer=setTimeout(this.testSpeed,this.config.testTimeStep)}}},{key:"destroy",value:function(){var e=this;this.off("real_time_speed",this._onRealSpeedChange),this.off([LOADED_DATA,REPLAY],this.startTimer),SPEED_TYPE.forEach((function(t){e.speedListCache&&e.speedListCache[t]&&(e.speedListCache[t]=[])})),this.speedListCache&&(this.speedListCache={}),clearTimeout(this.timer),this.timer=null,this.xhr&&4!==this.xhr.readyState&&(this.xhr.cancel&&this.xhr.cancel(),this.xhr=null)}}],[{key:"pluginName",get:function(){return"testspeed"}},{key:"defaultConfig",get:function(){return{openSpeed:!1,testCnt:3,loadSize:204800,testTimeStep:3e3,url:"",saveSpeedMax:5,addSpeedTypeList:[]}}}]),a}(),FpsDetect=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this,t=this.player,a=this.config,r=t.media||t.video;(this.timer=null,this._lastDecodedFrames=0,this._currentStuckCount=0,this._lastCheckPoint=null,this._payload=[],a.disabled)||r.getVideoPlaybackQuality&&(this.on(PLAY,(function(){e._startTick()})),this.on(PAUSE,(function(){e._stopTick()})),this.on(ENDED,(function(){e._stopTick()})),this.on(EMPTIED,(function(){e._stopTick()})))}},{key:"_startTick",value:function(){var e=this;this._stopTick(),this._timer=setTimeout((function(){e._checkDecodeFPS(),e._startTick()}),this.config.tick)}},{key:"_stopTick",value:function(){clearTimeout(this._timer),this._timer=null}},{key:"_checkBuffer",value:function(e,t){for(var a=!1,r=[],n=0;n<t.length;n++){var i=t.start(n),c=t.end(n);if(r.push({start:i,end:c}),i<=e&&e<=c-1){a=!0;break}}return{enoughBuffer:a,buffers:r}}},{key:"_checkStuck",value:function(e,t,a,r){var n=this.player.media||this.player.video,i=document.hidden,c=n.paused,o=n.readyState,s=n.currentTime,u=n.buffered;if(!(i||c||o<4)){var d=this._checkBuffer(s,u),b=d.enoughBuffer,f=d.buffers;b&&(e<=this.config.reportFrame?(this._currentStuckCount++,this._payload.push({currentTime:s,buffers:f,curDecodedFrames:e,totalVideoFrames:t,droppedVideoFrames:a,checkInterval:r}),this._currentStuckCount>=this.config.stuckCount&&(this.emit(FPS_STUCK,this._payload),this._reset())):this._reset())}}},{key:"_reset",value:function(){this._payload=[],this._currentStuckCount=0}},{key:"_checkDecodeFPS",value:function(){var e=this.player.media||this.player.video;if(e){var t=e.getVideoPlaybackQuality(),a=t.totalVideoFrames,r=t.droppedVideoFrames,n=performance.now();if(a&&this._lastCheckPoint){var i=a-this._lastDecodedFrames,c=n-this._lastCheckPoint;this._checkStuck(i,a,r,c)}this._lastDecodedFrames=a,this._lastCheckPoint=n}}},{key:"destroy",value:function(){this._stopTick()}}],[{key:"pluginName",get:function(){return"FpsDetect"}},{key:"defaultConfig",get:function(){return{disabled:!1,tick:1e3,stuckCount:3,reportFrame:0}}}]),a}();I18N.use(ZH);var DefaultPreset$3=_createClass$1((function e(t,a){var r,n,i;_classCallCheck$1(this,e);var c=a&&"mobile"===a.isMobileSimulateMode,o=a.isLive,s=[].concat(o?[]:[TimeSegmentsControls,Progress,MiniProgress,ProgressPreview,Time],[Play,Fullscreen,Rotate,PlayNextIcon,DefinitionIcon,PlaybackRate,Download,ScreenShot,Volume,PIP]),u=[Replay,Poster,Start,Loading,Enter,ErrorPlugin,Prompt,Thumbnail,MiniScreen];this.plugins=[Stats,XGLogger].concat(_toConsumableArray$1(s),u,[GapJump,WaitingTimeoutJump]);var d=c?"mobile":sniffer.device;switch(d){case"pc":(r=this.plugins).push.apply(r,[Keyboard,PCPlugin,CssFullScreen,TestSpeed,FpsDetect]);break;case"mobile":(n=this.plugins).push.apply(n,[MobilePlugin]);break;default:(i=this.plugins).push.apply(i,[Keyboard,PCPlugin,CssFullScreen])}(sniffer.os.isIpad||"pc"===d)&&this.plugins.push(DynamicBg),sniffer.os.isIpad&&this.plugins.push(PCPlugin),this.ignores=[],this.i18n=[]})),PresetPlayer=function(e){_inherits$1(a,Player);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a)}();_defineProperty$1(PresetPlayer,"defaultPreset",DefaultPreset$3),_defineProperty$1(PresetPlayer,"Util",util),_defineProperty$1(PresetPlayer,"Sniffer",sniffer),_defineProperty$1(PresetPlayer,"Errors",Errors),_defineProperty$1(PresetPlayer,"Events",events),_defineProperty$1(PresetPlayer,"Plugin",Plugin),_defineProperty$1(PresetPlayer,"BasePlugin",BasePlugin),_defineProperty$1(PresetPlayer,"I18N",I18N),_defineProperty$1(PresetPlayer,"STATE_CLASS",STATE_CLASS),_defineProperty$1(PresetPlayer,"InstManager",InstManager),_defineProperty$1(PresetPlayer,"PlayIcon",Play),_defineProperty$1(PresetPlayer,"TimeIcon",Time),_defineProperty$1(PresetPlayer,"Progress",Progress),_defineProperty$1(PresetPlayer,"FullscreenIcon",Fullscreen),_defineProperty$1(PresetPlayer,"CssFullscreenIcon",CssFullScreen),_defineProperty$1(PresetPlayer,"VolumeIcon",Volume);var DefaultPreset$2=_createClass$1((function e(t,a){var r,n,i;_classCallCheck$1(this,e);var c=a&&"mobile"===a.isMobileSimulateMode,o=a.isLive,s=[].concat(o?[]:[Progress,MiniProgress,ProgressPreview,Time],[Play,Fullscreen,Rotate,PlayNextIcon,DefinitionIcon,PlaybackRate,Download,ScreenShot,Volume,PIP]),u=[Replay,Poster,Start,Loading,Enter,ErrorPlugin,Prompt,Thumbnail,MiniScreen];this.plugins=[Stats,XGLogger].concat(_toConsumableArray$1(s),u,[GapJump,WaitingTimeoutJump]);var d=c?"mobile":sniffer.device;switch(d){case"pc":(r=this.plugins).push.apply(r,[Keyboard,PCPlugin,CssFullScreen,TestSpeed,FpsDetect]);break;case"mobile":(n=this.plugins).push.apply(n,[MobilePlugin]);break;default:(i=this.plugins).push.apply(i,[Keyboard,PCPlugin,CssFullScreen])}(sniffer.os.isIpad||"pc"===d)&&this.plugins.push(DynamicBg),this.ignores=[],this.i18n=[]})),DefaultPreset$1=_createClass$1((function e(){var t,a;_classCallCheck$1(this,e);var r=[Play,Fullscreen,Time,Volume,Rotate,DefinitionIcon,PlaybackRate,CssFullScreen,PIP];switch(this.plugins=[Poster,Start,Loading,Enter,ErrorPlugin].concat(r),sniffer.device){case"pc":(t=this.plugins).push.apply(t,[Keyboard,PCPlugin]);break;case"mobile":this.plugins.push(MobilePlugin);break;default:(a=this.plugins).push.apply(a,[Keyboard,PCPlugin])}this.ignores=[],this.i18n=[ZH]})),DefaultPreset=_createClass$1((function e(){_classCallCheck$1(this,e);var t=[MobilePlugin,Progress,Play,Fullscreen,Time,Rotate,PlayNextIcon,DefinitionIcon,PlaybackRate,Download,ScreenShot,Volume,PIP],a=[Replay,Poster,Start,Loading,Enter,ErrorPlugin,Prompt,Thumbnail,MiniProgress];this.plugins=[XGLogger].concat(t,a),this.ignores=[],this.i18n=[ZH]})),zhHk={LANG:"zh-hk",TEXT:{ERROR_TYPES:{network:{code:1,msg:"視頻下載錯誤"},mse:{code:2,msg:"流追加錯誤"},parse:{code:3,msg:"解析錯誤"},format:{code:4,msg:"格式錯誤"},decoder:{code:5,msg:"解碼錯誤"},runtime:{code:6,msg:"語法錯誤"},timeout:{code:7,msg:"播放超時"},other:{code:8,msg:"其他錯誤"}},HAVE_NOTHING:"沒有關於音頻/視頻是否就緒的信息",HAVE_METADATA:"音頻/視頻的元數據已就緒",HAVE_CURRENT_DATA:"關於當前播放位置的數據是可用的,但沒有足夠的數據來播放下壹幀/毫秒",HAVE_FUTURE_DATA:"當前及至少下壹幀的數據是可用的",HAVE_ENOUGH_DATA:"可用數據足以開始播放",NETWORK_EMPTY:"音頻/視頻尚未初始化",NETWORK_IDLE:"音頻/視頻是活動的且已選取資源,但並未使用網絡",NETWORK_LOADING:"瀏覽器正在下載數據",NETWORK_NO_SOURCE:"未找到音頻/視頻來源",MEDIA_ERR_ABORTED:"取回過程被用戶中止",MEDIA_ERR_NETWORK:"下載錯誤",MEDIA_ERR_DECODE:"解碼錯誤",MEDIA_ERR_SRC_NOT_SUPPORTED:"不支持的音頻/視頻格式",REPLAY:"重播",ERROR:"網絡連接似乎出現了問題",PLAY_TIPS:"播放",PAUSE_TIPS:"暫停",PLAYNEXT_TIPS:"下壹集",DOWNLOAD_TIPS:"下載",ROTATE_TIPS:"旋轉",RELOAD_TIPS:"重新載入",FULLSCREEN_TIPS:"進入全屏",EXITFULLSCREEN_TIPS:"退出全屏",CSSFULLSCREEN_TIPS:"進入樣式全屏",EXITCSSFULLSCREEN_TIPS:"退出樣式全屏",TEXTTRACK:"字幕",TEXTTRACK_OFF:"關閉",PIP:"畫中畫",SCREENSHOT:"截圖",LIVE:"正在直播",OFF:"關閉",OPEN:"開啟",MINI_DRAG:"點擊按住可拖動視頻",MINISCREEN:"小屏幕",REFRESH_TIPS:"請試試",REFRESH:"刷新",FORWARD:"快进中",LIVE_TIP:"直播"}},jp={LANG:"jp",TEXT:{ERROR_TYPES:{network:{code:1,msg:"ビデオダウンロードエラー"},mse:{code:2,msg:"ストリーム追加エラー"},parse:{code:3,msg:"解析エラー"},format:{code:4,msg:"間違ったフォーマット"},decoder:{code:5,msg:"デコードエラー"},runtime:{code:6,msg:"文法エラー"},timeout:{code:7,msg:"再生タイムアウト"},other:{code:8,msg:"その他のエラー"}},HAVE_NOTHING:"オーディオ/ビデオが準備できているか情報がありません",HAVE_METADATA:"オーディオ/ビデオのメタデータは準備できています",HAVE_CURRENT_DATA:"現在の再生位置に関するデータは利用可能ですが、次のフレーム/ミリ秒を再生するのに十分なデータがありません",HAVE_FUTURE_DATA:"現在、少なくとも次のフレームのデータが利用可能です",HAVE_ENOUGH_DATA:"利用可能なデータは再生を開始するのに十分です",NETWORK_EMPTY:"オーディオ/ビデオが初期化されていません",NETWORK_IDLE:"オーディオ/ビデオはアクティブでリソースが選択されていますが、ネットワークが使用されていません",NETWORK_LOADING:"ブラウザーはデータをダウンロードしています",NETWORK_NO_SOURCE:"オーディオ/ビデオ のソースが見つかりません",MEDIA_ERR_ABORTED:"ユーザーによってフェッチプロセスが中止されました",MEDIA_ERR_NETWORK:"ダウンロード中にエラーが発生しました",MEDIA_ERR_DECODE:"デコード中にエラーが発生しました",MEDIA_ERR_SRC_NOT_SUPPORTED:"オーディオ/ビデオ の形式がサポートされていません",REPLAY:"リプレイ",ERROR:"ネットワークの接続に問題が発生しました",PLAY_TIPS:"プレイ",PAUSE_TIPS:"一時停止",PLAYNEXT_TIPS:"次をプレイ",DOWNLOAD_TIPS:"ダウンロード",ROTATE_TIPS:"回転",RELOAD_TIPS:"再読み込み",FULLSCREEN_TIPS:"フルスクリーン",EXITFULLSCREEN_TIPS:"フルスクリーンを終了",CSSFULLSCREEN_TIPS:"シアターモード",EXITCSSFULLSCREEN_TIPS:"シアターモードを終了",TEXTTRACK:"字幕",TEXTTRACK_OFF:"オフ",PIP:"ミニプレーヤー",SCREENSHOT:"スクリーンショット",LIVE:"生放送",OFF:"オフ",OPEN:"開いた",MINI_DRAG:"ボタンを押して働画をドラッグする",MINISCREEN:"小さな画面",REFRESH:"リフレッシュ",REFRESH_TIPS:"してみてください",FORWARD:"早送り",LIVE_TIP:"生放送"}},br={LANG:"br",TEXT:{ERROR_TYPES:{network:{code:1,msg:"erro de download de vídeo"},mse:{code:2,msg:"erro de anexação de fluxo"},parse:{code:3,msg:"erro de análise"},format:{code:4,msg:"formato incorreto"},decoder:{code:5,msg:"erro de decodificação"},runtime:{code:6,msg:"erros gramaticais"},timeout:{code:7,msg:"tempo limite de reprodução"},other:{code:8,msg:"outros erros"}},HAVE_NOTHING:"Não há informações sobre se o áudio/vídeo está pronto",HAVE_METADATA:"Os metadados de áudio/vídeo estão prontos ",HAVE_CURRENT_DATA:"Os dados sobre a localização de reprodução atual estão disponíveis, mas não há dados suficientes para reproduzir o próximo quadro/milissegundo",HAVE_FUTURE_DATA:"Atual e pelo menos um quadro de dados está disponível",HAVE_ENOUGH_DATA:"Os dados disponíveis são suficientes para começar a jogar",NETWORK_EMPTY:"O áudio/vídeo não foi inicializado",NETWORK_IDLE:"O áudio/vídeo está ativo e foi selecionado para recursos, mas nenhuma rede está sendo usada",NETWORK_LOADING:"O navegador está baixando os dados",NETWORK_NO_SOURCE:"Nenhuma fonte de áudio/vídeo foi encontrada",MEDIA_ERR_ABORTED:"O processo de busca é abortado pelo usuário",MEDIA_ERR_NETWORK:"Ocorreu um erro durante o download",MEDIA_ERR_DECODE:"Ocorreu um erro durante a decodificação",MEDIA_ERR_SRC_NOT_SUPPORTED:"Não há suporte para áudio/vídeo",REPLAY:"Repetir",ERROR:"A rede está offline",PLAY_TIPS:"Reproduzir",PAUSE_TIPS:"Pausar",PLAYNEXT_TIPS:"Reproduzir próximo",DOWNLOAD_TIPS:"Baixar",ROTATE_TIPS:"Girar",RELOAD_TIPS:"Recarregar",FULLSCREEN_TIPS:"Tela cheia",EXITFULLSCREEN_TIPS:"Sair da tela cheia",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Sair da cssfullscreen",TEXTTRACK:"Legenda",PIP:"PIP",SCREENSHOT:"Captura de tela",LIVE:"AO VIVO",OFF:"Desligado",OPEN:"Abrir",MINI_DRAG:"Clique e segure para arrastar",MINISCREEN:"Minitela",REFRESH_TIPS:"Tente",REFRESH:"Atualizar",FORWARD:"encaminhar",LIVE_TIP:"Ao vivo"}},de={LANG:"de",TEXT:{ERROR_TYPES:{network:{code:1,msg:"Fehler beim Herunterladen des Videos"},mse:{code:2,msg:"Fehler beim Anhängen des Streams"},parse:{code:3,msg:"Fehler beim Parsen"},format:{code:4,msg:"falsches Format"},decoder:{code:5,msg:"Dekodierungsfehler"},runtime:{code:6,msg:"grammatikalische Fehler"},timeout:{code:7,msg:"Wiedergabeunterbrechung"},other:{code:8,msg:"andere Fehler"}},HAVE_NOTHING:"Es sind keine Informationen darüber vorhanden, ob Audio/Video wiedergabebereit ist",HAVE_METADATA:"Audio-/Video-Metadaten können genutzt werden ",HAVE_CURRENT_DATA:"Es sind Daten über die aktuelle Wiedergabeposition verfügbar, jedoch reichen diese nicht aus, um den nächsten Frame / die nächste Millisekunde wiederzugeben",HAVE_FUTURE_DATA:"Das aktuelle und mindestens ein Datenframe ist verfügbar",HAVE_ENOUGH_DATA:"Die verfügbaren Daten reichen aus, um die Wiedergabe zu starten",NETWORK_EMPTY:"Audio/Video wurde nicht initialisiert",NETWORK_IDLE:"Audio/Video ist aktiv und wurde für die Ressourcen ausgewählt, aber es wird kein Netzwerk verwendet",NETWORK_LOADING:"Der Browser lädt die Daten herunter",NETWORK_NO_SOURCE:"Keine Audio-/Videoquelle gefunden",MEDIA_ERR_ABORTED:"Der Abrufvorgang wurde vom Benutzer abgebrochen",MEDIA_ERR_NETWORK:"Beim Herunterladen ist ein Fehler aufgetreten",MEDIA_ERR_DECODE:"Bei der Entschlüsselung ist ein Fehler aufgetreten",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/Video wird nicht unterstützt",REPLAY:"Erneute Wiedergabe",ERROR:"Das Netzwerk ist offline",PLAY_TIPS:"Wiedergabe",PAUSE_TIPS:"Anhalten",PLAYNEXT_TIPS:"Nächstes wiedergeben",DOWNLOAD_TIPS:"Herunterladen",ROTATE_TIPS:"Drehen",RELOAD_TIPS:"Neu laden",FULLSCREEN_TIPS:"Vollbildschirm",EXITFULLSCREEN_TIPS:"Vollbildschirm beenden",CSSFULLSCREEN_TIPS:"CSS-Vollbildschirm",EXITCSSFULLSCREEN_TIPS:"CSS-Vollbildschirm beenden",TEXTTRACK:"Beschriftung",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LIVE",OFF:"Aus",OPEN:"Öffnen",MINI_DRAG:"Klicken und zum Ziehen halten",MINISCREEN:"Miniaturbildschirm",REFRESH_TIPS:"Bitte versuchen",REFRESH:"Aktualisieren",FORWARD:"weiterleiten",LIVE_TIP:"Live"}},es$1={LANG:"es",TEXT:{ERROR_TYPES:{network:{code:1,msg:"error de descarga de vídeo"},mse:{code:2,msg:"error al añadir emisión"},parse:{code:3,msg:"error de análisis"},format:{code:4,msg:"formato incorrecto"},decoder:{code:5,msg:"error de descodificación"},runtime:{code:6,msg:"errores gramaticales"},timeout:{code:7,msg:"tiempo de espera de reproducción agotado"},other:{code:8,msg:"otros errores"}},HAVE_NOTHING:"No hay información sobre si el audio o el vídeo están listos",HAVE_METADATA:"Los metadatos de audio o vídeo están listos ",HAVE_CURRENT_DATA:"Los datos sobre la ubicación de reproducción actual están disponibles, pero no hay suficientes datos para reproducir el siguiente marco/milisegundo",HAVE_FUTURE_DATA:"El marco de datos actual y al menos uno más están disponibles",HAVE_ENOUGH_DATA:"Los datos disponibles son suficientes para iniciar la reproducción",NETWORK_EMPTY:"El audio o el vídeo no se han iniciado",NETWORK_IDLE:"El audio o el vídeo están activos y se han seleccionado para los recursos, pero no se utiliza ninguna red",NETWORK_LOADING:"El navegador está descargando los datos",NETWORK_NO_SOURCE:"No se ha encontrado ninguna fuente de audio o vídeo",MEDIA_ERR_ABORTED:"El usuario ha cancelado el proceso de recuperación",MEDIA_ERR_NETWORK:"Se ha producido un error al descargar",MEDIA_ERR_DECODE:"Se ha producido un error al descodificar",MEDIA_ERR_SRC_NOT_SUPPORTED:"El audio o el vídeo no son compatibles",REPLAY:"Volver a reproducir",ERROR:"La red está fuera de línea",PLAY_TIPS:"Reproducir",PAUSE_TIPS:"Pausar",PLAYNEXT_TIPS:"Reproducir siguiente",DOWNLOAD_TIPS:"Descargar",ROTATE_TIPS:"Girar",RELOAD_TIPS:"Cargar de nuevo",FULLSCREEN_TIPS:"Pantalla completa",EXITFULLSCREEN_TIPS:"Salir de la pantalla completa",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Salir de cssfullscreen",TEXTTRACK:"Subtítulo",PIP:"PIP",SCREENSHOT:"Captura de pantalla",LIVE:"EN DIRECTO",OFF:"Desactivado",OPEN:"Abrir",MINI_DRAG:"Haz clic y mantén pulsado para arrastrar",MINISCREEN:"Minipantalla",REFRESH_TIPS:"Inténtalo",REFRESH:"Volver a cargar",FORWARD:"reenviar",LIVE_TIP:"En directo"}},fr={LANG:"fr",TEXT:{ERROR_TYPES:{network:{code:1,msg:"erreur de téléchargement vidéo"},mse:{code:2,msg:"erreur d'ajout du stream"},parse:{code:3,msg:"erreur d'analyse"},format:{code:4,msg:"format erroné"},decoder:{code:5,msg:"erreur de décodage"},runtime:{code:6,msg:"erreurs grammaticales"},timeout:{code:7,msg:"lecture expirée"},other:{code:8,msg:"autres erreurs"}},HAVE_NOTHING:"Il n'y a pas d'information sur la disponibilité de l'audio/vidéo",HAVE_METADATA:"Les métadonnées audio/vidéo sont prêtes ",HAVE_CURRENT_DATA:"Les données relatives à l'emplacement de lecture actuel sont disponibles, mais les données ne sont pas suffisantes pour lire l'image/la milliseconde suivante",HAVE_FUTURE_DATA:"Trame de données actuelles (au moins une) disponible",HAVE_ENOUGH_DATA:"Les données disponibles sont suffisantes pour démarrer la lecture",NETWORK_EMPTY:"L'audio/vidéo n'a pas été initialisé",NETWORK_IDLE:"L'audio/vidéo est actif et a été sélectionné comme ressource, mais aucun réseau n'est utilisé",NETWORK_LOADING:"Le navigateur télécharge les données",NETWORK_NO_SOURCE:"Aucune source audio/vidéo n'a été trouvée",MEDIA_ERR_ABORTED:"Le processus de recherche est interrompu par l'utilisateur",MEDIA_ERR_NETWORK:"Une erreur s'est produite lors du téléchargement",MEDIA_ERR_DECODE:"Une erreur s'est produite lors du décodage",MEDIA_ERR_SRC_NOT_SUPPORTED:"L'audio/vidéo n'est pas pris en charge",REPLAY:"Relancer",ERROR:"Le réseau est hors ligne",PLAY_TIPS:"Lire",PAUSE_TIPS:"Mettre en pause",PLAYNEXT_TIPS:"Lire l'élément suivant",DOWNLOAD_TIPS:"Télécharger",ROTATE_TIPS:"Pivoter",RELOAD_TIPS:"Actualiser",FULLSCREEN_TIPS:"Plein écran",EXITFULLSCREEN_TIPS:"Quitter le plein écran",CSSFULLSCREEN_TIPS:"Plein écran css",EXITCSSFULLSCREEN_TIPS:"Quitter le plein écran css",TEXTTRACK:"Légende",PIP:"PIP",SCREENSHOT:"Capture d'écran",LIVE:"EN DIRECT",OFF:"Désactivé",OPEN:"Ouvrir",MINI_DRAG:"Cliquer et maintenir pour faire glisser",MINISCREEN:"Mini écran",REFRESH_TIPS:"Essayez",REFRESH:"Actualiser",FORWARD:"transférer",LIVE_TIP:"En direct"}},id={LANG:"id",TEXT:{ERROR_TYPES:{network:{code:1,msg:"kesalahan unduh video"},mse:{code:2,msg:"kesalahan penambahan stream"},parse:{code:3,msg:"kesalahan penguraian"},format:{code:4,msg:"format salah"},decoder:{code:5,msg:"kesalahan dekode"},runtime:{code:6,msg:"kesalahan tata bahasa"},timeout:{code:7,msg:"waktu pemutaran habis"},other:{code:8,msg:"kesalahan lainnya"}},HAVE_NOTHING:"Tidak ada informasi mengenai apakah audio/video sudah siap",HAVE_METADATA:"Metadata audio/video siap ",HAVE_CURRENT_DATA:"Data mengenai lokasi pemutaran saat ini tersedia, tetapi data tidak cukup untuk memutar bingkai berikutnya/milidetik",HAVE_FUTURE_DATA:"Data saat ini dan setidaknya satu bingkai data tersedia",HAVE_ENOUGH_DATA:"Data yang tersedia cukup untuk mulai memutar",NETWORK_EMPTY:"Audio/video belum diinisialisasi",NETWORK_IDLE:"Audio/video sedang aktif dan telah dipilih untuk sumber daya, tetapi tidak ada jaringan yang digunakan",NETWORK_LOADING:"Peramban sedang mengunduh data",NETWORK_NO_SOURCE:"Tidak ada sumber audio/video yang ditemukan",MEDIA_ERR_ABORTED:"Proses pengambilan dihentikan oleh pengguna",MEDIA_ERR_NETWORK:"Terjadi kesalahan ketika mengunduh",MEDIA_ERR_DECODE:"Terjadi kesalahan ketika mendekode",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video tidak didukung",REPLAY:"Putar ulang",ERROR:"Jaringan offline",PLAY_TIPS:"Putar",PAUSE_TIPS:"Jeda",PLAYNEXT_TIPS:"Putar berikutnya",DOWNLOAD_TIPS:"Unduh",ROTATE_TIPS:"Putar",RELOAD_TIPS:"Muat ulang",FULLSCREEN_TIPS:"Layar penuh",EXITFULLSCREEN_TIPS:"Keluar dari layar penuh",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Keluar dari cssfullscreen",TEXTTRACK:"Keterangan",PIP:"PIP",SCREENSHOT:"Screenshot",LIVE:"LANGSUNG",OFF:"Tidak Aktif",OPEN:"Buka",MINI_DRAG:"Klik dan tahan untuk menarik",MINISCREEN:"Layar mini",REFRESH_TIPS:"Silakan Coba",REFRESH:"Segarkan",FORWARD:"teruskan",LIVE_TIP:"Langsung"}},it={LANG:"it",TEXT:{ERROR_TYPES:{network:{code:1,msg:"errore di download del video"},mse:{code:2,msg:"errore di accodamento del flusso"},parse:{code:3,msg:"errore di analisi"},format:{code:4,msg:"formato errato"},decoder:{code:5,msg:"errore di decodifica"},runtime:{code:6,msg:"errori grammaticali"},timeout:{code:7,msg:"timeout della riproduzione"},other:{code:8,msg:"altri errori"}},HAVE_NOTHING:"Non ci sono informazioni che indichino se l'audio/il video è pronto",HAVE_METADATA:"I metadati audio/video sono pronti ",HAVE_CURRENT_DATA:"I dati sulla posizione corrente di riproduzione sono disponibili, ma non ci sono dati sufficienti per riprodurre il prossimo frame/millisecondo",HAVE_FUTURE_DATA:"Corrente e almeno un frame di dati è disponibile",HAVE_ENOUGH_DATA:"I dati disponibili sono sufficienti per avviare la riproduzione",NETWORK_EMPTY:"L'audio/Il video non è stato inizializzato",NETWORK_IDLE:"L'audio/Il video è attivo ed è stato selezionato per le risorse, ma non viene utilizzata alcuna rete",NETWORK_LOADING:"Il browser sta scaricando i dati",NETWORK_NO_SOURCE:"Nessuna origine audio/video trovata",MEDIA_ERR_ABORTED:"Il processo di recupero è stato interrotto dall'utente",MEDIA_ERR_NETWORK:"Si è verificato un errore durante il download",MEDIA_ERR_DECODE:"Si è verificato un errore durante la decodificazione",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/Video non supportato",REPLAY:"Riproduci di nuovo",ERROR:"Rete offline",PLAY_TIPS:"Riproduci",PAUSE_TIPS:"Sospendi",PLAYNEXT_TIPS:"Riproduci successivo",DOWNLOAD_TIPS:"Scarica",ROTATE_TIPS:"Ruota",RELOAD_TIPS:"Ricarica",FULLSCREEN_TIPS:"Schermo intero",EXITFULLSCREEN_TIPS:"Esci dallo schermo intero",CSSFULLSCREEN_TIPS:"Schermo intero CSS",EXITCSSFULLSCREEN_TIPS:"Esci dallo schermo intero CSS",TEXTTRACK:"Didascalia",PIP:"Immagine nell'immagine",SCREENSHOT:"Screenshot",LIVE:"IN DIRETTA",OFF:"Inattivo",OPEN:"Apri",MINI_DRAG:"Fai clic e tieni premuto per trascinare",MINISCREEN:"Minischermo",REFRESH_TIPS:"Prova",REFRESH:"Aggiorna",FORWARD:"inoltra",LIVE_TIP:"In diretta"}},kr={LANG:"kr",TEXT:{ERROR_TYPES:{network:{code:1,msg:"동영상 다운로드 오류"},mse:{code:2,msg:"스트림 추가 오류"},parse:{code:3,msg:"구문 분석 오류"},format:{code:4,msg:"잘못된 형식"},decoder:{code:5,msg:"디코딩 오류"},runtime:{code:6,msg:"문법 오류"},timeout:{code:7,msg:"재생 시간 초과"},other:{code:8,msg:"기타 오류"}},HAVE_NOTHING:"오디오/동영상 준비 여부에 대한 정보가 없습니다",HAVE_METADATA:"오디오/동영상 메타데이터가 준비되었습니다 ",HAVE_CURRENT_DATA:"현재 재생 위치에 대한 데이터를 사용할 수 있지만 다음 프레임/밀리초를 재생하기에는 데이터가 충분하지 않습니다",HAVE_FUTURE_DATA:"현재 및 하나 이상의 데이터 프레임을 사용할 수 있습니다",HAVE_ENOUGH_DATA:"사용 가능한 데이터가 재생을 시작하기에 충분합니다",NETWORK_EMPTY:"오디오/동영상이 초기화되지 않았습니다",NETWORK_IDLE:"오디오/동영상이 활성 상태이고 리소스에 대해 선택되었지만 네트워크가 사용되지 않습니다",NETWORK_LOADING:"브라우저에서 데이터를 다운로드하고 있습니다",NETWORK_NO_SOURCE:"오디오/동영상 소스를 찾을 수 없습니다",MEDIA_ERR_ABORTED:"사용자가 가져오기 처리 과정을 중단했습니다",MEDIA_ERR_NETWORK:"다운로드하는 동안 오류가 발생했습니다",MEDIA_ERR_DECODE:"디코딩하는 동안 오류가 발생했습니다",MEDIA_ERR_SRC_NOT_SUPPORTED:"오디오/동영상이 지원되지 않습니다",REPLAY:"재생",ERROR:"네트워크가 오프라인 상태입니다",PLAY_TIPS:"재생",PAUSE_TIPS:"일시 정지",PLAYNEXT_TIPS:"다음 재생",DOWNLOAD_TIPS:"다운로드",ROTATE_TIPS:"회전",RELOAD_TIPS:"다시 로드",FULLSCREEN_TIPS:"전체 화면",EXITFULLSCREEN_TIPS:"전체 화면 종료",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"cssfullscreen 종료",TEXTTRACK:"캡션",PIP:"PIP",SCREENSHOT:"스크린샷",LIVE:"라이브",OFF:"끄기",OPEN:"열기",MINI_DRAG:"클릭하고 길게 눌러 드래그",MINISCREEN:"미니스크린",REFRESH_TIPS:"시도해 보세요",REFRESH:"새로 고침",FORWARD:"전달",LIVE_TIP:"라이브"}},msMy={LANG:"ms-my",TEXT:{ERROR_TYPES:{network:{code:1,msg:"ralat muat turun video"},mse:{code:2,msg:"ralat menambahkan aliran"},parse:{code:3,msg:"ralat penghuraian"},format:{code:4,msg:"format salah"},decoder:{code:5,msg:"ralat mendekod"},runtime:{code:6,msg:"kesalahan tatabahasa"},timeout:{code:7,msg:"masa putar habis"},other:{code:8,msg:"kesalahan lain"}},HAVE_NOTHING:"Tiada maklumat sama ada audio/video sedia",HAVE_METADATA:"Metadata audio/video sedia ",HAVE_CURRENT_DATA:"Data tentang lokasi putar semasa tersedia, tetapi tidak cukup data untuk memainkan bingkai/milidetik seterusnya",HAVE_FUTURE_DATA:"Data semasa dan sekurang-kurangnya satu bingkai tersedia",HAVE_ENOUGH_DATA:"Data yang tersedia mencukupi untuk memulakan permainan",NETWORK_EMPTY:"Audio/video belum diinisialisasi",NETWORK_IDLE:"Audio/video aktif dan telah dipilih untuk sumber, tetapi tiada rangkaian digunakan",NETWORK_LOADING:"Pelayar sedang memuat turun data",NETWORK_NO_SOURCE:"Tiada sumber audio/video ditemui",MEDIA_ERR_ABORTED:"Proses pengambilan dibatalkan oleh pengguna",MEDIA_ERR_NETWORK:"Ralat berlaku semasa muat turun",MEDIA_ERR_DECODE:"Ralat berlaku semasa mendekod",MEDIA_ERR_SRC_NOT_SUPPORTED:"Audio/video tidak disokong",REPLAY:"Main semula",ERROR:"Rangkaian offline",PLAY_TIPS:"Putar",PAUSE_TIPS:"Jeda",PLAYNEXT_TIPS:"Putar seterusnya",DOWNLOAD_TIPS:"Muat turun",ROTATE_TIPS:"Putar",RELOAD_TIPS:"Muat semula",FULLSCREEN_TIPS:"Skrin penuh",EXITFULLSCREEN_TIPS:"Keluar skrin penuh",CSSFULLSCREEN_TIPS:"Cssskrin penuh",EXITCSSFULLSCREEN_TIPS:"Keluar cssskrin penuh",TEXTTRACK:"Kapsyen",PIP:"PIP",SCREENSHOT:"Tangkapan skrin",LIVE:"LIVE",OFF:"Matikan",OPEN:"Buka",MINI_DRAG:"Klik dan tahan untuk seret",MINISCREEN:"Miniscreen",REFRESH_TIPS:"Sila Cuba",REFRESH:"Segarkan",FORWARD:"ke hadapan",LIVE_TIP:"Langsung"}},ru={LANG:"ru",TEXT:{ERROR_TYPES:{network:{code:1,msg:"ошибка загрузки видео"},mse:{code:2,msg:"ошибка добавления потока"},parse:{code:3,msg:"ошибка синтаксического разбора"},format:{code:4,msg:"неверный формат"},decoder:{code:5,msg:"ошибка декодирования"},runtime:{code:6,msg:"грамматические ошибки"},timeout:{code:7,msg:"тайм-аут воспроизведения"},other:{code:8,msg:"прочие ошибки"}},HAVE_NOTHING:"Нет информации о готовности аудио/видео",HAVE_METADATA:"Метаданные аудио/видео готовы ",HAVE_CURRENT_DATA:"Данные о текущем месте воспроизведения доступны, но недостаточно данных для воспроизведения следующего кадра/миллисекунды",HAVE_FUTURE_DATA:"Доступен текущий и как минимум один кадр данных",HAVE_ENOUGH_DATA:"Доступных данных достаточно для начала воспроизведения",NETWORK_EMPTY:"Аудио/видео не инициализировано",NETWORK_IDLE:"Аудио/видео активны и выбраны для ресурсов, но сеть не используется",NETWORK_LOADING:"Браузер загружает данные",NETWORK_NO_SOURCE:"Источник аудио/видео не найден",MEDIA_ERR_ABORTED:"Процесс выборки прерван пользователем",MEDIA_ERR_NETWORK:"Произошла ошибка при загрузке",MEDIA_ERR_DECODE:"Произошла ошибка при декодировании",MEDIA_ERR_SRC_NOT_SUPPORTED:"Аудио/видео не поддерживается",REPLAY:"Повторить воспроизведение",ERROR:"Сеть не подключена",PLAY_TIPS:"Воспроизвести",PAUSE_TIPS:"Пауза",PLAYNEXT_TIPS:"Воспроизвести ​следующее",DOWNLOAD_TIPS:"Загрузить",ROTATE_TIPS:"Повернуть",RELOAD_TIPS:"Перезагрузить",FULLSCREEN_TIPS:"Полный экран",EXITFULLSCREEN_TIPS:"Выйти из полноэкранного режима",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Выход из cssfullscreen",TEXTTRACK:"Субтитры",PIP:"Картинка в картинке",SCREENSHOT:"Снимок экрана",LIVE:"В ЭФИРЕ",OFF:"Выкл",OPEN:"Открыть",MINI_DRAG:"Щелкните и удерживайте, чтобы переместить",MINISCREEN:"Мини-экран",REFRESH_TIPS:"Попробуйте",REFRESH:"Обновить",FORWARD:"переслать",LIVE_TIP:"В эфире"}},th={LANG:"th",TEXT:{ERROR_TYPES:{network:{code:1,msg:"เกิดข้อผิดพลาดในการดาวน์โหลดวิดีโอ"},mse:{code:2,msg:"เกิดข้อผิดพลาดในการผนวกสตรีม"},parse:{code:3,msg:"เกิดข้อผิดพลาดในการแยกวิเคราะห์"},format:{code:4,msg:"รูปแบบไม่ถูกต้อง"},decoder:{code:5,msg:"เกิดข้อผิดพลาดในการถอดรหัส"},runtime:{code:6,msg:"เกิดข้อผิดพลาดทางไวยากรณ์"},timeout:{code:7,msg:"หมดเวลาเล่น"},other:{code:8,msg:"ข้อผิดพลาดอื่น ๆ"}},HAVE_NOTHING:"ไม่มีข้อมูลความพร้อมของเสียง/วิดีโอ",HAVE_METADATA:"ข้อมูลของข้อมูลเสียง/วิดีโอพร้อมแล้ว ",HAVE_CURRENT_DATA:"มีข้อมูลตำแหน่งการเล่นปัจจุบัน แต่มีข้อมูลไม่พอที่จะเล่นเฟรม/มิลลิวินาทีถัดไป",HAVE_FUTURE_DATA:"มีเฟรมข้อมูลปัจจุบันอย่างน้อยหนึ่งเฟรม",HAVE_ENOUGH_DATA:"ข้อมูลที่มีอยู่เพียงพอที่จะเริ่มเล่น",NETWORK_EMPTY:"ยังไม่ได้เริ่มต้นเสียง/วิดีโอ",NETWORK_IDLE:"เสียง/วิดีโอใช้งานอยู่และเลือกไว้ใช้กับทรัพยากร แต่ไม่มีการใช้เครือข่าย",NETWORK_LOADING:"เบราว์เซอร์กำลังดาวน์โหลดข้อมูล",NETWORK_NO_SOURCE:"ไม่พบแหล่งเสียง/วิดีโอ",MEDIA_ERR_ABORTED:"ผู้ใช้ยกเลิกกระบวนการดึงแล้ว",MEDIA_ERR_NETWORK:"เกิดข้อผิดพลาดขณะดาวน์โหลด",MEDIA_ERR_DECODE:"เกิดข้อผิดพลาดขณะถอดรหัส",MEDIA_ERR_SRC_NOT_SUPPORTED:"ไม่รองรับเสียง/วิดีโอ",REPLAY:"เล่นซ้ำ",ERROR:"เครือข่ายออฟไลน์อยู่",PLAY_TIPS:"เล่น",PAUSE_TIPS:"หยุดชั่วคราว",PLAYNEXT_TIPS:"เล่นรายการถัดไป",DOWNLOAD_TIPS:"ดาวน์โหลด",ROTATE_TIPS:"หมุน",RELOAD_TIPS:"โหลดใหม่",FULLSCREEN_TIPS:"เต็มหน้าจอ",EXITFULLSCREEN_TIPS:"ออกจากโหมดเต็มหน้าจอ",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"ออกจาก cssfullscreen",TEXTTRACK:"คำบรรยาย",PIP:"PIP",SCREENSHOT:"ภาพหน้าจอ",LIVE:"สด",OFF:"ปิด",OPEN:"เปิด",MINI_DRAG:"คลิกค้างไว้เพื่อลาก",MINISCREEN:"จอเล็ก",REFRESH_TIPS:"โปรดลอง",REFRESH:"รีเฟรช",FORWARD:"ส่งต่อ",LIVE_TIP:"สด"}},vn={LANG:"vn",TEXT:{ERROR_TYPES:{network:{code:1,msg:"lỗi tải video về"},mse:{code:2,msg:"lỗi nối luồng"},parse:{code:3,msg:"lỗi phân tích cú pháp"},format:{code:4,msg:"sai định dạng"},decoder:{code:5,msg:"lỗi giải mã"},runtime:{code:6,msg:"lỗi ngữ pháp"},timeout:{code:7,msg:"hết thời gian phát"},other:{code:8,msg:"lỗi khác"}},HAVE_NOTHING:"Không có thông tin về việc âm thanh/video đã sẵn sàng hay chưa",HAVE_METADATA:"Siêu dữ liệu về âm thanh/video đã sẵn sàng ",HAVE_CURRENT_DATA:"Đã có dữ liệu về vị trí phát hiện tại, nhưng không có đủ dữ liệu để phát khung hình/mili giây tiếp theo",HAVE_FUTURE_DATA:"Hiện tại và có ít nhất một khung dữ liệu khả dụng",HAVE_ENOUGH_DATA:"Dữ liệu khả dụng đã đủ để bắt đầu phát",NETWORK_EMPTY:"Chưa khởi tạo âm thanh/video",NETWORK_IDLE:"Âm thanh/video đang hoạt động và đã được chọn làm tài nguyên nhưng không có mạng nào được sử dụng",NETWORK_LOADING:"Trình duyệt đang tải dữ liệu về",NETWORK_NO_SOURCE:"Không tìm thấy nguồn âm thanh/video",MEDIA_ERR_ABORTED:"Người dùng đã hủy bỏ quy trình tìm nạp",MEDIA_ERR_NETWORK:"Đã xảy ra lỗi khi tải về",MEDIA_ERR_DECODE:"Đã xảy ra lỗi khi giải mã",MEDIA_ERR_SRC_NOT_SUPPORTED:"Âm thanh/video không được hỗ trợ",REPLAY:"Phát lại",ERROR:"Mạng đang ngoại tuyến",PLAY_TIPS:"Phát",PAUSE_TIPS:"Tạm dừng",PLAYNEXT_TIPS:"Phát tiếp",DOWNLOAD_TIPS:"Tải về",ROTATE_TIPS:"Xoay",RELOAD_TIPS:"Tải lại",FULLSCREEN_TIPS:"Toàn màn hình",EXITFULLSCREEN_TIPS:"Thoát chế độ toàn màn hình",CSSFULLSCREEN_TIPS:"Cssfullscreen",EXITCSSFULLSCREEN_TIPS:"Thoát chế độ cssfullscreen",TEXTTRACK:"Chú thích",PIP:"PIP",SCREENSHOT:"Ảnh chụp màn hình",LIVE:"TRỰC TIẾP",OFF:"Tắt",OPEN:"Mở",MINI_DRAG:"Nhấp giữ để kéo",MINISCREEN:"Màn hình nhỏ",REFRESH_TIPS:"Vui lòng thử",REFRESH:"Làm mới",FORWARD:"chuyển tiếp",LIVE_TIP:"Phát trực tiếp"}},dist={exports:{}};"undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof globalThis&&globalThis,dist.exports=function(){var e={"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/style/index.scss":function(e,t,a){var r=a("./node_modules/css-loader/dist/runtime/sourceMaps.js"),n=a.n(r),i=a("./node_modules/css-loader/dist/runtime/api.js"),c=a.n(i)()(n());c.push([e.id,".danmu{overflow:hidden;user-select:none;-ms-user-select:none}.danmu>*{position:absolute;white-space:nowrap}.danmu-switch{width:32px;height:20px;border-radius:100px;background-color:#ccc;box-sizing:border-box;outline:none;cursor:pointer;position:relative;text-align:center;margin:10px auto}.danmu-switch.danmu-switch-active{padding-left:12px;background-color:#f85959}.danmu-switch span.txt{width:20px;height:20px;line-height:20px;text-align:center;display:block;border-radius:100px;background-color:#fff;box-shadow:-2px 0 0 0 rgba(0,0,0,.04);font-family:PingFangSC;font-size:10px;font-weight:500;color:#f44336}","",{version:3,sources:["webpack://./src/style/danmu.scss"],names:[],mappings:"AAAA,OACE,eAAA,CACA,gBAAA,CACA,oBAAA,CACA,SACE,iBAAA,CACA,kBAAA,CAIJ,cACE,UAAA,CACA,WAAA,CACA,mBAAA,CACA,qBAAA,CACA,qBAAA,CACA,YAAA,CACA,cAAA,CACA,iBAAA,CACA,iBAAA,CACA,gBAAA,CACA,kCACE,iBAAA,CACA,wBAAA,CAEF,uBACE,UAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,aAAA,CACA,mBAAA,CACA,qBAAA,CACA,qCAAA,CACA,sBAAA,CACA,cAAA,CACA,eAAA,CACA,aAAA",sourcesContent:[".danmu {\n overflow: hidden;\n user-select: none;\n -ms-user-select: none;\n > * {\n position: absolute;\n white-space: nowrap;\n }\n}\n\n.danmu-switch {\n width: 32px;\n height: 20px;\n border-radius: 100px;\n background-color: #ccc;\n box-sizing: border-box;\n outline: none;\n cursor: pointer;\n position: relative;\n text-align: center;\n margin: 10px auto;\n &.danmu-switch-active {\n padding-left: 12px;\n background-color: #f85959;\n }\n span.txt {\n width: 20px;\n height: 20px;\n line-height: 20px;\n text-align: center;\n display: block;\n border-radius: 100px;\n background-color: #ffffff;\n box-shadow: -2px 0 0 0 rgba(0, 0, 0, 0.04);\n font-family: PingFangSC;\n font-size: 10px;\n font-weight: 500;\n color: #f44336;\n }\n}\n"],sourceRoot:""}]),t.A=c},"./node_modules/css-loader/dist/runtime/api.js":function(e){e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var a="",r=void 0!==t[5];return t[4]&&(a+="@supports (".concat(t[4],") {")),t[2]&&(a+="@media ".concat(t[2]," {")),r&&(a+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),a+=e(t),r&&(a+="}"),t[2]&&(a+="}"),t[4]&&(a+="}"),a})).join("")},t.i=function(e,a,r,n,i){"string"==typeof e&&(e=[[null,e,void 0]]);var c={};if(r)for(var o=0;o<this.length;o++){var s=this[o][0];null!=s&&(c[s]=!0)}for(var u=0;u<e.length;u++){var d=[].concat(e[u]);r&&c[d[0]]||(void 0!==i&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=i),a&&(d[2]&&(d[1]="@media ".concat(d[2]," {").concat(d[1],"}")),d[2]=a),n&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=n):d[4]="".concat(n)),t.push(d))}},t}},"./node_modules/css-loader/dist/runtime/sourceMaps.js":function(e){e.exports=function(e){var t=e[1],a=e[3];if(!a)return t;if("function"==typeof btoa){var r=btoa(unescape(encodeURIComponent(JSON.stringify(a))));return[t].concat(["/*# ".concat("sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(r)," */")]).join("\n")}return[t].join("\n")}},"./node_modules/d/index.js":function(e,t,a){var r=a("./node_modules/d/node_modules/type/value/is.js"),n=a("./node_modules/d/node_modules/type/plain-function/is.js"),i=a("./node_modules/es5-ext/object/assign/index.js"),c=a("./node_modules/es5-ext/object/normalize-options.js"),o=a("./node_modules/es5-ext/string/​#/contains/index.js");(e.exports=function(e,t){var a,n,s,u,d;return arguments.length<2||"string"!=typeof e?(u=t,t=e,e=null):u=arguments[2],r(e)?(a=o.call(e,"c"),n=o.call(e,"e"),s=o.call(e,"w")):(a=s=!0,n=!1),d={value:t,configurable:a,enumerable:n,writable:s},u?i(c(u),d):d}).gs=function(e,t,a){var s,u,d,b;return"string"!=typeof e?(d=a,a=t,t=e,e=null):d=arguments[3],r(t)?n(t)?r(a)?n(a)||(d=a,a=void 0):a=void 0:(d=t,t=a=void 0):t=void 0,r(e)?(s=o.call(e,"c"),u=o.call(e,"e")):(s=!0,u=!1),b={get:t,set:a,configurable:s,enumerable:u},d?i(c(d),b):b}},"./node_modules/d/node_modules/type/function/is.js":function(e,t,a){var r=a("./node_modules/d/node_modules/type/prototype/is.js");e.exports=function(e){if("function"!=typeof e||!hasOwnProperty.call(e,"length"))return!1;try{if("number"!=typeof e.length||"function"!=typeof e.call||"function"!=typeof e.apply)return!1}catch(e){return!1}return!r(e)}},"./node_modules/d/node_modules/type/object/is.js":function(e,t,a){var r=a("./node_modules/d/node_modules/type/value/is.js"),n={object:!0,function:!0,undefined:!0};e.exports=function(e){return!!r(e)&&hasOwnProperty.call(n,typeof e)}},"./node_modules/d/node_modules/type/plain-function/is.js":function(e,t,a){var r=a("./node_modules/d/node_modules/type/function/is.js"),n=/^\s*class[\s{/}]/,i=Function.prototype.toString;e.exports=function(e){return!(!r(e)||n.test(i.call(e)))}},"./node_modules/d/node_modules/type/prototype/is.js":function(e,t,a){var r=a("./node_modules/d/node_modules/type/object/is.js");e.exports=function(e){if(!r(e))return!1;try{return!!e.constructor&&e.constructor.prototype===e}catch(e){return!1}}},"./node_modules/d/node_modules/type/value/is.js":function(e){var t=void 0;e.exports=function(e){return e!==t&&null!==e}},"./node_modules/es5-ext/function/noop.js":function(e){e.exports=function(){}},"./node_modules/es5-ext/object/assign/index.js":function(e,t,a){e.exports=a("./node_modules/es5-ext/object/assign/is-implemented.js")()?Object.assign:a("./node_modules/es5-ext/object/assign/shim.js")},"./node_modules/es5-ext/object/assign/is-implemented.js":function(e){e.exports=function(){var e,t=Object.assign;return"function"==typeof t&&(t(e={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),e.foo+e.bar+e.trzy==="razdwatrzy")}},"./node_modules/es5-ext/object/assign/shim.js":function(e,t,a){var r=a("./node_modules/es5-ext/object/keys/index.js"),n=a("./node_modules/es5-ext/object/valid-value.js"),i=Math.max;e.exports=function(e,t){var a,c,o,s=i(arguments.length,2);for(c=1,e=Object(n(e)),o=function(r){try{e[r]=t[r]}catch(e){a||(a=e)}};c<s;++c)r(t=arguments[c]).forEach(o);if(void 0!==a)throw a;return e}},"./node_modules/es5-ext/object/is-value.js":function(e,t,a){var r=a("./node_modules/es5-ext/function/noop.js")();e.exports=function(e){return e!==r&&null!==e}},"./node_modules/es5-ext/object/keys/index.js":function(e,t,a){e.exports=a("./node_modules/es5-ext/object/keys/is-implemented.js")()?Object.keys:a("./node_modules/es5-ext/object/keys/shim.js")},"./node_modules/es5-ext/object/keys/is-implemented.js":function(e){e.exports=function(){try{return Object.keys("primitive"),!0}catch(e){return!1}}},"./node_modules/es5-ext/object/keys/shim.js":function(e,t,a){var r=a("./node_modules/es5-ext/object/is-value.js"),n=Object.keys;e.exports=function(e){return n(r(e)?Object(e):e)}},"./node_modules/es5-ext/object/normalize-options.js":function(e,t,a){var r=a("./node_modules/es5-ext/object/is-value.js"),n=Array.prototype.forEach,i=Object.create,c=function(e,t){var a;for(a in e)t[a]=e[a]};e.exports=function(e){var t=i(null);return n.call(arguments,(function(e){r(e)&&c(Object(e),t)})),t}},"./node_modules/es5-ext/object/valid-callable.js":function(e){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function");return e}},"./node_modules/es5-ext/object/valid-value.js":function(e,t,a){var r=a("./node_modules/es5-ext/object/is-value.js");e.exports=function(e){if(!r(e))throw TypeError("Cannot use null or undefined");return e}},"./node_modules/es5-ext/string/​#/contains/index.js":function(e,t,a){e.exports=a("./node_modules/es5-ext/string/​#/contains/is-implemented.js")()?String.prototype.contains:a("./node_modules/es5-ext/string/​#/contains/shim.js")},"./node_modules/es5-ext/string/​#/contains/is-implemented.js":function(e){var t="razdwatrzy";e.exports=function(){return"function"==typeof t.contains&&!0===t.contains("dwa")&&!1===t.contains("foo")}},"./node_modules/es5-ext/string/​#/contains/shim.js":function(e){var t=String.prototype.indexOf;e.exports=function(e){return t.call(this,e,arguments[1])>-1}},"./node_modules/event-emitter/index.js":function(e,t,a){var r,n,i,c,o,s,u,d=a("./node_modules/d/index.js"),b=a("./node_modules/es5-ext/object/valid-callable.js"),f=Function.prototype.apply,l=Function.prototype.call,h=Object.create,p=Object.defineProperty,y=Object.defineProperties,g=Object.prototype.hasOwnProperty,v={configurable:!0,enumerable:!1,writable:!0};n=function(e,t){var a,n;return b(t),n=this,r.call(this,e,a=function(){i.call(n,e,a),f.call(t,this,arguments)}),a.__eeOnceListener__=t,this},o={on:r=function(e,t){var a;return b(t),g.call(this,"__ee__")?a=this.__ee__:(a=v.value=h(null),p(this,"__ee__",v),v.value=null),a[e]?"object"==typeof a[e]?a[e].push(t):a[e]=[a[e],t]:a[e]=t,this},once:n,off:i=function(e,t){var a,r,n,i;if(b(t),!g.call(this,"__ee__")||!(a=this.__ee__)[e])return this;if("object"==typeof(r=a[e]))for(i=0;n=r[i];++i)(n===t||n.__eeOnceListener__===t)&&(2===r.length?a[e]=r[+!i]:r.splice(i,1));else(r===t||r.__eeOnceListener__===t)&&delete a[e];return this},emit:c=function(e){var t,a,r,n,i;if(g.call(this,"__ee__")&&(n=this.__ee__[e]))if("object"==typeof n){for(t=1,a=arguments.length,i=Array(a-1);t<a;++t)i[t-1]=arguments[t];for(t=0,n=n.slice();r=n[t];++t)f.call(r,this,i)}else switch(arguments.length){case 1:l.call(n,this);break;case 2:l.call(n,this,arguments[1]);break;case 3:l.call(n,this,arguments[1],arguments[2]);break;default:for(t=1,a=arguments.length,i=Array(a-1);t<a;++t)i[t-1]=arguments[t];f.call(n,this,i)}}},u=y({},s={on:d(r),once:d(n),off:d(i),emit:d(c)}),e.exports=t=function(e){return null==e?h(u):y(Object(e),s)},t.methods=o},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":function(e){var t=[];function a(e){for(var a=-1,r=0;r<t.length;r++)if(t[r].identifier===e){a=r;break}return a}function r(e,r){for(var n={},i=[],c=0;c<e.length;c++){var o=e[c],s=r.base?o[0]+r.base:o[0],u=n[s]||0,d="".concat(s," ").concat(u);n[s]=u+1;var b=a(d),f={css:o[1],media:o[2],sourceMap:o[3],supports:o[4],layer:o[5]};if(-1!==b)t[b].references++,t[b].updater(f);else{var l=function(e,t){var a=t.domAPI(t);return a.update(e),function(t){t?(t.css!==e.css||t.media!==e.media||t.sourceMap!==e.sourceMap||t.supports!==e.supports||t.layer!==e.layer)&&a.update(e=t):a.remove()}}(f,r);r.byIndex=c,t.splice(c,0,{identifier:d,updater:l,references:1})}i.push(d)}return i}e.exports=function(e,n){var i=r(e=e||[],n=n||{});return function(e){e=e||[];for(var c=0;c<i.length;c++){var o=a(i[c]);t[o].references--}for(var s=r(e,n),u=0;u<i.length;u++){var d=a(i[u]);0===t[d].references&&(t[d].updater(),t.splice(d,1))}i=s}}},"./node_modules/style-loader/dist/runtime/insertBySelector.js":function(e){var t={};e.exports=function(e,a){var r=function(e){if(void 0===t[e]){var a=document.querySelector(e);if(window.HTMLIFrameElement&&a instanceof window.HTMLIFrameElement)try{a=a.contentDocument.head}catch(e){a=null}t[e]=a}return t[e]}(e);if(!r)throw Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");r.appendChild(a)}},"./node_modules/style-loader/dist/runtime/insertStyleElement.js":function(e){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},"./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js":function(e,t,a){e.exports=function(e){var t=a.nc;t&&e.setAttribute("nonce",t)}},"./node_modules/style-loader/dist/runtime/styleDomAPI.js":function(e){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(a){var r,n,i;r="",a.supports&&(r+="@supports (".concat(a.supports,") {")),a.media&&(r+="@media ".concat(a.media," {")),(n=void 0!==a.layer)&&(r+="@layer".concat(a.layer.length>0?" ".concat(a.layer):""," {")),r+=a.css,n&&(r+="}"),a.media&&(r+="}"),a.supports&&(r+="}"),(i=a.sourceMap)&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleTagTransform(r,t,e.options)},remove:function(){var e;null===(e=t).parentNode||e.parentNode.removeChild(e)}}}},"./node_modules/style-loader/dist/runtime/styleTagTransform.js":function(e){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function a(r){var n=t[r];if(void 0!==n)return n.exports;var i=t[r]={id:r,exports:{}};return e[r](i,i.exports,a),i.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nc=void 0;var r={};return function(){a.r(r),a.d(r,{default:function(){return M},DanmuJs:function(){return M}});var e=a("./node_modules/event-emitter/index.js"),t=a.n(e);function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}var i="undefined"!=typeof window&&window.location.href.indexOf("danmu-debug")>-1,c=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this.constructorName=e||""}return e=[{key:"info",value:function(e){for(var t,a=arguments.length,r=Array(a>1?a-1:0),c=1;c<a;c++)r[c-1]=arguments[c];i&&(t=console).log.apply(t,["[Danmu Log][".concat(this.constructorName,"]"),e].concat(function(e){if(Array.isArray(e))return n(e)}(r)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return n(e,void 0);var a=Object.prototype.toString.call(e).slice(8,-1);if("Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a)return Array.from(a);if("Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a))return n(e,void 0)}}(r)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()))}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}(),o=function(){var e;function t(){if(!(this instanceof t))throw TypeError("Cannot call a class as a function")}return e=[{key:"setLogger",value:function(e){this.logger=(null!=c&&"undefined"!=typeof Symbol&&c[Symbol.hasInstance]?c[Symbol.hasInstance](e):e instanceof c)?e:new c((e||"")+".js")}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}(),s=Object.prototype.hasOwnProperty;function u(e,t){if("Object"===d(t)&&"Object"===d(e))return Object.keys(t).forEach((function(a){var r,n;"Object"!==d(t[a])||(r=t[a],null!=(n=Node)&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?n[Symbol.hasInstance](r):r instanceof n)?"Array"===d(t[a])?e[a]="Array"===d(e[a])?e[a].concat(t[a]):t[a]:e[a]=t[a]:e[a]?u(e[a],t[a]):e[a]=t[a]})),e}function d(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]}function b(e,t,a,r){if(r)e.on(t,a),e.once(r,(function n(){e.off(t,a),e.off(r,n)}));else{var n=function(r){a(r),e.off(t,n)};e.on(t,n)}}function f(e,t,a){var r=e.style;try{r[t]=a}catch(e){r.setProperty(t,a)}}function l(e){return"number"==typeof e&&!Number.isNaN(e)}function h(e){return(h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(y=function(){return!!e})()}var g=new c("bullet"),v=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(e){var t,r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(this instanceof a))throw TypeError("Cannot call a class as a function");t=h(t=a),r=function(e,t){var a;if(t&&("object"==((a=t)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,y()?Reflect.construct(t,[],h(this).constructor):t.apply(this,void 0));var i=e.container,c=e.recycler,o=e.config;return r.setLogger(g),r.danmu=e,r.options=n,r.duration=n.duration,r.id=n.id,r.container=i,r.mode="top"===n.mode||"bottom"===n.mode?n.mode:"scroll",r.start=n.start,r.prior=n.prior,r.realTime=n.realTime,r.color=n.color,r.bookChannelId=n.bookChannelId,r.reuseDOM=!0,r.noCopyEl=!(!o.disableCopyDOM&&!n.disableCopyDOM),r.recycler=c,r._fullySlideInScreenDuration=void 0,r._lastMoveTime=void 0,r.status="waiting",n.elLazyInit||(r.bulletCreateFail=!r._makeEl()),r}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&p(a,e),t=[{key:"moveV",get:function(){var e=this.danmu,t=this.options,a=this._moveV;if(!a){if(t.moveV)a=t.moveV;else if(this.elPos){var r=e.containerPos;a=("b2t"===this.direction?r.height+(e.config.chaseEffect?this.height:0):r.width+(e.config.chaseEffect?this.width:0))/this.duration*1e3}a&&(a*=e.main.playRate,this._moveV=a)}return a}},{key:"direction",get:function(){return this.danmu.direction}},{key:"fullySlideIntoScreen",get:function(){var e=!0;return"scroll"===this.mode&&this._lastMoveTime&&this._fullySlideInScreenDuration>0&&(e=((new Date).getTime()-this._lastMoveTime)/1e3>=this._fullySlideInScreenDuration),e}},{key:"_makeEl",value:function(){var e,t,a=this.danmu,r=this.options,n=a.config,i=a.globalHooks,c="",o=r.style||{};if(o.perspective="500em",r.el||r.elLazyInit){if(this.noCopyEl&&(this.reuseDOM=!1),r.elLazyInit){if("function"==typeof i.bulletCreateEl)try{var s,u=i.bulletCreateEl(r);e=(null!=(s=HTMLElement)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](u):u instanceof s)?u:u.el}catch(e){}}else if(1===r.el.nodeType&&!r.el.parentNode)if(this.reuseDOM){var d=function(e){if(!e||1!==e.nodeType)return"";var t=document.createElement(e.tagName);return Array.prototype.forEach.call(e.attributes,(function(e){t.setAttribute(e.name,e.value)})),e.innerHTML&&(t.innerHTML=e.innerHTML),t}(r.el);r.eventListeners&&r.eventListeners.length>0&&r.eventListeners.forEach((function(e){d.addEventListener(e.event,e.listener,e.useCapture||!1)})),(e=this.recycler.use()).childNodes.length>0&&(e.innerHTML=""),e.textContent&&(e.textContent=""),e.appendChild(d)}else e=r.el}else"string"==typeof r.txt&&((e=this.recycler.use()).textContent=r.txt);if(!e||!a.main)return!1;if(l(n.bulletOffset)&&n.bulletOffset>=0)t=n.bulletOffset;else{var b=a.containerPos;t=b.width/10>100?100:b.width/10}var f=r.realTime?0:Math.floor(Math.random()*t);o.left=this.updateOffset(f,!0),Object.keys(o).forEach((function(e){var t=e.replace(/[A-Z]/g,(function(e){return"-"+e.toLowerCase()}));c+="".concat(t,":").concat(o[e],";")}));var h=c,p=e.style;try{p.cssText=h}catch(e){}return this.el=e,r.like&&r.like.el&&this.setLikeDom(r.like.el,r.like.style),!0}},{key:"updateOffset",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.random=e;var a=this.danmu.containerPos.width+e+"px";return t||f(this.el,"left",this.danmu.containerPos.width+e+"px"),a}},{key:"attach",value:function(){if(this.options.elLazyInit&&!this.el&&this._makeEl(),this.danmu&&this.danmu.main){var e=this.danmu,t=this.options,a=this.el,r=e.globalHooks;r.bulletAttaching&&r.bulletAttaching(t),this.container.contains(a)||this.container.appendChild(a),this.elPos=a.getBoundingClientRect(),"b2t"===this.direction?(this.width=this.elPos.height,this.height=this.elPos.width):(this.width=this.elPos.width,this.height=this.elPos.height),this.moveV&&(this.duration=(this.danmu.containerPos.width+this.random+this.width)/this.moveV*1e3),r.bulletAttached&&r.bulletAttached(t,a)}}},{key:"detach",value:function(){var e=this.el,t=this.danmu,a=this.options,r=t.globalHooks;e&&(r.bulletDetaching&&r.bulletDetaching(a),this.reuseDOM?this.recycler.unused(e):e.parentNode&&e.parentNode.removeChild(e),r.bulletDetached&&r.bulletDetached(a,e),this.el=null),this.elPos=void 0}},{key:"topInit",value:function(){this.logger&&this.logger.info("topInit #".concat(this.options.txt||"[DOM Element]","#")),"b2t"===this.direction?(f(this.el,"transformOrigin","left top"),f(this.el,"transform","translateX(-".concat(this.top,"px) translateY(").concat(this.danmu.containerPos.height,"px) translateZ(0px) rotate(90deg)")),f(this.el,"transition","transform 0s linear 0s")):f(this.el,"top","".concat(this.top,"px"))}},{key:"pauseMove",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if("paused"!==this.status&&("forcedPause"!==this.status&&(this.status="paused"),this._moveV=void 0,this.el))if("scroll"===this.mode){var t=this.danmu.containerPos;if(e){var a=((new Date).getTime()-this._lastMoveTime)/1e3*this.moveV,r=0;r=this.moveMoreS-a>=0?"b2t"===this.direction?(this.moveMoreS-a)/this.moveContainerHeight*t.height:(this.moveMoreS-a)/this.moveContainerWidth*t.width:this.moveMoreS-a,"b2t"===this.direction?f(this.el,"transform","translateX(-".concat(this.top,"px) translateY(").concat(r,"px) translateZ(0px) rotate(90deg)")):f(this.el,"left","".concat(r,"px"))}else"b2t"===this.direction?f(this.el,"transform","translateX(-".concat(this.top,"px) translateY(").concat(this.el.getBoundingClientRect().top-t.top,"px) translateZ(0px) rotate(90deg)")):f(this.el,"left","".concat(this.el.getBoundingClientRect().left-t.left,"px"));"b2t"===this.direction||f(this.el,"transform","translateX(0px) translateY(0px) translateZ(0px)"),f(this.el,"transition","transform 0s linear 0s")}else this.pastDuration&&this.startTime?this.pastDuration=this.pastDuration+(new Date).getTime()-this.startTime:this.pastDuration=1}},{key:"startMove",value:function(e){if(this.hasMove||(this.danmu.emit("bullet_start",this),this.hasMove=!0),("forcedPause"!==this.status||e)&&this.el&&"start"!==this.status)if(this.status="start","scroll"===this.mode){var t,a=this.danmu.containerPos;if(!this.el)return;var r=this.el.getBoundingClientRect();if("b2t"===this.direction){t=r.bottom-a.bottom;var n=(r.bottom-a.top)/this.moveV;f(this.el,"transition","transform ".concat(n,"s linear 0s")),f(this.el,"transform","translateX(-".concat(this.top,"px) translateY(-").concat(this.height,"px) translateZ(0px) rotate(90deg)")),this._lastMoveTime=(new Date).getTime(),this.moveMoreS=r.top-a.top,this.moveContainerHeight=a.height}else{t=r.right-a.right;var i=r.right-a.left,c=i/this.moveV;r.right>a.left?(f(this.el,"transition","transform ".concat(c,"s linear 0s")),f(this.el,"transform","translateX(-".concat(i,"px) translateY(0px) translateZ(0px)")),this._lastMoveTime=(new Date).getTime(),this.moveMoreS=r.left-a.left,this.moveContainerWidth=a.width):(this.status="end",this.remove())}this._fullySlideInScreenDuration=t/this.moveV}else{var o=(new Date).getTime(),s=(this.startTime&&o-this.startTime>this.duration?o-this.startTime:this.duration)/1e3;f(this.el,"left","50%"),f(this.el,"margin","0 0 0 -".concat(this.width/2,"px")),f(this.el,"visibility","hidden"),f(this.el,"transition","visibility ".concat(s,"s 0s")),this.pastDuration||(this.pastDuration=1),this.startTime=o}}},{key:"remove",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];this.logger&&this.logger.info("remove #".concat(this.options.txt||"[DOM Element]","#")),e&&this.pauseMove(),this.el&&this.el.parentNode&&(this.detach(),this.options.el&&1===this.options.el.nodeType&&this.noCopyEl&&f(this.options.el,"transform","none"),this.danmu.emit("bullet_remove",{bullet:this}))}},{key:"setFontSize",value:function(e){this.el&&(this.el.style.fontSize=e)}},{key:"setLikeDom",value:function(e,t){if(e){Object.keys(t).forEach((function(a){e.style[a]=t[a]}));var a="danmu-like";if(e.className=a,this.el){var r=this.el.querySelector("."+a);r&&this.el.removeChild(r),this.el.innerHTML="".concat(this.el.innerHTML).concat(e.outerHTML)}}return e}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,t),a}(o);function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _(e,t){return(_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function E(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(E=function(){return!!e})()}var S=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(e){var t,r;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");return t=m(t=a),(r=function(e,t){var a;if(t&&("object"==((a=t)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,E()?Reflect.construct(t,[],m(this).constructor):t.apply(this,void 0))).setLogger("channel"),r.danmu=e,r.width=0,r.height=0,r.reset(!0),r.channels=[],r.updatePos(),b(r.danmu,"bullet_remove",(function(e){r.removeBullet(e.bullet)}),"destroy"),b(r.danmu,"channel_resize",(function(){r.resize()}),"destroy"),r}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&_(a,e),t=[{key:"direction",get:function(){return this.danmu.direction}},{key:"checkAvailableTrack",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"scroll",t=this.channels,a=!1;if("scroll"===e)for(var r,n=0;n<t.length;n++)if(a=!0,(r=t[n]).operating[e])a=!1;else{var i=r.queue[e][0];if(!i||i.fullySlideIntoScreen){if(a)break}else a=!1}else a=!0;return a}},{key:"destroy",value:function(){for(var e in this.logger&&this.logger.info("destroy"),this.channels.splice(0,this.channels.length),this._cancelResizeTimer(),this)s.call(this,e)&&delete this[e]}},{key:"reset",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info("reset");var t=this,a=t.danmu,r=a.container,n=a.bulletBtn;function i(){if(t.danmu&&t.danmu.container){var e=t.danmu.container.getBoundingClientRect();t.width=e.width,t.height=e.height,t.resetId&&(cancelAnimationFrame(t.resetId),t.resetId=null);var a=t._initChannels(),r=a.channelSize,n=a.channelCount,i=a.channels;t.channelCount=n,t.channels=i,"b2t"===t.direction?t.channelWidth=r:t.channelHeight=r}}t.container=r,n&&n.main&&n.main.queue.forEach((function(e){e.remove()})),t.channels&&t.channels.length>0&&["scroll","top","bottom"].forEach((function(e){for(var a=0;a<t.channels.length;a++)t.channels[a].queue[e].forEach((function(e){e.remove()}))})),n&&n.main&&n.main.data&&n.main.data.forEach((function(e){e.attached_=!1})),e?this.resetId=requestAnimationFrame(i):i()}},{key:"getRealOccupyArea",value:function(){return{width:this.width,height:this.height}}},{key:"updatePos",value:function(){var e=this.container.getBoundingClientRect();this.containerPos=e,this.containerWidth=e.width,this.containerHeight=e.height,this.containerTop=e.top,this.containerBottom=e.bottom,this.containerLeft=e.left,this.containerRight=e.right}},{key:"addBullet",value:function(e){var t=this,a=this.danmu,r=this.channels;if("b2t"===t.direction?(i=this.channelWidth,c=Math.ceil(e.width/i)):(n=this.channelHeight,c=Math.ceil(e.height/n)),c>r.length)return{result:!1,message:"exceed channels.length, occupy=".concat(c,",channelsSize=").concat(r.length)};for(var n,i,c,o,s=!0,u=-1,d=0,b=r.length;d<b;d++)if(r[d].queue[e.mode].some((function(t){return t.id===e.id})))return{result:!1,message:"exited, channelOrder=".concat(d,",danmu_id=").concat(e.id)};if("scroll"===e.mode)for(var f=0,l=r.length-c;f<=l;f+=c){s=!0;for(var h=f;h<f+c;h++){if((o=r[h]).operating.scroll||o.bookId.scroll&&o.bookId.scroll!==e.id){s=!1;break}o.operating.scroll=!0;var p=o.queue.scroll[0];if(p){var y=p.el.getBoundingClientRect();if("b2t"===t.direction){if(y.bottom>=t.containerPos.bottom){s=!1,o.operating.scroll=!1;break}}else if(y.right>=t.containerPos.right){s=!1,o.operating.scroll=!1;break}var g=void 0,v=p.moveV,m=void 0,_=e.moveV,E=void 0;if("b2t"===t.direction?(m=(g=y.bottom-t.containerTop)/v,E=t.containerHeight+e.random-g):(m=(g=y.right-t.containerLeft)/v,E=t.containerWidth+e.random-g),_>v){var S=E/(_-v);if(a.config.bOffset||(a.config.bOffset=0),m+a.config.bOffset>=S){var T=m*_-t.containerPos.width;T>0&&e.updateOffset(T+(1+Math.ceil(5*Math.random())))}}}o.operating.scroll=!1}if(s){u=f;break}}else if("top"===e.mode)for(var A=0,k=r.length-c;A<=k;A++){s=!0;for(var I=A;I<A+c;I++){if(I>Math.floor(r.length/2)||(o=r[I]).operating[e.mode]||(o.bookId[e.mode]||e.prior)&&o.bookId[e.mode]!==e.id){s=!1;break}if(o.operating[e.mode]=!0,o.queue[e.mode].length>0){s=!1,o.operating[e.mode]=!1;break}o.operating[e.mode]=!1}if(s){u=A;break}}else if("bottom"===e.mode)for(var R=r.length-c;R>=0;R--){s=!0;for(var w=R;w<R+c;w++){if(w<=Math.floor(r.length/2)||(o=r[w]).operating[e.mode]||(o.bookId[e.mode]||e.prior)&&o.bookId[e.mode]!==e.id){s=!1;break}if(o.operating[e.mode]=!0,o.queue[e.mode].length>0){s=!1,o.operating[e.mode]=!1;break}o.operating[e.mode]=!1}if(s){u=R;break}}if(-1!==u){for(var C=u,x=u+c;C<x;C++)(o=r[C]).operating[e.mode]=!0,o.queue[e.mode].unshift(e),e.prior&&(delete o.bookId[e.mode],t.logger&&t.logger.info(C+"号轨道恢复正常使用")),o.operating[e.mode]=!1;return e.prior&&(t.logger&&t.logger.info(e.id+"号优先弹幕运行完毕"),delete e.bookChannelId,a.player&&a.bulletBtn.main.data.some((function(t){return t.id===e.id&&(delete t.bookChannelId,!0)}))),e.channel_id=[u,c],e.el.setAttribute("data-line-index",u+1),"b2t"===t.direction?(e.top=u*i,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerWidth*t.danmu.config.area.start)):(e.top=u*n,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start)),{result:e,message:"success"}}if(e.options.realTime){var O=0,P=-1,D=null;if(t.danmu.bulletBtn.main.queue.forEach((function(e,a){!e.prior&&!e.options.realTime&&e.el&&e.el.getBoundingClientRect().left>t.containerPos.right&&e.start>=O&&(O=e.start,P=a,D=e)})),D){D.remove(),t.removeBullet(D),t.danmu.bulletBtn.main.queue.splice(P,1),e.channel_id=D.channel_id;for(var L=D.channel_id[0],q=D.channel_id[0]+D.channel_id[1];L<q;L++)(o=r[L]).operating[e.mode]=!0,o.queue[e.mode].unshift(e),e.prior&&delete o.bookId[e.mode],o.operating[e.mode]=!1;return e.top=D.top,t.danmu.config.area&&t.danmu.config.area.start&&(e.top+=t.containerHeight*t.danmu.config.area.start),{result:e,message:"success"}}}if(e.prior)if(e.bookChannelId||t.danmu.live)a.player&&a.bulletBtn.main.data.some((function(a){return a.id===e.id&&(t.logger&&t.logger.info(e.id+"号优先弹幕将于2秒后再次请求注册"),a.start+=2e3,!0)}));else{u=-1;for(var N=0,M=r.length-c;N<=M;N++){s=!0;for(var U=N;U<N+c;U++)if(r[U].bookId[e.mode]){s=!1;break}if(s){u=N;break}}if(-1!==u){for(var F=u;F<u+c;F++)r[F].bookId[e.mode]=e.id,t.logger&&t.logger.info(F+"号轨道被"+e.id+"号优先弹幕预定");a.player&&a.bulletBtn.main.data.some((function(a){return a.id===e.id&&(t.logger&&t.logger.info(e.id+"号优先弹幕将于2秒后再次请求注册"),a.start+=2e3,a.bookChannelId=[u,c],t.logger&&t.logger.info("".concat(e.id,"号优先弹幕预定了").concat(u,"~").concat(u+c-1,"号轨道")),!0)}))}}return{result:!1,message:"no surplus will right"}}},{key:"removeBullet",value:function(e){this.logger&&this.logger.info("removeBullet ".concat(e.options.txt||"[DOM Element]"));for(var t,a=this.channels,r=e.channel_id,n=r[0],i=r[0]+r[1];n<i;n++)!function(r,n){if(t=a[r]){t.operating[e.mode]=!0;var i=-1;t.queue[e.mode].some((function(t,a){return t.id===e.id&&(i=a,!0)})),i>-1&&t.queue[e.mode].splice(i,1),t.operating[e.mode]=!1}}(n);e.options.loop&&this.danmu.bulletBtn.main.playedData.push(e.options)}},{key:"resizeSync",value:function(){this.resize(!0)}},{key:"_initChannels",value:function(){if(this.danmu&&this.danmu.config){var e=this.danmu.config,t=e.channelSize||(/mobile/gi.test(navigator.userAgent)?10:12);if(e.area){var a,r=e.area,n=r.lines,i=r.start,c=r.end;if("number"==typeof n&&n>=0&&Number.isInteger(n))a=n,"b2t"===this.direction?this.width=a*t:this.height=a*t;else if(i>=0&&c>=i){var o=c-i;"b2t"===this.direction?this.width=Math.floor(this.width*o):this.height=Math.floor(this.height*o)}}l(a)||(a="b2t"===this.direction?Math.floor(this.width/t):Math.floor(this.height/t));for(var s=[],u=0;u<a;u++)s[u]={id:u,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}};return{channelSize:t,channelCount:a,channels:s}}}},{key:"resize",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.logger&&this.logger.info("resize");var t=this;function a(e,t){e[t]={id:t,queue:{scroll:[],top:[],bottom:[]},operating:{scroll:!1,top:!1,bottom:!1},bookId:{}}}function r(){var e=t.danmu,r=e.container,n=e.bulletBtn;t.container=r,t.updatePos(),t._cancelResizeTimer(),n.main.data&&n.main.data.forEach((function(e){e.bookChannelId&&(delete e.bookChannelId,t.logger&&t.logger.info("resize导致"+e.id+"号优先弹幕预定取消"))})),t.logger&&t.logger.info("resize导致所有轨道恢复正常使用"),t.width=t.containerWidth,t.height=t.containerHeight;var i=t._initChannels(),c=i.channelSize,o=i.channels;if(t.channels)if(t.channels.length<=o.length){for(var s=function(e){["scroll","top","bottom"].forEach((function(t){o[e].queue[t].forEach((function(e){e.resized=!1}))}))},u=0;u<t.channels.length;u++)a(o,u),function(e){["scroll","top"].forEach((function(a){t.channels[e].queue[a].forEach((function(t){t.el&&o[e].queue[a].push(t)}))}))}(u),function(e){t.channels[e].queue.bottom.forEach((function(a){if(a.el&&(o[e+o.length-t.channels.length].queue.bottom.push(a),a.channel_id[0]+a.channel_id[1]-1===e)){var r=[].concat(a.channel_id);a.channel_id=[r[0]-t.channels.length+o.length,r[1]],a.top=a.channel_id[0]*c,t.danmu.config.area&&t.danmu.config.area.start&&(a.top+=t.containerHeight*t.danmu.config.area.start),a.topInit()}}))}(u);for(var d=0;d<o.length;d++)s(d);t.channels=o,"b2t"===t.direction?t.channelWidth=c:t.channelHeight=c}else!function(e,r){for(var n=function(n){a(e,n),c.forEach((function(a){if("top"===a&&n>Math.floor(e.length/2));else if("bottom"===a&&n<=Math.floor(e.length/2));else{var i="bottom"===a?n-e.length+t.channels.length:n;t.channels[i].queue[a].forEach((function(c,o){if(c.el){if(e[n].queue[a].push(c),"bottom"===a&&c.channel_id[0]+c.channel_id[1]-1===i){var s=[].concat(c.channel_id);c.channel_id=[s[0]-t.channels.length+e.length,s[1]],c.top=c.channel_id[0]*r,t.danmu.config.area&&t.danmu.config.area.start&&(c.top+=t.containerHeight*t.danmu.config.area.start),c.topInit()}t.channels[i].queue[a].splice(o,1)}}))}}))},i=function(t){c.forEach((function(a){e[t].queue[a].forEach((function(e){e.resized=!1}))}))},c=["scroll","top","bottom"],o=0;o<e.length;o++)n(o);for(var s=0;s<e.length;s++)i(s);t.channels=e,"b2t"===t.direction?t.channelWidth=r:t.channelHeight=r}(o,c);t.resizing=!1}t.resizing||(t.resizing=!0,e?r():(this._cancelResizeTimer(),this.resizeId=requestAnimationFrame(r)))}},{key:"_cancelResizeTimer",value:function(){this.resizeId&&(cancelAnimationFrame(this.resizeId),this.resizeId=null)}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,t),a}(o);function T(e){return(T=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A(e,t){return(A=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function k(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(k=function(){return!!e})()}var I=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(e){var t,r;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");return r=T(r=a),(t=function(e,t){var a;if(t&&("object"==((a=t)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,k()?Reflect.construct(r,[],T(this).constructor):r.apply(this,void 0))).setLogger("main"),t.danmu=e,t.container=e.container,t.channel=new S(e),t.data=[].concat(e.config.comments),t.playedData=[],t.queue=[],t.timer=null,t.playRate=1,t.retryStatus="normal",t.interval=e.config.interval,t._status="idle",t._events=[],t._bindEvents(),t}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&A(a,e),t=[{key:"status",get:function(){return this._status}},{key:"destroy",value:function(){for(var e in this.logger&&this.logger.info("destroy"),this._unbindEvents(),this._cancelTick(),this.channel&&this.channel.destroy(),this.data=[],this)delete this[e]}},{key:"_bindEvents",value:function(){var e=this,t=this.danmu,a=this.container;this._unbindEvents(),this._events.push([t,"bullet_remove",function(t){var a=t.bullet,r=e.data,n=e.queue;n.some((function(e,t){return e.id===a.id&&(n.splice(t,1),!0)})),r.some((function(e){return e.id===a.id&&(e.attached_=!1,!0)}))}]),this._events.push([a,"transitionend",function(t){var a=e._getBulletByEvt(t);a&&(a.status="end",a.remove(!1))}]),(t.config.mouseControl||t.config.mouseEnterControl)&&this._events.push([a,"mouseover",function(t){var a,r=e.danmu;r&&(!r.mouseControl||!r.config.mouseControlPause)&&(a=e._getBulletByEvt(t))&&"waiting"!==a.status&&"end"!==a.status&&r.emit("bullet_hover",{bullet:a,event:t})}]),this._events.forEach((function(e){e[0].addEventListener?e[0].addEventListener(e[1],e[2],!1):e[0].on&&e[0].on(e[1],e[2])}))}},{key:"_unbindEvents",value:function(){this._events.length&&(this._events.forEach((function(e){e[0].removeEventListener?e[0].removeEventListener(e[1],e[2],!1):e[0].off&&e[0].off(e[1],e[2])})),this._events=[])}},{key:"_cancelTick",value:function(){this.handleTimer&&(clearTimeout(this.handleTimer),this.handleTimer=null)}},{key:"_startTick",value:function(){var e=this;e.retryStatus="normal",e._cancelTick(),e.sortData(),function t(){"closed"===e._status&&"stop"===e.retryStatus?e._cancelTick():("playing"===e._status&&(e.readData(),e.dataHandle()),("stop"!==e.retryStatus||"paused"===e._status)&&(e.handleTimer=setTimeout(t,250)))}()}},{key:"start",value:function(){this.logger&&this.logger.info("start"),"playing"!==this._status&&(this._status="playing",this.queue=[],this.container.innerHTML="",this.channel.reset(),this._startTick())}},{key:"stop",value:function(){this.logger&&this.logger.info("stop"),"closed"!==this._status&&(this._status="closed",this.retryStatus="stop",this.queue=[],this.container&&(this.container.innerHTML=""),this.channel&&this.channel.reset(),this._cancelTick())}},{key:"clear",value:function(){this.logger&&this.logger.info("clear"),this.channel&&this.channel.reset(),this.data=[],this.queue=[],this.container&&(this.container.innerHTML="")}},{key:"play",value:function(){var e=this;if("closed"!==this._status){this.logger&&this.logger.info("play"),this._status="playing";var t=this.channel.channels;t&&t.length>0&&["scroll","top","bottom"].forEach((function(a){e.queue.forEach((function(e){e.startMove(),e.resized=!0}));for(var r=0;r<t.length;r++)t[r].queue[a].forEach((function(e){e.resized=!1}))})),this._startTick()}else this.logger&&this.logger.info("play ignored")}},{key:"pause",value:function(){if("closed"!==this._status){this.logger&&this.logger.info("pause"),this._status="paused",this._cancelTick();var e=this.channel.channels;e&&e.length>0&&this.queue.forEach((function(e){e.pauseMove()}))}else this.logger&&this.logger.info("pause ignored")}},{key:"dataHandle",value:function(){"paused"!==this._status&&"closed"!==this._status&&this.queue.length&&this.queue.forEach((function(e){"waiting"===e.status&&e.startMove()}))}},{key:"readData",value:function(){var e=this.danmu,t=this.interval,a=this.channel,r=e.player;if(e.isReady&&e.main){if(r){var n=r.currentTime?Math.floor(1e3*r.currentTime):0;c=this.data.filter((function(a){return!a.start&&0>e.hideArr.indexOf(a.mode)&&(!a.color||0>e.hideArr.indexOf("color"))&&(a.start=n),!a.attached_&&0>e.hideArr.indexOf(a.mode)&&(!a.color||0>e.hideArr.indexOf("color"))&&a.start-t<=n&&n<=a.start+t})),e.config.highScorePriority&&c.sort((function(e,t){return t.prior&&!e.prior||(t.score||-1)-(e.score||-1)})),e.live&&(this.data=[])}else 0===(c=this.data.splice(0,1)).length&&(c=this.playedData.splice(0,1));if(c.length>0&&a.checkAvailableTrack(c[0].mode)){a.updatePos();for(var i,c,o,u=0,d=0;d<c.length;d++)if(o=c[d],this.forceDuration&&this.forceDuration!==o.duration&&(o.duration=this.forceDuration),(i=new v(e,o)).bulletCreateFail){if(0===u)break;u--}else if(i.attach(),o.attached_=!0,a.addBullet(i).result)this.queue.push(i),i.topInit(),u=0;else{for(var b in i.detach(),i)s.call(i,b)&&delete i[b];if(i=null,o.attached_=!1,o.noDiscard&&(o.prior?this.data.unshift(o):this.data.push(o)),0===u)break;u--}}}}},{key:"sortData",value:function(){this.data.sort((function(e,t){return(e.start||-1)-(t.start||-1)}))}},{key:"keepPoolWatermark",value:function(){var e=this.danmu,t=e.config,a=e.player,r=this.data,n=[],i=0;if("number"==typeof t.maxCommentsLength&&r.length>t.maxCommentsLength){i=r.length-t.maxCommentsLength;for(var c,o=0;o<i;o++)(c=r[o]).prior&&!c.attached_&&n.push(r[o])}else if(t.dropStaleComments&&a&&a.currentTime){var s=Math.floor(1e3*a.currentTime)-t.interval;if(s>0)for(var u,d=0;d<r.length;d++)if((u=r[d]).prior&&!u.attached_&&n.push(r[d]),u.start>s){i=d;break}}i>0&&(r.splice(0,i),this.data=n.concat(r))}},{key:"_getBulletByEvt",value:function(e){for(var t,a,r=e.target||e.srcElement,n=this.queue,i=0;i<n.length;i++)if((a=n[i])&&a.el&&(a.el===r||a.el.contains(r))){t=a;break}return t}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,t),a}(o);function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function w(e,t){return(w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function C(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(C=function(){return!!e})()}var x=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function a(e){var t,r;if(!(this instanceof a))throw TypeError("Cannot call a class as a function");return r=R(r=a),(t=function(e,t){var a;if(t&&("object"==((a=t)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,C()?Reflect.construct(r,[],R(this).constructor):r.apply(this,void 0))).setLogger("control"),t.danmu=e,t.main=new I(e),e.config.defaultOff||t.main.start(),t}return a.prototype=Object.create(e&&e.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),e&&w(a,e),t=[{key:"createSwitch",value:function(){var e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.logger&&this.logger.info("createSwitch"),this.switchBtn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",n=document.createElement(e);return n.className=r,n.innerHTML=t,Object.keys(a).forEach((function(t){var r=a[t];"video"===e||"audio"===e?r&&n.setAttribute(t,r):n.setAttribute(t,r)})),n}("dk-switch",'<span class="txt">弹</span>',{},"danmu-switch ".concat(e?"danmu-switch-active":"")),this.switchBtn}},{key:"destroy",value:function(){for(var e in this.logger&&this.logger.info("destroy"),this.main.destroy(),this)s.call(this,e)&&delete this[e]}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(a.prototype,t),a}(o),O=function(){var e;function t(e){if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e={initDOM:function(){return document.createElement("div")},initSize:10},this.init(e)}return e=[{key:"init",value:function(e){this.idleList=[],this.usingList=[],this._id=0,this.options=e,this._expand(e.initSize)}},{key:"use",value:function(){this.idleList.length||this._expand(1);var e=this.idleList.shift();return this.usingList.push(e),e}},{key:"unused",value:function(e){var t=this.usingList.indexOf(e);t<0||(this.usingList.splice(t,1),e.style.opacity=0,this.idleList.push(e))}},{key:"_expand",value:function(e){for(var t=0;t<e;t++)this.idleList.push(this.options.initDOM(this._id++))}},{key:"destroy",value:function(){for(var e=0;e<this.idleList.length;e++)this.idleList[e].innerHTML="",this.idleList[e].textcontent="",this.clearElementStyle(this.idleList[e]);for(var t=0;t<this.usingList.length;t++)this.usingList[t].innerHTML="",this.usingList[t].textcontent="",this.clearElementStyle(this.usingList[t]);for(var a in this)s.call(this,a)&&delete this[a]}},{key:"clearElementStyle",value:function(e){var t="undefined"!=typeof window?window.navigator.userAgent:null;t&&(t.indexOf("MSIE ")>-1||t.indexOf("Trident/")>-1?f(e,"transform","none"):e.setAttribute("style",""))}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}(),P=new(function(){var e;function t(){var e=this;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");if(this.__handlers=[],"undefined"!=typeof ResizeObserver)try{this.observer=new ResizeObserver(function(e,t){var a=this,r=0;return function(){for(var n=arguments.length,i=Array(n),c=0;c<n;c++)i[c]=arguments[c];clearTimeout(r),r=setTimeout((function(){return e.apply(a,i)}),t)}}((function(t){e.__trigger(t)}),100))}catch(e){}}return e=[{key:"addObserver",value:function(e,t){if(this.observer&&e){this.observer&&this.observer.observe(e);for(var a=this.__handlers,r=-1,n=0;n<a.length;n++)a[n]&&e===a[n].target&&(r=n);r>-1?this.__handlers[r].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:"unObserver",value:function(e){if(e){var t=-1;this.__handlers.map((function(a,r){e===a.target&&(t=r)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}}},{key:"destroyObserver",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(e){for(var t=this.__handlers,a=0;a<t.length;a++)if(t[a]&&e===t[a].target){t[a].handler&&t[a].handler.map((function(e){try{e()}catch(e){console.error(e)}}));break}}},{key:"__trigger",value:function(e){var t=this;e.map((function(e){t.__runHandler(e.target)}))}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}());function D(e){return(D=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function L(e,t){var a;if(t&&("object"==((a=t)&&"undefined"!=typeof Symbol&&a.constructor===Symbol?"symbol":typeof a)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function q(e,t){return(q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function N(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(N=function(){return!!e})()}var M=function(e){var a;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function r(e){if(!(this instanceof r))throw TypeError("Cannot call a class as a function");a=D(a=r),(n=L(this,N()?Reflect.construct(a,[],D(this).constructor):a.apply(this,void 0))).setLogger("danmu"),n.logger&&n.logger.info("danmu.js version: ".concat("1.2.1"));var a,n,i=n.config={overlap:!1,area:{start:0,end:1,lines:void 0},hooks:void 0,live:!1,comments:[],direction:"r2l",needResizeObserver:!1,dropStaleComments:!1,channelSize:void 0,maxCommentsLength:void 0,bulletOffset:void 0,interval:2e3,highScorePriority:!0,chaseEffect:!0};if(u(i,e),t()(n),n.globalHooks={},i.hooks&&n.hooks(i.hooks),n.hideArr=[],n.recycler=new O,n.freezeId=null,i.comments.forEach((function(e){e.duration=e.duration?e.duration:5e3,e.mode||(e.mode="scroll")})),n.container=i.container&&1===i.container.nodeType?i.container:null,!n.container)return n.emit("error","container id can't be empty"),L(n,!1);if(i.containerStyle){var c=i.containerStyle;Object.keys(c).forEach((function(e){n.container.style[e]=c[e]}))}var o=n.container,s="danmu";return o.classList?s.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach((function(e){e&&o.classList.add(e)})):(o.classList?Array.prototype.some.call(o.classList,(function(e){return e===s})):o.className.match(RegExp("(\\s|^)"+s+"(\\s|$)")))||(o.className+=" "+s),n.live=i.live,n.player=i.player,n.direction=i.direction,n.bulletBtn=new x(n),n.main=n.bulletBtn.main,n.isReady=!0,n.emit("ready"),n.logger&&n.logger.info("ready"),n.addResizeObserver(),n}return r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&q(r,e),a=[{key:"status",get:function(){return this.main.status}},{key:"state",get:function(){var e=this.main;return{status:e.status,comments:e.data,bullets:e.queue,displayArea:e.channel.getRealOccupyArea()}}},{key:"containerPos",get:function(){return this.main.channel.containerPos}},{key:"hooks",value:function(e){u(this.globalHooks,e)}},{key:"addResizeObserver",value:function(){var e,t=this;this.config.needResizeObserver&&this.container&&(e=this.container,P.addObserver(e,(function(){t.logger&&t.logger.info("needResizeObserver"),t.resize()})))}},{key:"start",value:function(){this.logger&&this.logger.info("start"),this.main&&this.main.start()}},{key:"pause",value:function(){this.logger&&this.logger.info("pause"),this.main&&this.main.pause()}},{key:"play",value:function(){this.logger&&this.logger.info("play"),this.main&&this.main.play()}},{key:"stop",value:function(){this.logger&&this.logger.info("stop"),this.main&&this.main.stop()}},{key:"clear",value:function(){this.logger&&this.logger.info("clear"),this.main&&this.main.clear()}},{key:"destroy",value:function(){var e;for(var t in e=this.container,P.unObserver(e,void 0),this.logger&&this.logger.info("destroy"),this.stop(),this.bulletBtn&&this.bulletBtn.destroy(),this.recycler&&this.recycler.destroy(),this)delete this[t];this.emit("destroy")}},{key:"sendComment",value:function(e){var t=this.main,a=this.logger;a&&a.info("sendComment: ".concat(e.txt||"[DOM Element]")),t&&(e.duration||(e.duration=15e3),e&&e.id&&e.duration&&(e.el||e.elLazyInit||e.txt)&&(e.duration=e.duration?e.duration:5e3,e.style||(e.style={opacity:void 0,fontSize:void 0}),e.style&&(this.opacity&&this.opacity!==e.style.opacity&&(e.style.opacity=this.opacity),this.fontSize&&this.fontSize!==e.style.fontSize&&(e.style.fontSize=this.fontSize)),e.prior||e.realTime?(t.data.unshift(e),e.realTime&&(t.readData(),t.dataHandle())):t.data.push(e),t.sortData(),t.keepPoolWatermark()))}},{key:"setCommentID",value:function(e,t){var a=this;this.logger&&this.logger.info("setCommentID: oldID ".concat(e," newID ").concat(t)),e&&t&&(this.main.data.some((function(a){return a.id===e&&(a.id=t,!0)})),this.main.queue.some((function(r){return r.id===e&&(r.id=t,r.pauseMove(),"paused"!==a.main.status&&r.startMove(),!0)})))}},{key:"setCommentDuration",value:function(e,t){var a=this;this.logger&&this.logger.info("setCommentDuration: id ".concat(e," duration ").concat(t)),e&&t&&(t=t||5e3,this.main.data.some((function(a){return a.id===e&&(a.duration=t,!0)})),this.main.queue.some((function(r){return r.id===e&&(r.duration=t,r.pauseMove(),"paused"!==a.main.status&&r.startMove(),!0)})))}},{key:"setCommentLike",value:function(e,t){this.logger&&this.logger.info("setCommentLike: id ".concat(e," like ").concat(t)),e&&t&&(this.main.data.some((function(a){return a.id===e&&(a.like=t,!0)})),this.main.queue.some((function(a){return a.id===e&&(a.pauseMove(),a.setLikeDom(t.el,t.style),"paused"!==a.danmu.main.status&&a.startMove(),!0)})))}},{key:"restartComment",value:function(e){if(this.logger&&this.logger.info("restartComment: id ".concat(e)),e){var t=this.main;this._releaseCtrl(e),"closed"!==t.status&&t.queue.some((function(a){return a.id===e&&("paused"!==t.status?a.startMove(!0):a.status="paused",!0)}))}}},{key:"_releaseCtrl",value:function(e){this.freezeId&&e===this.freezeId&&(this.mouseControl=!1,this.freezeId=null)}},{key:"_freezeCtrl",value:function(e){this.mouseControl=!0,this.freezeId=e}},{key:"freezeComment",value:function(e){this.logger&&this.logger.info("freezeComment: id ".concat(e)),e&&(this._freezeCtrl(e),this.main.queue.some((function(t){return t.id===e&&(t.status="forcedPause",t.pauseMove(),t.el&&t.el.style&&f(t.el,"zIndex",10),!0)})))}},{key:"removeComment",value:function(e){if(this.logger&&this.logger.info("removeComment: id ".concat(e)),e){var t=this.main;this._releaseCtrl(e),t.queue=t.queue.filter((function(t){return t.id!==e||(t.remove(),!1)})),t.data=t.data.filter((function(t){return t.id!==e}))}}},{key:"updateComments",value:function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];this.logger&&this.logger.info("updateComments: ".concat(e.length,", isClear ").concat(t));var a=this.main;"boolean"==typeof t&&t&&(a.data=[]),a.data=a.data.concat(e),a.sortData(),a.keepPoolWatermark()}},{key:"setAllDuration",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"scroll",a=arguments.length>1?arguments[1]:void 0,r=!(arguments.length>2)||void 0===arguments[2]||arguments[2];this.logger&&this.logger.info("setAllDuration: mode ".concat(t," duration ").concat(a," force ").concat(r)),a&&(a=a||5e3,r&&(this.main.forceDuration=a),this.main.data.forEach((function(e){t===e.mode&&(e.duration=a)})),this.main.queue.forEach((function(r){t===r.mode&&(r.duration=a,r.pauseMove(),"paused"!==e.main.status&&r.startMove())})))}},{key:"setPlayRate",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"scroll",a=arguments.length>1?arguments[1]:void 0;this.logger&&this.logger.info("setPlayRate: ".concat(a)),l(a)&&a>0&&(this.main.playRate=a,this.main.queue.forEach((function(a){t===a.mode&&(a.pauseMove(),"paused"!==e.main.status&&a.startMove())})))}},{key:"setOpacity",value:function(e){this.logger&&this.logger.info("setOpacity: opacity ".concat(e)),this.container&&(this.container.style.opacity=e)}},{key:"setFontSize",value:function(e,t){var a=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{reflow:!0};this.logger&&this.logger.info("setFontSize: size ".concat(e," channelSize ").concat(t)),this.fontSize="".concat(e,"px"),e&&(this.main.data.forEach((function(e){e.style&&(e.style.fontSize=a.fontSize)})),this.main.queue.forEach((function(e){e.options.style||(e.options.style={}),e.options.style.fontSize=a.fontSize,e.setFontSize(a.fontSize),t&&(e.top=e.channel_id[0]*t,e.topInit())}))),t&&(this.config.channelSize=t,r.reflow&&this.main.channel.resizeSync())}},{key:"setArea",value:function(e){this.logger&&this.logger.info("setArea: area ".concat(e)),this.config.area=e,!1!==e.reflow&&this.main.channel.resizeSync()}},{key:"hide",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"scroll";this.logger&&this.logger.info("hide: mode ".concat(e)),0>this.hideArr.indexOf(e)&&this.hideArr.push(e),this.main.queue.filter((function(t){return e===t.mode||"color"===e&&t.color})).forEach((function(e){return e.remove()}))}},{key:"show",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"scroll";this.logger&&this.logger.info("show: mode ".concat(e));var t=this.hideArr.indexOf(e);t>-1&&this.hideArr.splice(t,1)}},{key:"setDirection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"r2l";this.logger&&this.logger.info("setDirection: direction ".concat(e)),this.direction=e,this.emit("changeDirection",e)}},{key:"resize",value:function(){this.logger&&this.logger.info("resize"),this.emit("channel_resize")}}],function(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(r.prototype,a),r}(o),U=a("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),F=a.n(U),j=a("./node_modules/style-loader/dist/runtime/styleDomAPI.js"),B=a.n(j),H=a("./node_modules/style-loader/dist/runtime/insertBySelector.js"),G=a.n(H),$=a("./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js"),V=a.n($),z=a("./node_modules/style-loader/dist/runtime/insertStyleElement.js"),W=a.n(z),K=a("./node_modules/style-loader/dist/runtime/styleTagTransform.js"),Y=a.n(K),X=a("./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/style/index.scss"),J={};J.styleTagTransform=Y(),J.setAttributes=V(),J.insert=G().bind(null,"head"),J.domAPI=B(),J.insertStyleElement=W(),F()(X.A,J),X.A&&X.A.locals&&X.A.locals}(),r}();var distExports=dist.exports,DanmuJs=getDefaultExportFromCjs(distExports);function PanelIcon(){return(new DOMParser).parseFromString('<svg xmlns="http://www.w3.org/2000/svg" viewBox="-5 -11 40 40" width="40" height="40">\n <path fill="#f85959" transform="scale(0.8 0.8)" d="M36.5,18.73a1.19,1.19,0,0,0,1-1.14V16.33a1.2,1.2,0,0,0-1-1.13l-.61-.08a1.75,1.75,0,0,1-1.3-.86l-.21-.36-.2-.36A1.72,1.72,0,0,1,34,12l.23-.58a1.18,1.18,0,0,0-.5-1.42l-1.1-.62a1.18,1.18,0,0,0-1.47.3l-.39.51a1.82,1.82,0,0,1-1.41.72c-.44,0-1.88-.27-2.22-.7l-.39-.49a1.18,1.18,0,0,0-1.48-.28l-1.09.64a1.19,1.19,0,0,0-.47,1.43l.25.59a1.87,1.87,0,0,1-.08,1.58c-.26.37-1.17,1.5-1.71,1.58l-.63.09a1.19,1.19,0,0,0-1,1.14l0,1.27a1.17,1.17,0,0,0,1,1.12l.61.08a1.74,1.74,0,0,1,1.3.87l.21.36.2.35A1.69,1.69,0,0,1,24,22.08l-.23.59a1.19,1.19,0,0,0,.5,1.42l1.1.62a1.19,1.19,0,0,0,1.48-.31l.38-.5a1.83,1.83,0,0,1,1.41-.72c.44,0,1.88.25,2.22.69l.39.49a1.18,1.18,0,0,0,1.48.28L33.86,24a1.19,1.19,0,0,0,.47-1.43L34.09,22a1.84,1.84,0,0,1,.07-1.58c.26-.37,1.17-1.5,1.72-1.58ZM31,18.94a2.76,2.76,0,0,1-4.65-1.2A2.71,2.71,0,0,1,27,15.13a2.76,2.76,0,0,1,4.64,1.2A2.7,2.7,0,0,1,31,18.94Z"/>\n <path fill="#f85959" transform="scale(0.8 0.8)" d="M32,0H3.59A3.59,3.59,0,0,0,0,3.59v17A3.59,3.59,0,0,0,3.59,24.2H19.72a12.59,12.59,0,0,1-.81-1.2A11.73,11.73,0,0,1,35.54,7.28V3.59A3.59,3.59,0,0,0,32,0ZM13,14.18H4.29a1.52,1.52,0,0,1,0-3H13a1.52,1.52,0,0,1,0,3ZM16.45,8H4.29a1.51,1.51,0,0,1,0-3H16.45a1.51,1.51,0,1,1,0,3Z"/>\n</svg>\n',"image/svg+xml").firstChild}var DanmuPanel=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).set={speed:1,area:{},opacity:1,fonSize:"middle"},r}return _createClass$1(a,[{key:"afterCreate",value:function(){"mobile"===sniffer.device?this.activeEvent="click":this.activeEvent="mouseenter",this.onStateChange=this.onStateChange.bind(this),this.onToggle=this.onToggle.bind(this),this.bind(this.activeEvent,this.onToggle),this.bind("mouseleave",this.onToggle),this.appendChild(".xgplayer-panel-icon",PanelIcon())}},{key:"onStateChange",value:function(e){this.config.onChangeSet&&this.config.onChangeSet(this.set)}},{key:"onToggle",value:function(e){e.preventDefault(),e.stopPropagation(),util.hasClass(this.root,"slider-show")?util.removeClass(this.root,"slider-show"):util.addClass(this.root,"slider-show")}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.onStateChange)}},{key:"render",value:function(){return'\n <xg-icon class="xgplayer-panel">\n <xg-panel-icon class="xgplayer-panel-icon">\n </xg-panel-icon>\n <xg-panel-slider class="xgplayer-panel-slider">\n <xg-hidemode class="xgplayer-hidemode">\n <p class="xgplayer-hidemode-font">屏蔽类型</p>\n <ul class="xgplayer-hidemode-radio">\n <li class="xgplayer-hidemode-scroll" id="false">滚动</li><li class="xgplayer-hidemode-top" id="false">顶部</li><li class="xgplayer-hidemode-bottom" id="false">底部</li><li class="xgplayer-hidemode-color" id="false">色彩</li>\n </ul>\n </xg-hidemode>\n <xg-transparency class="xgplayer-transparency">\n <span>不透明度</span>\n <input class="xgplayer-transparency-line xgplayer-transparency-color xgplayer-transparency-bar xgplayer-transparency-gradient" type="range" min="0" max="100" step="0.1" value="50"></input>\n </xg-transparency>\n <xg-showarea class="xgplayer-showarea">\n <div class="xgplayer-showarea-name">显示区域</div>\n <div class="xgplayer-showarea-control">\n <div class="xgplayer-showarea-control-up">\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-onequarters">1/4</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-twoquarters selected-color">1/2</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-threequarters">3/4</span>\n <span class="xgplayer-showarea-control-up-item xgplayer-showarea-full">1</span>\n </div>\n <div class="xgplayer-showarea-control-down">\n <div class="xgplayer-showarea-control-down-dots">\n <span class="xgplayer-showarea-onequarters-dot"></span>\n <span class="xgplayer-showarea-twoquarters-dot"></span>\n <span class="xgplayer-showarea-threequarters-dot"></span>\n <span class="xgplayer-showarea-full-dot"></span>\n </div>\n <input class="xgplayer-showarea-line xgplayer-showarea-color xgplayer-showarea-bar xgplayer-gradient" type="range" min="1" max="4" step="1" value="1">\n </div>\n </div>\n </xg-showarea>\n <xg-danmuspeed class="xgplayer-danmuspeed">\n <div class="xgplayer-danmuspeed-name">弹幕速度</div>\n <div class="xgplayer-danmuspeed-control">\n <div class="xgplayer-danmuspeed-control-up">\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-small">慢</span>\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-middle selected-color">中</span>\n <span class="xgplayer-danmuspeed-control-up-item xgplayer-danmuspeed-large">快</span>\n </div>\n <div class="xgplayer-danmuspeed-control-down">\n <div class="xgplayer-danmuspeed-control-down-dots">\n <span class="xgplayer-danmuspeed-small-dot"></span>\n <span class="xgplayer-danmuspeed-middle-dot"></span>\n <span class="xgplayer-danmuspeed-large-dot"></span>\n </div>\n <input class="xgplayer-danmuspeed-line xgplayer-danmuspeed-color xgplayer-danmuspeed-bar xgplayer-gradient" type="range" min="50" max="150" step="50" value="100">\n </div>\n </div>\n </xg-danmuspeed>\n <xg-danmufont class="xgplayer-danmufont">\n <div class="xgplayer-danmufont-name">字体大小</div>\n <div class="xgplayer-danmufont-control">\n <div class="xgplayer-danmufont-control-up">\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-small">小</span>\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-middle">中</span>\n <span class="xgplayer-danmufont-control-up-item xgplayer-danmufont-large selected-color">大</span>\n </div>\n <div class="xgplayer-danmufont-control-down">\n <div class="xgplayer-danmufont-control-down-dots">\n <span class="xgplayer-danmufont-small-dot"></span>\n <span class="xgplayer-danmufont-middle-dot"></span>\n <span class="xgplayer-danmufont-large-dot"></span>\n </div>\n <input class="xgplayer-danmufont-line xgplayer-danmufont-color xgplayer-danmufont-bar xgplayer-gradient" type="range" min="20" max="30" step="5" value="25">\n </div>\n </div>\n </xg-danmufont>\n </xg-panel-slider>\n </xg-icon>'}}],[{key:"pluginName",get:function(){return"danmuPanel"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:11,onChangeSet:function(e){console.log("DanmuPanel:".concat(e))},speed:1,area:{},opacity:1,fonSize:"middle"}}}]),a}(),DANMU_OPEN='<dk-switch class="danmu-switch">\n<span class="txt">弹</span>\n</dk-switch>',DanmuIcon=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(){return _classCallCheck$1(this,a),t.apply(this,arguments)}return _createClass$1(a,[{key:"afterCreate",value:function(){this.initIcons(),this.onStateChange=this.onStateChange.bind(this),this.bind(["click","touchend"],this.onStateChange)}},{key:"registerIcons",value:function(){return{openDanmu:{icon:DANMU_OPEN,class:"danmu-switch-open"},closeDanmu:{icon:DANMU_OPEN,class:"danmu-switch-closed"}}}},{key:"switchState",value:function(e){e?this.setAttr("data-state","active"):this.setAttr("data-state","normal"),this.switchTips(e)}},{key:"initIcons",value:function(){var e=this.icons,t=this.find(".xgplayer-icon");t.appendChild(e.openDanmu),t.appendChild(e.closeDanmu)}},{key:"switchTips",value:function(e){var t=this.find(".xg-tips");t&&this.changeLangTextKey(t,e?"OFF":"OPEN")}},{key:"onStateChange",value:function(e){e.preventDefault(),e.stopPropagation();var t="active"===this.root.getAttribute("data-state");this.switchState(!t),this.config.onSwitch&&this.config.onSwitch(e,!t)}},{key:"destroy",value:function(){this.unbind(["click","touchend"],this.getMini)}},{key:"render",value:function(){return'\n <xg-icon class="danmu-icon">\n <div class="xgplayer-icon">\n </div>\n '.concat(xgIconTips(this,"OPEN",this.playerConfig.isHideTips),"\n </xg-icon>")}}],[{key:"pluginName",get:function(){return"danmuIcon"}},{key:"defaultConfig",get:function(){return{position:POSITIONS.CONTROLS_RIGHT,index:11,onSwitch:function(e,t){}}}}]),a}(),MIN_INTERVAL=300,Danmu=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).danmujs=null,r.danmuPanel=null,r.isOpen=!1,r.seekCost=0,r.intervalId=0,r.isUseClose=!1,r}return _createClass$1(a,[{key:"afterCreate",value:function(){var e=this;this.playerConfig.isLive&&(this.config.isLive=!0),this.initDanmu(),this.registerExtIcons(),this.once(TIME_UPDATE,(function(){e.config.defaultOpen&&!e.isUseClose&&e.start()})),this.on(PAUSE,(function(){e.isOpen&&e.danmujs&&e.danmujs.pause()})),this.on(PLAY,(function(){e.isOpen&&e.danmujs&&e.danmujs.play()})),this.on(SEEKING,(function(){e.seekCost=window.performance.now(),!e.config.isLive&&e.danmujs&&e.danmujs.stop()})),this.on(VIDEO_RESIZE,(function(){e.resize()})),this.on(SEEKED,(function(){if(e.danmujs&&e.isOpen){e.intervalId&&(util.clearTimeout(e,e.intervalId),e.intervalId=null);var t=window.performance.now()-e.seekCost>MIN_INTERVAL?100:MIN_INTERVAL;e.intervalId=util.setTimeout(e,(function(){e.danmujs.start(),e.intervalId=null,e.player.paused&&e.danmujs.pause()}),t)}}))}},{key:"onPluginsReady",value:function(){var e=this.player.plugins.pc;e&&(e.onVideoDblClick&&this.bind("dblclick",e.onVideoDblClick),e.onVideoClick&&this.bind("click",e.onVideoClick))}},{key:"initDanmu",value:function(){var e=this.player,t=this.config,a=this.config,r=a.channelSize,n=a.fontSize,i=a.opacity,c=a.mouseControl,o=a.mouseControlPause,s=a.area,u=a.defaultOff,d={container:this.root,player:e.media,comments:this.config.comments,live:t.isLive,defaultOff:u,area:s,mouseControl:c,mouseControlPause:o};t.ext&&Object.keys(t.ext).map((function(e){d[e]=t.ext[e]}));var b=new DanmuJs(d);this.danmujs=b,e.danmu=b,this.setFontSize(n,r),this.setArea(s),this.resize(),1!==i&&this.setOpacity(i)}},{key:"registerExtIcons",value:function(){var e=this,t=this.player,a=this.config;if(a.panel&&t.controls){var r={config:{onChangeset:function(t){e.changeSet(t)}}};this.danmuPanel=t.controls.registerPlugin(DanmuPanel,r,DanmuPanel.pluginName)}var n=a.switchConfig;if(!a.closeDefaultBtn&&t.controls){var i={config:{onSwitch:function(t,a){e.onSwitch(t,a)}}};Object.keys(n).map((function(e){i.config[e]=n[e]})),this.danmuButton=t.controls.registerPlugin(DanmuIcon,i,DanmuIcon.pluginName),this.config.defaultOpen&&this.danmuButton.switchState(!0)}}},{key:"changeSet",value:function(e){}},{key:"onSwitch",value:function(e,t){this.emitUserAction(e,"switch_danmu",{prop:"isOpen",from:!t,to:t}),t?this.start():this.stop()}},{key:"start",value:function(){var e=this;!this.isOpen&&this.danmujs&&(this.isUseClose=!1,this.show(),this.resize(),util.setTimeout(this,(function(){e.danmujs.start(),e.player.paused&&e.danmujs.pause(),e.isOpen=!0}),0))}},{key:"stop",value:function(){this.isUseClose=!0,this.isOpen&&this.danmujs&&(this.danmujs.stop(),this.config.isLive&&this.clear(),this.isOpen=!1,this.hide())}},{key:"clear",value:function(){this.danmujs&&this.danmujs.clear()}},{key:"setCommentLike",value:function(e,t){this.danmujs&&this.danmujs.setCommentLike(e,t)}},{key:"setCommentDuration",value:function(e,t){this.danmujs&&this.danmujs.setCommentDuration(e,t)}},{key:"setAllDuration",value:function(e,t){this.danmujs&&this.danmujs.setAllDuration(e,t)}},{key:"setCommentID",value:function(e,t){this.danmujs&&this.danmujs.setCommentID(e,t)}},{key:"hideMode",value:function(e){this.danmujs&&this.danmujs.hide(e)}},{key:"showMode",value:function(e){this.danmujs&&this.danmujs.show(e)}},{key:"setArea",value:function(e){this.danmujs&&this.danmujs.setArea(e)}},{key:"setOpacity",value:function(e){this.danmujs&&this.danmujs.setOpacity(e)}},{key:"setFontSize",value:function(e,t){this.danmujs&&this.danmujs.setFontSize(e,t)}},{key:"resize",value:function(){this.danmujs&&this.danmujs.resize()}},{key:"sendComment",value:function(e){this.danmujs&&this.danmujs.sendComment(e)}},{key:"updateComments",value:function(e,t){this.danmujs&&this.danmujs.updateComments(e,t)}},{key:"hideIcon",value:function(){this.danmuButton&&this.danmuButton.hide()}},{key:"showIcon",value:function(){this.danmuButton&&this.danmuButton.show()}},{key:"destroy",value:function(){this.danmujs.stop(),this.danmujs.destroy(),this.danmujs=null,this.player.danmu=null;var e=this.danmuButton,t=this.danmuPanel;this.danmuButton&&this.danmuButton.root&&e.__destroy&&e.__destroy(),this.danmuPanel&&this.danmuPanel.root&&t.__destroy&&t.__destroy(),this.danmuButton=null,this.danmuPanel=null}},{key:"render",value:function(){return'<xg-danmu class="xgplayer-danmu">\n </xg-danmu>'}}],[{key:"pluginName",get:function(){return"danmu"}},{key:"defaultConfig",get:function(){return{comments:[],area:{start:0,end:1},closeDefaultBtn:!1,defaultOff:!1,panel:!1,panelConfig:{},switchConfig:{},defaultOpen:!0,isLive:!1,channelSize:24,fontSize:14,opacity:1,mouseControl:!1,mouseControlPause:!1,ext:{},style:{}}}}]),a}();function ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(a),!0).forEach((function(t){_defineProperty(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}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 _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_toPropertyKey(r.key),r)}}function _createClass(e,t,a){return t&&_defineProperties(e.prototype,t),a&&_defineProperties(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,a){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}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 _getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}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}}function _construct(e,t,a){return(_construct=_isNativeReflectConstruct()?Reflect.construct.bind():function(e,t,a){var r=[null];r.push.apply(r,t);var n=new(Function.bind.apply(e,r));return a&&_setPrototypeOf(n,a.prototype),n}).apply(null,arguments)}function _isNativeFunction(e){return-1!==Function.toString.call(e).indexOf("[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,a)}function a(){return _construct(e,arguments,_getPrototypeOf(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(a,e)},_wrapNativeSuper(e)}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return 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 _createSuper(e){var t=_isNativeReflectConstruct();return function(){var a,r=_getPrototypeOf(e);if(t){var n=_getPrototypeOf(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return _possibleConstructorReturn(this,a)}}function _superPropBase(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=_getPrototypeOf(e)););return e}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,a){var r=_superPropBase(e,t);if(r){var n=Object.getOwnPropertyDescriptor(r,t);return n.get?n.get.call(arguments.length<3?e:a):n.value}},_get.apply(this,arguments)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}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 _toPrimitive(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;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 t?t:String(t)}var VTT_CHECK=/^WEBVTT/i,SRT_CHECK=/^\d+\r?\n\d{2}:\d{2}:\d{2},\d{3}\s*-->/m,VTT_STYLE=/^STYLE+$/,VTT_CUE=/^\:\:cue/,VTT_CUEND=/^}+$/,ASS_CHECK=/^\[Script Info\].*/,TIME_REGEX_LIST=[/[0-9]{1,3}:[0-9]{2}:[0-9]{2}\.[0-9]{1,3}-->[0-9]{1,3}:[0-9]{2}:[0-9]{2}\.[0-9]{1,3}/,/[0-9]{1,3}:[0-9]{2}\.[0-9]{1,3}-->[0-9]{1,3}:[0-9]{2}\.[0-9]{1,3}/,/[0-9]{1,3}\.[0-9]{1,3}-->[0-9]{1,2}\.[0-9]{1,3}/,/[0-9]{1,3}:[0-9]{2}:[0-9]{2},[0-9]{1,3}\s*-->\s*[0-9]{1,3}:[0-9]{2}:[0-9]{2},[0-9]{1,3}/],MAX_COUNT=50,ASS_FORMAT=/^Format:\s/,ASS_STYLE=/^Style:\s/,ASS_DIALOGUE=/^Dialogue:\s/,MillSecondsSplitReg=/^([0-5]?\d)[.,](\d{1,3})$/;function parseSecond(e){var t=MillSecondsSplitReg.exec(e);return t?(1e3*Number(t[1])+Number(t[2]))/1e3:0}function getSecond(e){var t=e.length;return 3===t?60*(60*Number(e[0])+Number(e[1]))+parseSecond(e[2]):2===t?60*Number(e[0])+parseSecond(e[1]):parseSecond(e[0])}function isNumber(e){return/^(\-|\+)?\d+(\.\d+)?$/.test(e)}function htmlEncodeAll(e){return e}function getByIndex(e,t){return e>=0&&e<t.length?t[e]:""}var SubTitleParser=function(){function e(){_classCallCheck(this,e)}return _createClass(e,null,[{key:"parseJson",value:function(e){for(var t=[],a=0,r=0;r<e.length;r++){if(a>=MAX_COUNT&&(a=0),0===a){var n={start:e[r].start,list:[e[r]],end:e[r].end};t.push(n)}else t[t.length-1].list.push(e[r]),t[t.length-1].end=e[r].end;a++}return t}},{key:"parse",value:function(t,a){var r=e.checkFormat(t);try{var n;a({format:r,list:(n="ass"===r?e.parseASS(t):e.parseVTT(t)).list,styles:n.styles})}catch(e){console.error(e),a({format:r},e)}}},{key:"parseASSItem",value:function(){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split(","),a={},r="";try{var n=t.length-e.length;return r=htmlEncodeAll(r=(r=n>0?t.splice(e.length-1,n+1).join(",")+"":t[t.length-1]+"").replace(/\\n+/g,"")),t[e.length-1]=r,e.map((function(e,r){"end"===e||"start"===e?a[e]=getSecond(t[r].split(":")):"text"===e?a[e]=[t[r]]:"layer"===e?(a[e]=[t[r]],a.textTag=[t[r]]):a[e]="style"===e?[t[r]]:Number(t[r])?Number(t[r]):t[r]})),a}catch(e){return console.error(e),{}}}},{key:"parseASS",value:function(t){for(var a=t.split("\n"),r=[],n=0,i=0,c=[],o=[],s=null;n<a.length;){if(ASS_FORMAT.test(a[n]))o=(o=a[n].replace(ASS_FORMAT,"").replace(/\s+/g,"").split(",")).map((function(e){return e.toLocaleLowerCase()}));else if(ASS_STYLE.test(a[n]))c.push(a[n].replace(ASS_STYLE,"").replace(/\s+/g,""));else if(ASS_DIALOGUE.test(a[n])){var u=e.parseASSItem(a[n].replace(ASS_DIALOGUE,""),o);if(s&&u.start===s.start&&u.end===s.end)try{var d=s,b=d.text,f=d.textTag,l=d.style;b.push(u.text[0]),f.push(u.textTag[0]),l.push(u.style[0])}catch(e){console.error(e)}else{s=u;var h=null;i%MAX_COUNT==0?((h={start:s.start,end:s.end,list:[]}).list.push(s),r.push(h)):((h=r[r.length-1]).end=s.end,h.list.push(s)),i++}}n++}return{list:r,styles:[]}}},{key:"parseVTTStyle",value:function(e,t){var a=e.split(":");if(a.length>1){var r=a[0].trim().split("-"),n="";r.length>1?r.map((function(e,t){n+=0===t?e:e.charAt(0).toUpperCase()+e.slice(1)})):n=r[0],t[n]=a[1].trim().replace(/;$/,"")}return t}},{key:"parseVTT",value:function(e){for(var t=(e=e.replace(VTT_CHECK,"")).split("\n"),a=[],r=0,n=0,i=null,c=!1,o=!1,s=null,u=null,d=[];r<t.length;){var b=getByIndex(r,t).trim();if(!b||c&&isNumber(b))c=!b;else if(VTT_CUE.test(b)&&VTT_STYLE.test(getByIndex(r-1,t).trim())){o=!0;var f=/\((.+?)\)/g.exec(b);u=f?f[1]:"",s=""}else if(o)VTT_CUEND.test(b)?(d.push({key:u||"",style:s||""}),s=null,u=null,o=!1):s+=b;else if(b){c=!1;var l=this.checkIsTime(t[r]);if(l){var h=this.parseVttTime(l);if(!i||h.start!==i.start||h.end!==i.end){(i=h).text=[],i.textTag=[];var p=null;n%MAX_COUNT==0?((p={start:i.start,end:i.end,list:[]}).list.push(i),a.push(p)):((p=a[a.length-1]).end=i.end,p.list.push(i)),n++}}else if(i){var y=i,g=y.text,v=y.textTag,m=this.parseVttText(t[r]);g.push(m.text),v.push(m.tag)}c=!1}r++}return{list:a,styles:d}}},{key:"checkIsTime",value:function(e){e=e.replace(/\s+/g,"");for(var t=0,a=null;t<TIME_REGEX_LIST.length&&!(a=TIME_REGEX_LIST[t].exec(e));)t++;return a?a[0]:null}},{key:"parseVttText",value:function(e){var t=/^(<?.+?>)/g.exec(e),a="",r="default";if(t){r=t[0].replace(/\<|\>|\&/g,"");var n=RegExp("^<".concat(r,">(([\\s\\S])*?)</").concat(r,">$")).exec(e);n?a=n[1]:(a=e,r="")}else a=e;for(var i=/<(\w+)\.(\w+)>/g,c=i.exec(a);c&&c.length>2;)a=a.replace(c[0],"<".concat(c[1],' class="').concat(c[2],'">')),c=i.exec(a);return{tag:r,text:htmlEncodeAll(a.replace(/\\n+/g,"<br/>"))}}},{key:"parseVttTime",value:function(e){var t=e.split("--\x3e"),a=0,r=0;if(2===t.length){var n=t[0].split(":"),i=t[1].split(":");a=getSecond(n),r=getSecond(i)}return{start:a,end:r,time:e}}},{key:"isVTT",value:function(e){return VTT_CHECK.test(e)}},{key:"isASS",value:function(e){return ASS_CHECK.test(e)}},{key:"checkFormat",value:function(e){return e?VTT_CHECK.test(e)?"vtt":ASS_CHECK.test(e)?"ass":SRT_CHECK.test(e)?"srt":"":""}}]),e}(),ERROR=[{code:0,msg:"SUCCESS"},{code:1,msg:"LOAD_ERROR"},{code:2,msg:"PARSER_ERROR"},{code:3,msg:"FORMAT_NOT_SUPPORTED"},{code:4,msg:"ID_OR_LANGUAGE_NOT_EXIST"},{code:5,msg:"PARAMETERS_ERROR"},{code:6,msg:"ABORT"},{code:7,msg:"UNKNOWN"},{code:8,msg:"DATA_ERROR:subtitle.url is null"},{code:9,msg:"DATA_ERROR:subtitle.url length is 0"}],SError=function(e){_inherits(a,_wrapNativeSuper(Error));var t=_createSuper(a);function a(e){var r,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:7,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return _classCallCheck(this,a),e||(e=ERROR[n||7].msg),(r=t.call(this,e)).code=n||7,r.message=e,r.type=ERROR[n||7].msg,r.orgError=i||null,r.data=c||null,r}return _createClass(a)}();function _ERROR(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0,r={code:ERROR[e].code,msg:ERROR[e].msg,message:ERROR[e].msg,id:a&&a.id||"",language:a&&a.language||""};return Object.keys(t).map((function(e){r[e]=t[e]})),r}var XHR=_createClass((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.url,r=t.method,n=void 0===r?"GET":r,i=t.type,c=void 0===i?"arraybuffer":i,o=t.timeout,s=void 0===o?1e4:o,u=t.data,d=void 0===u?{}:u,b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _classCallCheck(this,e),new Promise((function(e,t){var r=new window.XMLHttpRequest,i=n.toUpperCase(),o=[];if(c&&(r.responseType=c),s&&(r.timeout=s),Object.keys(d).forEach((function(e){o.push("k=".concat(d[e]))})),r.onload=function(){200===r.status||206===r.status?e({context:b,res:r}):t(new Error({context:b,res:r,type:"error"}))},r.onerror=function(e){t(new Error({context:b,res:r,type:"error"}))},r.ontimeout=function(e){t(new Error({context:b,res:r,type:"error"}))},r.onabort=function(){t(new Error({context:b,res:r,type:"error"}))},"GET"===i)r.open(i,"".concat(a)),r.send();else{if("post"!==i)throw new Error("xhr ".concat(i," is not supported"));r.open(i,a),r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(o.join("&"))}}))})),ProxyPromise=function(){function e(){var t,a;_classCallCheck(this,e);var r=new Promise((function(e,r){t=e,a=r}));return r.resolve=function(e){t(e),r.state="fulfilled"},r.reject=function(e){a(e),r.state="rejected",r.isBreak="DESTROYED"===e},r.state="pending",r}return _createClass(e,[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]),e}();function hasClass(e,t){if(!e)return!1;if(e.classList)return Array.prototype.some.call(e.classList,(function(e){return e===t}));var a=e.className&&"object"===_typeof(e.className)?e.getAttribute("class"):e.className;return a&&!!a.match(new RegExp("(\\s|^)"+t+"(\\s|$)"))}function addClass(e,t){e&&(e.classList?t.replace(/(^\s+|\s+$)/g,"").split(/\s+/g).forEach((function(t){t&&e.classList.add(t)})):hasClass(e,t)||(e.className&&"object"===_typeof(e.className)?e.setAttribute("class",e.getAttribute("class")+" "+t):e.className+=" "+t))}function removeClass(e,t){e&&(e.classList?t.split(/\s+/g).forEach((function(t){e.classList.remove(t)})):hasClass(e,t)&&t.split(/\s+/g).forEach((function(t){var a=new RegExp("(\\s|^)"+t+"(\\s|$)");e.className&&"object"===_typeof(e.className)?e.setAttribute("class",e.getAttribute("class").replace(a," ")):e.className=e.className.replace(a," ")})))}function findIndexByTime(e,t,a){var r=t.length;if(r<1)return-1;if(t[a=a<0?0:a>=r?r-1:a].start<=e&&e<t[a].end)return a;for(var n=t[a].end<=e?a+1:0;n<r;n++){if(t[n].start<=e&&e<t[n].end)return n;if(e>t[n].end&&n+1<r&&e<t[n+1].start)return-1;if(e>t[n].end&&n+1>=r)return-1}return-1}function findCIndexByTime(e,t,a){var r=t.length;if(r<1)return[];var n=[];if((a=a<0?0:a>=r?r-1:a)<r)for(var i=t[a].end<=e?a:0;i<r&&(t[i].start<=e&&e<t[i].end&&n.push(i),!(e<t[i].start));i++);return n}function getItemsByIndex(e,t,a){if(0===e.length||t<0||t>e.length-1)return[];var r=e[t].list;if(0===a.length)return[];var n=r.splice(a[0],a.length);return t>0&&e.splice(0,t),0===r.length&&e.splice(0,1),n}function typeOf(e){return Object.prototype.toString.call(e).match(/([^\s.*]+)(?=]$)/g)[0]}function createDom(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"div",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",n=document.createElement(e);return n.className=r,n.innerHTML=t,Object.keys(a).forEach((function(t){var r=t,i=a[t];"video"===e||"audio"===e||"live-video"===e?i&&n.setAttribute(r,i):n.setAttribute(r,i)})),n}function isMediaElement(e){return e&&e instanceof window.HTMLMediaElement}function isMobile(){var e=navigator.userAgent,t=/(?:Windows Phone)/.test(e),a=/(?:SymbianOS)/.test(e)||t,r=/(?:Android)/.test(e),n=/(?:Firefox)/.test(e),i=/(?:iPad|PlayBook)/.test(e)||r&&!/(?:Mobile)/.test(e)||n&&/(?:Tablet)/.test(e);return/(?:iPhone)/.test(e)&&!i||r||a||i}function addCSS(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a="";e.map((function(e){a+=" ".concat(t," ").concat(e.key," {").concat(e.style,"}")}));var r=document.head||document.getElementsByTagName("head")[0],n="xg-text-track-style",i=document.getElementById(n);if(i||((i=document.createElement("style")).type="text/css",i.id=n,r.appendChild(i)),i.styleSheet){var c=function(){try{i.styleSheet.cssText=(i.styleSheet.cssText||"")+a}catch(e){}};i.styleSheet.disabled?setTimeout(c,10):c()}else{var o=document.createTextNode(a);i.appendChild(o)}}function parse(e,t,a){if(a||(a=new ProxyPromise),"json"===t){var r=SubTitleParser.parseJson(e);a.resolve({list:r,format:"json"})}else"string"===t&&SubTitleParser.parse(e,(function(e,t){if(t){var r=_ERROR(2,t);a.reject(r,{format:e.format})}else if(e.format||e.list&&0!==e.list.length)a.resolve({styles:e.styles,list:e.list,format:e.format});else{var n=_ERROR(3);a.reject(n)}}));return a}function loadSubTitle(e,t){t||(t=new ProxyPromise);var a=[];"String"===typeOf(e.url)?a=[e.url]:"Array"===typeOf(e.url)&&(a=_toConsumableArray(e.url));return function r(){var n=a.shift();if(n)new XHR({url:n,type:"text"}).then((function(a){parse(a.res.response,"string").then((function(a){t.resolve(_objectSpread2(_objectSpread2({},a),e))})).catch((function(e){t.reject(e)}))})).catch((function(i){if(a.length>0)r();else{var c=_ERROR(1,_objectSpread2({statusText:i.statusText,status:i.status,type:i.type,message:"http load error",url:n},e));t.reject(c)}}));else{var i=_ERROR(1,_objectSpread2({message:"http load error",url:e.url},e));t.reject(i)}}(),t}function toInt(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if("number"==typeof e)return Number.isFinite(e)?Math.trunc(e):t;if("string"==typeof e){var a=e.trim();if(!a)return t;var r=parseInt(a,10);return Number.isNaN(r)?t:r}return t}function checkSubtitle(e,t){return!(!e||!t)&&!!(e.id&&t.id&&e.id===t.id||e.language&&t.language&&e.language===t.language)}function isEnglish(e){return null!==e&&""!==e.trim()&&/^[a-zA-Z]+$/.test(e)}function patchABCbiaodian(e){return!!/[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]/.test(e)}function patchCn(e){return!!/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/.test(e)}function splitWords(e){for(var t=e.split(""),a=[],r=!1,n=0;n<t.length;n++){var i=t[n];if(isEnglish(i))if(r){var c=a.length-1;a[c]="".concat(a[c]).concat(i)}else a.push(i),r=!0;else if(i.match(/^[ ]*$/)||patchABCbiaodian(i)||patchCn(i)){r=!1;var o=a.length-1;o>=0?a[o]="".concat(a[o]).concat(i):a.push(i)}else r=!1,a.push(i)}return a}var ResizeObserver$1=function(){function e(){var t=this;_classCallCheck(this,e),this.__handlers=[],window.ResizeObserver&&(this.observer=new window.ResizeObserver((function(e){t.__trigger(e)})))}return _createClass(e,[{key:"addObserver",value:function(e,t){if(this.observer){this.observer&&this.observer.observe(e);for(var a=this.__handlers,r=-1,n=0;n<a.length;n++)a[n]&&e===a[n].target&&(r=n);r>-1?this.__handlers[r].handler.push(t):this.__handlers.push({target:e,handler:[t]})}}},{key:"unObserver",value:function(e){var t=-1;this.__handlers.map((function(a,r){e===a.target&&(t=r)})),this.observer&&this.observer.unobserve(e),t>-1&&this.__handlers.splice(t,1)}},{key:"destroyObserver",value:function(){this.observer&&this.observer.disconnect(),this.observer=null,this.__handlers=null}},{key:"__runHandler",value:function(e,t){for(var a=this.__handlers,r=0;r<a.length;r++)if(a[r]&&e===a[r].target){a[r].handler&&a[r].handler.forEach((function(a){try{a(e,t)}catch(e){console.error(e)}}));break}}},{key:"__trigger",value:function(e){var t=this;e.map((function(e){var a=e.contentRect;t.__runHandler(e.target,a)}))}}]),e}(),resizeObserver=null;function addObserver(e,t){resizeObserver||(resizeObserver=new ResizeObserver$1),resizeObserver.addObserver(e,t)}function unObserver(e,t){resizeObserver&&resizeObserver.unObserver(e,t)}var EVENTS={RESIZE:"resize",CHANGE:"change",OFF:"off",ON:"on",UPDATE:"update",ERROR:"error"};function formatUrl(e){var t=[];if(e&&"String"===typeOf(e))t.push({url:[e],index:0,start:-1,end:-1});else if("Array"===typeOf(e)){if(0===e.length)return t;"String"===typeOf(e[0])?t.push({url:_toConsumableArray(e),index:0,start:-1,end:-1}):e.forEach((function(e,a){t.push({url:e.url||e.src||"",index:a,start:e.start||-1,end:e.end||-1})}))}return t}var IS_MOBILE=!1,Subtitle=function(e){_inherits(a,EventEmitter);var t=_createSuper(a);function a(e){var r;return _classCallCheck(this,a),_defineProperty(_assertThisInitialized(r=t.call(this)),"_onPause",(function(){r.stopRender()})),_defineProperty(_assertThisInitialized(r),"_onPlay",(function(){r._curRenderTask.length>0&&r.startRender(-1)})),_defineProperty(_assertThisInitialized(r),"_onTimeupdate",(function(){if(r._isOpen){if(r.config.domRender){var e=r.player.media?r.player.media:r.player,t=e.videoWidth,a=e.videoHeight;!r._videoMeta.scale&&t&&a&&r._onResize(r.player.root)}var n=r._getPlayerCurrentTime();Math.round(Math.abs(1e3*n-r._ctime))<200||(r._ctime=1e3*n,r.currentText&&r.currentText.list&&("live"===r.config.updateMode?r._liveUpdate(n):r._update(n)))}})),_defineProperty(_assertThisInitialized(r),"_onResize",(function(e){var t=_assertThisInitialized(r),a=t._videoMeta;if(t.config.domRender){if(e&&e instanceof window.Element||(e=r.player.root),r._iId&&(clearTimeout(r._iId),r._iId=null),!a.scale){if(!r.player.video)return;var n=r.player.video,i=n.videoWidth,c=n.videoHeight;if(!i||!c)return;a.videoWidth=i,a.videoHeight=c,a.scale=toInt(c/i*100)}r.__startResize(e)}})),_defineProperty(_assertThisInitialized(r),"_onCoreEvents",(function(e){try{switch(e.eventName){case"core.subtitlesegments":r._onSubtitleSegment(e.list||[]);break;case"core.subtitleplaylist":r._onSubtitlePlaylist(e.list||[]);break;case"core.seipayloadtime":r._onCoreSeiintime(e)}}catch(e){console.error(e)}})),_defineProperty(_assertThisInitialized(r),"startRender",(function(e){if(e>0&&r._renderIntervalId&&(window.cancelAnimationFrame(r._renderIntervalId),r._renderIntervalId=-1),r.textTrack){var t=_assertThisInitialized(r)._curRenderTask;r._lastTimeStamp=(new Date).getTime();var a=[];t.forEach((function(t,n){var i=t.lastTime,c=t.wordList,o=t.interval,s=t.dom,u=t.ids;if(e<0||r._lastTimeStamp<0||r._lastTimeStamp-i>=o){var d=c.shift();d&&s.appendData(d),t.lastTime=r._lastTimeStamp}c.length<1&&a.push({index:n,ids:u})})),r._log(">>>>_renderByWords emptyArr",a.length,t.length),a.forEach((function(e){t.splice(e.index,1),r._log(">>>_renderByWords remove emptyArr",e.index,t.length)})),t.length>0&&(r._renderIntervalId=window.requestAnimationFrame(r.startRender))}})),_defineProperty(_assertThisInitialized(r),"destroy",(function(){r.detachPlayer(),r.removeAllListeners(),r.player=null,r.textTrack=null,r._curRenderTask=[],r.stopRender()})),IS_MOBILE=isMobile(),r.currentText=null,r.currentExtText=null,r.textTrack=[],r._cid=-1,r._gid=-1,r._cids=[],r._iId=null,r._iC=0,r.player=null,r.root=null,r.config={line:"double",bottom:0,mode:"stroke",defaultOpen:!1,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,fitVideo:!0,offsetBottom:2,fontColor:"#fff",domRender:!0,updateMode:"vod",renderMode:"",debugger:!1},r._ctime=0,r._loadingTrack={},r.seiTime=0,r.lastSeiTime=0,r._curTexts=[],r._curRenderTask=[],r._renderIntervalId=-1,r._lastTimeStamp=-1,Object.keys(r.config).map((function(t){void 0!==e[t]&&null!==e[t]&&(r.config[t]=e[t])})),r._isOpen=r.config.defaultOpen||!1,r._videoMeta={scale:0,videoHeight:0,videoWidth:0,lwidth:0,lheight:0,vWidth:0,vHeight:0,vBottom:0,vLeft:0,marginBottom:0},e.subTitles&&"Array"===typeOf(e.subTitles)?(e.player&&r.attachPlayer(e.player),r.setSubTitles(e.subTitles,r.config.defaultOpen),r):_possibleConstructorReturn(r)}return _createClass(a,[{key:"version",get:function(){return"3.0.25-rc.8"}},{key:"setSubTitles",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=this._isOpen||a;r&&this.innerRoot&&this.switchOff(),!t||t.length<1?this.switchOff():(this.currentText=null,this.textTrack=[],t.forEach((function(t){var a={};Object.keys(t).map((function(e){a[e]=t[e]})),a.url=formatUrl(a.url),a.isDefault&&(e.currentText=a),e.textTrack.push(a)})),this._log("setSubTitles",n),n&&(this.currentText||(this.currentText=this.textTrack[0]),this.switch().catch((function(t){e.emitError(t),e._log("[switch]",t)}))),this.currentText&&this._loadTrack(this.currentText).then((function(t){e.addStyles(t)})).catch((function(t){e.emitError(t),e._log("[_loadTrack] error",t)})),this.emit("reset",{type:"reset",list:this.textTrack,isOpen:n}))}},{key:"updateSubTitle",value:function(e){for(var t=this,a=-1,r=0;r<this.textTrack.length;r++)if(checkSubtitle(e,this.textTrack[r])){a=r;break}if(this._log("updateSubTitle",a,e),a>-1){var n=checkSubtitle(this.currentText,this.textTrack[a]);if(this._log("updateSubTitle","_isCurrent",n,"this.isOpen",this.isOpen,this.currentText),!n)return;var i=formatUrl(e.url);this.isOpen?(i.forEach((function(e){t.textTrack[a].url.push(e)})),this._log("updateSubTitle _loadTrackUrls",this.textTrack[a]),this._loadTrackUrls(this.currentText,2)):this.textTrack[a].url=i}}},{key:"addStyles",value:function(e){var t=e.styles,a=e.format;t&&"vtt"===a&&(t.map((function(e){e.key||(e.key="xg-text-track-span")})),addCSS(t,".xg-text-track"))}},{key:"attachPlayer",value:function(e){var t=this;if(this._log("attachPlayer"),e&&e!==this.player){this.player&&this.detachPlayer();var a=this.config,r=a.fontColor,n=a.mode,i=a.fitVideo,c=a.domRender;if(this.player=e,c&&(this.root=document.createElement("xg-text-track"),this.root.className="xg-text-track",!this._isOpen&&addClass(this.root,"text-track-hide"),!i&&addClass(this.root,"text-track-no-fitvideo"),n&&addClass(this.root,"text-track-".concat(n)),this.innerRoot=document.createElement("xg-text-track-inner"),this.root.appendChild(this.innerRoot),r&&(this.root.style.color=r),this.currentText&&["language","id","label"].map((function(e){t.root.setAttribute("data-".concat(e),t.currentText[e]||"")})),this.player.root&&this.player.root.appendChild(this.root),this.player.root&&addObserver(e.root,this._onResize)),isMediaElement(this.player))this.player.addEventListener("timeupdate",this._onTimeupdate),this.player.addEventListener("pause",this._onPause),this.player.addEventListener("play",this._onPlay);else{if("function"!=typeof this.player.on)return;this.player.on("destroy",this.destroy),this.player.on("timeupdate",this._onTimeupdate),this.player.on("pause",this._onPause),this.player.on("play",this._onPlay),this.player.on("core_event",this._onCoreEvents)}this._isOpen&&this.switch().catch((function(e){t._log("[switch]",e)}))}}},{key:"detachPlayer",value:function(){var e=this.player,t=this.config;e&&(isMediaElement(e)?(e.removeEventListener("timeupdate",this._onTimeupdate),e.removeEventListener("pause",this._onPause),e.removeEventListener("play",this._onPlay)):"function"==typeof e.off&&(e.off("destroy",this.destroy),e.off("timeupdate",this._onTimeupdate),e.off("pause",this._onPause),e.off("play",this._onPlay),e.off("core_event",this._onCoreEvents)),t.domRender&&(e.root&&(unObserver(e.root),this.root&&e.root.contains(this.root)&&e.root.removeChild(this.root)),this.innerRoot=null,this.root=null),this.player=null)}},{key:"switch",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:"",language:""};return this._log("switch",t),this._loadingTrack=t,new Promise((function(a,r){if(!t.id&&!t.language){if(e.currentText)return e._loadingTrack={},e._updateCurrent(e.currentText),e.switchOn(),void a({message:"switch default subtitle success",code:0});var n=new SError("no default subtitle",5);return e.emitError(n),void r(n)}if(e.currentText&&checkSubtitle(t,e.currentText))e._loadingTrack={},e._updateCurrent(e.currentText),e.switchOn(),a(_ERROR(0));else{var i=null;e.__removeByTime(e._curTexts,0);for(var c=0;c<e.textTrack.length;c++)if(checkSubtitle(t,e.textTrack[c])){i=e.textTrack[c];break}if(e._log("nextSubtitle",i),i)e._emitPlayerSwitch(e.currentText,i),i.list?(e._loadingTrack={},e._updateCurrent(i),e.switchOn(),a(_ERROR(0))):(e._log("this._loadTrack",i),e._updateCurrent(i),e._loadTrack(i).then((function(n){if(e.addStyles(n),e._loadingTrack.id===i.id||e._loadingTrack.language===n.language)e._loadingTrack={},e._updateCurrent(n),e.switchOn(),a(_ERROR(0));else{var c=new SError("check _loadingTrack fail id: ".concat(e._loadingTrack.id," nextSubtitle:").concat(n.id),6,null,t);e.emitError(c),r(c)}})).catch((function(t){e.emitError(t),r(t)})));else{var o=new SError("The is no subtitle with id:[{".concat(t.id,"}] or language:[").concat(t.language,"]"),4,null,t);e.emitError(o),r(o)}}}))}},{key:"switchExt",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:"",language:""};return new Promise((function(a,r){if(t.id||t.language){for(var n=null,i=0;i<e.textTrack.length;i++)if(checkSubtitle(t,e.textTrack[i])){n=e.textTrack[i];break}n&&!checkSubtitle(n,e.currentText)&&e._loadTrack(n).then((function(t){e.currentExtText=t,a(_ERROR(0))})).catch((function(t){e.emitError(t)}))}else e.currentExtText=null,a(_ERROR(0))}))}},{key:"emitError",value:function(e){this.emit(EVENTS.ERROR,{type:EVENTS.ERROR,error:e})}},{key:"switchOn",value:function(){this._log("switchOn"),this._isOpen=!0,this.show();var e=this.currentText||{},t=e.id,a=e.language;this.emit(EVENTS.CHANGE,{type:EVENTS.CHANGE,isOpen:!0,id:t,language:a,texts:[]})}},{key:"switchOff",value:function(){if(this._isOpen=!1,this.hide(),this.currentText){var e=this.currentText,t=e.id,a=e.language;this.emit(EVENTS.OFF,{type:EVENTS.OFF,id:t,language:a,texts:[],isOpen:!1})}}},{key:"isOpen",get:function(){return this._isOpen}},{key:"_log",value:function(){if(this.config.debugger){for(var e,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(e=console).log.apply(e,["[xgSubtitle]"].concat(a))}}},{key:"_loadTrack",value:function(e){var t=this;this._log("_loadTrack",e.language,e);var a=new ProxyPromise,r="",n="";if(e.json?(r="json",n=e.json):!e.stringContent||e.url&&0!==e.url.length||(r="string",n=e.stringContent),n)return parse(n,r).then((function(t){e.format=t.format,e.styles=t.styles,e.list=t.list,a.resolve(e)})).catch((function(e){t.emitError(e),a.reject(e)})),a;var i=e.url;return 0===i.length?(a.resolve(e),a):(loadSubTitle(i.splice(0,1)[0]).then((function(r){e.format=r.format,e.styles=r.styles,e.list||(e.list=[]),t._pushList(e.list,r.list),i.length>0&&t._loadTrackUrls(e,2),a.resolve(e)})).catch((function(e){t.emitError(e),a.reject(e)})),a)}},{key:"_emitPlayerSwitch",value:function(e,t){e&&"live"===this.config.updateMode&&(e.list=[],e.url=[]);var a=_objectSpread2({lang:t.language},t);this._log("emit subtile_switch ",t,a),this.player&&"function"==typeof this.player.emit&&this.player.emit("switch_subtitle",a)}},{key:"_loadTrackUrls",value:function(e,t,a){var r=this,n=e.url.length,i=n>t?e.url.splice(0,t):e.url.splice(0,n),c=i.length;this._log("_loadTrackUrls",e.language,n,i.length,c),i.forEach((function(t,n){loadSubTitle(_objectSpread2(_objectSpread2({},t),{},{index:n})).then((function(t){e.format=t.format,e.styles=t.styles,e.list||(e.list=[]),r._pushList(e.list,t.list),c--})).catch((function(e){c--})).finally((function(t){0===c&&(a&&a.resolve(e),r._loadTrackUrls(e,2))}))}))}},{key:"_freshUrl",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{url:""},a=-1;e.url.forEach((function(e,r){e.url===t.url&&(a=r)})),a>-1&&e.url.splice(a,1)}},{key:"_pushList",value:function(e,t){if(!t||0===t.length)return e;var a=t[0].start,r=t[t.length-1].end;if(0===e.length||a>=e[e.length-1].end)t.forEach((function(t){e.push(t)}));else{for(var n=-1,i=0;i<e.length;i++)if(e[i].start>r){n=i;break}n>-1&&t.forEach((function(t,a){e.splice(n+a,0,t)}))}return e}},{key:"_updateCurrent",value:function(e){var t=this;this.currentText=e,this.config.domRender&&this.root&&(["language","id","label"].map((function(e){t.root.setAttribute("data-".concat(e),t.currentText[e]||"")})),this.__remove(this._cids)),this._cids=[],this._gid=-1,this._cid=-1,this._curTexts=[];var a=this._getPlayerCurrentTime();a&&("live"===this.config.updateMode?this._liveUpdate(a):this._update(a))}},{key:"__loadAll",value:function(){var e=this;this.textTrack.forEach((function(t){e._loadTrack(t)}))}},{key:"getDelCid",value:function(e,t){for(var a=[],r=0;r<e.length;r++)t.includes(e[r])||a.push(e[r]);return a}},{key:"getNewCid",value:function(e,t){for(var a=[],r=0;r<t.length;r++)e.includes(t[r])||a.push(t[r]);return a}},{key:"_liveUpdate",value:function(e){var t=this;if(this.currentText&&this.currentText.list&&this.currentText.list.length){var a=[],r=findIndexByTime(e,this.currentText.list,this._gid);if(r>-1&&(a=findCIndexByTime(e,this.currentText.list[r].list,this._cid)),this.__removeByTime(this._curTexts,e),this._log("_liveUpdate",e,r,a,this.currentText.list[0].list[0].start,this.currentText.list[0].list[0].end),a.length>0){var n=getItemsByIndex(this.currentText.list,r,a),i=this._curTexts.length,c=i>0?this._curTexts[i-1].index:0;n.forEach((function(e,a){e.index=a+c,t._curTexts.push(e)})),this.__render(n)}this.emit(EVENTS.UPDATE,this.getUpdateData(this._curTexts,0,this.currentText))}}},{key:"_update",value:function(e){var t=this;if(this.currentText&&this.currentText.list&&this.currentText.list.length){var a=findIndexByTime(e,this.currentText.list,this._gid),r=[];if(a>-1&&(r=findCIndexByTime(e,this.currentText.list[a].list,this._cid)),r.length<1)return this._cids.length>0&&this.config.domRender&&this.__remove(this._cids),this._cids=[],this._curTexts.length>0&&this.emit(EVENTS.UPDATE,this.getUpdateData([],e,this.currentText)),void(this._curTexts=[]);if(this._cids.join("")!==r.join("")||a!==this._gid){this._gid=a,this._cid=r[0];var n=this.getDelCid(this._cids,r),i=this.getNewCid(this._cids,r);this._cids=r,this.config.domRender&&this.__remove(n);var c=[];i.map((function(e){var r=t.currentText.list[a].list[e];r.index=e,c.push(r)})),this.currentExtText&&i.map((function(e){var r=t.currentText.list[a].list[e];r.index=e,c.push(r)})),this._log("update",c,e),this._curTexts=c,this.emit(EVENTS.UPDATE,this.getUpdateData(c,e,this.currentText)),this.__render(c,e)}}}},{key:"getUpdateData",value:function(e,t,a){var r=a.id,n=a.language;return{type:EVENTS.UPDATE,currentTime:0|t,id:r,language:n,texts:e,isOpen:this._isOpen}}},{key:"_getPlayerCurrentTime",value:function(){if(!this.player)return 0;var e=this.player.currentTime;return toInt(1e3*(void 0===e?0:e)+1e3*this.seiTime-1e3*this.lastSeiTime)/1e3}},{key:"_onSubtitlePlaylist",value:function(e){this._log("_onSubtitlePlaylist",e);var t=e.map((function(e){return{label:e.name,language:e.lang,id:e.id,isDefault:e.default,url:[],mUrl:e.url}}));this.setSubTitles(t)}},{key:"_onSubtitleSegment",value:function(e){if(this._log("_onSubtitleSegment",e.length,e[0].lang,e[0].sn,e[e.length-1].sn,e[0].start,e[e.length-1].end),e&&0!==e.length){var t={language:e[0].lang,url:e.map((function(e){return{id:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end}}))};checkSubtitle(t,this.currentText)&&this.updateSubTitle(t)}}},{key:"_onCoreSeiintime",value:function(e){try{var t=e.time/1e3;this._log("_onCoreSeiintime sei",t,this.seiTime,this.lastSeiTime),this.seiTime=t,this.lastSeiTime=this.player?this.player.currentTime:0}catch(e){}}},{key:"resize",value:function(e,t){var a,r=this,n=this.config,i=n.baseSizeX,c=n.baseSizeY,o=n.minMobileSize,s=n.minSize,u=n.fitVideo,d=n.offsetBottom,b=this._videoMeta.scale;this._videoMeta.lwidth=e,this._videoMeta.lheight=t;var f=0;t/e*100>=b?(f=toInt(b*e)/100,a=e):(f=t,a=toInt(t/b*100)),this._videoMeta.vWidth=a,this._videoMeta.vHeight=f;var l=0,h=0;h=toInt(b>120?(l=c)*f/1080:(l=i)*a/1920);var p=IS_MOBILE?o:s,y={fontSize:h=h<p?p:h>l?l:h},g=toInt((t-f)/2),v=toInt((e-a)/2),m=toInt(f*d)/100;this._videoMeta.vBottom=g,this._videoMeta.vLeft=v,this._videoMeta.marginBottom=m,u&&(y.bottom=g+m,y.left=y.right=v),Object.keys(y).map((function(e){r.root.style[e]="".concat(y[e],"px")})),this.emit(EVENTS.RESIZE,{vLeft:v,vBottom:g,marginBottom:m,vWidth:a,vHeight:f,fontSize:h,scale:b})}},{key:"__startResize",value:function(e){var t=this,a=e.getBoundingClientRect(),r=this._videoMeta,n=a.width,i=a.height;if(this._iId&&(clearTimeout(this._iId),this._iId=null),n>0&&i>0&&(n!==r.lwidth||i!==r.lheight))this._iC=0,this.resize(n,i);else{if(this._iC>=5)return void(this._iC=0);this._iC++,this._iId=setTimeout((function(){t.__startResize(e)}),50)}}},{key:"__removeByTime",value:function(e,t){for(var a=[],r=0;r<e.length;r++)(!t||e[r].end<t)&&a.push(r);0!==a.length&&(e.splice(a[0],a.length),this.config.domRender&&this.__remove(a))}},{key:"__remove",value:function(e){var t=this;if(e&&!(e.length<1)){this._log(">>>>_renderByWords__remove",e);for(var a=this.innerRoot.children,r=[],n=0;n<a.length;n++){var i=Number(a[n].getAttribute("data-index"));e.includes(i)&&r.push(a[n])}r.map((function(e){t.innerRoot.removeChild(e)}))}}},{key:"__render",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this._log("__render",t.length,this.config.domRender);var a=this.config,r=a.renderMode,n=a.domRender;t.length>0&&n&&t.forEach((function(t){var a="text-track-".concat(e.config.line);t.text.forEach((function(n,i){i>0&&(a+=" text-track-deputy");var c={"data-start":t.start,"data-end":t.end,"data-index":t.index},o=createDom("xg-text-track-span","",c,a);if(e.innerRoot.appendChild(o),"step"===r){var s=createDom("xg-text-track-span","",c,"".concat(a," text-track-space"));e.innerRoot.appendChild(s),s.innerHTML=n,setTimeout((function(){e._renderByWords(o,i,t.start,t.end,n)}),600)}else o.innerHTML=n}))}))}},{key:"_renderByWords",value:function(e,t,a,r,n){var i=document.createTextNode("");e.appendChild(i);var c=splitWords(n),o=this._getPlayerCurrentTime(),s=toInt(1e3*(r-o));if(!(o>=r)){a>=o&&(o=a),s>300&&(s-=50);var u={dom:i,ids:t,wordList:c,interval:s/c.length,start:o,end:r,duration:s,lastTime:0};this._log(">>>>_renderByWords",s,u);for(var d=this._curRenderTask,b=-1,f=0;f<d.length;f++)if(d[f].ids===t){b=f;break}b>-1&&d.slice(b,1),d.push(u),this.startRender(-1)}}},{key:"stopRender",value:function(){this._renderIntervalId&&window.cancelAnimationFrame(this._renderIntervalId)}},{key:"show",value:function(){this.config.domRender&&removeClass(this.root,"text-track-hide")}},{key:"hide",value:function(){this.config.domRender&&(addClass(this.root,"text-track-hide"),this.innerRoot&&(this.innerRoot.innerHTML=""))}},{key:"emit",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get(_getPrototypeOf(a.prototype),"emit",this)).call.apply(r,[this,e,t].concat(i))}},{key:"on",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get(_getPrototypeOf(a.prototype),"on",this)).call.apply(r,[this,e,t].concat(i))}},{key:"once",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get(_getPrototypeOf(a.prototype),"once",this)).call.apply(r,[this,e,t].concat(i))}},{key:"off",value:function(e,t){for(var r,n=arguments.length,i=new Array(n>2?n-2:0),c=2;c<n;c++)i[c-2]=arguments[c];(r=_get(_getPrototypeOf(a.prototype),"off",this)).call.apply(r,[this,e,t].concat(i))}},{key:"offAll",value:function(){_get(_getPrototypeOf(a.prototype),"removeAllListeners",this).call(this)}},{key:"marginBottom",get:function(){var e=this._videoMeta,t=e.vBottom,a=e.marginBottom;return this.config.fitVideo?t+a:a}}]),a}(),NativeSubTitle=function(e){_inherits$1(a,EventEmitter);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),_defineProperty$1(_assertThisInitialized$1(r=t.call(this)),"_onChange",(function(e){var t=r._media.textTracks;if(t&&0!==t.length){for(var a=[],n=[],i=-1,c=0;c<t.length;c++){var o=t[c];"subtitles"===o.kind&&(a.push({id:o.id||o.language,language:o.language,text:o.label,isDefault:"showing"===o.mode}),-1===i&&"showing"===o.mode&&(i=c),n.push(o.language))}n.join("|")!==r._languages?(r._languages=n.join("|"),r.emit("reset",{list:a,isOpen:i>-1})):-1===i?r.emit("off"):r.curIndex!==i&&r.emit("change",a[i]),r.curIndex=i}})),r._media=e,r._list=[],r._languages="",r.curIndex=-1,r._init(),r}return _createClass$1(a,[{key:"_init",value:function(){this._media.textTracks.addEventListener("change",this._onChange)}},{key:"switch",value:function(e){for(var t=this._media.textTracks,a=0;a<t.length;a++){var r=t[a];r.language===e.language?r.mode="showing":"showing"===r.mode&&(r.mode="disabled")}}},{key:"switchOff",value:function(){for(var e=this._media.textTracks,t=0;t<e.length;t++)e[t].mode="disabled";this.curIndex=-1}},{key:"destroy",value:function(){this._media.textTracks.removeEventListener("change",this._onChange),this._media=null,this._list=[],this._languages="",this.curIndex=-1}}]),a}(),DEFAULT_TYPE={CLOSE:"close",OPEN:"open",TEXT_CLOSE:"text-close"};function formatList(e){var t=-1;return e.forEach((function(e,a){e.id||e.language||(e.id=a),e.id=String(e.id),!e.url&&(e.url=e.src),!e.text&&(e.text=e.label),!e.language&&(e.language=e.srclang),void 0===e.isDefault&&(e.isDefault=e.default||!1),(e.isDefault||e.default)&&(t<0?t=a:e.isDefault=e.default=!1)})),t}function checkIsSame(e,t){var a=util.isNotNull(e.id)&&util.isNotNull(t.id)&&e.id===t.id,r=util.isNotNull(e.language)&&util.isNotNull(t.language)&&e.language===t.language;return a||r}var hasRequiredEs_date_toJson,TextTrack=function(e){_inherits$1(a,OptionsIcon);var t=_createSuper$1(a);function a(){var e;_classCallCheck$1(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return _defineProperty$1(_assertThisInitialized$1(e=t.call.apply(t,[this].concat(n))),"_onOff",(function(){e.switchOffSubtitle()})),_defineProperty$1(_assertThisInitialized$1(e),"_onChange",(function(t){var a=e.getSubTitleIndex(e.config.list,t);a<0||e.updateCurItem(a,t)})),_defineProperty$1(_assertThisInitialized$1(e),"_onListReset",(function(t){e.updateList(t)})),_defineProperty$1(_assertThisInitialized$1(e),"clickSwitch",(function(t,a){var r=a.type===DEFAULT_TYPE.CLOSE||a.type===DEFAULT_TYPE.TEXT_CLOSE;e.subTitles&&(r?e.subTitles.switchOff():e.switchSubTitle({language:a.language,id:a.id}))})),_defineProperty$1(_assertThisInitialized$1(e),"onIconClick",(function(t){e.curItem?e.subTitles.switchOff():e.switchOnSubtitle(t)})),_defineProperty$1(_assertThisInitialized$1(e),"onPlayerFocus",(function(t){e.subTitles&&e.config.style.follow&&e.rePosition()})),_defineProperty$1(_assertThisInitialized$1(e),"onPlayerBlur",(function(t){e.subTitles&&e.config.style.follow&&!e.playerConfig.marginControls&&e.subTitles.root&&(e.subTitles.root.style.transform="translate(0, 0)")})),e}return _createClass$1(a,[{key:"beforeCreate",value:function(e){var t=e.player.config.texttrack||e.player.config.textTrack;"Array"===util.typeOf(t)&&(e.config.list=t)}},{key:"afterCreate",value:function(){var e=this.config,t=e.list,r=e.mode,n=formatList(t);_get$1(_getPrototypeOf$1(a.prototype),"afterCreate",this).call(this),this.config.closeText||(this.config.closeText={text:this.i18n.TEXTTRACK_OFF,iconText:this.i18n.TEXTTRACK}),this.curIndex=-1,this.lastIndex=-1,this.curItem=null,this._nativeTracks=null,this.handlerClickSwitch=this.hook("subtitle_change",this.clickSwitch),"native"===r?this._initNativeSubtitle():this._initExtSubTitle(n)}},{key:"_initNativeSubtitle",value:function(){var e=this.player;e._subTitles||(e._subTitles=new NativeSubTitle(e.media)),this.subTitles=e._subTitles,this.subTitles.on("off",this._onOff),this.subTitles.on("change",this._onChange),this.subTitles.on("reset",this._onListReset)}},{key:"_initExtSubTitle",value:function(e){var t=this.config,a=t.list,r=t.style,n=t.isDefaultOpen,i=t.updateMode,c=t.renderMode;n&&e<0&&a.length>0&&(e=0,a[0].isDefault=!0);var o={subTitles:a,defaultOpen:n,updateMode:i,renderMode:c,debugger:this.config.debugger};Object.keys(r).map((function(e){o[e]=r[e]})),!this.playerConfig.marginControls&&this.player.controls.root&&(this.on(PLAYER_FOCUS,this.onPlayerFocus),this.on(PLAYER_BLUR,this.onPlayerBlur));var s=this.player;s._subTitles?s._subTitles._isOpen&&(e=this.getSubTitleIndex(this.config.list,s._subTitles.currentText)):(s._subTitles=new Subtitle(o),s._subTitles.attachPlayer(this.player)),this.subTitles=s._subTitles,this.subTitles.on("off",this._onOff),this.subTitles.on("change",this._onChange),this.subTitles.on("reset",this._onListReset),r.follow&&this.subTitles.root&&util.addClass(this.subTitles.root,"follow-control"),this._renderList(a,n,e)}},{key:"_renderList",value:function(e,t,a){e&&0!==e.length&&(t?(e[a=a<0?0:a].isDefault=!0,this.curIndex=a,this.curItem=e[a],this.switchIconState(!0)):this.switchIconState(!1),this.player.isCanplay&&e.length>0&&(this.renderItemList(e),this.show()))}},{key:"registerIcons",value:function(){return{textTrackOpen:{icon:"",class:"xg-texttrak-open"},textTrackClose:{icon:"",class:"xg-texttrak-close"}}}},{key:"show",value:function(e){!this.config.list||this.config.list.length<1||util.addClass(this.root,"show")}},{key:"getSubTitleIndex",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{id:"",language:""},a=-1;return t&&(t.id||t.language)?(e.forEach((function(e,r){checkIsSame(e,t)&&(a=r)})),a):a}},{key:"updateSubtitles",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e&&(this.updateList({list:e}),this.subTitles&&this.subTitles.setSubTitles(this.config.list,this.curIndex>-1,t))}},{key:"updateList",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.list){var t=[];e.list.forEach((function(e){t.push(e)}));var a=formatList(t);e.isOpen?(this.curIndex=a,this.curItem=a>-1?t[a]:null):(this.curIndex=-1,this.curItem=null),this.config.list=t,t.length>0?this.show():(this.switchOffSubtitle(),this.hide()),this.renderItemList()}}},{key:"switchSubTitle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:"",language:""};this.switchIconState(!0),this.getSubTitleIndex(this.config.list,e)<0||this.subTitles.switch(e).catch((function(e){}))}},{key:"switchOffSubtitle",value:function(e){this.emit("subtitle_change",{off:!0,isListUpdate:!1,list:[]}),this.lastIndex=this.curIndex,this.curIndex=-1,this.curItem=null,this.switchIconState(!1),this.renderItemList()}},{key:"switchOnSubtitle",value:function(){var e=this.config.list[this.lastIndex>-1?this.lastIndex:0];this.switchIconState(!0),this.switchSubTitle(e)}},{key:"switchIconState",value:function(e){this.setAttr("data-state",e?"open":"close")}},{key:"onItemClick",value:function(e,t){var r=e.delegateTarget,n=r.getAttribute("language"),i=r.getAttribute("data-id"),c=r.getAttribute("data-type");_get$1(_getPrototypeOf$1(a.prototype),"onItemClick",this).apply(this,arguments),this.handlerClickSwitch(e,{language:n,id:i,type:c})}},{key:"changeCurrentText",value:function(){if(!this.isIcons){var e=this.config,t=e.list,a=e.closeText,r=this.curIndex;if(r-1<0)this.find(".icon-text").innerHTML=this.getTextByLang(a,"iconText");else if(r-1<t.length){var n=t[r-1];if(!n)return;this.find(".icon-text").innerHTML=this.getTextByLang(n,"iconText")}}}},{key:"updateCurItem",value:function(e,t){this.curIndex=e,this.curItem=this.config.list[e-1],this.renderItemList(),this.emit("subtitle_change",_objectSpread2$1({off:!1,isListUpdate:!1,list:[]},t))}},{key:"renderItemList",value:function(){var e=this,t=this.config,r=t.list,n=t.closeText,i=t.needCloseText,c=[],o=this.curIndex,s=this.curIndex;i&&(c.push({showText:this.getTextByLang(n),"data-type":DEFAULT_TYPE.TEXT_CLOSE,selected:-1===this.curIndex}),o++),r.map((function(t,a){var r={language:t.language||t.srclang||"","data-id":t.id||""};r.selected=e.curIndex===a,r.showText=e.getTextByLang(t),c.push(r)})),_get$1(_getPrototypeOf$1(a.prototype),"renderItemList",this).call(this,c,o),this.curIndex=s,this.curItem=r[s]}},{key:"rePosition",value:function(){var e=this.config.style.fitVideo,t=0-this.player.controls.root.getBoundingClientRect().height;if(e){var a=this.player,r=a.video,n=a.root.getBoundingClientRect(),i=n.height,c=n.width,o=r.videoHeight,s=r.videoWidth,u=parseInt(o/s*100,10)*c/100;u>i&&(u=i);var d=(i-u)/2-t;d<0&&(this.subTitles.root.style.transform="translate(0, ".concat(d,"px)"))}else this.subTitles.root.style.transform="translate(0, ".concat(t,"px)")}},{key:"destroy",value:function(){this.subTitles&&(this.subTitles.destroy(),this.subTitles=null),_get$1(_getPrototypeOf$1(a.prototype),"destroy",this).call(this)}}],[{key:"pluginName",get:function(){return"texttrack"}},{key:"defaultConfig",get:function(){return _objectSpread2$1(_objectSpread2$1({},OptionsIcon.defaultConfig),{},{position:POSITIONS.CONTROLS_RIGHT,index:6,list:[],isDefaultOpen:!0,style:{follow:!0,mode:"stroke",followBottom:50,fitVideo:!0,offsetBottom:2,baseSizeX:49,baseSizeY:28,minSize:16,minMobileSize:13,line:"double",fontColor:"#fff"},needCloseText:!0,className:"xgplayer-texttrack",hidePortrait:!1,isShowIcon:!0,renderMode:"normal",mode:"external",debugger:!1})}}]),a}(),HeatMap=function(e){_inherits$1(a,Plugin);var t=_createSuper$1(a);function a(e){var r;return _classCallCheck$1(this,a),(r=t.call(this,e)).canvasHeight=0,r.canvasWidth=0,r.width=0,r.height=0,r.dataFloatLen=2,r.xData=[],r.yData=[],r.yMax=0,r._duration=0,r.curData=[],r}return _createClass$1(a,[{key:"afterPlayerInit",value:function(){this.root||(this.createRoot(),this.reset())}},{key:"afterCreate",value:function(){var e=this;this.on(VIDEO_RESIZE,(function(){e.resize()})),this.on(DURATION_CHANGE,(function(){e._duration=e.player.duration,e.reset()}))}},{key:"setConfig",value:function(e){var t=this;Object.keys(e).forEach((function(a){t.config[a]=e[a]})),this.reset()}},{key:"reset",value:function(){var e=this.config.data;this.setData(e),this.resize()}},{key:"createRoot",value:function(){if(!this.root){var e=this.config.mode,t=this.player.plugins.progress.root,a="activeShow"===e?"xg-heatmap-active-show":"xg-heatmap-normal",r=util.createDom("div","",{},"xg-heatmap ".concat(a)),n=t.children.length>0?t.children[0]:null;t.insertBefore(r,n),this.root=r;var i=util.createDom("canvas","",{},"xg-heatmap-canvas");this.root.appendChild(i),this.root.style.height="".concat(this.config.height,"px"),this.canvas=i}}},{key:"resize",value:function(){var e=this.config.dpi,t=this.root.getBoundingClientRect(),a=t.width,r=t.height;a===this.width&&r*e===this.height||(this.width=a,this.height=r,this.canvas.width=this.canvasWidth=a*e,this.canvas.height=this.canvasHeight=r*e,this.yMax=0,this.curData.length&&(this.setData(),this.drawLinePath()))}},{key:"formatData",value:function(e,t,a){var r=[];if(e.length<1)return r;var n=parseInt(1e3*t,10);if("Object"===util.typeOf(e[0])&&void 0!==e[0].time){if(!n)return r;var i=1,c=0;e.forEach((function(e){var t=parseInt(1e3*e.time,10);c&&(i<0||e.time-c<i)&&(i=e.time-c),c=e.time,r.push(_objectSpread2$1(_objectSpread2$1({},e),{},{percent:t/n}))}));var o=r[0].time;if(o>0)(o-i>0?[o-i,0]:[0]).forEach((function(e){var t=parseInt(1e3*e,10);r.unshift({time:e,score:a,percent:t/n})}));var s=r[r.length-1];t-s.time>i&&[s.time+i,t].forEach((function(e){var t=parseInt(1e3*e,10);r.push({time:e,score:a,percent:t/n})}))}else e.forEach((function(e){r.push(e)}));return r}},{key:"_getX",value:function(e,t,a,r){return void 0!==a.percent?this.fixFloat(r*a.percent,this.dataFloatLen):this.fixFloat((e-1)*t,this.dataFloatLen)}},{key:"_getY",value:function(e,t,a){var r=this.config,n=r.maxValue,i=r.minValue,c=i;return c=void 0!==e.score?e.score:e,c=Math.min(c,n),c=Math.max(c,i),c=1-(c/=t),c=this.fixFloat(c*a,this.dataFloatLen)}},{key:"setData",value:function(e){var t=this.config,a=t.maxValue,r=t.minValue,n=t.maxLength;if(e&&e.length&&(this.curData=this.formatData(e,this._duration,r)),!((e=this.curData).length<1)){this.xData=[],this.yData=[],this.yMax=0;var i=a-r,c=this.canvasHeight,o=e.length,s=o>n?this.fixFloat(o/n,this.dataFloatLen):1;o=parseInt(o/s);var u=this.canvasWidth/(o-1);if(u=this.fixFloat(u,this.dataFloatLen),!Number.isNaN(u))for(var d=parseInt(this.fixFloat(s-1,0)),b=0;b<o;){var f=this._getX(b,u,e[d],this.canvasWidth);this.xData.push(f);var l=this._getY(e[d],i,c);this.yMax=Math.max(this.yMax,c-l),this.yData.push(l),b++,d=parseInt(this.fixFloat(b*s,0))}}}},{key:"_getFillStyle",value:function(e){var t=this.config,a=t.gradient,r=t.gradientColors,n=t.fillStyle;if(a&&4===a.length){var i=e.createLinearGradient(a[0],a[1],a[2],a[3]);r.length<2?console.warn(this.pluginName,"渐变颜色配置gradientColors异常"):(r.forEach((function(e){i.addColorStop(e.start,e.color)})),n=i)}return n}},{key:"drawLinePath",value:function(){this.clearCanvas();var e,t,a=this.canvas.getContext("2d"),r=this.xData,n=this.yData,i=0,c=this.config,o=c.lineWidth,s=c.alpha,u=c.strokeStyle,d=this._getFillStyle(a);for(a.beginPath(),a.lineWidth=o,a.globalAlpha=s,a.strokeStyle=u||d,a.fillStyle=d,a.moveTo(0,this.canvasHeight),e=r[i],t=n[i];void 0!==e&&void 0!==t;)a.lineTo(e,t),e=r[++i],t=n[i];a.lineTo(this.canvasWidth,this.canvasHeight),a.closePath(),a.stroke(),a.fill()}},{key:"clearCanvas",value:function(){this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight}},{key:"fixFloat",value:function(e,t){return"number"==typeof e?parseFloat(e.toFixed(t)):NaN}},{key:"render",value:function(){return""}}],[{key:"pluginName",get:function(){return"heatmap"}},{key:"defaultConfig",get:function(){return{lineWidth:0,dpi:2,alpha:.7,gradient:[],gradientColors:[],strokeStyle:"",fillColor:"#FA1F41",height:20,data:[],maxValue:100,minValue:0,maxLength:400,mode:"activeShow"}}}]),a}(),es=Object.freeze({__proto__:null,BasePlugin:BasePlugin,CssFullscreenIcon:CssFullScreen,Danmu:Danmu,DanmuIcon:DanmuIcon,DanmuPanel:DanmuPanel,DefaultPreset:DefaultPreset$3,DefaultPresetEn:DefaultPreset$2,Errors:Errors,Events:events,FullscreenIcon:Fullscreen,HeatMap:HeatMap,I18N:I18N,InstManager:InstManager,LivePreset:DefaultPreset$1,Loading:Loading,MobilePreset:DefaultPreset,PlayIcon:Play,Plugin:Plugin,Progress:Progress,STATES:STATES,STATE_CLASS:STATE_CLASS,SimplePlayer:Player,Sniffer:sniffer,Start:Start,TextTrack:TextTrack,TimeIcon:Time,Util:util,VolumeIcon:Volume,default:PresetPlayer,langBr:br,langDe:de,langEn:EN,langEs:es$1,langFr:fr,langId:id,langIt:it,langJp:jp,langKr:kr,langMsMy:msMy,langRu:ru,langTh:th,langVn:vn,langZhCn:ZH,langZhHk:zhHk}),require$$66=getAugmentedNamespace(es),es_date_toJson={};function requireEs_date_toJson(){if(hasRequiredEs_date_toJson)return es_date_toJson;hasRequiredEs_date_toJson=1;var e=require_export(),t=requireFails(),a=requireToObject(),r=requireToPrimitive();return e({target:"Date",proto:!0,arity:1,forced:t((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=r(t,"number");return"number"!=typeof n||isFinite(n)?t.toISOString():null}}),es_date_toJson}var hasRequiredEs_object_keys,es_object_keys={};function requireEs_object_keys(){if(hasRequiredEs_object_keys)return es_object_keys;hasRequiredEs_object_keys=1;var e=require_export(),t=requireToObject(),a=requireObjectKeys();return e({target:"Object",stat:!0,forced:requireFails()((function(){a(1)}))},{keys:function(e){return a(t(e))}}),es_object_keys}var hasRequiredEs_object_getOwnPropertyDescriptor,es_object_getOwnPropertyDescriptor={};function requireEs_object_getOwnPropertyDescriptor(){if(hasRequiredEs_object_getOwnPropertyDescriptor)return es_object_getOwnPropertyDescriptor;hasRequiredEs_object_getOwnPropertyDescriptor=1;var e=require_export(),t=requireFails(),a=requireToIndexedObject(),r=requireObjectGetOwnPropertyDescriptor().f,n=requireDescriptors(),i=t((function(){r(1)}));return e({target:"Object",stat:!0,forced:!n||i,sham:!n},{getOwnPropertyDescriptor:function(e,t){return r(a(e),t)}}),es_object_getOwnPropertyDescriptor}var hasRequiredObjectGetOwnPropertyNamesExternal,arrayBufferNonExtensible,hasRequiredArrayBufferNonExtensible,objectIsExtensible,hasRequiredObjectIsExtensible,freezing,hasRequiredFreezing,hasRequiredInternalMetadata,collection,hasRequiredCollection,collectionStrong,hasRequiredCollectionStrong,hasRequiredEs_map_constructor,hasRequiredEs_map,es_map={},es_map_constructor={},internalMetadata={exports:{}},objectGetOwnPropertyNamesExternal={};function requireObjectGetOwnPropertyNamesExternal(){if(hasRequiredObjectGetOwnPropertyNamesExternal)return objectGetOwnPropertyNamesExternal;hasRequiredObjectGetOwnPropertyNamesExternal=1;var e=requireClassofRaw(),t=requireToIndexedObject(),a=requireObjectGetOwnPropertyNames().f,r=requireArraySliceSimple(),n="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];return objectGetOwnPropertyNamesExternal.f=function(i){return n&&"Window"==e(i)?function(e){try{return a(e)}catch(e){return r(n)}}(i):a(t(i))},objectGetOwnPropertyNamesExternal}function requireArrayBufferNonExtensible(){if(hasRequiredArrayBufferNonExtensible)return arrayBufferNonExtensible;hasRequiredArrayBufferNonExtensible=1;var e=requireFails();return arrayBufferNonExtensible=e((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))}function requireObjectIsExtensible(){if(hasRequiredObjectIsExtensible)return objectIsExtensible;hasRequiredObjectIsExtensible=1;var e=requireFails(),t=requireIsObject(),a=requireClassofRaw(),r=requireArrayBufferNonExtensible(),n=Object.isExtensible,i=e((function(){}));return objectIsExtensible=i||r?function(e){return!!t(e)&&((!r||"ArrayBuffer"!=a(e))&&(!n||n(e)))}:n}function requireFreezing(){if(hasRequiredFreezing)return freezing;hasRequiredFreezing=1;var e=requireFails();return freezing=!e((function(){return Object.isExtensible(Object.preventExtensions({}))}))}function requireInternalMetadata(){if(hasRequiredInternalMetadata)return internalMetadata.exports;hasRequiredInternalMetadata=1;var e=require_export(),t=requireFunctionUncurryThis(),a=requireHiddenKeys(),r=requireIsObject(),n=requireHasOwnProperty(),i=requireObjectDefineProperty().f,c=requireObjectGetOwnPropertyNames(),o=requireObjectGetOwnPropertyNamesExternal(),s=requireObjectIsExtensible(),u=requireUid(),d=requireFreezing(),b=!1,f=u("meta"),l=0,h=function(e){i(e,f,{value:{objectID:"O"+l++,weakData:{}}})},p=internalMetadata.exports={enable:function(){p.enable=function(){},b=!0;var a=c.f,r=t([].splice),n={};n[f]=1,a(n).length&&(c.f=function(e){for(var t=a(e),n=0,i=t.length;n<i;n++)if(t[n]===f){r(t,n,1);break}return t},e({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:o.f}))},fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!n(e,f)){if(!s(e))return"F";if(!t)return"E";h(e)}return e[f].objectID},getWeakData:function(e,t){if(!n(e,f)){if(!s(e))return!0;if(!t)return!1;h(e)}return e[f].weakData},onFreeze:function(e){return d&&b&&s(e)&&!n(e,f)&&h(e),e}};return a[f]=!0,internalMetadata.exports}function requireCollection(){if(hasRequiredCollection)return collection;hasRequiredCollection=1;var e=require_export(),t=requireGlobal(),a=requireFunctionUncurryThis(),r=requireIsForced(),n=requireDefineBuiltIn(),i=requireInternalMetadata(),c=requireIterate(),o=requireAnInstance(),s=requireIsCallable(),u=requireIsNullOrUndefined(),d=requireIsObject(),b=requireFails(),f=requireCheckCorrectnessOfIteration(),l=requireSetToStringTag(),h=requireInheritIfRequired();return collection=function(p,y,g){var v=-1!==p.indexOf("Map"),m=-1!==p.indexOf("Weak"),_=v?"set":"add",E=t[p],S=E&&E.prototype,T=E,A={},k=function(e){var t=a(S[e]);n(S,e,"add"==e?function(e){return t(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!d(e))&&t(this,0===e?0:e)}:"get"==e?function(e){return m&&!d(e)?void 0:t(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!d(e))&&t(this,0===e?0:e)}:function(e,a){return t(this,0===e?0:e,a),this})};if(r(p,!s(E)||!(m||S.forEach&&!b((function(){(new E).entries().next()})))))T=g.getConstructor(y,p,v,_),i.enable();else if(r(p,!0)){var I=new T,R=I[_](m?{}:-0,1)!=I,w=b((function(){I.has(1)})),C=f((function(e){new E(e)})),x=!m&&b((function(){for(var e=new E,t=5;t--;)e[_](t,t);return!e.has(-0)}));C||((T=y((function(e,t){o(e,S);var a=h(new E,e,T);return u(t)||c(t,a[_],{that:a,AS_ENTRIES:v}),a}))).prototype=S,S.constructor=T),(w||x)&&(k("delete"),k("has"),v&&k("get")),(x||R)&&k(_),m&&S.clear&&delete S.clear}return A[p]=T,e({global:!0,constructor:!0,forced:T!=E},A),l(T,p),m||g.setStrong(T,p,v),T}}function requireCollectionStrong(){if(hasRequiredCollectionStrong)return collectionStrong;hasRequiredCollectionStrong=1;var e=requireObjectDefineProperty().f,t=requireObjectCreate(),a=requireDefineBuiltIns(),r=requireFunctionBindContext(),n=requireAnInstance(),i=requireIsNullOrUndefined(),c=requireIterate(),o=requireIteratorDefine(),s=requireCreateIterResultObject(),u=requireSetSpecies(),d=requireDescriptors(),b=requireInternalMetadata().fastKey,f=requireInternalState(),l=f.set,h=f.getterFor;return collectionStrong={getConstructor:function(o,s,u,f){var p=o((function(e,a){n(e,y),l(e,{type:s,index:t(null),first:void 0,last:void 0,size:0}),d||(e.size=0),i(a)||c(a,e[f],{that:e,AS_ENTRIES:u})})),y=p.prototype,g=h(s),v=function(e,t,a){var r,n,i=g(e),c=m(e,t);return c?c.value=a:(i.last=c={index:n=b(t,!0),key:t,value:a,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=c),r&&(r.next=c),d?i.size++:e.size++,"F"!==n&&(i.index[n]=c)),e},m=function(e,t){var a,r=g(e),n=b(t);if("F"!==n)return r.index[n];for(a=r.first;a;a=a.next)if(a.key==t)return a};return a(y,{clear:function(){for(var e=g(this),t=e.index,a=e.first;a;)a.removed=!0,a.previous&&(a.previous=a.previous.next=void 0),delete t[a.index],a=a.next;e.first=e.last=void 0,d?e.size=0:this.size=0},delete:function(e){var t=this,a=g(t),r=m(t,e);if(r){var n=r.next,i=r.previous;delete a.index[r.index],r.removed=!0,i&&(i.next=n),n&&(n.previous=i),a.first==r&&(a.first=n),a.last==r&&(a.last=i),d?a.size--:t.size--}return!!r},forEach:function(e){for(var t,a=g(this),n=r(e,arguments.length>1?arguments[1]:void 0);t=t?t.next:a.first;)for(n(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),a(y,u?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return v(this,0===e?0:e,t)}}:{add:function(e){return v(this,e=0===e?0:e,e)}}),d&&e(y,"size",{get:function(){return g(this).size}}),p},setStrong:function(e,t,a){var r=t+" Iterator",n=h(t),i=h(r);o(e,t,(function(e,t){l(this,{type:r,target:e,state:n(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,a=e.last;a&&a.removed;)a=a.previous;return e.target&&(e.last=a=a?a.next:e.state.first)?s("keys"==t?a.key:"values"==t?a.value:[a.key,a.value],!1):(e.target=void 0,s(void 0,!0))}),a?"entries":"values",!a,!0),u(t)}},collectionStrong}function requireEs_map_constructor(){return hasRequiredEs_map_constructor||(hasRequiredEs_map_constructor=1,requireCollection()("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),requireCollectionStrong())),es_map_constructor}function requireEs_map(){return hasRequiredEs_map||(hasRequiredEs_map=1,requireEs_map_constructor()),es_map}var hasRequiredEs_number_toFixed,es_number_toFixed={};function requireEs_number_toFixed(){if(hasRequiredEs_number_toFixed)return es_number_toFixed;hasRequiredEs_number_toFixed=1;var e=require_export(),t=requireFunctionUncurryThis(),a=requireToIntegerOrInfinity(),r=requireThisNumberValue(),n=requireStringRepeat(),i=requireFails(),c=RangeError,o=String,s=Math.floor,u=t(n),d=t("".slice),b=t(1..toFixed),f=function(e,t,a){return 0===t?a:t%2==1?f(e,t-1,a*e):f(e*e,t/2,a)},l=function(e,t,a){for(var r=-1,n=a;++r<6;)n+=t*e[r],e[r]=n%1e7,n=s(n/1e7)},h=function(e,t){for(var a=6,r=0;--a>=0;)r+=e[a],e[a]=s(r/t),r=r%t*1e7},p=function(e){for(var t=6,a="";--t>=0;)if(""!==a||0===t||0!==e[t]){var r=o(e[t]);a=""===a?r:a+u("0",7-r.length)+r}return a};return e({target:"Number",proto:!0,forced:i((function(){return"0.000"!==b(8e-5,3)||"1"!==b(.9,0)||"1.25"!==b(1.255,2)||"1000000000000000128"!==b(0xde0b6b3a7640080,0)}))||!i((function(){b({})}))},{toFixed:function(e){var t,n,i,s,b=r(this),y=a(e),g=[0,0,0,0,0,0],v="",m="0";if(y<0||y>20)throw c("Incorrect fraction digits");if(b!=b)return"NaN";if(b<=-1e21||b>=1e21)return o(b);if(b<0&&(v="-",b=-b),b>1e-21)if(n=(t=function(e){for(var t=0,a=e;a>=4096;)t+=12,a/=4096;for(;a>=2;)t+=1,a/=2;return t}(b*f(2,69,1))-69)<0?b*f(2,-t,1):b/f(2,t,1),n*=4503599627370496,(t=52-t)>0){for(l(g,0,n),i=y;i>=7;)l(g,1e7,0),i-=7;for(l(g,f(10,i,1),0),i=t-1;i>=23;)h(g,1<<23),i-=23;h(g,1<<i),l(g,1,1),h(g,2),m=p(g)}else l(g,0,n),l(g,1<<-t,0),m=p(g)+u("0",y);return m=y>0?v+((s=m.length)<=y?"0."+u("0",y-s)+m:d(m,0,s-y)+"."+d(m,s-y)):v+m}}),es_number_toFixed}var numberParseFloat,hasRequiredNumberParseFloat,hasRequiredEs_parseFloat,es_parseFloat={};function requireNumberParseFloat(){if(hasRequiredNumberParseFloat)return numberParseFloat;hasRequiredNumberParseFloat=1;var e=requireGlobal(),t=requireFails(),a=requireFunctionUncurryThis(),r=requireToString(),n=requireStringTrim().trim,i=requireWhitespaces(),c=a("".charAt),o=e.parseFloat,s=e.Symbol,u=s&&s.iterator,d=1/o(i+"-0")!=-1/0||u&&!t((function(){o(Object(u))}));return numberParseFloat=d?function(e){var t=n(r(e)),a=o(t);return 0===a&&"-"==c(t,0)?-0:a}:o}function requireEs_parseFloat(){if(hasRequiredEs_parseFloat)return es_parseFloat;hasRequiredEs_parseFloat=1;var e=require_export(),t=requireNumberParseFloat();return e({global:!0,forced:parseFloat!=t},{parseFloat:t}),es_parseFloat}var collectionDeleteAll,hasRequiredCollectionDeleteAll,hasRequiredEsnext_map_deleteAll,esnext_map_deleteAll={};function requireCollectionDeleteAll(){if(hasRequiredCollectionDeleteAll)return collectionDeleteAll;hasRequiredCollectionDeleteAll=1;var e=requireFunctionCall(),t=requireACallable(),a=requireAnObject();return collectionDeleteAll=function(){for(var r,n=a(this),i=t(n.delete),c=!0,o=0,s=arguments.length;o<s;o++)r=e(i,n,arguments[o]),c=c&&r;return!!c},collectionDeleteAll}function requireEsnext_map_deleteAll(){return hasRequiredEsnext_map_deleteAll||(hasRequiredEsnext_map_deleteAll=1,require_export()({target:"Map",proto:!0,real:!0,forced:!0},{deleteAll:requireCollectionDeleteAll()})),esnext_map_deleteAll}var getMapIterator,hasRequiredGetMapIterator,hasRequiredEsnext_map_every,esnext_map_every={};function requireGetMapIterator(){if(hasRequiredGetMapIterator)return getMapIterator;hasRequiredGetMapIterator=1;var e=requireFunctionCall();return getMapIterator=function(t){return e(Map.prototype.entries,t)}}function requireEsnext_map_every(){if(hasRequiredEsnext_map_every)return esnext_map_every;hasRequiredEsnext_map_every=1;var e=require_export(),t=requireAnObject(),a=requireFunctionBindContext(),r=requireGetMapIterator(),n=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{every:function(e){var i=t(this),c=r(i),o=a(e,arguments.length>1?arguments[1]:void 0);return!n(c,(function(e,t,a){if(!o(t,e,i))return a()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}}),esnext_map_every}var hasRequiredEsnext_map_filter,esnext_map_filter={};function requireEsnext_map_filter(){if(hasRequiredEsnext_map_filter)return esnext_map_filter;hasRequiredEsnext_map_filter=1;var e=require_export(),t=requireGetBuiltIn(),a=requireFunctionBindContext(),r=requireFunctionCall(),n=requireACallable(),i=requireAnObject(),c=requireSpeciesConstructor(),o=requireGetMapIterator(),s=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(e){var u=i(this),d=o(u),b=a(e,arguments.length>1?arguments[1]:void 0),f=new(c(u,t("Map"))),l=n(f.set);return s(d,(function(e,t){b(t,e,u)&&r(l,f,e,t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),f}}),esnext_map_filter}var hasRequiredEsnext_map_find,esnext_map_find={};function requireEsnext_map_find(){if(hasRequiredEsnext_map_find)return esnext_map_find;hasRequiredEsnext_map_find=1;var e=require_export(),t=requireAnObject(),a=requireFunctionBindContext(),r=requireGetMapIterator(),n=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{find:function(e){var i=t(this),c=r(i),o=a(e,arguments.length>1?arguments[1]:void 0);return n(c,(function(e,t,a){if(o(t,e,i))return a(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}}),esnext_map_find}var hasRequiredEsnext_map_findKey,esnext_map_findKey={};function requireEsnext_map_findKey(){if(hasRequiredEsnext_map_findKey)return esnext_map_findKey;hasRequiredEsnext_map_findKey=1;var e=require_export(),t=requireAnObject(),a=requireFunctionBindContext(),r=requireGetMapIterator(),n=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(e){var i=t(this),c=r(i),o=a(e,arguments.length>1?arguments[1]:void 0);return n(c,(function(e,t,a){if(o(t,e,i))return a(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}}),esnext_map_findKey}var sameValueZero,hasRequiredSameValueZero,hasRequiredEsnext_map_includes,esnext_map_includes={};function requireSameValueZero(){return hasRequiredSameValueZero?sameValueZero:(hasRequiredSameValueZero=1,sameValueZero=function(e,t){return e===t||e!=e&&t!=t})}function requireEsnext_map_includes(){if(hasRequiredEsnext_map_includes)return esnext_map_includes;hasRequiredEsnext_map_includes=1;var e=require_export(),t=requireAnObject(),a=requireGetMapIterator(),r=requireSameValueZero(),n=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(e){return n(a(t(this)),(function(t,a,n){if(r(a,e))return n()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}}),esnext_map_includes}var hasRequiredEsnext_map_keyOf,esnext_map_keyOf={};function requireEsnext_map_keyOf(){if(hasRequiredEsnext_map_keyOf)return esnext_map_keyOf;hasRequiredEsnext_map_keyOf=1;var e=require_export(),t=requireAnObject(),a=requireGetMapIterator(),r=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(e){return r(a(t(this)),(function(t,a,r){if(a===e)return r(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}}),esnext_map_keyOf}var hasRequiredEsnext_map_mapKeys,esnext_map_mapKeys={};function requireEsnext_map_mapKeys(){if(hasRequiredEsnext_map_mapKeys)return esnext_map_mapKeys;hasRequiredEsnext_map_mapKeys=1;var e=require_export(),t=requireGetBuiltIn(),a=requireFunctionBindContext(),r=requireFunctionCall(),n=requireACallable(),i=requireAnObject(),c=requireSpeciesConstructor(),o=requireGetMapIterator(),s=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(e){var u=i(this),d=o(u),b=a(e,arguments.length>1?arguments[1]:void 0),f=new(c(u,t("Map"))),l=n(f.set);return s(d,(function(e,t){r(l,f,b(t,e,u),t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),f}}),esnext_map_mapKeys}var hasRequiredEsnext_map_mapValues,esnext_map_mapValues={};function requireEsnext_map_mapValues(){if(hasRequiredEsnext_map_mapValues)return esnext_map_mapValues;hasRequiredEsnext_map_mapValues=1;var e=require_export(),t=requireGetBuiltIn(),a=requireFunctionBindContext(),r=requireFunctionCall(),n=requireACallable(),i=requireAnObject(),c=requireSpeciesConstructor(),o=requireGetMapIterator(),s=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(e){var u=i(this),d=o(u),b=a(e,arguments.length>1?arguments[1]:void 0),f=new(c(u,t("Map"))),l=n(f.set);return s(d,(function(e,t){r(l,f,e,b(t,e,u))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),f}}),esnext_map_mapValues}var hasRequiredEsnext_map_merge,esnext_map_merge={};function requireEsnext_map_merge(){if(hasRequiredEsnext_map_merge)return esnext_map_merge;hasRequiredEsnext_map_merge=1;var e=require_export(),t=requireACallable(),a=requireAnObject(),r=requireIterate();return e({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(e){for(var n=a(this),i=t(n.set),c=arguments.length,o=0;o<c;)r(arguments[o++],i,{that:n,AS_ENTRIES:!0});return n}}),esnext_map_merge}var hasRequiredEsnext_map_reduce,esnext_map_reduce={};function requireEsnext_map_reduce(){if(hasRequiredEsnext_map_reduce)return esnext_map_reduce;hasRequiredEsnext_map_reduce=1;var e=require_export(),t=requireAnObject(),a=requireACallable(),r=requireGetMapIterator(),n=requireIterate(),i=TypeError;return e({target:"Map",proto:!0,real:!0,forced:!0},{reduce:function(e){var c=t(this),o=r(c),s=arguments.length<2,u=s?void 0:arguments[1];if(a(e),n(o,(function(t,a){s?(s=!1,u=a):u=e(u,a,t,c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),s)throw i("Reduce of empty map with no initial value");return u}}),esnext_map_reduce}var hasRequiredEsnext_map_some,esnext_map_some={};function requireEsnext_map_some(){if(hasRequiredEsnext_map_some)return esnext_map_some;hasRequiredEsnext_map_some=1;var e=require_export(),t=requireAnObject(),a=requireFunctionBindContext(),r=requireGetMapIterator(),n=requireIterate();return e({target:"Map",proto:!0,real:!0,forced:!0},{some:function(e){var i=t(this),c=r(i),o=a(e,arguments.length>1?arguments[1]:void 0);return n(c,(function(e,t,a){if(o(t,e,i))return a()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}}),esnext_map_some}var hasRequiredEsnext_map_update,esnext_map_update={};function requireEsnext_map_update(){if(hasRequiredEsnext_map_update)return esnext_map_update;hasRequiredEsnext_map_update=1;var e=require_export(),t=requireFunctionCall(),a=requireAnObject(),r=requireACallable(),n=TypeError;return e({target:"Map",proto:!0,real:!0,forced:!0},{update:function(e,i){var c=a(this),o=r(c.get),s=r(c.has),u=r(c.set),d=arguments.length;r(i);var b=t(s,c,e);if(!b&&d<3)throw n("Updating absent value");var f=b?t(o,c,e):r(d>2?arguments[2]:void 0)(e,c);return t(u,c,e,i(f,e,c)),c}}),esnext_map_update}index_min.exports=function(e,t,a,r,n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m,_,E,S,T,A,k,I,R,w,C,x,O,P,D,L,q,N,M,U,F,j,B,H,G,$,V,z,W,K,Y,X,J,Z,Q,ee,te,ae,re,ne,ie,ce,oe,se,ue,de,be,fe){function le(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function he(e,t,a,r,n,i,c){try{var o=e[i](c),s=o.value}catch(e){return void a(e)}o.done?t(s):Promise.resolve(s).then(r,n)}function pe(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var i=e.apply(t,a);function c(e){he(i,r,n,c,o,"next",e)}function o(e){he(i,r,n,c,o,"throw",e)}c(void 0)}))}}function ye(e,t,a){return t=Te(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ke()?Reflect.construct(t,a||[],Te(e).constructor):t.apply(e,a))}function ge(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ve(e,t,a){if(ke())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var n=new(e.bind.apply(e,r));return a&&xe(n,a.prototype),n}function me(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,De(r.key),r)}}function _e(e,t,a){return t&&me(e.prototype,t),a&&me(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ee(e,t,a){return(t=De(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Se(){return Se="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,a){var r=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=Te(e)););return e}(e,t);if(r){var n=Object.getOwnPropertyDescriptor(r,t);return n.get?n.get.call(arguments.length<3?e:a):n.value}},Se.apply(null,arguments)}function Te(e){return(Te=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ae(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&&xe(e,t)}function ke(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ke=function(){return!!e})()}function Ie(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function Re(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ie(Object(a),!0).forEach((function(t){Ee(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ie(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function we(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],-1===t.indexOf(a)&&{}.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function Ce(){Ce=function(){return t};var e,t={},a=Object.prototype,r=a.hasOwnProperty,n=Object.defineProperty||function(e,t,a){e[t]=a.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,a){return e[t]=a}}function d(e,t,a,r){var i=t&&t.prototype instanceof g?t:g,c=Object.create(i.prototype),o=new x(r||[]);return n(c,"_invoke",{value:I(e,a,o)}),c}function b(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var f="suspendedStart",l="suspendedYield",h="executing",p="completed",y={};function g(){}function v(){}function m(){}var _={};u(_,c,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(O([])));S&&S!==a&&r.call(S,c)&&(_=S);var T=m.prototype=g.prototype=Object.create(_);function A(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(n,i,c,o){var s=b(e[n],e,i);if("throw"!==s.type){var u=s.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,c,o)}),(function(e){a("throw",e,c,o)})):t.resolve(d).then((function(e){u.value=e,c(u)}),(function(e){return a("throw",e,c,o)}))}o(s.arg)}var i;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){a(e,r,t,n)}))}return i=i?i.then(n,n):n()}})}function I(t,a,r){var n=f;return function(i,c){if(n===h)throw Error("Generator is already running");if(n===p){if("throw"===i)throw c;return{value:e,done:!0}}for(r.method=i,r.arg=c;;){var o=r.delegate;if(o){var s=R(o,r);if(s){if(s===y)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var u=b(t,a,r);if("normal"===u.type){if(n=r.done?p:l,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=p,r.method="throw",r.arg=u.arg)}}}function R(t,a){var r=a.method,n=t.iterator[r];if(n===e)return a.delegate=null,"throw"===r&&t.iterator.return&&(a.method="return",a.arg=e,R(t,a),"throw"===a.method)||"return"!==r&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var i=b(n,t.iterator,a.arg);if("throw"===i.type)return a.method="throw",a.arg=i.arg,a.delegate=null,y;var c=i.arg;return c?c.done?(a[t.resultName]=c.value,a.next=t.nextLoc,"return"!==a.method&&(a.method="next",a.arg=e),a.delegate=null,y):c:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,y)}function w(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 C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function O(t){if(t||""===t){var a=t[c];if(a)return a.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function a(){for(;++n<t.length;)if(r.call(t,n))return a.value=t[n],a.done=!1,a;return a.value=e,a.done=!0,a};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=m,n(T,"constructor",{value:m,configurable:!0}),n(m,"constructor",{value:v,configurable:!0}),v.displayName=u(m,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,s,"GeneratorFunction")),e.prototype=Object.create(T),e},t.awrap=function(e){return{__await:e}},A(k.prototype),u(k.prototype,o,(function(){return this})),t.AsyncIterator=k,t.async=function(e,a,r,n,i){void 0===i&&(i=Promise);var c=new k(d(e,a,r,n),i);return t.isGeneratorFunction(a)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},A(T),u(T,s,"Generator"),u(T,c,(function(){return this})),u(T,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),a=[];for(var r in t)a.push(r);return a.reverse(),function e(){for(;a.length;){var r=a.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(C),!t)for(var a in this)"t"===a.charAt(0)&&r.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var a=this;function n(r,n){return o.type="throw",o.arg=t,a.next=r,n&&(a.method="next",a.arg=e),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var c=this.tryEntries[i],o=c.completion;if("root"===c.tryLoc)return n("end");if(c.tryLoc<=this.prev){var s=r.call(c,"catchLoc"),u=r.call(c,"finallyLoc");if(s&&u){if(this.prev<c.catchLoc)return n(c.catchLoc,!0);if(this.prev<c.finallyLoc)return n(c.finallyLoc)}else if(s){if(this.prev<c.catchLoc)return n(c.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return n(c.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var c=i?i.completion:{};return c.type=e,c.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(c)},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),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),C(a),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var r=a.completion;if("throw"===r.type){var n=r.arg;C(a)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,a,r){return this.delegate={iterator:O(t),resultName:a,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function xe(e,t){return(xe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Oe(e,t,a,r){var n=Se(Te(1&r?e.prototype:e),t,a);return 2&r&&"function"==typeof n?function(e){return n.apply(a,e)}:n}function Pe(e){return function(e){if(Array.isArray(e))return le(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return le(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?le(e,t):void 0}}(e)||function(){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 De(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function Le(e){return(Le="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)}var qe="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:{};function Ne(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Me={exports:{}};!function(e){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==qe?qe:"undefined"!=typeof self?self:{};function a(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=function(e){return e&&e.Math==Math&&e},n=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t&&t)||function(){return this}()||Function("return this")(),i={},c=function(e){try{return!!e()}catch(e){return!0}},o=!c((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),s={},u={}.propertyIsEnumerable,d=Object.getOwnPropertyDescriptor,b=d&&!u.call({1:2},1);s.f=b?function(e){var t=d(this,e);return!!t&&t.enumerable}:u;var f=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},l={}.toString,h=function(e){return l.call(e).slice(8,-1)},p=h,y="".split,g=c((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?y.call(e,""):Object(e)}:Object,v=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},m=g,_=v,E=function(e){return m(_(e))},S=function(e){return"object"==typeof e?null!==e:"function"==typeof e},T=S,A=function(e,t){if(!T(e))return e;var a,r;if(t&&"function"==typeof(a=e.toString)&&!T(r=a.call(e)))return r;if("function"==typeof(a=e.valueOf)&&!T(r=a.call(e)))return r;if(!t&&"function"==typeof(a=e.toString)&&!T(r=a.call(e)))return r;throw TypeError("Can't convert object to primitive value")},k=v,I=function(e){return Object(k(e))},R=I,w={}.hasOwnProperty,C=function(e,t){return w.call(R(e),t)},x=S,O=n.document,P=x(O)&&x(O.createElement),D=function(e){return P?O.createElement(e):{}},L=D,q=!o&&!c((function(){return 7!=Object.defineProperty(L("div"),"a",{get:function(){return 7}}).a})),N=o,M=s,U=f,F=E,j=A,B=C,H=q,G=Object.getOwnPropertyDescriptor;i.f=N?G:function(e,t){if(e=F(e),t=j(t,!0),H)try{return G(e,t)}catch(e){}if(B(e,t))return U(!M.f.call(e,t),e[t])};var $={},V=S,z=function(e){if(!V(e))throw TypeError(String(e)+" is not an object");return e},W=o,K=q,Y=z,X=A,J=Object.defineProperty;$.f=W?J:function(e,t,a){if(Y(e),t=X(t,!0),Y(a),K)try{return J(e,t,a)}catch(e){}if("get"in a||"set"in a)throw TypeError("Accessors not supported");return"value"in a&&(e[t]=a.value),e};var Z=$,Q=f,ee=o?function(e,t,a){return Z.f(e,t,Q(1,a))}:function(e,t,a){return e[t]=a,e},te={exports:{}},ae=n,re=ee,ne=function(e,t){try{re(ae,e,t)}catch(a){ae[e]=t}return t},ie=ne,ce="__core-js_shared__",oe=n[ce]||ie(ce,{}),se=oe,ue=Function.toString;"function"!=typeof se.inspectSource&&(se.inspectSource=function(e){return ue.call(e)});var de=se.inspectSource,be=de,fe=n.WeakMap,le="function"==typeof fe&&/native code/.test(be(fe)),he={exports:{}},pe=oe;(he.exports=function(e,t){return pe[e]||(pe[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var ye,ge,ve,me=he.exports,_e=0,Ee=Math.random(),Se=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++_e+Ee).toString(36)},Te=Se,Ae=me("keys"),ke=function(e){return Ae[e]||(Ae[e]=Te(e))},Ie={},Re=le,we=S,Ce=ee,xe=C,Oe=oe,Pe=ke,De=Ie,Le="Object already initialized",Ne=n.WeakMap;if(Re||Oe.state){var Me=Oe.state||(Oe.state=new Ne),Ue=Me.get,Fe=Me.has,je=Me.set;ye=function(e,t){if(Fe.call(Me,e))throw new TypeError(Le);return t.facade=e,je.call(Me,e,t),t},ge=function(e){return Ue.call(Me,e)||{}},ve=function(e){return Fe.call(Me,e)}}else{var Be=Pe("state");De[Be]=!0,ye=function(e,t){if(xe(e,Be))throw new TypeError(Le);return t.facade=e,Ce(e,Be,t),t},ge=function(e){return xe(e,Be)?e[Be]:{}},ve=function(e){return xe(e,Be)}}var He={set:ye,get:ge,has:ve,enforce:function(e){return ve(e)?ge(e):ye(e,{})},getterFor:function(e){return function(t){var a;if(!we(t)||(a=ge(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return a}}},Ge=n,$e=ee,Ve=C,ze=ne,We=de,Ke=He.get,Ye=He.enforce,Xe=String(String).split("String");(te.exports=function(e,t,a,r){var n,i=!!r&&!!r.unsafe,c=!!r&&!!r.enumerable,o=!!r&&!!r.noTargetGet;"function"==typeof a&&("string"!=typeof t||Ve(a,"name")||$e(a,"name",t),(n=Ye(a)).source||(n.source=Xe.join("string"==typeof t?t:""))),e!==Ge?(i?!o&&e[t]&&(c=!0):delete e[t],c?e[t]=a:$e(e,t,a)):c?e[t]=a:ze(t,a)})(Function.prototype,"toString",(function(){return"function"==typeof this&&Ke(this).source||We(this)}));var Je=te.exports,Ze=n,Qe=n,et=function(e){return"function"==typeof e?e:void 0},tt=function(e,t){return arguments.length<2?et(Ze[e])||et(Qe[e]):Ze[e]&&Ze[e][t]||Qe[e]&&Qe[e][t]},at={},rt=Math.ceil,nt=Math.floor,it=function(e){return isNaN(e=+e)?0:(e>0?nt:rt)(e)},ct=it,ot=Math.min,st=function(e){return e>0?ot(ct(e),9007199254740991):0},ut=it,dt=Math.max,bt=Math.min,ft=function(e,t){var a=ut(e);return a<0?dt(a+t,0):bt(a,t)},lt=E,ht=st,pt=ft,yt=function(e){return function(t,a,r){var n,i=lt(t),c=ht(i.length),o=pt(r,c);if(e&&a!=a){for(;c>o;)if((n=i[o++])!=n)return!0}else for(;c>o;o++)if((e||o in i)&&i[o]===a)return e||o||0;return!e&&-1}},gt={includes:yt(!0),indexOf:yt(!1)},vt=C,mt=E,_t=gt.indexOf,Et=Ie,St=function(e,t){var a,r=mt(e),n=0,i=[];for(a in r)!vt(Et,a)&&vt(r,a)&&i.push(a);for(;t.length>n;)vt(r,a=t[n++])&&(~_t(i,a)||i.push(a));return i},Tt=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],At=St,kt=Tt.concat("length","prototype");at.f=Object.getOwnPropertyNames||function(e){return At(e,kt)};var It={};It.f=Object.getOwnPropertySymbols;var Rt=at,wt=It,Ct=z,xt=tt("Reflect","ownKeys")||function(e){var t=Rt.f(Ct(e)),a=wt.f;return a?t.concat(a(e)):t},Ot=C,Pt=xt,Dt=i,Lt=$,qt=c,Nt=/#|\.prototype\./,Mt=function(e,t){var a=Ft[Ut(e)];return a==Bt||a!=jt&&("function"==typeof t?qt(t):!!t)},Ut=Mt.normalize=function(e){return String(e).replace(Nt,".").toLowerCase()},Ft=Mt.data={},jt=Mt.NATIVE="N",Bt=Mt.POLYFILL="P",Ht=Mt,Gt=n,$t=i.f,Vt=ee,zt=Je,Wt=ne,Kt=function(e,t){for(var a=Pt(t),r=Lt.f,n=Dt.f,i=0;i<a.length;i++){var c=a[i];Ot(e,c)||r(e,c,n(t,c))}},Yt=Ht,Xt=function(e,t){var a,r,n,i,c,o=e.target,s=e.global,u=e.stat;if(a=s?Gt:u?Gt[o]||Wt(o,{}):(Gt[o]||{}).prototype)for(r in t){if(i=t[r],n=e.noTargetGet?(c=$t(a,r))&&c.value:a[r],!Yt(s?r:o+(u?".":"#")+r,e.forced)&&void 0!==n){if(typeof i==typeof n)continue;Kt(i,n)}(e.sham||n&&n.sham)&&Vt(i,"sham",!0),zt(a,r,i,e)}};function Jt(e,t,a,r,n,i,c){try{var o=e[i](c),s=o.value}catch(e){return void a(e)}o.done?t(s):Promise.resolve(s).then(r,n)}function Zt(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var i=e.apply(t,a);function c(e){Jt(i,r,n,c,o,"next",e)}function o(e){Jt(i,r,n,c,o,"throw",e)}c(void 0)}))}}function Qt(e,t,a){return t=na(t),function(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ca()?Reflect.construct(t,a||[],na(e).constructor):t.apply(e,a))}function ea(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ta(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ua(r.key),r)}}function aa(e,t,a){return t&&ta(e.prototype,t),a&&ta(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function ra(e,t,a){return(t=ua(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function na(e){return(na=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ia(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&&sa(e,t)}function ca(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ca=function(){return!!e})()}function oa(){oa=function(){return t};var e,t={},a=Object.prototype,r=a.hasOwnProperty,n=Object.defineProperty||function(e,t,a){e[t]=a.value},i="function"==typeof Symbol?Symbol:{},c=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{u({},"")}catch(e){u=function(e,t,a){return e[t]=a}}function d(e,t,a,r){var i=t&&t.prototype instanceof g?t:g,c=Object.create(i.prototype),o=new x(r||[]);return n(c,"_invoke",{value:I(e,a,o)}),c}function b(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}t.wrap=d;var f="suspendedStart",l="suspendedYield",h="executing",p="completed",y={};function g(){}function v(){}function m(){}var _={};u(_,c,(function(){return this}));var E=Object.getPrototypeOf,S=E&&E(E(O([])));S&&S!==a&&r.call(S,c)&&(_=S);var T=m.prototype=g.prototype=Object.create(_);function A(e){["next","throw","return"].forEach((function(t){u(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(n,i,c,o){var s=b(e[n],e,i);if("throw"!==s.type){var u=s.arg,d=u.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,c,o)}),(function(e){a("throw",e,c,o)})):t.resolve(d).then((function(e){u.value=e,c(u)}),(function(e){return a("throw",e,c,o)}))}o(s.arg)}var i;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){a(e,r,t,n)}))}return i=i?i.then(n,n):n()}})}function I(t,a,r){var n=f;return function(i,c){if(n===h)throw Error("Generator is already running");if(n===p){if("throw"===i)throw c;return{value:e,done:!0}}for(r.method=i,r.arg=c;;){var o=r.delegate;if(o){var s=R(o,r);if(s){if(s===y)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(n===f)throw n=p,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n=h;var u=b(t,a,r);if("normal"===u.type){if(n=r.done?p:l,u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n=p,r.method="throw",r.arg=u.arg)}}}function R(t,a){var r=a.method,n=t.iterator[r];if(n===e)return a.delegate=null,"throw"===r&&t.iterator.return&&(a.method="return",a.arg=e,R(t,a),"throw"===a.method)||"return"!==r&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+r+"' method")),y;var i=b(n,t.iterator,a.arg);if("throw"===i.type)return a.method="throw",a.arg=i.arg,a.delegate=null,y;var c=i.arg;return c?c.done?(a[t.resultName]=c.value,a.next=t.nextLoc,"return"!==a.method&&(a.method="next",a.arg=e),a.delegate=null,y):c:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,y)}function w(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 C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function O(t){if(t||""===t){var a=t[c];if(a)return a.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function a(){for(;++n<t.length;)if(r.call(t,n))return a.value=t[n],a.done=!1,a;return a.value=e,a.done=!0,a};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return v.prototype=m,n(T,"constructor",{value:m,configurable:!0}),n(m,"constructor",{value:v,configurable:!0}),v.displayName=u(m,s,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,u(e,s,"GeneratorFunction")),e.prototype=Object.create(T),e},t.awrap=function(e){return{__await:e}},A(k.prototype),u(k.prototype,o,(function(){return this})),t.AsyncIterator=k,t.async=function(e,a,r,n,i){void 0===i&&(i=Promise);var c=new k(d(e,a,r,n),i);return t.isGeneratorFunction(a)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},A(T),u(T,s,"Generator"),u(T,c,(function(){return this})),u(T,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),a=[];for(var r in t)a.push(r);return a.reverse(),function e(){for(;a.length;){var r=a.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=O,x.prototype={constructor:x,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(C),!t)for(var a in this)"t"===a.charAt(0)&&r.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var a=this;function n(r,n){return o.type="throw",o.arg=t,a.next=r,n&&(a.method="next",a.arg=e),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var c=this.tryEntries[i],o=c.completion;if("root"===c.tryLoc)return n("end");if(c.tryLoc<=this.prev){var s=r.call(c,"catchLoc"),u=r.call(c,"finallyLoc");if(s&&u){if(this.prev<c.catchLoc)return n(c.catchLoc,!0);if(this.prev<c.finallyLoc)return n(c.finallyLoc)}else if(s){if(this.prev<c.catchLoc)return n(c.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<c.finallyLoc)return n(c.finallyLoc)}}}},abrupt:function(e,t){for(var a=this.tryEntries.length-1;a>=0;--a){var n=this.tryEntries[a];if(n.tryLoc<=this.prev&&r.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var c=i?i.completion:{};return c.type=e,c.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(c)},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),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),C(a),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var r=a.completion;if("throw"===r.type){var n=r.arg;C(a)}return n}}throw Error("illegal catch attempt")},delegateYield:function(t,a,r){return this.delegate={iterator:O(t),resultName:a,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}function sa(e,t){return(sa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ua(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function da(e){return(da="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 ba(e){var t="function"==typeof Map?new Map:void 0;return ba=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(t){return"function"==typeof e}}(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,a)}function a(){return function(e,t,a){if(ca())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var n=new(e.bind.apply(e,r));return a&&sa(n,a.prototype),n}(e,arguments,na(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),sa(a,e)},ba(e)}Xt({global:!0},{globalThis:n});var fa,la,ha=h,pa=Array.isArray||function(e){return"Array"==ha(e)},ya=A,ga=$,va=f,ma=function(e,t,a){var r=ya(t);r in e?ga.f(e,r,va(0,a)):e[r]=a},_a=tt("navigator","userAgent")||"",Ea=_a,Sa=n.process,Ta=Sa&&Sa.versions,Aa=Ta&&Ta.v8;Aa?la=(fa=Aa.split("."))[0]<4?1:fa[0]+fa[1]:Ea&&(!(fa=Ea.match(/Edge\/(\d+)/))||fa[1]>=74)&&(fa=Ea.match(/Chrome\/(\d+)/))&&(la=fa[1]);var ka=la&&+la,Ia=ka,Ra=c,wa=!!Object.getOwnPropertySymbols&&!Ra((function(){return!String(Symbol())||!Symbol.sham&&Ia&&Ia<41})),Ca=wa&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,xa=n,Oa=C,Pa=Se,Da=wa,La=Ca,qa=me("wks"),Na=xa.Symbol,Ma=La?Na:Na&&Na.withoutSetter||Pa,Ua=function(e){return Oa(qa,e)&&(Da||"string"==typeof qa[e])||(Da&&Oa(Na,e)?qa[e]=Na[e]:qa[e]=Ma("Symbol."+e)),qa[e]},Fa=S,ja=pa,Ba=Ua("species"),Ha=function(e,t){var a;return ja(e)&&("function"!=typeof(a=e.constructor)||a!==Array&&!ja(a.prototype)?Fa(a)&&null===(a=a[Ba])&&(a=void 0):a=void 0),new(void 0===a?Array:a)(0===t?0:t)},Ga=c,$a=ka,Va=Ua("species"),za=function(e){return $a>=51||!Ga((function(){var t=[];return(t.constructor={})[Va]=function(){return{foo:1}},1!==t[e](Boolean).foo}))},Wa=Xt,Ka=c,Ya=pa,Xa=S,Ja=I,Za=st,Qa=ma,er=Ha,tr=za,ar=ka,rr=Ua("isConcatSpreadable"),nr=9007199254740991,ir="Maximum allowed index exceeded",cr=ar>=51||!Ka((function(){var e=[];return e[rr]=!1,e.concat()[0]!==e})),or=tr("concat"),sr=function(e){if(!Xa(e))return!1;var t=e[rr];return void 0!==t?!!t:Ya(e)};Wa({target:"Array",proto:!0,forced:!cr||!or},{concat:function(e){var t,a,r,n,i,c=Ja(this),o=er(c,0),s=0;for(t=-1,r=arguments.length;t<r;t++)if(sr(i=-1===t?c:arguments[t])){if(s+(n=Za(i.length))>nr)throw TypeError(ir);for(a=0;a<n;a++,s++)a in i&&Qa(o,s,i[a])}else{if(s>=nr)throw TypeError(ir);Qa(o,s++,i)}return o.length=s,o}});var ur,dr=St,br=Tt,fr=Object.keys||function(e){return dr(e,br)},lr=$,hr=z,pr=fr,yr=o?Object.defineProperties:function(e,t){hr(e);for(var a,r=pr(t),n=r.length,i=0;n>i;)lr.f(e,a=r[i++],t[a]);return e},gr=tt("document","documentElement"),vr=z,mr=yr,_r=Tt,Er=Ie,Sr=gr,Tr=D,Ar="prototype",kr="script",Ir=ke("IE_PROTO"),Rr=function(){},wr=function(e){return"<"+kr+">"+e+"</"+kr+">"},Cr=function(){try{ur=document.domain&&new ActiveXObject("htmlfile")}catch(e){}var e,t,a;Cr=ur?function(e){e.write(wr("")),e.close();var t=e.parentWindow.Object;return e=null,t}(ur):(t=Tr("iframe"),a="java"+kr+":",t.style.display="none",Sr.appendChild(t),t.src=String(a),(e=t.contentWindow.document).open(),e.write(wr("document.F=Object")),e.close(),e.F);for(var r=_r.length;r--;)delete Cr[Ar][_r[r]];return Cr()};Er[Ir]=!0;var xr=Object.create||function(e,t){var a;return null!==e?(Rr[Ar]=vr(e),a=new Rr,Rr[Ar]=null,a[Ir]=e):a=Cr(),void 0===t?a:mr(a,t)},Or=xr,Pr=$,Dr=Ua("unscopables"),Lr=Array.prototype;null==Lr[Dr]&&Pr.f(Lr,Dr,{configurable:!0,value:Or(null)});var qr,Nr,Mr,Ur={},Fr=!c((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),jr=C,Br=I,Hr=Fr,Gr=ke("IE_PROTO"),$r=Object.prototype,Vr=Hr?Object.getPrototypeOf:function(e){return e=Br(e),jr(e,Gr)?e[Gr]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?$r:null},zr=c,Wr=Vr,Kr=ee,Yr=C,Xr=Ua("iterator"),Jr=!1;[].keys&&("next"in(Mr=[].keys())?(Nr=Wr(Wr(Mr)))!==Object.prototype&&(qr=Nr):Jr=!0),(null==qr||zr((function(){var e={};return qr[Xr].call(e)!==e})))&&(qr={}),Yr(qr,Xr)||Kr(qr,Xr,(function(){return this}));var Zr={IteratorPrototype:qr,BUGGY_SAFARI_ITERATORS:Jr},Qr=$.f,en=C,tn=Ua("toStringTag"),an=function(e,t,a){e&&!en(e=a?e:e.prototype,tn)&&Qr(e,tn,{configurable:!0,value:t})},rn=Zr.IteratorPrototype,nn=xr,cn=f,on=an,sn=Ur,un=function(){return this},dn=S,bn=z,fn=function(e){if(!dn(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},ln=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,a={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(a,[]),t=a instanceof Array}catch(e){}return function(a,r){return bn(a),fn(r),t?e.call(a,r):a.__proto__=r,a}}():void 0),hn=Xt,pn=function(e,t,a){var r=t+" Iterator";return e.prototype=nn(rn,{next:cn(1,a)}),on(e,r,!1),sn[r]=un,e},yn=Vr,gn=ln,vn=an,mn=ee,_n=Je,En=Ur,Sn=Zr.IteratorPrototype,Tn=Zr.BUGGY_SAFARI_ITERATORS,An=Ua("iterator"),kn="keys",In="values",Rn="entries",wn=function(){return this},Cn=function(e,t,a,r,n,i,c){pn(a,t,r);var o,s,u,d=function(e){if(e===n&&p)return p;if(!Tn&&e in l)return l[e];switch(e){case kn:case In:case Rn:return function(){return new a(this,e)}}return function(){return new a(this)}},b=t+" Iterator",f=!1,l=e.prototype,h=l[An]||l["@@iterator"]||n&&l[n],p=!Tn&&h||d(n),y="Array"==t&&l.entries||h;if(y&&(o=yn(y.call(new e)),Sn!==Object.prototype&&o.next&&(yn(o)!==Sn&&(gn?gn(o,Sn):"function"!=typeof o[An]&&mn(o,An,wn)),vn(o,b,!0))),n==In&&h&&h.name!==In&&(f=!0,p=function(){return h.call(this)}),l[An]!==p&&mn(l,An,p),En[t]=p,n)if(s={values:d(In),keys:i?p:d(kn),entries:d(Rn)},c)for(u in s)(Tn||f||!(u in l))&&_n(l,u,s[u]);else hn({target:t,proto:!0,forced:Tn||f},s);return s},xn=E,On=function(e){Lr[Dr][e]=!0},Pn=Ur,Dn=He,Ln=Cn,qn="Array Iterator",Nn=Dn.set,Mn=Dn.getterFor(qn),Un=Ln(Array,"Array",(function(e,t){Nn(this,{type:qn,target:xn(e),index:0,kind:t})}),(function(){var e=Mn(this),t=e.target,a=e.kind,r=e.index++;return!t||r>=t.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==a?{value:r,done:!1}:"values"==a?{value:t[r],done:!1}:{value:[r,t[r]],done:!1}}),"values");Pn.Arguments=Pn.Array,On("keys"),On("values"),On("entries");var Fn="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,jn=Je,Bn=function(e,t,a){for(var r in t)jn(e,r,t[r],a);return e},Hn=function(e,t,a){if(!(e instanceof t))throw TypeError("Incorrect "+(a?a+" ":"")+"invocation");return e},Gn=it,$n=st,Vn=function(e){if(void 0===e)return 0;var t=Gn(e),a=$n(t);if(t!==a)throw RangeError("Wrong length or index");return a},zn=Math.abs,Wn=Math.pow,Kn=Math.floor,Yn=Math.log,Xn=Math.LN2,Jn=I,Zn=ft,Qn=st,ei=function(e){for(var t=Jn(this),a=Qn(t.length),r=arguments.length,n=Zn(r>1?arguments[1]:void 0,a),i=r>2?arguments[2]:void 0,c=void 0===i?a:Zn(i,a);c>n;)t[n++]=e;return t},ti=n,ai=o,ri=Fn,ni=ee,ii=Bn,ci=c,oi=Hn,si=it,ui=st,di=Vn,bi={pack:function(e,t,a){var r,n,i,c=new Array(a),o=8*a-t-1,s=(1<<o)-1,u=s>>1,d=23===t?Wn(2,-24)-Wn(2,-77):0,b=e<0||0===e&&1/e<0?1:0,f=0;for((e=zn(e))!=e||e===1/0?(n=e!=e?1:0,r=s):(r=Kn(Yn(e)/Xn),e*(i=Wn(2,-r))<1&&(r--,i*=2),(e+=r+u>=1?d/i:d*Wn(2,1-u))*i>=2&&(r++,i/=2),r+u>=s?(n=0,r=s):r+u>=1?(n=(e*i-1)*Wn(2,t),r+=u):(n=e*Wn(2,u-1)*Wn(2,t),r=0));t>=8;c[f++]=255&n,n/=256,t-=8);for(r=r<<t|n,o+=t;o>0;c[f++]=255&r,r/=256,o-=8);return c[--f]|=128*b,c},unpack:function(e,t){var a,r=e.length,n=8*r-t-1,i=(1<<n)-1,c=i>>1,o=n-7,s=r-1,u=e[s--],d=127&u;for(u>>=7;o>0;d=256*d+e[s],s--,o-=8);for(a=d&(1<<-o)-1,d>>=-o,o+=t;o>0;a=256*a+e[s],s--,o-=8);if(0===d)d=1-c;else{if(d===i)return a?NaN:u?-1/0:1/0;a+=Wn(2,t),d-=c}return(u?-1:1)*a*Wn(2,d-t)}},fi=Vr,li=ln,hi=at.f,pi=$.f,yi=ei,gi=an,vi=He.get,mi=He.set,_i="ArrayBuffer",Ei="DataView",Si="prototype",Ti="Wrong index",Ai=ti[_i],ki=Ai,Ii=ti[Ei],Ri=Ii&&Ii[Si],wi=Object.prototype,Ci=ti.RangeError,xi=bi.pack,Oi=bi.unpack,Pi=function(e){return[255&e]},Di=function(e){return[255&e,e>>8&255]},Li=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},qi=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},Ni=function(e){return xi(e,23,4)},Mi=function(e){return xi(e,52,8)},Ui=function(e,t){pi(e[Si],t,{get:function(){return vi(this)[t]}})},Fi=function(e,t,a,r){var n=di(a),i=vi(e);if(n+t>i.byteLength)throw Ci(Ti);var c=vi(i.buffer).bytes,o=n+i.byteOffset,s=c.slice(o,o+t);return r?s:s.reverse()},ji=function(e,t,a,r,n,i){var c=di(a),o=vi(e);if(c+t>o.byteLength)throw Ci(Ti);for(var s=vi(o.buffer).bytes,u=c+o.byteOffset,d=r(+n),b=0;b<t;b++)s[u+b]=d[i?b:t-b-1]};if(ri){if(!ci((function(){Ai(1)}))||!ci((function(){new Ai(-1)}))||ci((function(){return new Ai,new Ai(1.5),new Ai(NaN),Ai.name!=_i}))){for(var Bi,Hi=(ki=function(e){return oi(this,ki),new Ai(di(e))})[Si]=Ai[Si],Gi=hi(Ai),$i=0;Gi.length>$i;)(Bi=Gi[$i++])in ki||ni(ki,Bi,Ai[Bi]);Hi.constructor=ki}li&&fi(Ri)!==wi&&li(Ri,wi);var Vi=new Ii(new ki(2)),zi=Ri.setInt8;Vi.setInt8(0,2147483648),Vi.setInt8(1,2147483649),!Vi.getInt8(0)&&Vi.getInt8(1)||ii(Ri,{setInt8:function(e,t){zi.call(this,e,t<<24>>24)},setUint8:function(e,t){zi.call(this,e,t<<24>>24)}},{unsafe:!0})}else ki=function(e){oi(this,ki,_i);var t=di(e);mi(this,{bytes:yi.call(new Array(t),0),byteLength:t}),ai||(this.byteLength=t)},Ii=function(e,t,a){oi(this,Ii,Ei),oi(e,ki,Ei);var r=vi(e).byteLength,n=si(t);if(n<0||n>r)throw Ci("Wrong offset");if(n+(a=void 0===a?r-n:ui(a))>r)throw Ci("Wrong length");mi(this,{buffer:e,byteLength:a,byteOffset:n}),ai||(this.buffer=e,this.byteLength=a,this.byteOffset=n)},ai&&(Ui(ki,"byteLength"),Ui(Ii,"buffer"),Ui(Ii,"byteLength"),Ui(Ii,"byteOffset")),ii(Ii[Si],{getInt8:function(e){return Fi(this,1,e)[0]<<24>>24},getUint8:function(e){return Fi(this,1,e)[0]},getInt16:function(e){var t=Fi(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=Fi(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return qi(Fi(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return qi(Fi(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return Oi(Fi(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return Oi(Fi(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){ji(this,1,e,Pi,t)},setUint8:function(e,t){ji(this,1,e,Pi,t)},setInt16:function(e,t){ji(this,2,e,Di,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){ji(this,2,e,Di,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){ji(this,4,e,Li,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){ji(this,4,e,Li,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){ji(this,4,e,Ni,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){ji(this,8,e,Mi,t,arguments.length>2?arguments[2]:void 0)}});gi(ki,_i),gi(Ii,Ei);var Wi={ArrayBuffer:ki,DataView:Ii},Ki=tt,Yi=$,Xi=o,Ji=Ua("species"),Zi=function(e){var t=Ki(e),a=Yi.f;Xi&&t&&!t[Ji]&&a(t,Ji,{configurable:!0,get:function(){return this}})},Qi=Zi,ec="ArrayBuffer",tc=Wi[ec];Xt({global:!0,forced:n[ec]!==tc},{ArrayBuffer:tc}),Qi(ec);var ac=I,rc=fr;Xt({target:"Object",stat:!0,forced:c((function(){rc(1)}))},{keys:function(e){return rc(ac(e))}});var nc={};nc[Ua("toStringTag")]="z";var ic="[object z]"===String(nc),cc=ic,oc=h,sc=Ua("toStringTag"),uc="Arguments"==oc(function(){return arguments}()),dc=cc?oc:function(e){var t,a,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),sc))?a:uc?oc(t):"Object"==(r=oc(t))&&"function"==typeof t.callee?"Arguments":r},bc=dc,fc=ic?{}.toString:function(){return"[object "+bc(this)+"]"};ic||Je(Object.prototype,"toString",fc,{unsafe:!0});var lc=n.Promise,hc=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},pc=Ur,yc=Ua("iterator"),gc=Array.prototype,vc=function(e){return void 0!==e&&(pc.Array===e||gc[yc]===e)},mc=hc,_c=function(e,t,a){if(mc(e),void 0===t)return e;switch(a){case 0:return function(){return e.call(t)};case 1:return function(a){return e.call(t,a)};case 2:return function(a,r){return e.call(t,a,r)};case 3:return function(a,r,n){return e.call(t,a,r,n)}}return function(){return e.apply(t,arguments)}},Ec=dc,Sc=Ur,Tc=Ua("iterator"),Ac=function(e){if(null!=e)return e[Tc]||e["@@iterator"]||Sc[Ec(e)]},kc=z,Ic=z,Rc=vc,wc=st,Cc=_c,xc=Ac,Oc=function(e){var t=e.return;if(void 0!==t)return kc(t.call(e)).value},Pc=function(e,t){this.stopped=e,this.result=t},Dc=function(e,t,a){var r,n,i,c,o,s,u,d=a&&a.that,b=!(!a||!a.AS_ENTRIES),f=!(!a||!a.IS_ITERATOR),l=!(!a||!a.INTERRUPTED),h=Cc(t,d,1+b+l),p=function(e){return r&&Oc(r),new Pc(!0,e)},y=function(e){return b?(Ic(e),l?h(e[0],e[1],p):h(e[0],e[1])):l?h(e,p):h(e)};if(f)r=e;else{if("function"!=typeof(n=xc(e)))throw TypeError("Target is not iterable");if(Rc(n)){for(i=0,c=wc(e.length);c>i;i++)if((o=y(e[i]))&&o instanceof Pc)return o;return new Pc(!1)}r=n.call(e)}for(s=r.next;!(u=s.call(r)).done;){try{o=y(u.value)}catch(e){throw Oc(r),e}if("object"==typeof o&&o&&o instanceof Pc)return o}return new Pc(!1)},Lc=Ua("iterator"),qc=!1;try{var Nc=0,Mc={next:function(){return{done:!!Nc++}},return:function(){qc=!0}};Mc[Lc]=function(){return this},Array.from(Mc,(function(){throw 2}))}catch(e){}var Uc,Fc,jc,Bc=function(e,t){if(!t&&!qc)return!1;var a=!1;try{var r={};r[Lc]=function(){return{next:function(){return{done:a=!0}}}},e(r)}catch(e){}return a},Hc=z,Gc=hc,$c=Ua("species"),Vc=function(e,t){var a,r=Hc(e).constructor;return void 0===r||null==(a=Hc(r)[$c])?t:Gc(a)},zc=/(?:iphone|ipod|ipad).*applewebkit/i.test(_a),Wc="process"==h(n.process),Kc=n,Yc=c,Xc=_c,Jc=gr,Zc=D,Qc=zc,eo=Wc,to=Kc.location,ao=Kc.setImmediate,ro=Kc.clearImmediate,no=Kc.process,io=Kc.MessageChannel,co=Kc.Dispatch,oo=0,so={},uo="onreadystatechange",bo=function(e){if(so.hasOwnProperty(e)){var t=so[e];delete so[e],t()}},fo=function(e){return function(){bo(e)}},lo=function(e){bo(e.data)},ho=function(e){Kc.postMessage(e+"",to.protocol+"//"+to.host)};ao&&ro||(ao=function(e){for(var t=[],a=1;arguments.length>a;)t.push(arguments[a++]);return so[++oo]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},Uc(oo),oo},ro=function(e){delete so[e]},eo?Uc=function(e){no.nextTick(fo(e))}:co&&co.now?Uc=function(e){co.now(fo(e))}:io&&!Qc?(jc=(Fc=new io).port2,Fc.port1.onmessage=lo,Uc=Xc(jc.postMessage,jc,1)):Kc.addEventListener&&"function"==typeof postMessage&&!Kc.importScripts&&to&&"file:"!==to.protocol&&!Yc(ho)?(Uc=ho,Kc.addEventListener("message",lo,!1)):Uc=uo in Zc("script")?function(e){Jc.appendChild(Zc("script"))[uo]=function(){Jc.removeChild(this),bo(e)}}:function(e){setTimeout(fo(e),0)});var po,yo,go,vo,mo,_o,Eo,So,To={set:ao,clear:ro},Ao=/web0s(?!.*chrome)/i.test(_a),ko=n,Io=i.f,Ro=To.set,wo=zc,Co=Ao,xo=Wc,Oo=ko.MutationObserver||ko.WebKitMutationObserver,Po=ko.document,Do=ko.process,Lo=ko.Promise,qo=Io(ko,"queueMicrotask"),No=qo&&qo.value;No||(po=function(){var e,t;for(xo&&(e=Do.domain)&&e.exit();yo;){t=yo.fn,yo=yo.next;try{t()}catch(e){throw yo?vo():go=void 0,e}}go=void 0,e&&e.enter()},wo||xo||Co||!Oo||!Po?Lo&&Lo.resolve?((Eo=Lo.resolve(void 0)).constructor=Lo,So=Eo.then,vo=function(){So.call(Eo,po)}):vo=xo?function(){Do.nextTick(po)}:function(){Ro.call(ko,po)}:(mo=!0,_o=Po.createTextNode(""),new Oo(po).observe(_o,{characterData:!0}),vo=function(){_o.data=mo=!mo}));var Mo=No||function(e){var t={fn:e,next:void 0};go&&(go.next=t),yo||(yo=t,vo()),go=t},Uo={},Fo=hc,jo=function(e){var t,a;this.promise=new e((function(e,r){if(void 0!==t||void 0!==a)throw TypeError("Bad Promise constructor");t=e,a=r})),this.resolve=Fo(t),this.reject=Fo(a)};Uo.f=function(e){return new jo(e)};var Bo,Ho,Go,$o,Vo=z,zo=S,Wo=Uo,Ko=n,Yo="object"==typeof window,Xo=Xt,Jo=n,Zo=tt,Qo=lc,es=Je,ts=Bn,as=ln,rs=an,ns=Zi,is=S,cs=hc,os=Hn,ss=de,us=Dc,ds=Bc,bs=Vc,fs=To.set,ls=Mo,hs=function(e,t){if(Vo(e),zo(t)&&t.constructor===e)return t;var a=Wo.f(e);return(0,a.resolve)(t),a.promise},ps=function(e,t){var a=Ko.console;a&&a.error&&(1===arguments.length?a.error(e):a.error(e,t))},ys=Uo,gs=function(e){try{return{error:!1,value:e()}}catch(e){return{error:!0,value:e}}},vs=He,ms=Ht,_s=Yo,Es=Wc,Ss=ka,Ts=Ua("species"),As="Promise",ks=vs.get,Is=vs.set,Rs=vs.getterFor(As),ws=Qo&&Qo.prototype,Cs=Qo,xs=ws,Os=Jo.TypeError,Ps=Jo.document,Ds=Jo.process,Ls=ys.f,qs=Ls,Ns=!!(Ps&&Ps.createEvent&&Jo.dispatchEvent),Ms="function"==typeof PromiseRejectionEvent,Us="unhandledrejection",Fs=!1,js=ms(As,(function(){var e=ss(Cs)!==String(Cs);if(!e&&66===Ss)return!0;if(Ss>=51&&/native code/.test(Cs))return!1;var t=new Cs((function(e){e(1)})),a=function(e){e((function(){}),(function(){}))};return(t.constructor={})[Ts]=a,!(Fs=t.then((function(){}))instanceof a)||!e&&_s&&!Ms})),Bs=js||!ds((function(e){Cs.all(e).catch((function(){}))})),Hs=function(e){var t;return!(!is(e)||"function"!=typeof(t=e.then))&&t},Gs=function(e,t){if(!e.notified){e.notified=!0;var a=e.reactions;ls((function(){for(var r=e.value,n=1==e.state,i=0;a.length>i;){var c,o,s,u=a[i++],d=n?u.ok:u.fail,b=u.resolve,f=u.reject,l=u.domain;try{d?(n||(2===e.rejection&&Ws(e),e.rejection=1),!0===d?c=r:(l&&l.enter(),c=d(r),l&&(l.exit(),s=!0)),c===u.promise?f(Os("Promise-chain cycle")):(o=Hs(c))?o.call(c,b,f):b(c)):f(r)}catch(e){l&&!s&&l.exit(),f(e)}}e.reactions=[],e.notified=!1,t&&!e.rejection&&Vs(e)}))}},$s=function(e,t,a){var r,n;Ns?((r=Ps.createEvent("Event")).promise=t,r.reason=a,r.initEvent(e,!1,!0),Jo.dispatchEvent(r)):r={promise:t,reason:a},!Ms&&(n=Jo["on"+e])?n(r):e===Us&&ps("Unhandled promise rejection",a)},Vs=function(e){fs.call(Jo,(function(){var t,a=e.facade,r=e.value;if(zs(e)&&(t=gs((function(){Es?Ds.emit("unhandledRejection",r,a):$s(Us,a,r)})),e.rejection=Es||zs(e)?2:1,t.error))throw t.value}))},zs=function(e){return 1!==e.rejection&&!e.parent},Ws=function(e){fs.call(Jo,(function(){var t=e.facade;Es?Ds.emit("rejectionHandled",t):$s("rejectionhandled",t,e.value)}))},Ks=function(e,t,a){return function(r){e(t,r,a)}},Ys=function(e,t,a){e.done||(e.done=!0,a&&(e=a),e.value=t,e.state=2,Gs(e,!0))},Xs=function(e,t,a){if(!e.done){e.done=!0,a&&(e=a);try{if(e.facade===t)throw Os("Promise can't be resolved itself");var r=Hs(t);r?ls((function(){var a={done:!1};try{r.call(t,Ks(Xs,a,e),Ks(Ys,a,e))}catch(t){Ys(a,t,e)}})):(e.value=t,e.state=1,Gs(e,!1))}catch(t){Ys({done:!1},t,e)}}};if(js&&(xs=(Cs=function(e){os(this,Cs,As),cs(e),Bo.call(this);var t=ks(this);try{e(Ks(Xs,t),Ks(Ys,t))}catch(e){Ys(t,e)}}).prototype,(Bo=function(e){Is(this,{type:As,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=ts(xs,{then:function(e,t){var a=Rs(this),r=Ls(bs(this,Cs));return r.ok="function"!=typeof e||e,r.fail="function"==typeof t&&t,r.domain=Es?Ds.domain:void 0,a.parent=!0,a.reactions.push(r),0!=a.state&&Gs(a,!1),r.promise},catch:function(e){return this.then(void 0,e)}}),Ho=function(){var e=new Bo,t=ks(e);this.promise=e,this.resolve=Ks(Xs,t),this.reject=Ks(Ys,t)},ys.f=Ls=function(e){return e===Cs||e===Go?new Ho(e):qs(e)},"function"==typeof Qo&&ws!==Object.prototype)){$o=ws.then,Fs||(es(ws,"then",(function(e,t){var a=this;return new Cs((function(e,t){$o.call(a,e,t)})).then(e,t)}),{unsafe:!0}),es(ws,"catch",xs.catch,{unsafe:!0}));try{delete ws.constructor}catch(e){}as&&as(ws,xs)}Xo({global:!0,wrap:!0,forced:js},{Promise:Cs}),rs(Cs,As,!1),ns(As),Go=Zo(As),Xo({target:As,stat:!0,forced:js},{reject:function(e){var t=Ls(this);return t.reject.call(void 0,e),t.promise}}),Xo({target:As,stat:!0,forced:js},{resolve:function(e){return hs(this,e)}}),Xo({target:As,stat:!0,forced:Bs},{all:function(e){var t=this,a=Ls(t),r=a.resolve,n=a.reject,i=gs((function(){var a=cs(t.resolve),i=[],c=0,o=1;us(e,(function(e){var s=c++,u=!1;i.push(void 0),o++,a.call(t,e).then((function(e){u||(u=!0,i[s]=e,--o||r(i))}),n)})),--o||r(i)}));return i.error&&n(i.value),a.promise},race:function(e){var t=this,a=Ls(t),r=a.reject,n=gs((function(){var n=cs(t.resolve);us(e,(function(e){n.call(t,e).then(a.resolve,r)}))}));return n.error&&r(n.value),a.promise}});var Js=z,Zs=function(){var e=Js(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t},Qs=Je,eu=z,tu=c,au=Zs,ru="toString",nu=RegExp.prototype,iu=nu[ru],cu=tu((function(){return"/a/b"!=iu.call({source:"a",flags:"b"})})),ou=iu.name!=ru;(cu||ou)&&Qs(RegExp.prototype,ru,(function(){var e=eu(this),t=String(e.source),a=e.flags;return"/"+t+"/"+String(void 0===a&&e instanceof RegExp&&!("flags"in nu)?au.call(e):a)}),{unsafe:!0});var su,uu={exports:{}},du=Fn,bu=o,fu=n,lu=S,hu=C,pu=dc,yu=ee,gu=Je,vu=$.f,mu=Vr,_u=ln,Eu=Ua,Su=Se,Tu=fu.Int8Array,Au=Tu&&Tu.prototype,ku=fu.Uint8ClampedArray,Iu=ku&&ku.prototype,Ru=Tu&&mu(Tu),wu=Au&&mu(Au),Cu=Object.prototype,xu=Cu.isPrototypeOf,Ou=Eu("toStringTag"),Pu=Su("TYPED_ARRAY_TAG"),Du=du&&!!_u&&"Opera"!==pu(fu.opera),Lu=!1,qu={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Nu={BigInt64Array:8,BigUint64Array:8},Mu=function(e){if(!lu(e))return!1;var t=pu(e);return hu(qu,t)||hu(Nu,t)};for(su in qu)fu[su]||(Du=!1);if((!Du||"function"!=typeof Ru||Ru===Function.prototype)&&(Ru=function(){throw TypeError("Incorrect invocation")},Du))for(su in qu)fu[su]&&_u(fu[su],Ru);if((!Du||!wu||wu===Cu)&&(wu=Ru.prototype,Du))for(su in qu)fu[su]&&_u(fu[su].prototype,wu);if(Du&&mu(Iu)!==wu&&_u(Iu,wu),bu&&!hu(wu,Ou))for(su in Lu=!0,vu(wu,Ou,{get:function(){return lu(this)?this[Pu]:void 0}}),qu)fu[su]&&yu(fu[su],Pu,su);var Uu={NATIVE_ARRAY_BUFFER_VIEWS:Du,TYPED_ARRAY_TAG:Lu&&Pu,aTypedArray:function(e){if(Mu(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_u){if(xu.call(Ru,e))return e}else for(var t in qu)if(hu(qu,su)){var a=fu[t];if(a&&(e===a||xu.call(a,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,a){if(bu){if(a)for(var r in qu){var n=fu[r];if(n&&hu(n.prototype,e))try{delete n.prototype[e]}catch(e){}}wu[e]&&!a||gu(wu,e,a?t:Du&&Au[e]||t)}},exportTypedArrayStaticMethod:function(e,t,a){var r,n;if(bu){if(_u){if(a)for(r in qu)if((n=fu[r])&&hu(n,e))try{delete n[e]}catch(e){}if(Ru[e]&&!a)return;try{return gu(Ru,e,a?t:Du&&Ru[e]||t)}catch(e){}}for(r in qu)!(n=fu[r])||n[e]&&!a||gu(n,e,t)}},isView:function(e){if(!lu(e))return!1;var t=pu(e);return"DataView"===t||hu(qu,t)||hu(Nu,t)},isTypedArray:Mu,TypedArray:Ru,TypedArrayPrototype:wu},Fu=n,ju=c,Bu=Bc,Hu=Uu.NATIVE_ARRAY_BUFFER_VIEWS,Gu=Fu.ArrayBuffer,$u=Fu.Int8Array,Vu=!Hu||!ju((function(){$u(1)}))||!ju((function(){new $u(-1)}))||!Bu((function(e){new $u,new $u(null),new $u(1.5),new $u(e)}),!0)||ju((function(){return 1!==new $u(new Gu(2),1,void 0).length})),zu=it,Wu=function(e){var t=zu(e);if(t<0)throw RangeError("The argument can't be less than 0");return t},Ku=function(e,t){var a=Wu(e);if(a%t)throw RangeError("Wrong offset");return a},Yu=I,Xu=st,Ju=Ac,Zu=vc,Qu=_c,ed=Uu.aTypedArrayConstructor,td=_c,ad=g,rd=I,nd=st,id=Ha,cd=[].push,od=function(e){var t=1==e,a=2==e,r=3==e,n=4==e,i=6==e,c=7==e,o=5==e||i;return function(s,u,d,b){for(var f,l,h=rd(s),p=ad(h),y=td(u,d,3),g=nd(p.length),v=0,m=b||id,_=t?m(s,g):a||c?m(s,0):void 0;g>v;v++)if((o||v in p)&&(l=y(f=p[v],v,h),e))if(t)_[v]=l;else if(l)switch(e){case 3:return!0;case 5:return f;case 6:return v;case 2:cd.call(_,f)}else switch(e){case 4:return!1;case 7:cd.call(_,f)}return i?-1:r||n?n:_}},sd={forEach:od(0),map:od(1),filter:od(2),some:od(3),every:od(4),find:od(5),findIndex:od(6),filterOut:od(7)},ud=S,dd=ln,bd=function(e,t,a){var r,n;return dd&&"function"==typeof(r=t.constructor)&&r!==a&&ud(n=r.prototype)&&n!==a.prototype&&dd(e,n),e},fd=Xt,ld=n,hd=o,pd=Vu,yd=Uu,gd=Wi,vd=Hn,md=f,_d=ee,Ed=st,Sd=Vn,Td=Ku,Ad=A,kd=C,Id=dc,Rd=S,wd=xr,Cd=ln,xd=at.f,Od=function(e){var t,a,r,n,i,c,o=Yu(e),s=arguments.length,u=s>1?arguments[1]:void 0,d=void 0!==u,b=Ju(o);if(null!=b&&!Zu(b))for(c=(i=b.call(o)).next,o=[];!(n=c.call(i)).done;)o.push(n.value);for(d&&s>2&&(u=Qu(u,arguments[2],2)),a=Xu(o.length),r=new(ed(this))(a),t=0;a>t;t++)r[t]=d?u(o[t],t):o[t];return r},Pd=sd.forEach,Dd=Zi,Ld=$,qd=i,Nd=bd,Md=He.get,Ud=He.set,Fd=Ld.f,jd=qd.f,Bd=Math.round,Hd=ld.RangeError,Gd=gd.ArrayBuffer,$d=gd.DataView,Vd=yd.NATIVE_ARRAY_BUFFER_VIEWS,zd=yd.TYPED_ARRAY_TAG,Wd=yd.TypedArray,Kd=yd.TypedArrayPrototype,Yd=yd.aTypedArrayConstructor,Xd=yd.isTypedArray,Jd="BYTES_PER_ELEMENT",Zd="Wrong length",Qd=function(e,t){for(var a=0,r=t.length,n=new(Yd(e))(r);r>a;)n[a]=t[a++];return n},eb=function(e,t){Fd(e,t,{get:function(){return Md(this)[t]}})},tb=function(e){var t;return e instanceof Gd||"ArrayBuffer"==(t=Id(e))||"SharedArrayBuffer"==t},ab=function(e,t){return Xd(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},rb=function(e,t){return ab(e,t=Ad(t,!0))?md(2,e[t]):jd(e,t)},nb=function(e,t,a){return!(ab(e,t=Ad(t,!0))&&Rd(a)&&kd(a,"value"))||kd(a,"get")||kd(a,"set")||a.configurable||kd(a,"writable")&&!a.writable||kd(a,"enumerable")&&!a.enumerable?Fd(e,t,a):(e[t]=a.value,e)};hd?(Vd||(qd.f=rb,Ld.f=nb,eb(Kd,"buffer"),eb(Kd,"byteOffset"),eb(Kd,"byteLength"),eb(Kd,"length")),fd({target:"Object",stat:!0,forced:!Vd},{getOwnPropertyDescriptor:rb,defineProperty:nb}),uu.exports=function(e,t,a){var r=e.match(/\d+$/)[0]/8,n=e+(a?"Clamped":"")+"Array",i="get"+e,c="set"+e,o=ld[n],s=o,u=s&&s.prototype,d={},b=function(e,t){Fd(e,t,{get:function(){return e=t,(a=Md(this)).view[i](e*r+a.byteOffset,!0);var e,a},set:function(e){return n=t,i=e,o=Md(this),a&&(i=(i=Bd(i))<0?0:i>255?255:255&i),void o.view[c](n*r+o.byteOffset,i,!0);var n,i,o},enumerable:!0})};Vd?pd&&(s=t((function(e,t,a,i){return vd(e,s,n),Nd(Rd(t)?tb(t)?void 0!==i?new o(t,Td(a,r),i):void 0!==a?new o(t,Td(a,r)):new o(t):Xd(t)?Qd(s,t):Od.call(s,t):new o(Sd(t)),e,s)})),Cd&&Cd(s,Wd),Pd(xd(o),(function(e){e in s||_d(s,e,o[e])})),s.prototype=u):(s=t((function(e,t,a,i){vd(e,s,n);var c,o,u,d=0,f=0;if(Rd(t)){if(!tb(t))return Xd(t)?Qd(s,t):Od.call(s,t);c=t,f=Td(a,r);var l=t.byteLength;if(void 0===i){if(l%r)throw Hd(Zd);if((o=l-f)<0)throw Hd(Zd)}else if((o=Ed(i)*r)+f>l)throw Hd(Zd);u=o/r}else u=Sd(t),c=new Gd(o=u*r);for(Ud(e,{buffer:c,byteOffset:f,byteLength:o,length:u,view:new $d(c)});d<u;)b(e,d++)})),Cd&&Cd(s,Wd),u=s.prototype=wd(Kd)),u.constructor!==s&&_d(u,"constructor",s),zd&&_d(u,zd,n),d[n]=s,fd({global:!0,forced:s!=o,sham:!Vd},d),Jd in s||_d(s,Jd,r),Jd in u||_d(u,Jd,r),Dd(n)}):uu.exports=function(){};var ib=uu.exports;ib("Uint8",(function(e){return function(t,a,r){return e(this,t,a,r)}})),ib("Uint16",(function(e){return function(t,a,r){return e(this,t,a,r)}}));var cb=I,ob=ft,sb=st,ub=Math.min,db=[].copyWithin||function(e,t){var a=cb(this),r=sb(a.length),n=ob(e,r),i=ob(t,r),c=arguments.length>2?arguments[2]:void 0,o=ub((void 0===c?r:ob(c,r))-i,r-n),s=1;for(i<n&&n<i+o&&(s=-1,i+=o-1,n+=o-1);o-- >0;)i in a?a[n]=a[i]:delete a[n],n+=s,i+=s;return a},bb=db,fb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("copyWithin",(function(e,t){return bb.call(fb(this),e,t,arguments.length>2?arguments[2]:void 0)}));var lb=sd.every,hb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("every",(function(e){return lb(hb(this),e,arguments.length>1?arguments[1]:void 0)}));var pb=ei,yb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("fill",(function(e){return pb.apply(yb(this),arguments)}));var gb=Uu.aTypedArrayConstructor,vb=Vc,mb=sd.filter,_b=function(e,t){for(var a=vb(e,e.constructor),r=0,n=t.length,i=new(gb(a))(n);n>r;)i[r]=t[r++];return i},Eb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("filter",(function(e){var t=mb(Eb(this),e,arguments.length>1?arguments[1]:void 0);return _b(this,t)}));var Sb=sd.find,Tb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("find",(function(e){return Sb(Tb(this),e,arguments.length>1?arguments[1]:void 0)}));var Ab=sd.findIndex,kb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("findIndex",(function(e){return Ab(kb(this),e,arguments.length>1?arguments[1]:void 0)}));var Ib=sd.forEach,Rb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("forEach",(function(e){Ib(Rb(this),e,arguments.length>1?arguments[1]:void 0)}));var wb=gt.includes,Cb=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("includes",(function(e){return wb(Cb(this),e,arguments.length>1?arguments[1]:void 0)}));var xb=gt.indexOf,Ob=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("indexOf",(function(e){return xb(Ob(this),e,arguments.length>1?arguments[1]:void 0)}));var Pb=n,Db=Uu,Lb=Un,qb=Ua("iterator"),Nb=Pb.Uint8Array,Mb=Lb.values,Ub=Lb.keys,Fb=Lb.entries,jb=Db.aTypedArray,Bb=Db.exportTypedArrayMethod,Hb=Nb&&Nb.prototype[qb],Gb=!!Hb&&("values"==Hb.name||null==Hb.name),$b=function(){return Mb.call(jb(this))};Bb("entries",(function(){return Fb.call(jb(this))})),Bb("keys",(function(){return Ub.call(jb(this))})),Bb("values",$b,!Gb),Bb(qb,$b,!Gb);var Vb=Uu.aTypedArray,zb=[].join;(0,Uu.exportTypedArrayMethod)("join",(function(e){return zb.apply(Vb(this),arguments)}));var Wb=c,Kb=function(e,t){var a=[][e];return!!a&&Wb((function(){a.call(null,t||function(){throw 1},1)}))},Yb=E,Xb=it,Jb=st,Zb=Kb,Qb=Math.min,ef=[].lastIndexOf,tf=!!ef&&1/[1].lastIndexOf(1,-0)<0,af=Zb("lastIndexOf"),rf=tf||!af?function(e){if(tf)return ef.apply(this,arguments)||0;var t=Yb(this),a=Jb(t.length),r=a-1;for(arguments.length>1&&(r=Qb(r,Xb(arguments[1]))),r<0&&(r=a+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}:ef,nf=rf,cf=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("lastIndexOf",(function(e){return nf.apply(cf(this),arguments)}));var of=sd.map,sf=Vc,uf=Uu.aTypedArray,df=Uu.aTypedArrayConstructor;(0,Uu.exportTypedArrayMethod)("map",(function(e){return of(uf(this),e,arguments.length>1?arguments[1]:void 0,(function(e,t){return new(df(sf(e,e.constructor)))(t)}))}));var bf=hc,ff=I,lf=g,hf=st,pf=function(e){return function(t,a,r,n){bf(a);var i=ff(t),c=lf(i),o=hf(i.length),s=e?o-1:0,u=e?-1:1;if(r<2)for(;;){if(s in c){n=c[s],s+=u;break}if(s+=u,e?s<0:o<=s)throw TypeError("Reduce of empty array with no initial value")}for(;e?s>=0:o>s;s+=u)s in c&&(n=a(n,c[s],s,i));return n}},yf={left:pf(!1),right:pf(!0)},gf=yf.left,vf=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("reduce",(function(e){return gf(vf(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var mf=yf.right,_f=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("reduceRight",(function(e){return mf(_f(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var Ef=Uu.aTypedArray,Sf=Uu.exportTypedArrayMethod,Tf=Math.floor;Sf("reverse",(function(){for(var e,t=this,a=Ef(t).length,r=Tf(a/2),n=0;n<r;)e=t[n],t[n++]=t[--a],t[a]=e;return t}));var Af=st,kf=Ku,If=I,Rf=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("set",(function(e){Rf(this);var t=kf(arguments.length>1?arguments[1]:void 0,1),a=this.length,r=If(e),n=Af(r.length),i=0;if(n+t>a)throw RangeError("Wrong length");for(;i<n;)this[t+i]=r[i++]}),c((function(){new Int8Array(1).set({})})));var wf=Vc,Cf=Uu.aTypedArray,xf=Uu.aTypedArrayConstructor,Of=[].slice;(0,Uu.exportTypedArrayMethod)("slice",(function(e,t){for(var a=Of.call(Cf(this),e,t),r=wf(this,this.constructor),n=0,i=a.length,c=new(xf(r))(i);i>n;)c[n]=a[n++];return c}),c((function(){new Int8Array(1).slice()})));var Pf=sd.some,Df=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("some",(function(e){return Pf(Df(this),e,arguments.length>1?arguments[1]:void 0)}));var Lf=Uu.aTypedArray,qf=[].sort;(0,Uu.exportTypedArrayMethod)("sort",(function(e){return qf.call(Lf(this),e)}));var Nf=st,Mf=ft,Uf=Vc,Ff=Uu.aTypedArray;(0,Uu.exportTypedArrayMethod)("subarray",(function(e,t){var a=Ff(this),r=a.length,n=Mf(e,r);return new(Uf(a,a.constructor))(a.buffer,a.byteOffset+n*a.BYTES_PER_ELEMENT,Nf((void 0===t?r:Mf(t,r))-n))}));var jf=Uu,Bf=c,Hf=n.Int8Array,Gf=jf.aTypedArray,$f=jf.exportTypedArrayMethod,Vf=[].toLocaleString,zf=[].slice,Wf=!!Hf&&Bf((function(){Vf.call(new Hf(1))}));$f("toLocaleString",(function(){return Vf.apply(Wf?zf.call(Gf(this)):Gf(this),arguments)}),Bf((function(){return[1,2].toLocaleString()!=new Hf([1,2]).toLocaleString()}))||!Bf((function(){Hf.prototype.toLocaleString.call([1,2])})));var Kf=Uu.exportTypedArrayMethod,Yf=c,Xf=n.Uint8Array,Jf=Xf&&Xf.prototype||{},Zf=[].toString,Qf=[].join;Yf((function(){Zf.call({})}))&&(Zf=function(){return Qf.call(this)});var el=Jf.toString!=Zf;Kf("toString",Zf,el);var tl={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},al=sd.forEach,rl=Kb("forEach")?[].forEach:function(e){return al(this,e,arguments.length>1?arguments[1]:void 0)},nl=n,il=tl,cl=rl,ol=ee;for(var sl in il){var ul=nl[sl],dl=ul&&ul.prototype;if(dl&&dl.forEach!==cl)try{ol(dl,"forEach",cl)}catch(e){dl.forEach=cl}}var bl=n,fl=tl,ll=Un,hl=ee,pl=Ua,yl=pl("iterator"),gl=pl("toStringTag"),vl=ll.values;for(var ml in fl){var _l=bl[ml],El=_l&&_l.prototype;if(El){if(El[yl]!==vl)try{hl(El,yl,vl)}catch(e){El[yl]=vl}if(El[gl]||hl(El,gl,ml),fl[ml])for(var Sl in ll)if(El[Sl]!==ll[Sl])try{hl(El,Sl,ll[Sl])}catch(e){El[Sl]=ll[Sl]}}}var Tl={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,a="~";function r(){}function n(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var o=new n(r,i||e,c),s=a?a+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(a=!1)),o.prototype.eventNames=function(){var e,r,n=[];if(0===this._eventsCount)return n;for(r in e=this._events)t.call(e,r)&&n.push(a?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},o.prototype.listeners=function(e){var t=a?a+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,i=r.length,c=new Array(i);n<i;n++)c[n]=r[n].fn;return c},o.prototype.listenerCount=function(e){var t=a?a+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,n,i,c){var o=a?a+e:e;if(!this._events[o])return!1;var s,u,d=this._events[o],b=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),b){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,n),!0;case 5:return d.fn.call(d.context,t,r,n,i),!0;case 6:return d.fn.call(d.context,t,r,n,i,c),!0}for(u=1,s=new Array(b-1);u<b;u++)s[u-1]=arguments[u];d.fn.apply(d.context,s)}else{var f,l=d.length;for(u=0;u<l;u++)switch(d[u].once&&this.removeListener(e,d[u].fn,void 0,!0),b){case 1:d[u].fn.call(d[u].context);break;case 2:d[u].fn.call(d[u].context,t);break;case 3:d[u].fn.call(d[u].context,t,r);break;case 4:d[u].fn.call(d[u].context,t,r,n);break;default:if(!s)for(f=1,s=new Array(b-1);f<b;f++)s[f-1]=arguments[f];d[u].fn.apply(d[u].context,s)}}return!0},o.prototype.on=function(e,t,a){return i(this,e,t,a,!1)},o.prototype.once=function(e,t,a){return i(this,e,t,a,!0)},o.prototype.removeListener=function(e,t,r,n){var i=a?a+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var o=this._events[i];if(o.fn)o.fn!==t||n&&!o.once||r&&o.context!==r||c(this,i);else{for(var s=0,u=[],d=o.length;s<d;s++)(o[s].fn!==t||n&&!o[s].once||r&&o[s].context!==r)&&u.push(o[s]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,e.exports=o}(Tl);var Al=a(Tl.exports),kl=Xt,Il=E,Rl=[].join,wl=g!=Object,Cl=Kb("join",",");kl({target:"Array",proto:!0,forced:wl||!Cl},{join:function(e){return Rl.call(Il(this),void 0===e?",":e)}});var xl=sd.map;Xt({target:"Array",proto:!0,forced:!za("map")},{map:function(e){return xl(this,e,arguments.length>1?arguments[1]:void 0)}});var Ol=Xt,Pl=S,Dl=pa,Ll=ft,ql=st,Nl=E,Ml=ma,Ul=Ua,Fl=za("slice"),jl=Ul("species"),Bl=[].slice,Hl=Math.max;Ol({target:"Array",proto:!0,forced:!Fl},{slice:function(e,t){var a,r,n,i=Nl(this),c=ql(i.length),o=Ll(e,c),s=Ll(void 0===t?c:t,c);if(Dl(i)&&("function"!=typeof(a=i.constructor)||a!==Array&&!Dl(a.prototype)?Pl(a)&&null===(a=a[jl])&&(a=void 0):a=void 0,a===Array||void 0===a))return Bl.call(i,o,s);for(r=new(void 0===a?Array:a)(Hl(s-o,0)),n=0;o<s;o++,n++)o in i&&Ml(r,n,i[o]);return r.length=n,r}});var Gl=v,$l="[\t\n\v\f\r                 \u2028\u2029\ufeff]",Vl=RegExp("^"+$l+$l+"*"),zl=RegExp($l+$l+"*$"),Wl=function(e){return function(t){var a=String(Gl(t));return 1&e&&(a=a.replace(Vl,"")),2&e&&(a=a.replace(zl,"")),a}},Kl={start:Wl(1),end:Wl(2),trim:Wl(3)},Yl=o,Xl=n,Jl=Ht,Zl=Je,Ql=C,eh=h,th=bd,ah=A,rh=c,nh=xr,ih=at.f,ch=i.f,oh=$.f,sh=Kl.trim,uh="Number",dh=Xl[uh],bh=dh.prototype,fh=eh(nh(bh))==uh,lh=function(e){var t,a,r,n,i,c,o,s,u=ah(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=sh(u)).charCodeAt(0))||45===t){if(88===(a=u.charCodeAt(2))||120===a)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:r=2,n=49;break;case 79:case 111:r=8,n=55;break;default:return+u}for(c=(i=u.slice(2)).length,o=0;o<c;o++)if((s=i.charCodeAt(o))<48||s>n)return NaN;return parseInt(i,r)}return+u};if(Jl(uh,!dh(" 0o1")||!dh("0b1")||dh("+0x1"))){for(var hh,ph=function(e){var t=arguments.length<1?0:e,a=this;return a instanceof ph&&(fh?rh((function(){bh.valueOf.call(a)})):eh(a)!=uh)?th(new dh(lh(t)),a,ph):lh(t)},yh=Yl?ih(dh):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),gh=0;yh.length>gh;gh++)Ql(dh,hh=yh[gh])&&!Ql(ph,hh)&&oh(ph,hh,ch(dh,hh));ph.prototype=bh,bh.constructor=ph,Zl(Xl,uh,ph)}var vh={},mh=c;function _h(e,t){return RegExp(e,t)}vh.UNSUPPORTED_Y=mh((function(){var e=_h("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),vh.BROKEN_CARET=mh((function(){var e=_h("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var Eh,Sh,Th=Zs,Ah=vh,kh=me,Ih=RegExp.prototype.exec,Rh=kh("native-string-replace",String.prototype.replace),wh=Ih,Ch=(Eh=/a/,Sh=/b*/g,Ih.call(Eh,"a"),Ih.call(Sh,"a"),0!==Eh.lastIndex||0!==Sh.lastIndex),xh=Ah.UNSUPPORTED_Y||Ah.BROKEN_CARET,Oh=void 0!==/()??/.exec("")[1];(Ch||Oh||xh)&&(wh=function(e){var t,a,r,n,i=this,c=xh&&i.sticky,o=Th.call(i),s=i.source,u=0,d=e;return c&&(-1===(o=o.replace("y","")).indexOf("g")&&(o+="g"),d=String(e).slice(i.lastIndex),i.lastIndex>0&&(!i.multiline||i.multiline&&"\n"!==e[i.lastIndex-1])&&(s="(?: "+s+")",d=" "+d,u++),a=new RegExp("^(?:"+s+")",o)),Oh&&(a=new RegExp("^"+s+"$(?!\\s)",o)),Ch&&(t=i.lastIndex),r=Ih.call(c?a:i,d),c?r?(r.input=r.input.slice(u),r[0]=r[0].slice(u),r.index=i.lastIndex,i.lastIndex+=r[0].length):i.lastIndex=0:Ch&&r&&(i.lastIndex=i.global?r.index+r[0].length:t),Oh&&r&&r.length>1&&Rh.call(r[0],a,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(r[n]=void 0)})),r});var Ph=wh;Xt({target:"RegExp",proto:!0,forced:/./.exec!==Ph},{exec:Ph});var Dh=Je,Lh=Ph,qh=c,Nh=Ua,Mh=ee,Uh=Nh("species"),Fh=RegExp.prototype,jh=!qh((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Bh="$0"==="a".replace(/./,"$0"),Hh=Nh("replace"),Gh=!!/./[Hh]&&""===/./[Hh]("a","$0"),$h=!qh((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var a="ab".split(e);return 2!==a.length||"a"!==a[0]||"b"!==a[1]})),Vh=function(e,t,a,r){var n=Nh(e),i=!qh((function(){var t={};return t[n]=function(){return 7},7!=""[e](t)})),c=i&&!qh((function(){var t=!1,a=/a/;return"split"===e&&((a={}).constructor={},a.constructor[Uh]=function(){return a},a.flags="",a[n]=/./[n]),a.exec=function(){return t=!0,null},a[n](""),!t}));if(!i||!c||"replace"===e&&(!jh||!Bh||Gh)||"split"===e&&!$h){var o=/./[n],s=a(n,""[e],(function(e,t,a,r,n){var c=t.exec;return c===Lh||c===Fh.exec?i&&!n?{done:!0,value:o.call(t,a,r)}:{done:!0,value:e.call(a,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:Bh,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:Gh}),u=s[0],d=s[1];Dh(String.prototype,e,u),Dh(Fh,n,2==t?function(e,t){return d.call(e,this,t)}:function(e){return d.call(e,this)})}r&&Mh(Fh[n],"sham",!0)},zh=it,Wh=v,Kh=function(e){return function(t,a){var r,n,i=String(Wh(t)),c=zh(a),o=i.length;return c<0||c>=o?e?"":void 0:(r=i.charCodeAt(c))<55296||r>56319||c+1===o||(n=i.charCodeAt(c+1))<56320||n>57343?e?i.charAt(c):r:e?i.slice(c,c+2):n-56320+(r-55296<<10)+65536}},Yh={codeAt:Kh(!1),charAt:Kh(!0)},Xh=Yh.charAt,Jh=function(e,t,a){return t+(a?Xh(e,t).length:1)},Zh=h,Qh=Ph,ep=function(e,t){var a=e.exec;if("function"==typeof a){var r=a.call(e,t);if("object"!=typeof r)throw TypeError("RegExp exec method returned something other than an Object or null");return r}if("RegExp"!==Zh(e))throw TypeError("RegExp#exec called on incompatible receiver");return Qh.call(e,t)},tp=z,ap=st,rp=v,np=Jh,ip=ep;Vh("match",1,(function(e,t,a){return[function(t){var a=rp(this),r=null==t?void 0:t[e];return void 0!==r?r.call(t,a):new RegExp(t)[e](String(a))},function(e){var r=a(t,e,this);if(r.done)return r.value;var n=tp(e),i=String(this);if(!n.global)return ip(n,i);var c=n.unicode;n.lastIndex=0;for(var o,s=[],u=0;null!==(o=ip(n,i));){var d=String(o[0]);s[u]=d,""===d&&(n.lastIndex=np(i,ap(n.lastIndex),c)),u++}return 0===u?null:s}]}));var cp=I,op=Math.floor,sp="".replace,up=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,dp=/\$([$&'`]|\d{1,2})/g,bp=Vh,fp=z,lp=st,hp=it,pp=v,yp=Jh,gp=function(e,t,a,r,n,i){var c=a+e.length,o=r.length,s=dp;return void 0!==n&&(n=cp(n),s=up),sp.call(i,s,(function(i,s){var u;switch(s.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,a);case"'":return t.slice(c);case"<":u=n[s.slice(1,-1)];break;default:var d=+s;if(0===d)return i;if(d>o){var b=op(d/10);return 0===b?i:b<=o?void 0===r[b-1]?s.charAt(1):r[b-1]+s.charAt(1):i}u=r[d-1]}return void 0===u?"":u}))},vp=ep,mp=Math.max,_p=Math.min;bp("replace",2,(function(e,t,a,r){var n=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,i=r.REPLACE_KEEPS_$0,c=n?"$":"$0";return[function(a,r){var n=pp(this),i=null==a?void 0:a[e];return void 0!==i?i.call(a,n,r):t.call(String(n),a,r)},function(e,r){if(!n&&i||"string"==typeof r&&-1===r.indexOf(c)){var o=a(t,e,this,r);if(o.done)return o.value}var s=fp(e),u=String(this),d="function"==typeof r;d||(r=String(r));var b=s.global;if(b){var f=s.unicode;s.lastIndex=0}for(var l=[];;){var h=vp(s,u);if(null===h)break;if(l.push(h),!b)break;""===String(h[0])&&(s.lastIndex=yp(u,lp(s.lastIndex),f))}for(var p,y="",g=0,v=0;v<l.length;v++){h=l[v];for(var m=String(h[0]),_=mp(_p(hp(h.index),u.length),0),E=[],S=1;S<h.length;S++)E.push(void 0===(p=h[S])?p:String(p));var T=h.groups;if(d){var A=[m].concat(E,_,u);void 0!==T&&A.push(T);var k=String(r.apply(void 0,A))}else k=gp(m,u,_,E,T,r);_>=g&&(y+=u.slice(g,_)+k,g=_+m.length)}return y+u.slice(g)}]}));var Ep=Uu.aTypedArrayConstructor;(0,Uu.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,a=new(Ep(this))(t);t>e;)a[e]=arguments[e++];return a}),Vu);var Sp=function(e){var t=0;for(t=0;0!==e;t++)e&=e-1;return t};function Tp(e,t){return e^t}function Ap(e,t,a){var r=e+Sp(t)+a;return String.fromCharCode(255&r)}function kp(e,t,a){var r=e-Sp(t)-a;return String.fromCharCode(255&r)}function Ip(e){for(var t,a=e.length,r=0;r<a&&r!==a-1;r+=2)t=e[r],e[r]=e[r+1],e[r+1]=t;return e}function Rp(e,t){var a=85,r=250;Ip(e);for(var n=0;n<e.length;n++){var i=e[n].charCodeAt(0),c=0===t?Ap:kp;n%2==1?a=i=Tp(a,c(i+r,n,21).charCodeAt(0)):r=i=Tp(r,c(i+a,n,21).charCodeAt(0)),e[n]=String.fromCharCode(i)}return Ip(e),e}function wp(e,t){var a,r=function(e,t){var a,r=(e[0].charCodeAt(0)^e[1].charCodeAt(0)^e[2].charCodeAt(0))-"0".charCodeAt(0),n=t-r-1,i=new Array(r);for(a=r;a>0;a--)i[r-a]=String.fromCharCode(e[t-r-2].charCodeAt(0)^e[t-r-1].charCodeAt(0)^e[t-a].charCodeAt(0));return{convertKey:e.substring(1,n+1).split(""),convertLen:n,method:i.join(""),methodLen:r}}(e,t=t||e.length),n=r.convertKey,i=r.convertLen,c=r.method,o="11"===c||"appdevice"===c||"app_v2"===c?0:1;switch(c){case"11":case"22":case"appdevice":case"webdevice":n=function(e,t,a){for(var r,n=85,i=250,c=0;c<t;c++){var o=e[c].charCodeAt(0);c%2==1?(r=n^o,n=o):(r=i^o,i=o),e[c]=0===a?kp(r,c,21):Ap(r,c,21)}return e}(n,i,o);break;case"app_v2":case"web_v2":n=function(e,t,a){t=t||e.length;var r=85,n=250;Ip(e);for(var i=0;i<t;i++){var c=e[i].charCodeAt(0),o=void 0,s=void 0;i%2==1?(s=Tp(r,c),r=c,o=n):(s=Tp(n,c),n=c,o=r);var u=(0===a?kp:Ap)(s,i,21).charCodeAt(0)-o;u<0&&(u+=256),e[i]=String.fromCharCode(u)}return Ip(e),e}(n,i,o)}var s=i-((a=n[0])>="0"&&a<="9"?a.charCodeAt(0)-"0".charCodeAt(0):a>="a"&&a<="z"?a.charCodeAt(0)-"a".charCodeAt(0)+10:255)-1,u=new Array(s+1);u[s]="";var d=0;for(d=0;d<s;d++)u[d]=n[d+1];return u.join("")}var Cp=aa((function e(){var t,a;ea(this,e);var r=new Promise((function(e,r){t=e,a=r}));return r.resolve=function(e){t(e),r.state="fulfilled"},r.reject=function(e){a(e),r.state="rejected",r.isBreak="DESTROYED"===e},r.state="pending",r}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]);function xp(e){var t=e||{},a=t.url,r=t.method,n=void 0===r?"GET":r,i=t.type,c=void 0===i?"arraybuffer":i,o=t.data,s=void 0===o?{}:o;return new Promise((function(e,t){var r=new window.XMLHttpRequest,i=n.toUpperCase(),o=[];if(Object.keys(s).map((function(e){o.push("k=".concat(s[e]))})),"GET"===i){var u="";u=a.indexOf("?")<0?"".concat(a,"?").concat(o.join("&")):(null==o?void 0:o.length)>0?"".concat(a,"&").concat(o.join("&")):a,r.open(i,u),c&&(r.responseType=c),r.send()}else{if("POST"!==i)throw new Error("xhr ".concat(i," is not supported"));r.open(i,a,!0),c&&(r.responseType=c),r.setRequestHeader("Content-Type","application/json"),r.send(JSON.stringify(s))}r.onload=function(){200===r.status||206===r.status?e(r):t(r)},r.onerror=function(){t(r)}}))}var Op,Pp,Dp,Lp,qp,Np,Mp,Up,Fp=o,jp=$.f,Bp=Function.prototype,Hp=Bp.toString,Gp=/^\s*function ([^ (]*)/,$p="name";function Vp(e){return zp.apply(this,arguments)}function zp(){return zp=Zt(oa().mark((function e(t){var a,r,n=arguments;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=!(n.length>1&&void 0!==n[1])||n[1],r=n.length>2&&void 0!==n[2]?n[2]:["encrypt","decrypt"],e.abrupt("return",new Promise((function(e,n){var i;"undefined"!=typeof crypto&&null!==(i=crypto)&&void 0!==i&&i.subtle?crypto.subtle.generateKey(t,a,r).then((function(t){e(t)})).catch((function(e){n(e)})):n(new Error(Pp.WebCryptoNotSupport.msg))})));case 3:case"end":return e.stop()}}),e)}))),zp.apply(this,arguments)}function Wp(){if("object"!==("undefined"==typeof crypto?"undefined":da(crypto))||"[object crypto]"!==Object.prototype.toString.call(crypto).toLowerCase()||void 0===crypto.subtle)throw new Dp(Pp.WebCryptoNotSupport.code,Pp.WebCryptoNotSupport.msg);return!0}function Kp(e){for(var t=window.atob(e),a=new Uint8Array(t.length),r=0;r<t.length;r++)a[r]=t.charCodeAt(r);return a.buffer}function Yp(e){return Xp.apply(this,arguments)}function Xp(){return(Xp=Zt(oa().mark((function e(t){var a,r,n,i,c;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.data,r=t.privateKey,n=Kp(a),Wp(),e.prev=3,e.next=6,crypto.subtle.decrypt({name:"RSA-OAEP"},r,n);case 6:i=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Dp(Pp.PrivateKeyDecryptFail.code,"".concat(Pp.PrivateKeyDecryptFail.msg,": ").concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||(null===e.t0||void 0===e.t0?void 0:e.t0.name)));case 12:return c=(new TextDecoder).decode(i),e.abrupt("return",c);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function Jp(e){for(var t="",a=0;a<e.length;a+=16e3){var r=e.subarray(a,a+16e3);t+=String.fromCharCode.apply(null,r)}return t}Fp&&!($p in Bp)&&jp(Bp,$p,{configurable:!0,get:function(){try{return Hp.call(this).match(Gp)[1]}catch(e){return""}}}),function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=[0,null],y=null,g=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)g.push(a[d]);g.p=n;for(var v=[];;)try{switch(c[t++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:s=c[t++],h[++l]=s<<24>>24;break;case 21:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=s<<16>>16;break;case 58:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 46:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 26:h[++l]=void 0;break;case 14:h[++l]=i;break;case 25:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 56:h[++l]={};break;case 12:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 59:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;h[++l]=b[d];break;case 70:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 29:u=h[l--],h[l]=h[l][u];break;case 65:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;b[d]=h[l--];break;case 35:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],b=h[l--],d[u]=b;break;case 48:u=h[l--],d=h[l--],b=h[l--],d[u]=b;break;case 3:for(u=c[t++],d=c[t++],b=g,b=g;u>0;--u)b=b.p;h[++l]=b,h[++l]=d;break;case 54:u=h[l--],h[l]-=u;break;case 63:u=h[l--],b=(d=h[l--])[u]++,h[++l]=b;break;case 31:u=h[l--],h[l]=h[l]===u;break;case 16:u=h[l--],h[l]=h[l]<u;break;case 62:u=h[l--],h[l]=h[l]>u;break;case 39:h[l]=!h[l];break;case 6:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 33:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 11:u=h[l--],(d=h[l--])[u]=h[l];break;case 57:u=h[l--],h[l]=h[l]instanceof u;break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,g],d._u=e,h[++l]=d;break;case 71:s=c[t++],u=h[l--],(b=[d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)}]).p=g,d._v=[u,s,b],d._u=e,h[++l]=d;break;case 60:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])[1]=t+s;break;case 20:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])&&!u[1]?(u[0]=3,u.push(t)):v.push([1,0,t]),t+=s;break;case 38:throw u=h[l--];case 69:if(d=(u=v.pop())[0],b=p[0],1===d)t=u[1];else if(0===d)if(0===b)t=u[1];else{if(1!==b)throw p[1];if(!y)return p[1];t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=p[1],p=[0,null],y=y[0]}else t=u[2],u[0]=0,v.push(u);break;case 22:for(u=h[l--],d=null;b=v.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)p=[1,u],t=d[2],d[0]=0,v.push(d);else{if(!y)return u;t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=u,p=[0,null],y=y[0]}break;case 37:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,y=[y,t,i,g,v],t=u[0],null==b&&(b=function(){return this}()),i=b,(g=[d].concat(d)).length=Math.min(u[1],s)+1,g.p=u[2],v=[]):(f=u.apply(b,d),h[++l]=f);break;case 19:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 75:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 18:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 15:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,u=h[l--],h[l]===u&&(--l,t+=s);break;case 2:--l;break;case 53:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(p=[0,null];(s=v.pop())&&!s[0];);if(!s){e:for(;y;){for(u=y[4];s=u.pop();)if(s[0])break e;y=y[0]}if(!y)throw e;t=y[1],i=y[2],g=y[3],v=y[4],y=y[0]}1===(u=s[0])?(t=s[2],s[0]=0,v.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,v.push(s),p=[3,e]):(t=s[3],s[0]=2,v.push(s),h[++l]=e)}}(s,[],0,t,a)}("504B010148cf39cc0000055ccd38cf48000005f62e00003b00012e0001302e00023b00012e0003302e00043b00012e0005303b0001163a000000432d02410002283b020c3b00023b0001250202283b020f3b0002250116283b030e0e3b0102250202283b030d0e3b01023b000219000125034100033b00013b00032300063b0003163b02111300410004283b0212382e000c0c000d2e000e0c000f3b00030c0010382e00110c00122e00130c0014383b00010c0015190000354600163b000225010c00171900010c00180c001925013546001a3a000000da2d012501354600243a0000015e2d002501023b0004163b0001281f2100073b000140001e1f12000640001e4b00063b000146001b4100023b0002072e001c1f12000f3b03013546001d3b000225014100023b00021200213b000246001e3b01011d3b01021d4100033b01043546001f3b00032501024b0020283b031b2e00203b01012e00213b01022e00222505023b0104354600232500021a16283b031b2e00203b01012e00213b01022e00242505023b0104354600232500021a163b0102354600250e3b0000250216283b020a283b02082500354600263a000001b84706250125014101023b0102354600250e3b0000250216283b04082500354600273a000001cf47013b010025021640011201683b00014600283b00012e00290b40000f003240050f008040080f008f40090f0093400c0f00b9400d0f00bd400f0f00d240160f011640170f01212e002a0f011b024b01213b02012100032e002b4102013b020212000b40093b00012300284b01043b02010600033b02030600033b02042712000b40083b00012300284b00e640053b0001230028283b06173b02013b02033b02042503163b000146002c41020240093b00012300284b00ba3b06002e002d1301263b02052e00041f2712000b400d3b00012300284b009b400c3b0001230028283b06193b02023b02062502163b000146002c4102023b020212000b400f3b00012300284b006c3b06002e002e130126283b0610283b06023b0202250125014102073b02032712000b40163b00012300284b003f38380c002f4102083b02073b020846002f3b0203303b0001354600302e00313b02082502163b0001354600302e00313b02072502163b0001354600322500164bfe931a163b0103354600250e3b0000250216283b020a283b02082500354600263a000003764702250125014101033b0103354600250e3b0000250216283b04082500354600273a0000038d47013b0100250216400112009a3b00014600283b00012e00290b40000f001940020f003e40040f005840060f006c2e002a0f0066024b006c3b0201272100043b0202272712000b40023b00012300284b00523b0001354600302e00313b020125021640043b0001230028283b0613383b02010c00193b02024600330c00332501163b000146002c4102013b0001354600302e00313b02012502163b0001354600322500164bff611a16140004410002453c00743b0203072e00341f1200062e00344b0009283b02093b020325012e00351f06000b3b0203460036072e00371f1200443b02034600383b020435460039400040614073406d4001400040004000250813014100013b00013b0203460038391200133b020346003a3b000113013b020346003a3916452a163b0101281f120022140004410006453c00183b020506000e3b02053546003b2e003c25012727410101453b000046003d4100033b02063b000340013e1200093b00034001364b00024000130141000440014100053b00053b0003101200193b00003b00051d3b00043b0005400136300300053f024bffdd3b01010600063b020746003e0600253b02070300020b46003e354600253b00022e003f3b0001190002354600163b000425012502021a163a0000006e2d034101173a000001802d064101183a0000018e2d004100023a0000033e2d024101193a0000034c2d004100033a0000042e2d0041011a3a000004ae2d0141011b28410001283a000000002d013b01142100013825014101143838151c210c00062e00070c00080c000938151c220c00062e000a0c00080c000b410115283a000000222d01283b010b3b0100250125014101161a160040106f687d72787d6e784379727f6e656c68104f485d52585d4e584359525f4e454c480f6c6e756a7d68794379727f6e656c680f4c4e554a5d48594359525f4e454c48176c6e756a7d68794379727f6e656c6843696c7b6e7d7879174c4e554a5d48594359525f4e454c4843494c5b4e5d5859047f737879254b797e3c7f6e656c68737b6e7d6c74653c5d4c553c756f3c7273683c6f696c6c736e68797803716f7b134b797e5f6e656c68735273684f696c6c736e681d58797f6e656c687573723c7e653c4e4f5d31535d594c3c7a7d75707978154c6e756a7d687957796558797f6e656c685a7d757004766f73720468656c79044c534f480671796874737803696e70022e2e08786e714368656c79032e322c076a796e6f757372036a7578067f73727f7d68047775786f0f70757f79726f79436e796d69796f6804787d687d0468747972086e796f6c73726f79066f686e75727b056c7d6e6f790d6c707d654370757f79726f796f076e796f73706a791b7b79684f797f6e79685779655e655775783c797278303c6a75783005303c7775780d6e796f6c73726f793c72697070066e7976797f68057f7d687f74057d6c6c706504717d6e77046b6e7d6c0472796468046c6e796a0379727800046f797268356f74736970783c6c6e736a7578793c6f797f6e79685779653c736e3c6a7578303c77796555783c7d72783c70757f79726f79496e70187b79685779654a7d706979263c6f773c756f3c79716c6865097f70797d6e5779656f067d7e6e696c68066e7968696e72046f68736c0a6c6e756a7d687957796509697278797a7572797806737e76797f680b75726f687d7268757d6879087a69727f687573720651737869707902737a0855726f687d727f79077b7968556879710c6f797f6e796877796570737b067079727b68740370737b0d47445b4f797f6e796877796541",{0:Error,1:JSON,get 2(){return atob},3:WebAssembly,4:Uint8Array,get 5(){return localStorage},6:Array,get 7(){return console},get 8(){return oa},get 9(){return da},get 10(){return Zt},get 11(){return ba},get 12(){return ia},get 13(){return Qt},get 14(){return ea},get 15(){return aa},get 16(){return wp},get 17(){return Cp},get 18(){return xp},get 19(){return Yp},get 20(){return Op},set 20(e){Op=e},get 21(){return Pp},set 21(e){Pp=e},get 22(){return Dp},set 22(e){Dp=e},get 23(){return Lp},set 23(e){Lp=e},get 24(){return qp},set 24(e){qp=e},get 25(){return Np},set 25(e){Np=e},get 26(){return Mp},set 26(e){Mp=e},get 27(){return Up},set 27(e){Up=e}},void 0);var Zp,Qp,ey,ty,ay,ry,ny,iy,cy=(Zp="vodTimestampSalt",Qp=function(e){return e.split("").map((function(e){return e.charCodeAt(0)}))},ey=function(e){return"0".concat(Number(e).toString(16)).substr(-2)},ty=function(e){return Qp(Zp).reduce((function(e,t){return e^t}),e)},function(e){return e.split("").map(Qp).map(ty).map(ey).join("")}),oy=(ny="vodTimestampSalt",iy=function(e){return(t=ny,t.split("").map((function(e){return e.charCodeAt(0)}))).reduce((function(e,t){return e^t}),e);var t},function(e){return e.match(/.{1,2}/g).map((function(e){return parseInt(e,16)})).map(iy).map((function(e){return String.fromCharCode(e)})).join("")}),sy={str2hex:function(e){if(""===e)return"";for(var t=[],a=0;a<e.length;a++)t.push(e.charCodeAt(a));return t},Base64ToHex:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=window.atob(e.replace(/-/g,"+").replace(/_/g,"/"));if(t){for(var r=[],n=0;n<a.length;n++)r.push(a.charCodeAt(n));return new Uint8Array(r).buffer}for(var i="",c=0;c<a.length;c++)i+="0".concat(a.charCodeAt(c).toString(16)).substr(-2);return i},checkUnionInfoExpired:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;if(0===t.indexOf(e)){var r=parseInt(oy(t.slice(e.length))),n=(new Date).getTime()-r;if(n>0&&n<=1e3*a)return!0;Up("UnionInfo timestamp expire!!!")}else Up("unionID and UnionInfo not match!!!");return!1},getUnionInfo:function(){return"".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").concat(cy((new Date).getTime().toString()))},StringToArrayBuffer:function(e){for(var t=new ArrayBuffer(e.length),a=new Uint8Array(t),r=0;r<e.length;r++)a[r]=e.charCodeAt(r);return t},ArrayBufferToString:function(e){var t=[];e=ArrayBuffer.isView(e)?e:new Uint8Array(e);for(var a,r=0;r<e.length;r++)a=e[r],t.push(String.fromCharCode(a));return t.join("")},isBase64:function(e){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(e)},fromCharCode:Jp,fromHex:function(e){for(var t=new Uint8Array(e.length/2),a=0;a<e.length;a+=2)t[a/2]=window.parseInt(e.substr(a,2),16);return t},toUTF8:function(e){for(var t=encodeURIComponent(e),a=unescape(t),r=new Uint8Array(a.length),n=0;n<a.length;++n)r[n]=a.charCodeAt(n);return r.buffer},toBase64:function(e,t){var a=Jp(e);t=void 0===t||t;var r=window.btoa(a).replace(/\+/g,"-").replace(/\//g,"_");return t?r:r.replace(/=*$/,"")}};e.EVENT_EME=void 0,function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=null,y=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)y.push(a[d]);y.p=n;for(var g=[];;)try{switch(c[t++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:s=c[t++],h[++l]=s<<24>>24;break;case 21:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=s<<16>>16;break;case 58:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 46:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 26:h[++l]=void 0;break;case 14:h[++l]=i;break;case 25:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 56:h[++l]={};break;case 12:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 59:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;h[++l]=b[d];break;case 70:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 29:u=h[l--],h[l]=h[l][u];break;case 65:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;b[d]=h[l--];break;case 35:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],b=h[l--],d[u]=b;break;case 48:u=h[l--],d=h[l--],b=h[l--],d[u]=b;break;case 3:for(u=c[t++],d=c[t++],b=y,b=y;u>0;--u)b=b.p;h[++l]=b,h[++l]=d;break;case 63:u=h[l--],b=(d=h[l--])[u]++,h[++l]=b;break;case 31:u=h[l--],h[l]=h[l]===u;break;case 27:u=h[l--],h[l]=h[l]!==u;break;case 39:h[l]=!h[l];break;case 6:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 33:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 11:u=h[l--],(d=h[l--])[u]=h[l];break;case 30:h[l]=void 0;break;case 5:u=h[l--],b=delete(d=h[l--])[u],h[++l]=b;break;case 45:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,y],d._u=e,h[++l]=d;break;case 71:s=c[t++],u=h[l--],(b=[d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)}]).p=y,d._v=[u,s,b],d._u=e,h[++l]=d;break;case 38:throw u=h[l--];case 22:for(u=h[l--],d=null;b=g.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)t=d[2],d[0]=0,g.push(d);else{if(!p)return u;t=p[1],i=p[2],y=p[3],g=p[4],h[++l]=u,p=p[0]}break;case 37:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,p=[p,t,i,y,g],t=u[0],null==b&&(b=function(){return this}()),i=b,(y=[d].concat(d)).length=Math.min(u[1],s)+1,y.p=u[2],g=[]):(f=u.apply(b,d),h[++l]=f);break;case 19:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 75:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 18:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 2:--l;break;case 53:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(;(s=g.pop())&&!s[0];);if(!s){e:for(;p;){for(u=p[4];s=u.pop();)if(s[0])break e;p=p[0]}if(!p)throw e;t=p[1],i=p[2],y=p[3],g=p[4],p=p[0]}1===(u=s[0])?(t=s[2],s[0]=0,g.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,g.push(s)):(t=s[3],s[0]=2,g.push(s),h[++l]=e)}}(s,[],0,t,a)}("504B010148cf39cc00000fbccd38cf4800000ff22e00013b00012e0002302e00033b00012e0004302e00053b00012e0005302e00063b00012e0006303b0001163a0000012d2d01410002283b020f3b00023b0001250202283b02113b0002382e002d0c002f3a000008be47020c0033382e00340c002f3a0000097f47010c0033382e00350c002f3a00000a1247000c0033382e00290c002f3a00000a5047010c0033382e00240c002f3a00000a7047010c0033382e004b0c002f3a00000b6a47000c0033382e001a0c002f3a00000b6c47030c0033382e00520c002f3a00000c0247010c0033382e00530c002f3a00000c1447010c0033382e00560c002f3a00000cb647010c0033382e00250c002f3a00000ce447010c0033382e007a0c002f3a00000f1047010c0033382e00820c002f3a00000fad47000c003319000d250216283b03120e3b0102250202283b03100e3b010225024100022e00073b0002230008383b000223000940001e3b000223000a3b03153b0002230000283b000223000b40003b000223000c3b030013003546000d25003546000e402425013b000223000f3a000001c92d013b000223002c1900003b000223001b3b00023546002d3b00012501023b00023546002e2e00033b000246002c2502023b0002163b01024100023b000246000b4100033b01024100043b0003271200021a163b01024600082e00101f1200332e00114100053b040135460012382e00131900010c001425014100063b04023b0414354600153b0006250113014100074b054f3b01024600082e00161f1200b92e00174100053b000106000b3b04023b000146001813012100993b04024000400040004043407040734073406840004000400040001500ed1500ef15008b1500a940791500d6404a1500ce1500a31500c840271500dc1500d5401d40211500ed400040004000402340084001401240104033403340334033403340334033403340334033403340334000400040004000401a400a4069406e4074406540724074407240754073407440224001402a19004313014100074b04893b01024600082e00191f12047c2e00174100053b000106000b3b04023b0001460018130121045f3b040240004000400240264070407340734068400040004000400015009a40041500f04079150098404040421500861500ab1500921500e6405b1500e0150088405f1500954000400040024006400640024000400040014000400140001500fc4001403c40004057400040524000404d40004048400040454000404140004044400040454000405240004020400040784000406d4000406c4000406e400040734000403d40004022400040684000407440004074400040704000403a4000402f4000402f400040734000406340004068400040654000406d40004061400040734000402e4000406d4000406940004063400040724000406f400040734000406f40004066400040744000402e400040634000406f4000406d4000402f40004044400040524000404d4000402f400040324000403040004030400040374000402f40004030400040334000402f400040504000406c40004061400040794000405240004065400040614000406440004079400040484000406540004061400040644000406540004072400040224000402040004076400040654000407240004073400040694000406f4000406e4000403d40004022400040344000402e400040304000402e400040304000402e40004030400040224000403e4000403c400040444000404140004054400040414000403e4000403c40004050400040524000404f40004054400040454000404340004054400040494000404e400040464000404f4000403e4000403c4000404b40004045400040594000404c400040454000404e4000403e40004031400040364000403c4000402f4000404b40004045400040594000404c400040454000404e4000403e4000403c400040414000404c4000404740004049400040444000403e4000404140004045400040534000404340004054400040524000403c4000402f400040414000404c4000404740004049400040444000403e4000403c4000402f40004050400040524000404f40004054400040454000404340004054400040494000404e400040464000404f4000403e4000403c4000404b40004049400040444000403e4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404d4000407a4000404140004041400040414000404140004041400040414000403d4000403d4000403c4000402f4000404b40004049400040444000403e4000403c400040434000404840004045400040434000404b40004053400040554000404d4000403e40004041400040314000403540004042400040594000405740004044400040344000407140004073400040494000403d4000403c4000402f400040434000404840004045400040434000404b40004053400040554000404d4000403e4000403c4000402f400040444000404140004054400040414000403e4000403c4000402f40004057400040524000404d4000404840004045400040414000404440004045400040524000403e400019022613014100073b00043546001a3b00033b00044600083b000446001b25033546001c3a000007b92d003a000008a22d0025023546001c3a000008af2d003a000008b12d002502021a163b010346001d0300010b281f2100073b000140001e1f12000640001e4b00093b00013546001e25004100023b0002271200093b05032e001f1301263b0103460020354600213b00022501023b01044600082e00101f1200293b04013b010446000f1d4100033b0002354600222e00233b0104354600243b000325012502024b00553b01044600082e00161f12001f3b0002354600222e00233b0104460025354600263b010425012502024b00293b01044600082e00191f12001c3b0002354600222e00233b0104460025354600263b010425012502023b0002354600273b01053b01074600282502163b0104354600292e002a2501161a163b0104354600292e002b2501163b0001281b0600073b000140001e1b0600063b00014600301200152e00100e2300083b00014600303b03010e46000f303b0001281b0600073b000140001e1b0600063b000146003012000a2e00100e2300084b005b3b0001281b0600073b000140001e1b0600063b00014600311200142e00160e2300083b00014600310e2300094b002c3b0001281b0600073b000140001e1b0600063b00014600321200112e00190e2300083b00014600320e2300093b00020600083b00020e2e00000b021a160e4600003b04151f12007f0e4600082e00101f06000e3b03010e46000f1d0300020b281b0600073b000240001e1b0600083b00020e4600001d1200293b03010e46000f1d0e4600001d3b03010e46000f1d3b0001303b03010e46000f1d3b041505024b00250e4600090e4600001d1200190e4600093b04151d0e4600093b0001300e4600093b041505023b00010e2300001a16382e00112e00361900020c0037382e00380c00391900010c003a382e003b0c0039382e003c0c0039382e003d0c00391900030c003e1900010e23001b1a163b0404354600012e003f3b00012502020e354600402e00013b00012502021a160e4100023a00000a7c2d01161900004100021900004100033b0505354600093b01012501354600413a00000aea2d01250102383b00020c00094100043b0501354600123b000425014100053b0001460047354600483b0514354600493b0005250125013546001c3a00000b5b2d003a00000b5d2d002502021a163b02013b00011d4100023b0614354600423b000125014100033b0614354600423b00022501410004382e00430c00443b0614354600453b00032a25020c00003b0614354600453b00042a25020c00464100053b0102354600213b00052501023b0103354600213b00054600002501021a161a163b0202354600292e004a2501161a160e4100040e46000a2100063b000146001d1200110e46000a2100093b04063546004c2500163b04073546004d3b00023b000325023546001c3a00000bd12d013a00000bdb2d0025023546001c3a00000be82d013a00000bf52d0025020e23000a0e46000a163b00013546004e2500163b0104354600292e004f2501163b0101354600503b00012501163b0104354600292e00512501163b00010e23000b1900003b00012300201a162e00544100023b040846005512008f0e354600563b000125014100033b040846005513004100043b0004354600573b00032e005825024100053b00051200153b0005354600593b00022e005a250240001d4b0001284100063b00061200153b0006354600593b00022e005b250240001d4b0001284100073b00071200153b0007354600593b00022e005c250240001d4b0001284100083b000812000228163b0001163b040946005d3546005e283b04023b000113012502410002283b040a283b040b3b0002250125014100033b0003160e4100023b040c13004100033b00033546005f2e00600e4600094600612502023a00000d1d2d003b00032300783b0003354600792500021a163b010346006240041f1201163b01014600234100013b01034600634100023b01024600082e00191f1200333b0501354600643b010346006325014100022e0007354600653b00024600662e00672502354600653b000246006825014100023b0002271200433b0102354600402e0006382e0007354600653b01024600094600612e00692502354600653b010346006a2e006b2502354600653b010346006c25010c006d2502021a163b050c13004100033b01014600473b000323006e2e006f3b00032300702a3b00032300713b00033546005f2e0072283b05093b000225012502023b01024600082e00191f1200103b0003354600732e00742e00582502023a00000e412d003b00032300783b0003354600793b01023546007a3b000125012501021a163b010346006240041f1200c13b010346006a1500c81b12003d3b0202354600402e0006382e0007354600653b01022e00752502354600653b010346006a2e006b2502354600653b010346006c25010c006d2502021a163b0202354600402e0005383b020246000c0c006d2502023b02022e000c3f023b02024600082e00191f1200153b0202354600533b010346006325014100014b000e3b06023b010346006313014100013b010346006e354600483b00012501354600763b0604460001354600263b06042e007725022501021a160e4600082e00191f120089284100023b040d13004100033b040e3b000113014100043b040946005d3546005e283b000425024100053b0003354600573b00052e007b25024100063b00063546007c2e007d250140001d1200333b00063546007c2e007e250140001d46007f40001d4600804100073b000712000f3b0408354600813b000725014100024b00043b0001163b0002163b04023b00011301160e35460083250002280e23000b1a162e0000410115283a000000002d013b011621000138250141011638410001283a0000002c2d013b011325014100023b00024101171a1600840377757805796e6e736e05594e4e534e0979727f6e656c6879780959525f4e454c485958135f58514350555f59524f59434f495f5f594f4f115f58514350555f59524f5943594e4e534e00097779654f656f687971047779656f0d79726f696e794c6e7371756f79056a757879730b70757f79726f794f68796c077b7968487571790868734f686e75727b0f7f70797d6e5779654f68736e7955780f736e7b326b2f327f70797d6e7779650677796575786f096f686e75727b757a65202c2d2e2f28292a2b24257d7e7f78797a2c2d2e2f28292a2b24257d7e7f78797a047775786f06687349485a24127f7371326b7578796a757279327d706c747d047f79727f0875727568587d687d177f73713271757f6e736f737a68326c707d656e797d78651679726f696e79517978757d5779656f5f6e797d68797807736c687573726f046874797209717978757d5779656f0d7f6e797d68794f796f6f757372195a7d757079783c68733c7f6e797d68793c6f796f6f75737232086f796f6f7573726f046c696f74107d7878596a79726850756f687972796e0771796f6f7d7b7911696c787d68794f796f6f7573725a69727f1370757f79726f794e796d69796f684e797d7865047e7572780f7b7972796e7d68794e796d69796f68067e697a7a796e047e7d75702f3c7a7d757079783c68733c79726f696e793c517978757d5779656f3c73723c54485150517978757d597079717972681c3c5a7d757079783c68733c7b7972796e7d68793c6e796d69796f68320d79727f6e656c68547d7278707909696c787d6879586e7102737203777965097f70797d6e5779656f086b7578796a757279096c707d656e797d7865056a7d70697909696c787d68795775780a6f7968536c687573726f046b797e710d75727568587d687d48656c796f1d7d6978757333716c28273c7f7378797f6f213e716c287d32282c322e3e0b7f73726879726848656c79117d697875735f7d6c7d7e7570756875796f1f6a7578797333716c28273c7f7378797f6f213e7d6a7f2d32282e7f2c2d793e246a7578797333716c28273c7f7378797f6f213e74796a2d322d322a32502d2e2c32252c3e186a75787973336b797e71273c7f7378797f6f213e6a6c243e116a757879735f7d6c7d7e7570756875796f0547595159410479717568077a736e597d7f74077a6e737154796403737f68037768650868735e7d6f792a28017706687d6e7b796806696c787d6879134f686e75727b48735d6e6e7d655e697a7a796e1e3c517978757d5779654f796f6f7573723c696c787d68793c7a7d757079780a7779656f5f747d727b79076e796f73706a791b6e796d69796f68517978757d5779654f656f6879715d7f7f796f6f0f7f6e797d6879517978757d5779656f253c5a7d757079783c68733c6e796d69796f683c7779653c6f656f6879713c7d7f7f796f6f320c6f7968517978757d5779656f223c7a7d757079783c68733c7f6e797d68793c517978757d5779656f3c737e76797f68086f7968696c595159136c7d6e6f794f796e6a796e4e796f6c73726f792a7468686c6f2633336f7f7479717d6f326471706f737d6c32736e7b336f737d6c3379726a7970736c7933095853514c7d6e6f796e0c6975726848734f686e75727b0f6c7d6e6f795a6e73714f686e75727b086879646833647170167b7968597079717972686f5e65487d7b527d7179524f0859726a7970736c79045e737865055a7d6970680c7a6e73715f747d6e5f737879057d6c6c706504736c7972035b5948096f796e6a796e494e500a6e797d78654f687d6879086e796f6c73726f79056c7d6e6f79067f73727f7d681570757f79726f795d7f6d69756f7568757372496e70122359646c6e796f6f4c707d65487377797221056873777972233c6e796d69796f683c7a7d757079783d3c163c3c3c3c3c3c3c3c3c3c6f687d68696f26066f687d68696f0c3c6f687d68696f48796468260a6f687d68696f4879646804787d687d0a7779654f796f6f7573720b7d6e6e7d657e697a7a796e0c6e796f6c73726f7948656c790f6b7568745f6e7978797268757d706f044c534f48106f79684e796d69796f6854797d78796e0c5f7372687972683168656c79273c6e796d69796f683c7a7d757079783d3c163c3c3c3c3c3c3c3c3c3c3c3c3c3c6f687d68696f26057f7d687f740f696c787d687934353c7a7d757079781273726e797d78656f687d68797f747d727b79046f7972781c7b796850757f79726f794e796d69796f685a6e737151796f6f7d7b790f7d6c6c70757f7d6875737233647170147b7968597079717972686f5e65487d7b527d7179134c707d654e797d786557796551796f6f7d7b79095f747d707079727b790a7f74757078527378796f09727378794a7d706979047d68737e0778796f686e7365126e7971736a795d707050756f687972796e6f",{0:Date,1:JSON,2:Uint8Array,3:Error,get 4(){return console},5:Object,6:Promise,get 7(){return navigator},get 8(){return window},9:String,10:decodeURIComponent,get 11(){return escape},get 12(){return XMLHttpRequest},get 13(){return DOMParser},14:Uint16Array,get 15(){return ia},get 16(){return Qt},get 17(){return aa},get 18(){return ea},get 19(){return Al},get 20(){return sy},get 21(){return ay},set 21(e){ay=e},get 22(){return e.EVENT_EME},set 22(t){e.EVENT_EME=t},get 23(){return ry},set 23(e){ry=e}},void 0);var uy,dy,by=ry,fy=S,ly=h,hy=Ua("match"),py=o,yy=n,gy=Ht,vy=bd,my=$.f,_y=at.f,Ey=function(e){var t;return fy(e)&&(void 0!==(t=e[hy])?!!t:"RegExp"==ly(e))},Sy=Zs,Ty=vh,Ay=Je,ky=c,Iy=He.enforce,Ry=Zi,wy=Ua("match"),Cy=yy.RegExp,xy=Cy.prototype,Oy=/a/g,Py=/a/g,Dy=new Cy(Oy)!==Oy,Ly=Ty.UNSUPPORTED_Y;if(py&&gy("RegExp",!Dy||Ly||ky((function(){return Py[wy]=!1,Cy(Oy)!=Oy||Cy(Py)==Py||"/a/i"!=Cy(Oy,"i")})))){for(var qy=function(e,t){var a,r=this instanceof qy,n=Ey(e),i=void 0===t;if(!r&&n&&e.constructor===qy&&i)return e;Dy?n&&!i&&(e=e.source):e instanceof qy&&(i&&(t=Sy.call(e)),e=e.source),Ly&&(a=!!t&&t.indexOf("y")>-1)&&(t=t.replace(/y/g,""));var c=vy(Dy?new Cy(e,t):Cy(e,t),r?this:xy,qy);return Ly&&a&&(Iy(c).sticky=!0),c},Ny=function(e){e in qy||my(qy,e,{configurable:!0,get:function(){return Cy[e]},set:function(t){Cy[e]=t}})},My=_y(Cy),Uy=0;My.length>Uy;)Ny(My[Uy++]);xy.constructor=qy,qy.prototype=xy,Ay(yy,"RegExp",qy)}Ry("RegExp"),e.isNativeFunction=void 0,e.checkMSEValid=void 0,e.checkEMEValid=void 0,function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=null,y=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)y.push(a[d]);y.p=n;for(var g=[];;)try{switch(c[t++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:s=c[t++],h[++l]=s<<24>>24;break;case 58:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 46:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 26:h[++l]=void 0;break;case 25:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 59:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;h[++l]=b[d];break;case 70:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 29:u=h[l--],h[l]=h[l][u];break;case 65:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;b[d]=h[l--];break;case 3:for(u=c[t++],d=c[t++],b=y,b=y;u>0;--u)b=b.p;h[++l]=b,h[++l]=d;break;case 44:h[l]=-h[l];break;case 31:u=h[l--],h[l]=h[l]===u;break;case 27:u=h[l--],h[l]=h[l]!==u;break;case 62:u=h[l--],h[l]=h[l]>u;break;case 6:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 33:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 11:u=h[l--],(d=h[l--])[u]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,y],d._u=e,h[++l]=d;break;case 22:for(u=h[l--],d=null;b=g.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)t=d[2],d[0]=0,g.push(d);else{if(!p)return u;t=p[1],i=p[2],y=p[3],g=p[4],h[++l]=u,p=p[0]}break;case 37:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,p=[p,t,i,y,g],t=u[0],null==b&&(b=function(){return this}()),i=b,(y=[d].concat(d)).length=Math.min(u[1],s)+1,y.p=u[2],g=[]):(f=u.apply(b,d),h[++l]=f);break;case 19:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 75:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 18:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 2:--l;break;case 53:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(;(s=g.pop())&&!s[0];);if(!s){e:for(;p;){for(u=p[4];s=u.pop();)if(s[0])break e;p=p[0]}if(!p)throw e;t=p[1],i=p[2],y=p[3],g=p[4],p=p[0]}1===(u=s[0])?(t=s[2],s[0]=0,g.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,g.push(s)):(t=s[3],s[0]=2,g.push(s),h[++l]=e)}}(s,[],0,t,a)}("504B010148cf39cc000002f7cd38cf4800000343184100023b0202354600023b000125011200193b0001354600033a0000009d2d023b000225024100024b006d283b02032e000435460005283b02043b01012501354600063b02032e00072e000813022e00092502354600063b02032e000a2e000813022e000b25022e000c250225014100033b0001072e000d1f1200183b00033546000e3b01023546000f3b0001250125014b00012a4100023b0002163b0001060009283b030c3b00022501163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a4100013b0205072e00111b1200073b0205164b00373b000106000c3b02062e00121d072e00111b12000b3b02062e00121d164b00173b02062e00131d072e00111b1200083b02062e00131d161a163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a4100013b0207072e00111b1200073b0207164b001d3b000106000c3b02062e00141d072e00111b1200083b02062e00141d161a163b000046001040003e0600083b000040001d1a1b1200093b000040001d4b00012a410001283b020d3b00012501410002283b020e3b000125014100032a4100043b00020600033b00031200621900004100053b00031200203b0005354600153b00032501023b0005354600153b00034600004600162501023b00021200203b0005354600153b00022501023b0005354600153b0002460000460017250102283b020c3b00052501120004184100043b0004161900004100013b0208072e00111b1200a93b0001354600153b02084600004600182501023b0001354600153b02094600004600192501023b0001354600153b020846000046001a2501023b020a072e00111b0600453b020b0300020b281f2100073b000240001e1f21000c3b000246001b0300020b281f2100073b000240001e1f12000640001e4b000c3b00023546001c2e001d250140012c1f12000d3b0001354600153b020a2501023b0001354600153b020b46001e2501023b000146001040001f120004184b0009283b020c3b00012501163a000000002d0141010c3a000000ad2d0041010d3a0000011c2d0041010e3a000001712d0041010f3a000002232d004101103b01004600004600014100013b01014600004600014100021a16001f096c6e73687368656c790868734f686e75727b07756f5d6e6e7d65066e7978697f790142067f73727f7d68076e796c707d7f79144732363723423867613435604740414033404041017b0340383a2f68734f686e75727b60347a69727f68757372353236233423214040403435603c7a736e3c323723342321404040413505382d3236230138087a69727f687573720468796f68047f7d7070067079727b687409697278797a7572797812517d727d7b7978517978757d4f73696e7f79114b797e577568517978757d4f73696e7f7913517d727d7b79784f73696e7f795e697a7a796e046c696f740c7d6c6c7972785e697a7a796e0f7d78784f73696e7f795e697a7a796e06696c787d68790d7f6e797d68794f796f6f757372107d7878596a79726850756f687972796e09696f796e5d7b797268077572787964537a085970797f686e73721b6e796d69796f68517978757d5779654f656f6879715d7f7f796f6f",{0:Object,1:Function,2:Array,3:RegExp,4:String,get 5(){return"undefined"!=typeof MediaSource?MediaSource:void 0},get 6(){return self},get 7(){return"undefined"!=typeof SourceBuffer?SourceBuffer:void 0},get 8(){return"undefined"!=typeof MediaKeySession?MediaKeySession:void 0},get 9(){return MediaKeys},get 10(){return"undefined"!=typeof atob?atob:void 0},get 11(){return navigator},get 12(){return e.isNativeFunction},set 12(t){e.isNativeFunction=t},get 13(){return uy},set 13(e){uy=e},get 14(){return dy},set 14(e){dy=e},get 15(){return e.checkMSEValid},set 15(t){e.checkMSEValid=t},get 16(){return e.checkEMEValid},set 16(t){e.checkEMEValid=t}},void 0);var Fy={exports:{}},jy=!c((function(){return Object.isExtensible(Object.preventExtensions({}))})),By=Ie,Hy=S,Gy=C,$y=$.f,Vy=jy,zy=Se("meta"),Wy=0,Ky=Object.isExtensible||function(){return!0},Yy=function(e){$y(e,zy,{value:{objectID:"O"+ ++Wy,weakData:{}}})},Xy=Fy.exports={REQUIRED:!1,fastKey:function(e,t){if(!Hy(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!Gy(e,zy)){if(!Ky(e))return"F";if(!t)return"E";Yy(e)}return e[zy].objectID},getWeakData:function(e,t){if(!Gy(e,zy)){if(!Ky(e))return!0;if(!t)return!1;Yy(e)}return e[zy].weakData},onFreeze:function(e){return Vy&&Xy.REQUIRED&&Ky(e)&&!Gy(e,zy)&&Yy(e),e}};By[zy]=!0;var Jy=Fy.exports,Zy=Xt,Qy=n,eg=Ht,tg=Je,ag=Jy,rg=Dc,ng=Hn,ig=S,cg=c,og=Bc,sg=an,ug=bd,dg=$.f,bg=xr,fg=Bn,lg=_c,hg=Hn,pg=Dc,yg=Cn,gg=Zi,vg=o,mg=Jy.fastKey,_g=He.set,Eg=He.getterFor,Sg={getConstructor:function(e,t,a,r){var n=e((function(e,i){hg(e,n,t),_g(e,{type:t,index:bg(null),first:void 0,last:void 0,size:0}),vg||(e.size=0),null!=i&&pg(i,e[r],{that:e,AS_ENTRIES:a})})),i=Eg(t),c=function(e,t,a){var r,n,c=i(e),s=o(e,t);return s?s.value=a:(c.last=s={index:n=mg(t,!0),key:t,value:a,previous:r=c.last,next:void 0,removed:!1},c.first||(c.first=s),r&&(r.next=s),vg?c.size++:e.size++,"F"!==n&&(c.index[n]=s)),e},o=function(e,t){var a,r=i(e),n=mg(t);if("F"!==n)return r.index[n];for(a=r.first;a;a=a.next)if(a.key==t)return a};return fg(n.prototype,{clear:function(){for(var e=i(this),t=e.index,a=e.first;a;)a.removed=!0,a.previous&&(a.previous=a.previous.next=void 0),delete t[a.index],a=a.next;e.first=e.last=void 0,vg?e.size=0:this.size=0},delete:function(e){var t=this,a=i(t),r=o(t,e);if(r){var n=r.next,c=r.previous;delete a.index[r.index],r.removed=!0,c&&(c.next=n),n&&(n.previous=c),a.first==r&&(a.first=n),a.last==r&&(a.last=c),vg?a.size--:t.size--}return!!r},forEach:function(e){for(var t,a=i(this),r=lg(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:a.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!o(this,e)}}),fg(n.prototype,a?{get:function(e){var t=o(this,e);return t&&t.value},set:function(e,t){return c(this,0===e?0:e,t)}}:{add:function(e){return c(this,e=0===e?0:e,e)}}),vg&&dg(n.prototype,"size",{get:function(){return i(this).size}}),n},setStrong:function(e,t,a){var r=t+" Iterator",n=Eg(t),i=Eg(r);yg(e,t,(function(e,t){_g(this,{type:r,target:e,state:n(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,a=e.last;a&&a.removed;)a=a.previous;return e.target&&(e.last=a=a?a.next:e.state.first)?"keys"==t?{value:a.key,done:!1}:"values"==t?{value:a.value,done:!1}:{value:[a.key,a.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),a?"entries":"values",!a,!0),gg(t)}};!function(e,t,a){var r=-1!==e.indexOf("Map"),n=-1!==e.indexOf("Weak"),i=r?"set":"add",c=Qy[e],o=c&&c.prototype,s=c,u={},d=function(e){var t=o[e];tg(o,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(n&&!ig(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return n&&!ig(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(n&&!ig(e))&&t.call(this,0===e?0:e)}:function(e,a){return t.call(this,0===e?0:e,a),this})};if(eg(e,"function"!=typeof c||!(n||o.forEach&&!cg((function(){(new c).entries().next()})))))s=a.getConstructor(t,e,r,i),ag.REQUIRED=!0;else if(eg(e,!0)){var b=new s,f=b[i](n?{}:-0,1)!=b,l=cg((function(){b.has(1)})),h=og((function(e){new c(e)})),p=!n&&cg((function(){for(var e=new c,t=5;t--;)e[i](t,t);return!e.has(-0)}));h||((s=t((function(t,a){ng(t,s,e);var n=ug(new c,t,s);return null!=a&&rg(a,n[i],{that:n,AS_ENTRIES:r}),n}))).prototype=o,o.constructor=s),(l||p)&&(d("delete"),d("has"),r&&d("get")),(p||f)&&d(i),n&&o.clear&&delete o.clear}u[e]=s,Zy({global:!0,forced:s!=c},u),sg(s,e),n||a.setStrong(s,e,r)}("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Sg);var Tg=Yh.charAt,Ag=He,kg=Cn,Ig="String Iterator",Rg=Ag.set,wg=Ag.getterFor(Ig);kg(String,"String",(function(e){Rg(this,{type:Ig,string:String(e),index:0})}),(function(){var e,t=wg(this),a=t.string,r=t.index;return r>=a.length?{value:void 0,done:!0}:(e=Tg(a,r),t.index+=e.length,{value:e,done:!1})}));var Cg=z,xg=hc,Og=function(){for(var e,t=Cg(this),a=xg(t.delete),r=!0,n=0,i=arguments.length;n<i;n++)e=a.call(t,arguments[n]),r=r&&e;return!!r};Xt({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Og.apply(this,arguments)}});var Pg=function(e){return Map.prototype.entries.call(e)},Dg=z,Lg=_c,qg=Pg,Ng=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{every:function(e){var t=Dg(this),a=qg(t),r=Lg(e,arguments.length>1?arguments[1]:void 0,3);return!Ng(a,(function(e,a,n){if(!r(a,e,t))return n()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var Mg=tt,Ug=z,Fg=hc,jg=_c,Bg=Vc,Hg=Pg,Gg=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(e){var t=Ug(this),a=Hg(t),r=jg(e,arguments.length>1?arguments[1]:void 0,3),n=new(Bg(t,Mg("Map"))),i=Fg(n.set);return Gg(a,(function(e,a){r(a,e,t)&&i.call(n,e,a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),n}});var $g=z,Vg=_c,zg=Pg,Wg=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{find:function(e){var t=$g(this),a=zg(t),r=Vg(e,arguments.length>1?arguments[1]:void 0,3);return Wg(a,(function(e,a,n){if(r(a,e,t))return n(a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Kg=z,Yg=_c,Xg=Pg,Jg=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(e){var t=Kg(this),a=Xg(t),r=Yg(e,arguments.length>1?arguments[1]:void 0,3);return Jg(a,(function(e,a,n){if(r(a,e,t))return n(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Zg=z,Qg=Pg,ev=function(e,t){return e===t||e!=e&&t!=t},tv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(e){return tv(Qg(Zg(this)),(function(t,a,r){if(ev(a,e))return r()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var av=z,rv=Pg,nv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(e){return nv(rv(av(this)),(function(t,a,r){if(a===e)return r(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var iv=tt,cv=z,ov=hc,sv=_c,uv=Vc,dv=Pg,bv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(e){var t=cv(this),a=dv(t),r=sv(e,arguments.length>1?arguments[1]:void 0,3),n=new(uv(t,iv("Map"))),i=ov(n.set);return bv(a,(function(e,a){i.call(n,r(a,e,t),a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),n}});var fv=tt,lv=z,hv=hc,pv=_c,yv=Vc,gv=Pg,vv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(e){var t=lv(this),a=gv(t),r=pv(e,arguments.length>1?arguments[1]:void 0,3),n=new(yv(t,fv("Map"))),i=hv(n.set);return vv(a,(function(e,a){i.call(n,e,r(a,e,t))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),n}});var mv=z,_v=hc,Ev=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(e){for(var t=mv(this),a=_v(t.set),r=0;r<arguments.length;)Ev(arguments[r++],a,{that:t,AS_ENTRIES:!0});return t}});var Sv=z,Tv=hc,Av=Pg,kv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(e){var t=Sv(this),a=Av(t),r=arguments.length<2,n=r?void 0:arguments[1];if(Tv(e),kv(a,(function(a,i){r?(r=!1,n=i):n=e(n,i,a,t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),r)throw TypeError("Reduce of empty map with no initial value");return n}});var Iv=z,Rv=_c,wv=Pg,Cv=Dc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{some:function(e){var t=Iv(this),a=wv(t),r=Rv(e,arguments.length>1?arguments[1]:void 0,3);return Cv(a,(function(e,a,n){if(r(a,e,t))return n()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var xv=z,Ov=hc;Xt({target:"Map",proto:!0,real:!0,forced:!1},{update:function(e,t){var a=xv(this),r=arguments.length;Ov(t);var n=a.has(e);if(!n&&r<3)throw TypeError("Updating absent value");var i=n?a.get(e):Ov(r>2?arguments[2]:void 0)(e,a);return a.set(e,t(i,e,a)),a}});var Pv={exports:{}};Pv.exports=function(e){var t=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function a(e,t){var a=e[0],r=e[1],n=e[2],i=e[3];r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&n|~r&i)+t[0]-680876936|0)<<7|a>>>25)+r|0)&r|~a&n)+t[1]-389564586|0)<<12|i>>>20)+a|0)&a|~i&r)+t[2]+606105819|0)<<17|n>>>15)+i|0)&i|~n&a)+t[3]-1044525330|0)<<22|r>>>10)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&n|~r&i)+t[4]-176418897|0)<<7|a>>>25)+r|0)&r|~a&n)+t[5]+1200080426|0)<<12|i>>>20)+a|0)&a|~i&r)+t[6]-1473231341|0)<<17|n>>>15)+i|0)&i|~n&a)+t[7]-45705983|0)<<22|r>>>10)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&n|~r&i)+t[8]+1770035416|0)<<7|a>>>25)+r|0)&r|~a&n)+t[9]-1958414417|0)<<12|i>>>20)+a|0)&a|~i&r)+t[10]-42063|0)<<17|n>>>15)+i|0)&i|~n&a)+t[11]-1990404162|0)<<22|r>>>10)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&n|~r&i)+t[12]+1804603682|0)<<7|a>>>25)+r|0)&r|~a&n)+t[13]-40341101|0)<<12|i>>>20)+a|0)&a|~i&r)+t[14]-1502002290|0)<<17|n>>>15)+i|0)&i|~n&a)+t[15]+1236535329|0)<<22|r>>>10)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&i|n&~i)+t[1]-165796510|0)<<5|a>>>27)+r|0)&n|r&~n)+t[6]-1069501632|0)<<9|i>>>23)+a|0)&r|a&~r)+t[11]+643717713|0)<<14|n>>>18)+i|0)&a|i&~a)+t[0]-373897302|0)<<20|r>>>12)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&i|n&~i)+t[5]-701558691|0)<<5|a>>>27)+r|0)&n|r&~n)+t[10]+38016083|0)<<9|i>>>23)+a|0)&r|a&~r)+t[15]-660478335|0)<<14|n>>>18)+i|0)&a|i&~a)+t[4]-405537848|0)<<20|r>>>12)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&i|n&~i)+t[9]+568446438|0)<<5|a>>>27)+r|0)&n|r&~n)+t[14]-1019803690|0)<<9|i>>>23)+a|0)&r|a&~r)+t[3]-187363961|0)<<14|n>>>18)+i|0)&a|i&~a)+t[8]+1163531501|0)<<20|r>>>12)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r&i|n&~i)+t[13]-1444681467|0)<<5|a>>>27)+r|0)&n|r&~n)+t[2]-51403784|0)<<9|i>>>23)+a|0)&r|a&~r)+t[7]+1735328473|0)<<14|n>>>18)+i|0)&a|i&~a)+t[12]-1926607734|0)<<20|r>>>12)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r^n^i)+t[5]-378558|0)<<4|a>>>28)+r|0)^r^n)+t[8]-2022574463|0)<<11|i>>>21)+a|0)^a^r)+t[11]+1839030562|0)<<16|n>>>16)+i|0)^i^a)+t[14]-35309556|0)<<23|r>>>9)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r^n^i)+t[1]-1530992060|0)<<4|a>>>28)+r|0)^r^n)+t[4]+1272893353|0)<<11|i>>>21)+a|0)^a^r)+t[7]-155497632|0)<<16|n>>>16)+i|0)^i^a)+t[10]-1094730640|0)<<23|r>>>9)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r^n^i)+t[13]+681279174|0)<<4|a>>>28)+r|0)^r^n)+t[0]-358537222|0)<<11|i>>>21)+a|0)^a^r)+t[3]-722521979|0)<<16|n>>>16)+i|0)^i^a)+t[6]+76029189|0)<<23|r>>>9)+n|0,r=((r+=((n=((n+=((i=((i+=((a=((a+=(r^n^i)+t[9]-640364487|0)<<4|a>>>28)+r|0)^r^n)+t[12]-421815835|0)<<11|i>>>21)+a|0)^a^r)+t[15]+530742520|0)<<16|n>>>16)+i|0)^i^a)+t[2]-995338651|0)<<23|r>>>9)+n|0,r=((r+=((i=((i+=(r^((a=((a+=(n^(r|~i))+t[0]-198630844|0)<<6|a>>>26)+r|0)|~n))+t[7]+1126891415|0)<<10|i>>>22)+a|0)^((n=((n+=(a^(i|~r))+t[14]-1416354905|0)<<15|n>>>17)+i|0)|~a))+t[5]-57434055|0)<<21|r>>>11)+n|0,r=((r+=((i=((i+=(r^((a=((a+=(n^(r|~i))+t[12]+1700485571|0)<<6|a>>>26)+r|0)|~n))+t[3]-1894986606|0)<<10|i>>>22)+a|0)^((n=((n+=(a^(i|~r))+t[10]-1051523|0)<<15|n>>>17)+i|0)|~a))+t[1]-2054922799|0)<<21|r>>>11)+n|0,r=((r+=((i=((i+=(r^((a=((a+=(n^(r|~i))+t[8]+1873313359|0)<<6|a>>>26)+r|0)|~n))+t[15]-30611744|0)<<10|i>>>22)+a|0)^((n=((n+=(a^(i|~r))+t[6]-1560198380|0)<<15|n>>>17)+i|0)|~a))+t[13]+1309151649|0)<<21|r>>>11)+n|0,r=((r+=((i=((i+=(r^((a=((a+=(n^(r|~i))+t[4]-145523070|0)<<6|a>>>26)+r|0)|~n))+t[11]-1120210379|0)<<10|i>>>22)+a|0)^((n=((n+=(a^(i|~r))+t[2]+718787259|0)<<15|n>>>17)+i|0)|~a))+t[9]-343485551|0)<<21|r>>>11)+n|0,e[0]=a+e[0]|0,e[1]=r+e[1]|0,e[2]=n+e[2]|0,e[3]=i+e[3]|0}function r(e){var t,a=[];for(t=0;t<64;t+=4)a[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return a}function n(e){var t,a=[];for(t=0;t<64;t+=4)a[t>>2]=e[t]+(e[t+1]<<8)+(e[t+2]<<16)+(e[t+3]<<24);return a}function i(e){var t,n,i,c,o,s,u=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=u;t+=64)a(d,r(e.substring(t-64,t)));for(n=(e=e.substring(t-64)).length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<n;t+=1)i[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(i[t>>2]|=128<<(t%4<<3),t>55)for(a(d,i),t=0;t<16;t+=1)i[t]=0;return c=(c=8*u).toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(c[2],16),s=parseInt(c[1],16)||0,i[14]=o,i[15]=s,a(d,i),d}function c(e){var t,r,i,c,o,s,u=e.length,d=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=u;t+=64)a(d,n(e.subarray(t-64,t)));for(r=(e=t-64<u?e.subarray(t-64):new Uint8Array(0)).length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],t=0;t<r;t+=1)i[t>>2]|=e[t]<<(t%4<<3);if(i[t>>2]|=128<<(t%4<<3),t>55)for(a(d,i),t=0;t<16;t+=1)i[t]=0;return c=(c=8*u).toString(16).match(/(.*?)(.{0,8})$/),o=parseInt(c[2],16),s=parseInt(c[1],16)||0,i[14]=o,i[15]=s,a(d,i),d}function o(e){var a,r="";for(a=0;a<4;a+=1)r+=t[e>>8*a+4&15]+t[e>>8*a&15];return r}function s(e){var t;for(t=0;t<e.length;t+=1)e[t]=o(e[t]);return e.join("")}function u(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function d(e,t){var a,r=e.length,n=new ArrayBuffer(r),i=new Uint8Array(n);for(a=0;a<r;a+=1)i[a]=e.charCodeAt(a);return t?i:n}function b(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function f(e,t,a){var r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e)),r.set(new Uint8Array(t),e.byteLength),a?r:r.buffer}function l(e){var t,a=[],r=e.length;for(t=0;t<r-1;t+=2)a.push(parseInt(e.substr(t,2),16));return String.fromCharCode.apply(String,a)}function h(){this.reset()}return s(i("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function t(e,t){return(e=0|e||0)<0?Math.max(e+t,0):Math.min(e,t)}ArrayBuffer.prototype.slice=function(a,r){var n,i,c,o,s=this.byteLength,u=t(a,s),d=s;return r!==e&&(d=t(r,s)),u>d?new ArrayBuffer(0):(n=d-u,i=new ArrayBuffer(n),c=new Uint8Array(i),o=new Uint8Array(this,u,n),c.set(o),i)}}(),h.prototype.append=function(e){return this.appendBinary(u(e)),this},h.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var t,n=this._buff.length;for(t=64;t<=n;t+=64)a(this._hash,r(this._buff.substring(t-64,t)));return this._buff=this._buff.substring(t-64),this},h.prototype.end=function(e){var t,a,r=this._buff,n=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=r.charCodeAt(t)<<(t%4<<3);return this._finish(i,n),a=s(this._hash),e&&(a=l(a)),this.reset(),a},h.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},h.prototype.setState=function(e){return this._buff=e.buff,this._length=e.length,this._hash=e.hash,this},h.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},h.prototype._finish=function(e,t){var r,n,i,c=t;if(e[c>>2]|=128<<(c%4<<3),c>55)for(a(this._hash,e),c=0;c<16;c+=1)e[c]=0;r=(r=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),n=parseInt(r[2],16),i=parseInt(r[1],16)||0,e[14]=n,e[15]=i,a(this._hash,e)},h.hash=function(e,t){return h.hashBinary(u(e),t)},h.hashBinary=function(e,t){var a=s(i(e));return t?l(a):a},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(e){var t,r=f(this._buff.buffer,e,!0),i=r.length;for(this._length+=e.byteLength,t=64;t<=i;t+=64)a(this._hash,n(r.subarray(t-64,t)));return this._buff=t-64<i?new Uint8Array(r.buffer.slice(t-64)):new Uint8Array(0),this},h.ArrayBuffer.prototype.end=function(e){var t,a,r=this._buff,n=r.length,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<n;t+=1)i[t>>2]|=r[t]<<(t%4<<3);return this._finish(i,n),a=s(this._hash),e&&(a=l(a)),this.reset(),a},h.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},h.ArrayBuffer.prototype.getState=function(){var e=h.prototype.getState.call(this);return e.buff=b(e.buff),e},h.ArrayBuffer.prototype.setState=function(e){return e.buff=d(e.buff,!0),h.prototype.setState.call(this,e)},h.ArrayBuffer.prototype.destroy=h.prototype.destroy,h.ArrayBuffer.prototype._finish=h.prototype._finish,h.ArrayBuffer.hash=function(e,t){var a=s(c(new Uint8Array(e)));return t?l(a):a},h}();var Dv=a(Pv.exports),Lv="KekHelper",qv="-----BEGIN PUBLIC KEY-----",Nv="-----END PUBLIC KEY-----";function Mv(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Uv(e){return new Uint8Array(e.split("").map((function(e){return e.charCodeAt(0)})))}function Fv(e,t,a){return jv.apply(this,arguments)}function jv(){return(jv=Zt(oa().mark((function e(t,a,r){var n,i,c,o;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=Uv(t),e.next=3,crypto.subtle.importKey("pkcs8",n,{name:r.name,hash:r.hash},!0,["decrypt"]);case 3:return i=e.sent,c=Uv(a),e.next=7,crypto.subtle.importKey("spki",c,{name:r.name,hash:r.hash},!0,["encrypt"]);case 7:return o=e.sent,e.abrupt("return",{privateKey:i,publicKey:o});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Bv(){return Hv.apply(this,arguments)}function Hv(){return(Hv=Zt(oa().mark((function e(){var t,a,r,n,i,c,o,s,u,d,b,f,l,h,p,y,g,v;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t={name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},a=null,r="",n="",i="",o=/kek=localstorage/gi.test("object"===("undefined"==typeof location?"undefined":da(location))?location.href:""),e.prev=7,s=performance.now(),!(u=o?localStorage.getItem("player_keypair"):null)){e.next=23;break}if(!((d=JSON.parse(u))&&d.privateKey&&d.publicKey)){e.next=23;break}return Up(Lv,"Found key pair in local storage",d),r=d.privateKey,n=d.publicKey,i=atob(d.publicKey.replace(qv,"").replace(Nv,"").replace(/\s/g,"")),c=atob(d.privateKey.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\s/g,"")),e.next=20,Fv(c,i,t);case 20:a=e.sent,b=performance.now(),Up(Lv,"importKeyPair took ".concat(b-s," milliseconds"));case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),Up(Lv,"importKeyPair error:",e.t0);case 28:if(a){e.next=46;break}return f=performance.now(),e.next=32,Vp(t);case 32:return a=e.sent,e.next=35,crypto.subtle.exportKey("pkcs8",a.privateKey);case 35:return l=e.sent,h=Mv(l),r=window.btoa(h),e.next=40,crypto.subtle.exportKey("spki",a.publicKey);case 40:p=e.sent,i=Mv(p),n=window.btoa(i),y=performance.now(),Up(Lv,"keyPair generated, took ".concat(y-f," milliseconds")),o&&localStorage.setItem("player_keypair",JSON.stringify({privateKey:r,publicKey:n}));case 46:return g="".concat(qv,"\n").concat(n,"\n").concat(Nv),Up(Lv,"Public key (PEM format): \n".concat(g)),v=btoa(Rp(i.split("")).join("")),Up(Lv,"drmKeK: ".concat(v)),e.abrupt("return",{keyPair:a,drmKeK:v});case 51:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}var Gv={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(e){this.toString=function(){return"CORRUPT: "+this.message},this.message=e},invalid:function(e){this.toString=function(){return"INVALID: "+this.message},this.message=e},bug:function(e){this.toString=function(){return"BUG: "+this.message},this.message=e},notReady:function(e){this.toString=function(){return"NOT READY: "+this.message},this.message=e}}};function $v(e,t){return Vv.apply(this,arguments)}function Vv(){return(Vv=Zt(oa().mark((function e(t,a){var r,n,i,c,o;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.iv,n=a.tagLength,i=a.data,c=null,t=sy.StringToArrayBuffer(t),i=sy.Base64ToHex(i,!0),e.prev=4,e.next=7,crypto.subtle.importKey("raw",t,"AES-GCM",!0,["encrypt","decrypt"]);case 7:o=e.sent,e.next=13;break;case 10:throw e.prev=10,e.t0=e.catch(4),"importKey: ".concat((null===e.t0||void 0===e.t0?void 0:e.t0.message)||e.t0);case 13:return e.prev=13,e.next=16,crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(r),tagLength:n},o,i);case 16:c=e.sent,e.next=30;break;case 19:if(e.prev=19,e.t1=e.catch(13),"OperationError"!==String(e.t1)){e.next=25;break}throw"Wrong Password.";case 25:if("InvalidAccessError"!==String(e.t1)){e.next=29;break}throw"Invalid Key";case 29:throw e.t1;case 30:return e.abrupt("return",new TextDecoder("utf-8").decode(c));case 31:case"end":return e.stop()}}),e,null,[[4,10],[13,19]])})))).apply(this,arguments)}function zv(e,t){return Wv.apply(this,arguments)}function Wv(){return(Wv=Zt(oa().mark((function e(t,a){var r,n,i,c,o,s,u;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.iv,n=a.tagLength,i=a.data,c=btoa(sy.ArrayBufferToString(r)),o=Gv.codec.base64.toBits(c),s=Gv.codec.utf8String.toBits(t),u=new Gv.cipher.aes(s),e.abrupt("return",Gv.codec.utf8String.fromBits(Gv.mode.gcm.decrypt(u,Gv.codec.base64.toBits(i),o,[],n)));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}Gv.cipher.aes=function(e){this._tables[0][0][0]||this._precompute();var t,a,r,n,i,c=this._tables[0][4],o=this._tables[1],s=e.length,u=1;if(4!==s&&6!==s&&8!==s)throw new Gv.exception.invalid("invalid aes key size");for(this._key=[n=e.slice(0),i=[]],t=s;t<4*s+28;t++)r=n[t-1],(t%s==0||8===s&&t%s==4)&&(r=c[r>>>24]<<24^c[r>>16&255]<<16^c[r>>8&255]<<8^c[255&r],t%s==0&&(r=r<<8^r>>>24^u<<24,u=u<<1^283*(u>>7))),n[t]=n[t-s]^r;for(a=0;t;a++,t--)r=n[3&a?t:t-4],i[a]=t<=4||a<4?r:o[0][c[r>>>24]]^o[1][c[r>>16&255]]^o[2][c[r>>8&255]]^o[3][c[255&r]]},Gv.cipher.aes.prototype={encrypt:function(e){return this._crypt(e,0)},decrypt:function(e){return this._crypt(e,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var e,t,a,r,n,i,c,o,s=this._tables[0],u=this._tables[1],d=s[4],b=u[4],f=[],l=[];for(e=0;e<256;e++)l[(f[e]=e<<1^283*(e>>7))^e]=e;for(t=a=0;!d[t];t^=r||1,a=l[a]||1)for(i=(i=a^a<<1^a<<2^a<<3^a<<4)>>8^255&i^99,d[t]=i,b[i]=t,o=16843009*f[n=f[r=f[t]]]^65537*n^257*r^16843008*t,c=257*f[i]^16843008*i,e=0;e<4;e++)s[e][t]=c=c<<24^c>>>8,u[e][i]=o=o<<24^o>>>8;for(e=0;e<5;e++)s[e]=s[e].slice(0),u[e]=u[e].slice(0)},_crypt:function(e,t){if(4!==e.length)throw new Gv.exception.invalid("invalid aes block size");var a,r,n,i,c=this._key[t],o=e[0]^c[0],s=e[t?3:1]^c[1],u=e[2]^c[2],d=e[t?1:3]^c[3],b=c.length/4-2,f=4,l=[0,0,0,0],h=this._tables[t],p=h[0],y=h[1],g=h[2],v=h[3],m=h[4];for(i=0;i<b;i++)a=p[o>>>24]^y[s>>16&255]^g[u>>8&255]^v[255&d]^c[f],r=p[s>>>24]^y[u>>16&255]^g[d>>8&255]^v[255&o]^c[f+1],n=p[u>>>24]^y[d>>16&255]^g[o>>8&255]^v[255&s]^c[f+2],d=p[d>>>24]^y[o>>16&255]^g[s>>8&255]^v[255&u]^c[f+3],f+=4,o=a,s=r,u=n;for(i=0;i<4;i++)l[t?3&-i:i]=m[o>>>24]<<24^m[s>>16&255]<<16^m[u>>8&255]<<8^m[255&d]^c[f++],a=o,o=s,s=u,u=d,d=a;return l}},Gv.bitArray={bitSlice:function(e,t,a){return e=Gv.bitArray._shiftRight(e.slice(t/32),32-(31&t)).slice(1),void 0===a?e:Gv.bitArray.clamp(e,a-t)},extract:function(e,t,a){var r=Math.floor(-t-a&31);return(-32&(t+a-1^t)?e[t/32|0]<<32-r^e[t/32+1|0]>>>r:e[t/32|0]>>>r)&(1<<a)-1},concat:function(e,t){if(0===e.length||0===t.length)return e.concat(t);var a=e[e.length-1],r=Gv.bitArray.getPartial(a);return 32===r?e.concat(t):Gv.bitArray._shiftRight(t,r,0|a,e.slice(0,e.length-1))},bitLength:function(e){var t,a=e.length;return 0===a?0:(t=e[a-1],32*(a-1)+Gv.bitArray.getPartial(t))},clamp:function(e,t){if(32*e.length<t)return e;var a=(e=e.slice(0,Math.ceil(t/32))).length;return t&=31,a>0&&t&&(e[a-1]=Gv.bitArray.partial(t,e[a-1]&2147483648>>t-1,1)),e},partial:function(e,t,a){return 32===e?t:(a?0|t:t<<32-e)+1099511627776*e},getPartial:function(e){return Math.round(e/1099511627776)||32},equal:function(e,t){if(Gv.bitArray.bitLength(e)!==Gv.bitArray.bitLength(t))return!1;var a,r=0;for(a=0;a<e.length;a++)r|=e[a]^t[a];return 0===r},_shiftRight:function(e,t,a,r){var n,i,c;for(void 0===r&&(r=[]);t>=32;t-=32)r.push(a),a=0;if(0===t)return r.concat(e);for(n=0;n<e.length;n++)r.push(a|e[n]>>>t),a=e[n]<<32-t;return i=e.length?e[e.length-1]:0,c=Gv.bitArray.getPartial(i),r.push(Gv.bitArray.partial(t+c&31,t+c>32?a:r.pop(),1)),r},_xor4:function(e,t){return[e[0]^t[0],e[1]^t[1],e[2]^t[2],e[3]^t[3]]},byteswapM:function(e){var t,a;for(t=0;t<e.length;++t)a=e[t],e[t]=a>>>24|a>>>8&65280|(65280&a)<<8|a<<24;return e}},Gv.codec.utf8String={fromBits:function(e){var t,a,r="",n=Gv.bitArray.bitLength(e);for(t=0;t<n/8;t++)3&t||(a=e[t/4]),r+=String.fromCharCode(a>>>8>>>8>>>8),a<<=8;return decodeURIComponent(escape(r))},toBits:function(e){e=unescape(encodeURIComponent(e));var t,a=[],r=0;for(t=0;t<e.length;t++)r=r<<8|e.charCodeAt(t),3&~t||(a.push(r),r=0);return 3&t&&a.push(Gv.bitArray.partial(8*(3&t),r)),a}},Gv.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(e,t,a){var r,n="",i=0,c=Gv.codec.base64._chars,o=0,s=Gv.bitArray.bitLength(e);for(a&&(c=c.substr(0,62)+"-_"),r=0;6*n.length<s;)n+=c.charAt((o^e[r]>>>i)>>>26),i<6?(o=e[r]<<6-i,i+=26,r++):(o<<=6,i-=6);for(;3&n.length&&!t;)n+="=";return n},toBits:function(e,t){e=e.replace(/\s|=/g,"");var a,r,n=[],i=0,c=Gv.codec.base64._chars,o=0;for(t&&(c=c.substr(0,62)+"-_"),a=0;a<e.length;a++){if((r=c.indexOf(e.charAt(a)))<0)throw new Gv.exception.invalid("this isn't base64!");i>26?(i-=26,n.push(o^r>>>i),o=r<<32-i):o^=r<<32-(i+=6)}return 56&i&&n.push(Gv.bitArray.partial(56&i,o,1)),n}},Gv.codec.base64url={fromBits:function(e){return Gv.codec.base64.fromBits(e,1,1)},toBits:function(e){return Gv.codec.base64.toBits(e,1)}},Gv.mode.gcm={name:"gcm",encrypt:function(e,t,a,r,n){var i,c=t.slice(0),o=Gv.bitArray;return n=n||128,r=r||[],i=Gv.mode.gcm._ctrMode(!0,e,c,r,a,n),o.concat(i.data,i.tag)},decrypt:function(e,t,a,r,n){var i,c,o=t.slice(0),s=Gv.bitArray,u=s.bitLength(o);if(r=r||[],(n=n||128)<=u?(c=s.bitSlice(o,u-n),o=s.bitSlice(o,0,u-n)):(c=o,o=[]),i=Gv.mode.gcm._ctrMode(!1,e,o,r,a,n),!s.equal(i.tag,c))throw new Gv.exception.corrupt("gcm: tag doesn't match");return i.data},_galoisMultiply:function(e,t){var a,r,n,i,c,o=Gv.bitArray._xor4;for(n=[0,0,0,0],i=t.slice(0),a=0;a<128;a++){for(!!(e[Math.floor(a/32)]&1<<31-a%32)&&(n=o(n,i)),c=!!(1&i[3]),r=3;r>0;r--)i[r]=i[r]>>>1|(1&i[r-1])<<31;i[0]=i[0]>>>1,c&&(i[0]=i[0]^225<<24)}return n},_ghash:function(e,t,a){var r,n,i=a.length;for(r=t.slice(0),n=0;n<i;n+=4)r[0]^=4294967295&a[n],r[1]^=4294967295&a[n+1],r[2]^=4294967295&a[n+2],r[3]^=4294967295&a[n+3],r=Gv.mode.gcm._galoisMultiply(r,e);return r},_ctrMode:function(e,t,a,r,n,i){var c,o,s,u,d,b,f,l,h,p,y,g,v=Gv.bitArray;for(h=a.length,p=v.bitLength(a),y=v.bitLength(r),g=v.bitLength(n),c=t.encrypt([0,0,0,0]),96===g?(o=n.slice(0),o=v.concat(o,[1])):(o=Gv.mode.gcm._ghash(c,[0,0,0,0],n),o=Gv.mode.gcm._ghash(c,o,[0,0,Math.floor(g/4294967296),4294967295&g])),s=Gv.mode.gcm._ghash(c,[0,0,0,0],r),b=o.slice(0),f=s.slice(0),e||(f=Gv.mode.gcm._ghash(c,s,a)),d=0;d<h;d+=4)b[3]++,u=t.encrypt(b),a[d]^=u[0],a[d+1]^=u[1],a[d+2]^=u[2],a[d+3]^=u[3];return a=v.clamp(a,p),e&&(f=Gv.mode.gcm._ghash(c,s,a)),l=[Math.floor(y/4294967296),4294967295&y,Math.floor(p/4294967296),4294967295&p],f=Gv.mode.gcm._ghash(c,f,l),u=t.encrypt(o),f[0]^=u[0],f[1]^=u[1],f[2]^=u[2],f[3]^=u[3],{tag:v.bitSlice(f,0,i),data:a}}};var Kv,Yv={webCryptoDecrypt:$v,decrypt:(Kv=Zt(oa().mark((function e(t,a){var r,n;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"==typeof a&&(a=JSON.parse(a)),!a.enableSoftwareAES&&null!==(r=crypto)&&void 0!==r&&r.subtle){e.next=7;break}return e.next=4,zv(t,a);case 4:n=e.sent,e.next=18;break;case 7:return e.prev=7,e.next=10,$v(t,a);case 10:n=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),e.next=17,zv(t,a);case 17:n=e.sent;case 18:return e.abrupt("return",n);case 19:case"end":return e.stop()}}),e,null,[[7,13]])}))),function(e,t){return Kv.apply(this,arguments)})};function Xv(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}return t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=null,y=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)y.push(a[d]);y.p=n;for(var g=[];;)try{switch(c[t++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:s=c[t++],h[++l]=s<<24>>24;break;case 58:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 46:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 26:h[++l]=void 0;break;case 14:h[++l]=i;break;case 25:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 56:h[++l]={};break;case 12:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 59:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;h[++l]=b[d];break;case 70:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 29:u=h[l--],h[l]=h[l][u];break;case 65:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;b[d]=h[l--];break;case 35:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],b=h[l--],d[u]=b;break;case 48:u=h[l--],d=h[l--],b=h[l--],d[u]=b;break;case 3:for(u=c[t++],d=c[t++],b=y,b=y;u>0;--u)b=b.p;h[++l]=b,h[++l]=d;break;case 32:u=h[l--],h[l]+=u;break;case 44:h[l]=-h[l];break;case 31:u=h[l--],h[l]=h[l]===u;break;case 27:u=h[l--],h[l]=h[l]!==u;break;case 62:u=h[l--],h[l]=h[l]>u;break;case 39:h[l]=!h[l];break;case 6:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 33:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 11:u=h[l--],(d=h[l--])[u]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,y],d._u=e,h[++l]=d;break;case 71:s=c[t++],u=h[l--],(b=[d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)}]).p=y,d._v=[u,s,b],d._u=e,h[++l]=d;break;case 38:throw u=h[l--];case 22:for(u=h[l--],d=null;b=g.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)t=d[2],d[0]=0,g.push(d);else{if(!p)return u;t=p[1],i=p[2],y=p[3],g=p[4],h[++l]=u,p=p[0]}break;case 37:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,p=[p,t,i,y,g],t=u[0],null==b&&(b=function(){return this}()),i=b,(y=[d].concat(d)).length=Math.min(u[1],s)+1,y.p=u[2],g=[]):(f=u.apply(b,d),h[++l]=f);break;case 19:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 75:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 18:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 15:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,u=h[l--],h[l]===u&&(--l,t+=s);break;case 2:--l;break;case 53:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(;(s=g.pop())&&!s[0];);if(!s){e:for(;p;){for(u=p[4];s=u.pop();)if(s[0])break e;p=p[0]}if(!p)throw e;t=p[1],i=p[2],y=p[3],g=p[4],p=p[0]}1===(u=s[0])?(t=s[2],s[0]=0,g.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,g.push(s)):(t=s[3],s[0]=2,g.push(s),h[++l]=e)}}(s,[],0,t,a)}e.TRANSFORM_IV=void 0,e.transformUnionKey=void 0,function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=null,y=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)y.push(a[d]);y.p=n;for(var g=[];;)try{switch(c[t++]){case 40:h[++l]=null;break;case 64:s=c[t++],h[++l]=s<<24>>24;break;case 21:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=s<<16>>16;break;case 58:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 46:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 26:h[++l]=void 0;break;case 14:h[++l]=i;break;case 25:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 56:h[++l]={};break;case 12:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 59:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;h[++l]=b[d];break;case 70:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 65:for(u=c[t++],d=c[t++],b=y;u>0;--u)b=b.p;b[d]=h[l--];break;case 35:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],b=h[l--],d[u]=b;break;case 11:u=h[l--],(d=h[l--])[u]=h[l];break;case 45:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,y],d._u=e,h[++l]=d;break;case 71:s=c[t++],u=h[l--],(b=[d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)}]).p=y,d._v=[u,s,b],d._u=e,h[++l]=d;break;case 22:for(u=h[l--],d=null;b=g.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)t=d[2],d[0]=0,g.push(d);else{if(!p)return u;t=p[1],i=p[2],y=p[3],g=p[4],h[++l]=u,p=p[0]}break;case 37:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,p=[p,t,i,y,g],t=u[0],null==b&&(b=function(){return this}()),i=b,(y=[d].concat(d)).length=Math.min(u[1],s)+1,y.p=u[2],g=[]):(f=u.apply(b,d),h[++l]=f);break;case 19:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 75:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 18:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 15:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,u=h[l--],h[l]===u&&(--l,t+=s);break;case 2:--l;break;case 53:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(;(s=g.pop())&&!s[0];);if(!s){e:for(;p;){for(u=p[4];s=u.pop();)if(s[0])break e;p=p[0]}if(!p)throw e;t=p[1],i=p[2],y=p[3],g=p[4],p=p[0]}1===(u=s[0])?(t=s[2],s[0]=0,g.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,g.push(s)):(t=s[3],s[0]=2,g.push(s),h[++l]=e)}}(s,[],0,t,a)}("504B010148cf39cc000000d9cd38cf480000011a3b0101354600010e3b0000250216283b0201283b02022500354600023a000000384702250125014101013b0101354600010e3b0000250216283b04022500354600033a0000004f47013b010025021640011200833b00014600043b00012e00050b40000f001440030f004640050f005a2e00060f0054024b005a3b0604354600073b0202250141020340033b00012300043b0603354600083b0203383b02010c00093b06050c000a1500800c000b2502163b000146000c4102043b00013546000d2e000e3b02042502163b00013546000f2500164bff781a163a000000002d024101063a0000000e2d004100013b0100405b40684045404b15009c1500ab1500ee40471500ca40041500f4400519000c13014600004101051a160010067e697a7a796e057d6c6c706504717d6e77046b6e7d6c0472796468046c6e796a0379727804747d6f740778797f6e656c6804787d687d02756a09687d7b5079727b6874046f797268067d7e6e696c68066e7968696e72046f68736c",{0:Uint8Array,get 1(){return Zt},get 2(){return oa},get 3(){return Yv},get 4(){return Dv},get 5(){return e.TRANSFORM_IV},set 5(t){e.TRANSFORM_IV=t},get 6(){return e.transformUnionKey},set 6(t){e.transformUnionKey=t}},void 0);var Jv="volcvui",Zv=new Map,Qv=new Map,em=void 0,tm=function(){function t(a){var r;return ea(this,t),(r=Qt(this,t)).EMEError=function(t){r.emit(e.EVENT_EME.ERROR,t)},r.encryptHandle=function(){var t;null===(t=r.eme)||void 0===t||t.emit(e.EVENT_EME.ENCRYPTED)},r.config=tm.defaultConfig,r.updateConfig(a),r.config.isEncrypt=!!(r.config.kid||r.config.drm||r.config.secretKey||r.config.drmKeyToken||r.config.keyValue),r.on(e.EVENT_EME.ENCRYPTED,r.encryptHandle),r}return ia(t,Al),aa(t,[{key:"destroy",value:function(){this.removeAllListeners(),this.eme&&(this.eme.destroy(),this.eme=null)}},{key:"log",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];Up.apply(void 0,[e].concat(a))}},{key:"setupEME",value:function(e){this.eme&&this.eme.setupEME(e)}},{key:"updateConfig",value:function(e){var t=this;Object.keys(e).map((function(a){void 0!==e[a]&&null!==e[a]&&(t.config[a]=e[a])})),this.log("set config",JSON.stringify(this.config))}},{key:"setOptions",value:function(e){this.eme&&this.eme.setOptions(e)}},{key:"getSecretKeyByToken",value:function(e,t,a){var r=this,n=this.config,i=e||n.kid,c=t||n.playDomain||"";c.indexOf("//")<0&&(c="//".concat(c));var o=a||n.drmKeyToken||"",s=sy.isBase64(o)?window.atob(o):o,u="".concat(c,"?").concat(s,"&PlayAuthIds=").concat(i,"&ssl=true");s.indexOf("DrmType=")<0&&(u+="&DrmType=".concat(n.useUnionInfoDRM?"webdevice":"22")),this.log("getSecretKeyByToken start, vid,",n.vid,u);var d=Promise.withResolvers(),b=d.promise,f=d.resolve,l=d.reject;return xp({type:"json",method:"GET",url:u}).then((function(e){var t,a,i=e.response;if("string"==typeof i&&(i=JSON.parse(i)),i&&null!==(t=i)&&void 0!==t&&t.Result&&(null===(a=i.Result.PlayAuthInfoList)||void 0===a?void 0:a.length)>0){var c=i.Result.PlayAuthInfoList[0].PlayAuthContent;r.log("getSecretKeyByToken end, vid,",n.vid,",res,",JSON.stringify(i)),f(c)}else l(new Error("getSecretKeyByToken end, vid, ".concat(n.vid,", response null")))})).catch((function(e){l(e)})),b}},{key:"getLicense",value:function t(){return Xv("504B010148cf39cc0000031ecd38cf48000003a1283b030325003546000b3a0000002247013b0100284005402019000219000125041640011202f53b000146000c3b00012e000d0b40000f004640030f0067400a0f0106400b0f010a40130f01e140160f01f040170f01f440190f01fa401a0f01fb40200f025640250f028840270f028e40290f029a2e000e0f0294024b029a382e000f0c00102a0c001141020140033b000123000c3b0401354600123b02013b040a2502163b04014600000302020b023b02024600130302030b023b02024600140302040b023b04042100033b02032100033b02042100093b04014600004600152712000b40273b000123000c4b022940053b000123000d3b04014600004600152100033b02044102073b02032100093b04040600033b04052712000b400b3b000123000c4b01f1400a3b000123000c283b05043b04033b02033b04043b04053b04063b05052506163b00014600164102073b04040600093b02070302050b281b0600073b020540001e1b0600063b020546001712000d3b02074600173b04041d4b00033b02074102083b040146000003020a0b023b020a46001803020b0b023b020a46001903020c0b023b04013546001a250041020d3b02082706000d3b04014600004600140302080b023b020b0600033b020d0600183b05063546001b3b020d46001c3b020d46001d3b020c25032712000b40193b000123000c4b011a3b0507072e001e1f2712000b40163b000123000c4b010340133b000123000c283b05073b02083b020d46001d2502163b000146001641020940173b000123000c4b00d73b05082e001f130126401a3b000123000c4b00c33b02084102093b04040600093b02070302060b281b0600073b020640001e1b0600063b02064600171200163b02093b02074600173b0404303b02073b02012300153b02093b0201230014183b0201230011283b04093b020125010240253b000123000c4b005d40203b000123000d3b0001352e00201d400525013b00012300212a3b02012300113b00014600213b0201230022283b040a3b020125010240293b000123000c4b001b183b0201230011283b04093b02012501023b0001354600232500164bfd061a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b01013546000525004100073b00074600064100083b00074600074100093b000746000841000a3b010135460007250035460009283b0102283b010325003546000a3a000000004700250125012501023b0008160024067f73727a757b036a7578037775780d7b796850757f79726f79496e7007786e7148656c790d6b7568744e796f73706a796e6f076c6e7371756f79076e796f73706a79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e654873777972096f797f6e7968577965087779654a7d70697903786e71046f797268097f70797d6e5779656f0f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73087a69727f68757372494874793c3e686e7d726f7a736e7149727573725779653e3c6f74736970783c7e793c6c6e736a757879783c75723c7f73727a757b696e7d687573723c7d6f3c7d3c7a69727f68757372057f7d687f7402682c05796e6e736e046f68736c",{get 0(){return t},1:Promise,get 2(){return Zt},get 3(){return oa},get 4(){return qp},get 5(){return em},get 6(){return sy},get 7(){return void 0!==e.transformUnionKey?e.transformUnionKey:void 0},8:Error,9:arguments},this)}},{key:"_tryGetSecretKeyByToken",value:(r=Zt(oa().mark((function e(t,a){var r,n,i,c;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=this.config,n=r.kid,i=r.drmKeyToken,c=r.playDomain,!(n&&i&&c)){e.next=14;break}return e.prev=2,e.next=5,this.getSecretKeyByToken(n,c,i);case 5:this.config.secretKey=e.sent,t.success=!0,e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),t.success=!1,t.error=e.t0,a(t);case 14:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,t){return r.apply(this,arguments)})},{key:"updateKid",value:function e(t){return Xv("504B010148cf39cc00000000cd38cf48000000170e46000006000d0e460000354600013b01022501021a1600020379717909696c787d6879577578",{get 0(){return e},1:arguments,2:t},this)}},{key:"getLicenseSecret",value:function t(){return Xv("504B010148cf39cc0000032ccd38cf480000048a3b01013546000c3b020246000b3b00012502021a163b01013546000c3b020246000d3b00012502021a16283b030725003546001e3a0000004c47013b010028400b401e19000219000125041640011202d93b000146001f3b00012e00200b40000f004140030f006240050f0089400a0f00e0400b0f00e4400f0f011540100f011940170f01d140180f01d540190f01ee401e0f025140230f02832e00210f027d024b0283382e00220c00232a0c002441020140033b000123001f3b0401354600253b02013b040f2502163b0201460024270600063b02014600262712000b40053b000123001f4b023e3b0001354600272e00282501163b04014600004600294102023b0202270600043b0407272712000b400b3b000123001f4b020b3b04040600033b04052712000b400b3b000123001f4b01f3400a3b000123001f283b05083b04032100032e002a3b04043b04052503163b000146002b410202400b3b00012300203b04083b050946002c1f2712000b40103b000123001f4b01ab400f3b000123001f283b050a3b02023b050b2502163b000146002b4102023b04061200273b04071200093b04074102024b00183b0202120012283b050c283b050d3b0202250125014102023b04014600000302030b023b020346002d0302040b023b020346002e0302050b023b04013546002f25004102063b02040600033b02060600183b050e354600303b02064600313b02064600323b020525032712000b40193b000123001f4b01003b04060600033b02022712000b40183b000123001f4b00e840173b000123001f283b050f3b02023b02064600322502163b000146002b4102023b050e354600333b0510354600343b0206460032250125013b02012300353b040612003d38380c00364102073b04042100033b05114102083b02023b02074600363b0208303b0401460007354600173b020725010240001e3b02012300294b00093b02023b0201230029183b0201230024283b040e3b020125010240233b000123001f4b0041401e3b00012300203b0001352e00371d400b25013b00012300382a3b02012300243b00014600383b0201230026283b040f3b02012501023b0001354600392500164bfd221a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b00024600054100073b00024600064100080e4600004600041200bf3b010113000e2300070e460007354600083b01024600090e46000a2502020e460007354600083b010246000b3a000000002d012502020e460007354600083b010246000d3a000000152d012502020e46000046000e4100093b00040600033b000912005b3b010346000f460010354600112500354600122e0013250140012c3e1200062e00144b00032e001541000a283b0104383b000a383b00093b0004200c0016250341000b0e460007354600173b000b2501023b0105354600182500163b010535460019250041000c3b000c46001a41000d3b000c46001841000e3b000c46001b41000f3b01053546001825003546001c283b0106283b010725003546001d3a0000002a4700250125012501023b000d16003a067f73727a757b036a7578037775780d7b796850757f79726f79496e7006696f79595159087779654a7d70697907786e7148656c790379717902737205594e4e534e08595159596e6e736e135f58514350555f59524f59434f495f5f594f4f0479717568115f58514350555f59524f5943594e4e534e13757268796e686e696f684f796e6a796e494e5009727d6a757b7d68736e09696f796e5d7b79726811687350737f7d707950736b796e5f7d6f79077572787964537a067f746e737179086b7578796a757279096c707d656e797d7865096f796e6a796e494e5009696c787d6879586e71076e796f73706a790d6b7568744e796f73706a796e6f076c6e7371756f79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e65487377797205796e6e736e067d7e6e696c68066e7968696e72096f797f6e796857796500046f797268174c4e554a5d48594359525f4e454c4843494c5b4e5d58590f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73134f686e75727b48735d6e6e7d655e697a7a796e04747d6f740a78797f6e656c68577965097f70797d6e5779656f057f7d687f7402682c046f68736c",{get 0(){return t},get 1(){return by},get 2(){return e.EVENT_EME},get 3(){return window},get 4(){return ra},5:Promise,get 6(){return Zt},get 7(){return oa},get 8(){return Lp},get 9(){return Op},get 10(){return Np},get 11(){return em},get 12(){return wp},get 13(){return atob},get 14(){return sy},get 15(){return e.transformUnionKey},get 16(){return Dv},get 17(){return ay},18:arguments},this)}},{key:"getSecretKey",value:function(){var e=this.config,t=e.vid,a=e.kid,r=e.getLicenseUrl,n=e.drmKeyToken,i=e.playDomain,c=e.secretKey;return r&&a?Lp(t||"",a,r):n&&a&&i?this.getSecretKeyByToken(a,i,n):c||(console.error("[DRM]DRM,getSecretKey args is invalid"),null)}},{key:"getKeyValue",value:function e(){return Xv("504B010148cf39cc00000000cd38cf480000004d0e4600004100013b00014600014100023b00014600024100033b00014600034100043b00014600044100053b0001460005410006283b01013b00023b00053b00033b00043b00063b01022506160006067f73727a757b036a7578037775780d7b796850757f79726f79496e70096f797f6e796857796507786e7148656c79",{get 0(){return e},get 1(){return qp},get 2(){return em},3:arguments},this)}},{key:"_getUnionInfo",value:function(){var e=this.config,t=e.drmType,a=e.sessionId;if(!e.useUnionInfoDRM||!a)return null;var r=t===Op.PRIVATE_ENCRYPT_UPGRADE?Qv:Zv;if(!r.get(a))throw new Error('The "sessionId" '.concat(a," for unionInfo is not valid"));return r.get(a)}}],[{key:"pluginName",get:function(){return"XGSecretKey"}},{key:"defaultConfig",get:function(){return{keyValue:void 0,kid:void 0,getLicenseUrl:"",secretKey:void 0,drm:void 0,drmType:void 0,vid:"",useUnionInfoDRM:!1,transformUnionKey:void 0,drmKeyToken:void 0,keyTokenExpiredDuration:void 0,playDomain:void 0,sessionId:Jv,useEME:!0,intertrustServerURL:void 0}}},{key:"updateUnionInfo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Jv,a=sy.getUnionInfo(e);return Zv.set(t,{unionID:e,unionInfo:a}),a}},{key:"generateEncryptInfo",value:(a=Zt(oa().mark((function e(){var t,a,r,n,i,c,o=arguments;return oa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=o.length>0&&void 0!==o[0]?o[0]:"",a=o.length>1&&void 0!==o[1]?o[1]:Jv,e.next=4,Bv();case 4:return r=e.sent,n=r.drmKeK,i=r.keyPair,c=sy.getUnionInfo(t),Qv.set(a,{unionID:t,unionInfo:c}),em=i,e.abrupt("return",{sessionId:a,unionInfo:c,drmKeK:n});case 11:case"end":return e.stop()}}),e)}))),function(){return a.apply(this,arguments)})}]);var a,r}(),am=tm;am.isWebAssemblySupported=Mp,e.XGSecretKey=am,e.aes4js=Yv,e.util=sy}(Me.exports);var Ue,Fe,je,Be,He,Ge=Me.exports;!function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=[0,null],y=null,g=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)g.push(a[d]);g.p=n;for(var v=[];;)try{switch(c[t++]){case 22:h[++l]=null;break;case 76:s=c[t++],h[++l]=s<<24>>24;break;case 58:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=s<<16>>16;break;case 7:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 64:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=+o[s];break;case 63:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 48:h[++l]=void 0;break;case 72:h[++l]=i;break;case 57:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 39:h[++l]={};break;case 61:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 33:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;h[++l]=b[d];break;case 42:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 70:u=h[l--],h[l]=h[l][u];break;case 60:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;b[d]=h[l--];break;case 4:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],b=h[l--],d[u]=b;break;case 75:u=h[l--],d=h[l--],b=h[l--],d[u]=b;break;case 59:for(u=c[t++],d=c[t++],b=g,b=g;u>0;--u)b=b.p;h[++l]=b,h[++l]=d;break;case 25:u=h[l--],h[l]+=u;break;case 11:u=h[l--],h[l]-=u;break;case 2:u=h[l--],h[l]*=u;break;case 29:u=h[l--],h[l]/=u;break;case 69:u=h[l--],h[l]%=u;break;case 34:h[l]=-h[l];break;case 52:u=h[l--],b=++(d=h[l--])[u],h[++l]=b;break;case 40:u=h[l--],b=(d=h[l--])[u]++,h[++l]=b;break;case 17:u=h[l--],b=(d=h[l--])[u]--,h[++l]=b;break;case 53:u=h[l--],h[l]=h[l]==u;break;case 19:u=h[l--],h[l]=h[l]!=u;break;case 15:u=h[l--],h[l]=h[l]===u;break;case 13:u=h[l--],h[l]=h[l]!==u;break;case 24:u=h[l--],h[l]=h[l]<u;break;case 28:u=h[l--],h[l]=h[l]<=u;break;case 62:u=h[l--],h[l]=h[l]>u;break;case 68:u=h[l--],h[l]=h[l]>=u;break;case 55:u=h[l--],h[l]=h[l]<<u;break;case 9:u=h[l--],h[l]=h[l]>>u;break;case 41:u=h[l--],h[l]=h[l]>>>u;break;case 20:u=h[l--],h[l]=h[l]&u;break;case 10:u=h[l--],h[l]=h[l]|u;break;case 18:h[l]=~h[l];break;case 27:u=h[l--],h[l]=h[l]^u;break;case 71:h[l]=!h[l];break;case 35:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 31:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 1:u=h[l--],(d=h[l--])[u]=h[l];break;case 38:u=h[l--],h[l]=h[l]in u;break;case 21:u=h[l--],h[l]=h[l]instanceof u;break;case 51:h[l]=void 0;break;case 14:u=h[l--],b=delete(d=h[l--])[u],h[++l]=b;break;case 32:h[l]=typeof h[l];break;case 23:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,g],d._u=e,h[++l]=d;break;case 3:s=c[t++],u=h[l--],(b=[d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)}]).p=g,d._v=[u,s,b],d._u=e,h[++l]=d;break;case 45:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])[1]=t+s;break;case 5:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])&&!u[1]?(u[0]=3,u.push(t)):v.push([1,0,t]),t+=s;break;case 16:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,v.push([2,0,t]),t+=s;break;case 56:throw u=h[l--];case 26:if(d=(u=v.pop())[0],b=p[0],1===d)t=u[1];else if(0===d)if(0===b)t=u[1];else{if(1!==b)throw p[1];if(!y)return p[1];t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=p[1],p=[0,null],y=y[0]}else t=u[2],u[0]=0,v.push(u);break;case 12:for(u=h[l--],d=null;b=v.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)p=[1,u],t=d[2],d[0]=0,v.push(d);else{if(!y)return u;t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=u,p=[0,null],y=y[0]}break;case 74:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,y=[y,t,i,g,v],t=u[0],null==b&&(b=function(){return this}()),i=b,(g=[d].concat(d)).length=Math.min(u[1],s)+1,g.p=u[2],v=[]):(f=u.apply(b,d),h[++l]=f);break;case 47:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 44:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 54:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 49:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,u=h[l--],h[l]===u&&(--l,t+=s);break;case 0:--l;break;case 46:u=h[l],h[++l]=u;break;case 36:for(b in u=c[t++],d=h[l--],s=[],d)s.push(b);g[u]=s;break;case 8:u=c[t++],d=h[l--],b=h[l--],(s=g[u].shift())?(b[d]=s,h[++l]=!0):h[++l]=!1;break;default:throw new Error("ioe")}}catch(e){for(p=[0,null];(s=v.pop())&&!s[0];);if(!s){e:for(;y;){for(u=y[4];s=u.pop();)if(s[0])break e;y=y[0]}if(!y)throw e;t=y[1],i=y[2],g=y[3],v=y[4],y=y[0]}1===(u=s[0])?(t=s[2],s[0]=0,v.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,v.push(s),p=[3,e]):(t=s[3],s[0]=2,v.push(s),h[++l]=e)}}(s,[],0,t,a)}("504B010185868188000073d18b83868500007a442100022e2a00003f00014a013600bd2100022e2a00022102183f00032f013f00044a023c00043f0005210200203523000b3f00052102002a000620353600152102002e2a00062100043f00074a023c00032c005b3f000521020120133600092102023f00082f0138162102012100044a013c00052102032100052a00092f013c00034c003c00062100062100052a00091836001b2100052e2a000a2100064a012100032100064b3b000628002cffd82102042e2a000b2100032100014a022e2a000c070000010917014a010c4c00333c00074c00333c0008162102052100024a012e2a000c070000011017014a012e2a000c070000016317014a012e2a000c070000018317014a010c2100012a000d0c2100013b0107012a000e2e2a000f3f00104a011f00033f00043b010801003f00112103042623000c2101082e2a00003f00124a013600122103042e2a00112101072101014a022c00092101072e2a00134a000c210001210306153600122103042e2a000b2100012101014a022c00032100010c2100012a000d0c162102012100013f00144a020c07000006c117023c0012070000087717043c00130700000a3517013c00140700000ae117023c00150700000af317013c00160700000b8917013c001e0700000bd717013c001f0700000be417013c00200700000c2817013c00210700000cc017013c00220700000ccd17013c00230700000ec417013c00240700000efe17003c00260700000ff817013c0027070000101b17023c0028070000104717023c002b070000112e17033c002c07000022cf17013c0033070000065817022100011f0001273b0001010400164c00332100010d3600062100012c0001273c00032103072a00173c000416210004272100034a023c00053f00183c00063f00043c00074c002103082a00192a001a3b0007012e2a001b3f001c4a010d36002e2100072e2a001d4c002100072e2a00022103183f001e2f013f00044a022e2a001f3f00204a014c01194a022c00033f00043b00070100070000068403013b000201002100032a00271f000f21030a2a00282e2a002921030a4a01002100032a002a1f000f21030a2a002b2e2a002921030a4a013c000a162100042100032100054a0200163b000501002100032a002c2300062100032a002c002100032a002d23000a2100032a002d3b000601002100032a002e2300062100032a002e002100032a002f23000a2100032a002f3b000801002100032a0030003f0031210304203f00320f3600063f00322c0009162103252103044a01132300091621001e3f00334a01004c01473c00103f003221030b201336000b21030b3f00342f012c00034c00333c00112100032a0041003900003c00193900003c001a3900003c001b4c003c001c163c001d272100033f005e0100272100033f005f01001621001f3f00603b0017014a011f002e2100173b001801002100032a00613600122100032e2a00612100182100074a022c0007210007210018193b00170100273c00254c1f4c1d4c1f4c1e4c1f4c1e4c1f4c1f4c1e4c1f4c1e4c1f39000c3c00294c1f4c1c4c1f4c1e4c1f4c1e4c1f4c1f4c1e4c1f4c1e4c1f39000c3c002a27070000118303013d0079070000119303033d007a07000011ae03003d007b07000011ba03033d007d07000011d303013d0082070000129503023d0084070000133b03023d0085070000138f03043d00f53c002d160700001ebe17004a004700070000216017002100033f01070100070000217b17002100033f010a013c002e070000219a17002100033f010c010007000021b517002100033f010e010007000021d017002100033f0110010007000021eb17002100033f01120100070000220617002100033f01140100070000222117002100033f01160100070000223c17002100033f01180100070000225717002100033f011a0100070000227217002100033f011c013c0030070000229117002100033f011e013c003107000022b017002100033f0120013c003221002c2100033f01270100070000245a17052100033f012b01002100122100033f012c010007000025f117012100033f012d0100070000262903003b001d01002100332100033f012e01002100032a012f3600413f00052100032a012f20352300102100032a012f3900012100033f012f01002100032a012f2a00094c003e360013162100032a012f2e2a01304a004a00002cffde162100334a00002100012a01310c162103022100014a012e2a000c070000067117014a0100300c16210102272100012a00153d00154a0100300c2105092f003c00022100022e2a00213f00222100014c01474a03003f00232100023f002401002100022e2a0025164a01002105032100022a00262f010c2100013600161607000006e1170321010d2100012100024a032c00033f00040c210002210003193c00042100023c00052100012100054623000821000521000444473600083b000534002cffe32100052100020b4c103e2300062100012a00352300032102113600192102112e2a00362100012e2a00352100022100054a024a010c3f00043c0006210002210005183601202100013b000228463c00073a0080210007143600f34c3f2100013b00022846143c00083a00c03a00e021000714133600b54c3f2100013b00022846143c00093a00e03a00f021000714353600174c0f210007144c0c372100084c06370a2100090a2c00234c07210007144c12372100084c0c370a2100094c06370a4c3f2100013b00022846140a3b00070107000100001836001821000621050c2e2a00372100074a01193b000601002c003721000707000100000b3c000a21000621050c2e2a0037070000d80021000a4c0a090a070000dc003a03ff21000a140a4a02193b000601002c001f21000621050c2e2a00374c1f210007144c06372100080a4a01193b000601002c001521000621050c2e2a00372100074a01193b000601002cfed62100060c2100044c003e473600034c000c2100033c0005210003210004194c010b3c00064c003c00072100072100012a00091836017a2100012e2a000a2100074a013c0008210008070000d80044230009210008070000dfff1c23002607000100003a03ff210008144c0a37193a03ff2100012e2a000a3b0007344a01140a3b000801002100084c7f1c36001b210003210006443600032c01162100082100023b0003284b2c01002100083a07ff1c3600392100034c0119210006443600032c00ee3a00c02100084c06090a2100023b00032801003a00804c3f210008140a2100023b00032801002c00bd210008070000ffff1c36004f2100034c0219210006443600032c00a93a00e02100084c0c090a2100023b00032801003a00802100084c06094c3f140a2100023b00032801003a00804c3f210008140a2100023b00032801002c00622100034c0319210006443600032c005a3a00f02100084c12090a2100023b00032801003a00802100084c0c094c3f140a2100023b00032801003a00802100084c06094c3f140a2100023b00032801003a00804c3f210008140a2100023b00032801003b000734002cfe794c0021000221000301002100032100050b0c4c003c00024c003c00032100032100012a0009183600912100012e2a000a2100034a013c0004210004070000d80044230009210004070000dfff1c23002607000100003a03ff210004144c0a37193a03ff2100012e2a000a3b0003344a01140a3b000401002100044c7f1c3600073b0002342c002a2100022100043a07ff1c3600054c022c0013210004070000ffff1c3600054c032c00024c04193b000201003b000334002cff622100020c21010c2e2a00382100012100024a0200300c2100013b010b010021040d2100012f013b010c012101033f0039010021040e2100012f012101033f003a010021040f2100012f013b010e012101033f003b01002104032100012f013b010d012101033f003c01002104102100012f012101033f003d01002104112100012f012101033f003e01002104122100012f012101033f003f01002104132100012f012101033f00400100300c2101032a004223000c2101032e2a00422100014a01001621010a3f0043210001193f0044193b0001014a01004c00473b011001002100013f0045193b000101002104042a00462100012f0138300c2100012e2a00003f00474a010c05000e3c00021621011e2100024a01001a2d002e210001210117352300032101083600092104032101082f010c21010236000a162101022100014a010c3f0048381a300c2100012a00094c003e36008a2100012e2a00494a003c00023f000521000220133600662100022a004a3c00033f004b21000320353600314c00332100022a004c0f36000f16162101222100034a014a002c001216162101222100034a012100022a004c4a012c001d162100034c00332100022a004c0f360004162c00062100022a004c4a01002c000a162100022101034a01002cff6a300c21010f2e2a000f2100014a010c210001483f004d01002100014c100b483f004e01000700000d801701483f004f01000700000d931700483f005001000700000da21701483f005101000700000db51700483f005201000700000dc41701483f005301000700000dd41701483f005401000700000dfa1700483f005501000700000e0c1701483f005601000700000e321700483f005701000700000e441702483f005801000700000e7c1700483f005901000700000e9d1700483f005a0100300c21000121020e482a004e4c04194c02094b300c21020e482a004e4c04194c0209460c21000121020e482a004e4c08194c02094b300c21020e482a004e4c08194c0209460c21000121020e482a004e4c02094b300c2100013600054c012c00024c003b0001010021000121020c482a004e4c0c194c000a0100300c4c0021020c482a004e4c0c194c000a46130c2100013600054c012c00024c003b0001010021000121020c482a004e4c0d194c000a0100300c4c0021020c482a004e4c0d194c000a46130c482e2a004f2100014a0100482e2a00512100024a0100482e2a00534c004a0100482e2a00544c01474a0100482e2a00564c01474a0100300c21020e482a004e4c0209463c00012100014c011921020e482a004e4c02094b300c21020e482a004e4c0209463c00012100014c010b21020e482a004e4c020901004c012100010f0c0500043c00021a2d002e2101092e2a005b21000121010b2a005c0b070000ffff194c10294a0100162101162101092a005d4a01004c010c1a300c2101262a0062473600e9273f00633d00643f00633d00653f00203d00663f00203d00673f00683d00693f0031210414203f00320f3600063f00322c0009162104252104144a01352300062104142a006a2300092104142a006a4c00461f00033f006b2e2a00023f006c3f006d4a023f006e193d006f2101061f00033f00183d006d3c000121012524043b0002080436002a4c0033210125210002460f36000a2100012100020e2c000e2101252100024621000121000201002cffce3900003c000321000124053b0002080536001c2100032e2a00702100023f00711921000121000246194a01002cffdc2100032101260400622101262a00620c2100014c04454c00352300162100014c64454c00131f000a2100013a0190454c00350c4c003c00034c003c00042100042100021c3600142100032100013b00042846193b000301002cffe22100030c2104152100012e2a00724a002f013c00032100024c003e3600c9162101272100032e2a00734a004a013c00042100032e2a00744a003c00052100043600062101292c000321012a210005463c00062100022100062100032e2a00754a000b3e4736001b2100032e2a00762100032e2a00754a00210002194a01002100030c2100022100062100032e2a00754a000b4c01190b3b000201002100032e2a00764c014a01002100054c0b183600122100032e2a00772100054c01194a012c00212100032e2a00774c004a01002100032e2a00782100032e2a00734a004c01194a01002cff2e2100030c2100034c003e3600062100032c000c162101142100014a014c01193c00042104162100042f013c0005162101132100012100054c002100052a00094a043c000621000223000a2100062100053f000901002100050c1621022e2100014c10194a014c10190c2102232100012f012e2a00582100022100034a020021000138300c1621021e3f00044a0100300c21020d2e2a007c210001210002210002210003194a0300300c21020d2a00093c000440007e3c00052100014c00293b0001012100053e3600044c01470c4c013c00062100064c041c36008c2100044c0140007f2100061d19023c00072105172e2a00802100072100010706000000194a023b00070100162102242105172e2a00802100052105172e2a00812100012100074a023b00020107000100003b000301454c003e230013210002210003210002210003450b193b000201002100024a024a013600044c00470c2100064c02023b000601002cff6b4c01470c4c003c0003162102264a002e2a008307000012b117024a01004c000c210102210103193c000321000321030e2101014c0421000202194c020901001607000012f517032100012100034a02002101032100012a00094c0119193b01030100300c4c003c00042100042100012a00091836001f2100012e2a000a2100044a0121040c4c003b0002280a4b3b000434002cffd42100031f000c4c0021040c4c002100020a0100300c162102264a003c00032100032a000921020e2100014c02094b4c003c00042100032e2a0083070000137b17014a010021000421020e2100024c020901004c000c2101042100012a00094c0119193b01040100300c1607000013a617042100012100022100032100044a040c070000176517033c000c07000017a917023c000d07000017b917023c000e070000184b17013c000f07000018fc17013c001021030e2100044c28194c0209463c00052721030e2100044c0209463d008621030e2100044c04194c0209463d008721030e2100044c08194c0209463d008821030e2100044c0c194c0209463d008921030e2100044c10194c0209463d008a21030e2100044c14194c0209463d008b21030e2100044c18194c0209463d008c21030e2100044c1c194c0209463d008d21030e2100044c20194c0209463d008e21030e2100044c24194c0209463d008f21000536000c162103122100054a012c00033f00043d00903c0006162103122100034a013c0007273f00913d00923f00933d00943f00953d00963f00973d00983f00993d009a3f009b3d009c3f009d3d009e3f00933d009f3f009d3d00a03f00923d00a13f00a23d00a33f00933d00a43f009d3d00a53f00a63d00a73f00a83d00a93f00aa3d00ab3f00ac3d00ad3f00ae3d00af3f00b03d00b13f00b23d00b33f00b43d00b53f00b63d00b73f00b83d00b93f00ba3d00bb3f00bc3d00bd3f00be3d00bf3f00c03d00c13f00a63d00c23c000821000824133b000908133600212100072e2a00022106182100093f007a2f02210008210009464a023c00072cffd73f00c33f00c43f00c53f00c63f00c73f00c83f00c93900073c000a3f00ca3f00cb3f00cc3f00cd3f00ce3f00cf3f00d03f00d13f00d23f00d33f00d43f00d539000c3c000b2707000019af03013d00da07000019c403013d00db07000019cf03013d009707000019e403013d00dc07000019ef03013d00a20700001a0803013d00aa0700001a1703013d00ac0700001a2903013d00de0700001a4103013d00df0700001a4b03013d00ae0700001a5a03013d00b00700001a9503013d00e00700001ad003013d00b20700001ae203013d00b40700001af103003d00e20700001af503013d00e50700001b1703013d00b60700001b2603003d00e70700001b2a03013d00b80700001b3603013d00ba0700001c2d03013d00bc0700001d2003013d00be0700001d2703013d00c00700001e3103013d00a60700001e4a03013d00a80700001e5503013d00f00700001eb303013d00f10700001eba03003d00f33c001121001124143b000908143600382100072e2a00f42100094a012300252100072e2a00022106182100093f007a2f022100112e210009462100064a014a023b000701002cffc01621032c2100074c01474a023c00122100122a00092100023e3600054c002c0016162103152100122100014a02002100122a00094c010b0c3f004b210001203536000c2100012e2a00d64a002c00092100011f00033f00043c00042100042a0009210002183600102100034c0046210004193c00042cffe32100040c1621010c2100012100023f00d74a030c070000182b17013c00034c00162100032100012e2a00734a002100022e2a00734a000b4a013b0004010f2300204c00162100032100012e2a00744a002100022e2a00744a000b4a013b0004010f23001d162100032100012e2a00754a002100022e2a00754a000b4a013b000401002100040c2100014c00183600064c01222c00102100014c003e3600054c012c00024c000c2100012e2a00d84a004c003100224c013100334c023100324c033100404c0431004e4c0531005c4c0631006d002c007f2107152100012e2a00734a004c010b4c0b4c1d2f030c2100010c2107152100012e2a00734a004c004c032f030c2107152100012e2a00734a004c004c022f030c2107152100012e2a00734a004c004c012f030c2107152100012e2a00734a004c010b4c0b4c1f2f030c2107152100012e2a00734a004c010b4c0b4c1e2f030c300c1621042b2107152100012a008b3a076c194c004c012f032100012a008d4a023c00022107152100022e2a00734a004c004c042f033c00032107152100022e2a00734a004c01194c004c042f033c00041621010f2100034a013c00051621010f2100044a013c00061621010e2100052100024a024c001c36002d1621010e2100062100024a024c001c36000f2100022e2a00734a004c01192c00092100022e2a00734a002c000c2100022e2a00734a004c010b0c21020a2100012a008c462e2a00d94c004c034a020c21020a2100012a008c460c21020b2100012a008a462e2a00d94c004c034a020c21020b2100012a008a460c1621020d2100012a008b3a076c194c641d4c000a4c024a020c1621020d2100012a00894c024a020c1621020c2100012a00894c023f00dd4a030c162102102100014a012e2a00d64a002e2a00d94c024a010c162102102100014a010c1621020d2100012a00884c024a020c2100012a00883c00024c00210002353600094c0c3b0002012c00132100024c0c3e23000a2100024c0c0b3b000201001621020d2100024c024a020c1621020d2100012a008916210528162105272100012a008b3a076c194a013600062105292c000321052a2100012a008a4c010b4a02194c034a020c1621020d2100012a008a4c01194c024a020c1621020d2100012a00874c024a020c3f00e10c2100012a00884c00442300092100012a00884c0c183600063f00e32c00033f00e40c1621020d2100012a00864c024a020c3f00e60c2100012a008c1f00024c070c2108152100012a008b3a076c194c004c012f033c00024c002100022e2a00d84a000f3600062100022c00151621052b2100024c072100022e2a00d84a000b4a023c00032108152100012a008b3a076c192100012a008a2100012a00892f033c00041621020e2100032100044a024c001836006816210528162105272100042e2a00734a004a013600062105292c000321052a2100042e2a00744a004c010b4a024c1f0b3c00054c1f2100032e2a00754a000b210005192100042e2a00754a00193c00061621020d2108172e2a00e82100064c071d4a014c024a020c4c001621020e2100032100024a020f3600063f00e92c00033f00ea0c2108152100012a008b3a076c194c004c042f033c00032108152100012a008b3a076d194c004c042f033c00041621020f2100034a013c00051621020f2100044a013c00061621052b2108152100012a008b3a076c194c004c012f032100012a008d4a023c00071621020e2100072100054a024c00183600063f00eb2c00741621020e2100062100074a024c001c3600063f00e92c005c2100052e2a00734a002100012a008b3a076c19183600162100012a008d4c20192100052e2a00754a000b2c00132100012a008d4c01192100052e2a00754a000b3b000201001621020d2108172e2a00e82100024c071d4a014c024a020c2100012a008c0c2108152100012a008b4c004c012f033c00024c012100022e2a00d84a000f3600062100022c002c1621052b2100024c002100022e2a00d84a000f3600054c012c000f4c072100022e2a00d84a000b4c01194a023c00032108152100012a008b3a076c192100012a008a2100012a00892f033c00041621020e2100032100044a024c001836006816210528162105272100042e2a00734a004a013600062105292c000321052a2100042e2a00744a004c010b4a024c1f0b3c00054c1f2100032e2a00754a000b210005192100042e2a00754a00193c00061621020d2108172e2a00e82100064c071d4a014c024a020c4c001621020e2100032100024a020f3600063f00e92c00033f00ea0c2100012a008b3a076c192e2a00d64a002e2a00d94c024a010c2100012a008b3a076c190c2100012a008f3c00022100024c00443c00032108172e2a00ec2100024a014c3c1d3b0002014c3c1d4c64022100024c3c45193b000201002100033600063f00ed2c00033f006c1621080c3f00ee210002194a012e2a00ef4c04224a01190c2100012a00900c3f00f20c0700001f8e17023c0002070000202e17013c0003070000203d17013c00042721012d3d007b3c00013b011c28002101032a00fb23000c2101032e2a00fb21011c4a01002101032a001636002d0500163c00051621010a3f0104210005194a01004c01470c1a2d00112101032e2a00162100012100024a020c1a2101081f000b3f00052104042a001120131f00091621011f2101174a011f00083f0005210405201336000c162100042100034a012c001d16210405210117273f00fd3d00fe4a022e2a000c070000211e17014a0100300c2100012a00153c00042100042102033f00f60100162102162102032a00f62a00f73b0209012a005d4a01002102032a00f62a00f83b020f01002102032a00f62a00f93b0003010021021a2e2a00fa2100034a0100160700001fef17004a0000300c3b031c11002103032a00fb23000c2103032e2a00fb21031c4a01004c0021031c3523000321031d36001321031d3c0001163b031d0100162100014a0000300c162101022100012a000d4a0100300c2102081f00083f000521050520133600192105192e2a00fc4a002e2a000c07000020bc17004a012c002a16210505210217273f00fd3d00fe4a022e2a000c07000020c617014a012e2a010207000020e617004a012e2a000c07000020f017014a012e2a000c070000210017014a012e2a000c210001070000210417014a020c162103202103174a010c2100012a00ff4736000c3f0100210317193f010119382100012e2a00134a000c162103202103174a010c2106042e2a000b2100012102014a020c2100010c1621030a3f0103210001194a01001621031e2100014a0100300c2105042e2a00112100012101014a022e2a000c210103070000213e17014a020c1621030a3f0105210001194a01001621030a3f01064a0100162102042102034a010c2101032a00f62a00f92101033f0107012e2a0108162100004a020c2101032a00f62a01092101033f010a013b012e012e2a0108162100004a020c2101032a00f62a010b2101033f010c012e2a0108162100004a020c2101032a00f62a010d2101033f010e012e2a0108162100004a020c2101032a00f62a010f2101033f0110012e2a0108162100004a020c2101032a00f62a01112101033f0112012e2a0108162100004a020c2101032a00f62a01132101033f0114012e2a0108162100004a020c2101032a00f62a01152101033f0116012e2a0108162100004a020c2101032a00f62a01172101033f0118012e2a0108162100004a020c2101032a00f62a01192101033f011a012e2a0108162100004a020c2101032a00f62a011b2101033f011c013b0130012e2a0108162100004a020c2101032a00f62a011d2101033f011e013b0131012e2a0108162100004a020c2101032a00f62a011f2101033f0120013b0132012e2a0108162100004a020c070000232717003c000221011c4c003e1f00421607000023d117004a000021011c4c003e1f002e2101032a012536001f2101032e2a01253f01264a01001621041a070000243217004c014a022c0006162100024a0000300c21022f1f00404c00473b022f01004c00472102033f012101002102101f00271621022121021a4a01002102032a01222300092102032e2a01224a000016070000237017004a0000300c2103032a012336004c3f00052103032a012320352300102103032a01233900012103033f012301002103032a01232a00093600212103032a01232e2a00494a003b0001010021031b2e2a00fa2100014a01002cffd31621032121031b4a0100300c2102032a012436004c3f00052102032a012420352300102102032a01243900012102033f012401002102032a01242a00093600212102032a01242e2a00494a003b000101002102192e2a00fa2100014a01002cffd3162102212102194a0100300c1621051a070000244b17004c014a0200162101024a0000300c2103032e2a01253f00044a0100300c27070000253803013d0128070000259503013d01293c00061607000025b517012100014a013c00073900003c00084c003c00092100043600684c003c000a21000a2100042a00091836005621000621000321000a46463c000b21000b36002b4c002100090f23000a162101304a003b000901001621000b21000421000a464a0121000821000a012c000e21000421000a4621000821000a01003b000a28002cff9d2100072e2a0108162100084a023c000d21000d3b000c01004c002100090d230009162101312100094a01001607000025c1170121000c4a013b000d010c4c003c000216210001132300064c002100010d36002e4c012100012a00094c0237193c00031607000025801703210001162103322100034a013b0002012100034a0347002100020c1621041321000121040d2100022100034a0400300c162103322100012a00094a013c0002162103152100012100024a02002100020c2102033f006d21000119460c3f01282101020f36000c162102122100014a012c00193f012a2101020f36000c1621051b2100014a012c00032100010c162101142100014a014c01193c00021621012e2100024a013c00032100032300121621011321000121010c2100032100024a04002100030c21022f1f0006162102334a000021022f1f00072101003b021d0100300c2102192a01321f000e070000266017002102193f01320100300c273c0001210319070000267c17022f012100013f013401002100010c2100012101013f00fc01002100022101013f01330100300c162101054a0000300c07000026d617003c000116210226210001273f00fc3d0135070000271c03013d0136273f01333d0135070000271e03013d01363900024a020c16210327482101014a0200210319070000270a17022f013c00032100012100033f00fc01002100022100033f013301002100030c2100013b010101002100023b01020100300c300c300c3f00042100010f3600043f00040c3900003c00024c003c00032100032100012a00091836001e2100022e2a00702100012e2a000a2100034a014a01003b000328002cffd52100020c07000027f617003c000116210226210001273f00583d0135070000280303003d0136273f013a3d0135070000285003023d0136273f013c3d0135070000298503023d0136273f013d3d01350700002a8503033d0136273f013e3d01350700002ba603023d0136273f013f3d01350700002c6f03013d0136273f01403d01350700002d0f03003d01363900074a020c16210327482101014a0200300c2103072f003c000127070000283503003d0122070000284103013d0042483f0139010016210304482a01394a01002100010c2102012e2a00fc4a0000300c2102012e2a01332100014a0100300c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00024c103c00032100002a00094c033e2300082100004c0346300d3600092100004c03462c00062103092a01373c000410001d482a01392e2a010c2100054a0100482a01392e2a010c2100064a01001a0500113c000821040a2e2a00282100084a01001a2d00ae162103082104082e2a013b2100014a014a013c0007482a01392e2a010a1621041c2100072a00094a014a013b00050100482a01392a00392e2a00382100072100054a02002100021f00052104032f003b000201002104032100022f013b00020100482a01392e2a010a2100022a005c4a013b00060100482a01392a00392e2a00382100022100064a0200482a01392e2a01142100042100052100072a00092100032100022a005c2100064a06001a300c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00062103092a01373c000310001d482a01392e2a010c2100044a0100482a01392e2a010c2100054a01001a0500113c000821040a2e2a00282100084a01001a2d009e2104032100022f013c0006482a01392e2a010a2100012a005c4a013b00040100482a01392a00392e2a00382100012100044a0200482a01392e2a010a2100062a005c4a013b00050100482a01392a00392e2a00382100062100054a0200482a01392e2a01102100032100042100012a005c2100054a0400482a01392a003c2e2a00ef2100042100042100012a005c194a023c00072104032100072f010c1a300c2100002a00094c033e2300082100004c0346300d3600092100004c03462c00024c103c000410002b482a01392e2a010c2100064a0100482a01392e2a010c2100074a0100482a01392e2a010c2100054a01001a0500113c000a21040a2e2a002821000a4a01001a2d00b52104032100022f013c00082104032100032f013c0009482a01392e2a010a2100082a005c4a013b00050100482a01392a00392e2a00382100082100054a0200482a01392e2a010a2100012a005c4a013b00060100482a01392a00392e2a00382100012100064a0200482a01392e2a010a2100092a005c4a013b00070100482a01392a00392e2a00382100092100074a0200482a01392e2a01122100052100082a005c2100062100012a005c2100072100044a06001a300c10001d482a01392e2a010c2100034a0100482a01392e2a010c2100044a01001a0500113c000621040a2e2a00282100064a01001a2d00902104032100022f013c0005482a01392e2a010a2100012a005c4a013b00030100482a01392a00392e2a00382100012100034a0200482a01392e2a010a2100052a005c4a013b00040100482a01392a00392e2a00382100052100044a0200482a01392e2a01162100032100012a005c2100044a0300482a01392a003c2e2a00ef2100032100032100012a005c194a020c1a300c2100002a00094c013e2300082100004c0146300d3600092100004c01462c00062103092a01383c000210000f482a01392e2a010c2100034a01001a0500113c000521040a2e2a00282100054a01001a2d004c2104032100012f013c0004482a01392e2a010a2100042a005c4a013b00030100482a01392a00392e2a00382100042100034a0200482a01392e2a011a2100032100042a005c2100024a03001a300c482a013923000616483f01390100300c2100013f00d7442300072100013f01411c36001a2100012e2a000a4c004a013f00d72e2a000a4c004a010b2c00342100013f007b442300072100013f01421c36001d2100012e2a000a4c004a013f007b2e2a000a4c004a010b4c0a192c00033a00ff0c2100014c00462e2a000a4a002100014c01462e2a000a4a001b2100014c02462e2a000a4a001b3f00d72e2a000a4c004a010b3c00032100022100030b4c010b3c00042103162100042f013c00052103162100032f013c00062100033b000701002100074c003e36005721030c2e2a00372100012100022100030b4c020b462e2a000a4a002100012100022100030b4c010b462e2a000a4a001b2100012100022100070b462e2a000a4a001b4a012100062100032100070b4b3b000711002cffa04c003b00070100210007210004183600192100012100074c0119462100052100074b3b000728002cffdd272100053d01432100043d01442100062e2a01453f00044a013d01462100033d01470c4c003c00024c003b000201004c002100010d3600172100012100014c010b143b000101003b000228002cffe02100020c2100011621020d2100024a0119210003193c000421030c2e2a00373a00ff210004144a010c2100012e2a000a4a001621020d2100024a010b2100030b3c000421030c2e2a00373a00ff210004144a010c4c553c00053a00fa3c00064c003c0007210007210002183600962100074c02454c013536002a210005210001210007462e2a000a4a001b3b00040100210001210007462e2a000a4a003b0005012c0027210006210001210007462e2a000a4a001b3b00040100210001210007462e2a000a4a003b000601004c002100030f3600111621020f2100042100074c154a032c000e1621020e2100042100074c154a0321000121000701003b000728002cff602100010c4c553c00043a00fa3c0005162102122100014a01004c003c000921000921000218360107210001210009462e2a000a4c004a013b000801002100084c7f3e23000b2100083a01000b3b000801002100094c02454c013536001e2100042100081b3b000601002100083b000401002100053b0007012c001b2100052100081b3b000601002100083b000501002100043b000701002100064c7f3e23000b2100063a01000b3b000601004c002100030f3600111621020f2100062100094c154a032c000e1621020e2100062100094c154a032e2a000a4c004a013c000a21000a4c7f3e23000b21000a3a01000b3b000a010021000a2100070b3c000b21000b4c001823000b21000b3a0100193b000b010021030c2e2a003721000b4a0121000121000901003b000928002cfeef162102122100014a01002100010c2100012a00093c00024c003c00042100042100021823000a2100042100024c010b0d36003a210001210004463b000301002100012100044c01194621000121000401002100032100012100044c011901002100044c02193b000401002cffaf2100010c2100002a00094c023e2300082100004c0246300d3600092100004c02462c00024c013c00032100013c00042100021f00062100042a00093c00021621010c2100042100024a023c00052100052a01433c00062100052a01443c00072100052a01473c00082100052a01463c00092100093f01483100223f014931001c3f014a3100163f014b3100103f014c31001f3f014d310019002c0027162101102100062100072100034a033c00062c0012162101112100062100072100034a033c00061621010b2100064c00464a013c00082100072100080b4c010b3c000a21021621000a4c01192f013c000b3f000421000b21000a4b4c003c000c4c003b000c010021000c21000a1836001921000621000c4c01194621000b21000c4b3b000c28002cffdd21000b2e2a01453f00044a010c07000032db17003c000116210226210001273f014e3d013507000032e803013d0136273f014f3d013507000032f603003d0136390002273f01513d0135070000331103003d01363900014a030c16210327482101014a0200300c2104072e2a0017482100014a020c482a01502f003c00012104072e2a0017210001484a02002100010c2100002a00093c00012104162100012f013c00024c003c000321000321000118360016210000210003462100022100034b3b000328002cffe016210428482100024a020c07000033d117003c0002162102292100022100014a020016210226210002273f00d63d0135070000355703003d0136273f01563d0135070000358803013d0136273f01573d0135070000366e03003d0136273f014f3d013507000036bb03003d0136390004273f015a3d013507000036ec03013d01363900014a030c2100002a00094c003e2300082100004c0046300d3600092100004c00462c00033900003c00022100002a00094c013e2300082100004c0146300d3600092100004c01462c00094c042100022a0009023c000316210327482101024a02001621032b482101024a023c00012100023c00042100042103061523000c2103032100042f013b0004010021000421030d151f000721000421031d151f000721000421030e151f0007210004210310151f000721000421030f151f0007210004210311151f0007210004210312151f00072100042103131523001b2103032100042a005d2100042a01522100042a005c2f033b000401002100042103031536006f2100042a005c3c00053900003c00064c003c0007210007210005183600382100062100074c022946210004210007464c182100074c04454c08020b370a2100062100074c022901002100074c01193b000701002cffbe2100062100013f015301002100052100013f015401002c00162100022100013f015301002100032100013f015401002100010c2100002a00094c003e2300082100004c0046300d3600092100004c00462c00032103153c00012100012e2a0155484a010c482a01533c00022100012a01533c0003482a01543c00042100012a01543c0005482e2a01574a00002100044c04453600704c003c00062100062100051836005e2100032100064c0229464c182100064c04454c08020b293a00ff143c0007210002210004210006194c0229462100074c18210004210006194c04454c08020b370a210002210004210006194c022901002100064c01193b000601002cff982c00354c003c0008210008210005183600262100032100084c022946210002210004210008194c02294b2100084c04193b000801002cffd0482a015421000519483f01540100480c482a01533c0001482a01543c00022100012100024c0229464001584c202100024c04454c08020b37142100012100024c022901002104172e2a00e82100024c041d4a012100013f00090100300c1621042a2102023f014f484c014a042e2a0159484a013c0001482a01532e2a00ef4c004a012100013f015301002100010c3900003c0002070000376903013c00034c003c0005210005210001183600521621000340015b2100041f00092104172e2a015a4a00024a013c0006073ade67b7162100064a00023b000401002100022e2a007040015b162100064a00024c000a4a01002100054c04193b000501002cffa42102022100022100012f020c2100013c0002073ade68b13c00034001583c0004070000378517000c0700009069070000ffff21010314022101034c100919210104143b010301003a4650070000ffff21010214022101024c100919210104143b010201002101034c103721010219210104143c000121000140015b1d3b0001010021000140015c193b000101002100012107172e2a015a4a0040015c3e3600054c012c00034c0122020c2100012a01533c00022100012a01543c00033900003c00044c003c00052100052100031836005c2100022100054c0229464c182100054c04454c08020b293a00ff143c00062100042e2a00702100064c04292e2a00d64c104a014a01002100042e2a00704c0f210006142e2a00d64c104a014a01002100054c01193b000501002cff9a2100042e2a01453f00044a010c2100012a00093c00023900003c00034c003c0004210004210002183600472100032100044c0329461621031e2100012e2a001d2100044c024a024c104a024c182100044c08454c04020b370a2100032100044c032901002100044c02193b000401002cffaf2102142100032100024c021d2f020c2100012a01533c00022100012a01543c00033900003c00044c003c0005210005210003183600422100022100054c0229464c182100054c04454c08020b293a00ff143c00062100042e2a007021030c2e2a00372100064a014a01002100054c01193b000501002cffb42100042e2a01453f00044a010c2100012a00093c00023900003c00034c003c0004210004210002183600412100032100044c0229463a00ff2100012e2a000a2100044a01144c182100044c04454c08020b370a2100032100044c022901002100044c01193b000401002cffb52102142100032100022f020c05000d3c00022103023f015e2f01381a2d001a1621031f162103202102162e2a01552100014a014a014a010c1a300c2102162e2a015d16210321162103222100014a014a014a010c0700003a9c17003c0002162102292100022100014a020016210226210002273f01603d01350700003ac403003d0136273f01633d01350700003ad903013d0136273f01643d01350700003b1c03013d0136273f014f3d01350700003bf903003d01363900044a020c16210327482101024a02001621032b482101024a023b000101004c002100013f015f01002100010c2103142f00483f016101004c00483f01620100300c2100013c00023f012821000220352300102103172e2a015d2100024a013b00020100482a01612e2a01562100024a0100482a01622100022a015419483f01620100300c482a01613c0003482a01653c00042100032a01533c00052100032a01543c00062100064c04210004021d3c000721000136000f2104172e2a00e82100074a012c00162104172e2a00814c002100070a482a015f0b4c004a023c0007210007210004023c00082104172e2a00804c04210008022100064a023c00092100083600514c003c000a21000a2100081836001d482e2a016621000521000a4a020021000a210004193b000a01002cffd92100052e2a01674c002100084a023b000201002100032a01542100090b2100033f015401002103142100022100092f020c1621042a2102023f014f484c014a042e2a0159484a013c0001482a01612e2a014f4a002100013f016101002100010c0700003ca417013c0002162102292100022100014a020016210226210002273f01603d01350700003cef03003d0136273f016a3d01350700003d1003013d0136273f016b3d01350700003d2503013d0136390003273f016d3d01350700003d3e03013d0136273f016e3d01350700003d5803013d01363900024a030c16210327482101024a02001621032b482101024a023b000201004c102100023f016501002103072e2a00172102132f002100014a022100023f016801002100022e2a01604a00002100020c1621042a2102023f0160484c014a042e2a0159484a0100482e2a01694a0000300c482e2a01632100014a0100482e2a01644a0000480c21000123000a482e2a01632100014a0100482e2a016c4a000c0700003d4617020c2101012100022f012e2a016b2100014a010c0700003d6017020c21041a2101012100022f022e2a016b2100014a010c0700003dcc17023c0002162102292100022100014a020016210226210002273f01603d01350700003ef803003d0136273f016a3d01350700003f1903013d0136273f016b3d01350700003f2903013d01363900034a020c16210327482101024a02001621032b482101024a023c00032100012f003c000421000421000304016f2100023c00053f012821000520352300102102172e2a015d2100054a013b000501002100042a01653c00064c04210006023c00072100052a01542100073e2300102100042e2a016b2100024a013b000501002100052e2a01574a00002100052e2a014f4a003c00082100082100030401702100052e2a014f4a003c00092100092100030401712100082a01533c000a2100092a01533c000b4c003c000c21000c2100061836003821000a21000c46075c5c5c5c1b21000a21000c010021000b21000c4607363636361b21000b21000c010021000c4c01193b000c01002cffbe2100072100083f015401002100072100093f015401002100032e2a01604a00002100030c482a016f3c00012100012e2a01604a00002100012e2a016a482a01714a0100300c482a016f2e2a016a2100014a0100480c482a016f3c00022100022e2a016b2100014a013c00032100022e2a01604a00002100022e2a016b482a01702e2a014f4a002e2a01562100034a014a010c3900003c00044c003c00054c003c0006210006210002183600862100064c044536006f2100032100012e2a000a2100064c010b4a01462100064c04454c0202372100032100012e2a000a2100064a01464c062100064c04454c02020b290a3c00072100042100054c0229462100074c182100054c04454c08020b370a2100042100054c022901002100054c01193b000501002100064c01193b000601002cff702102142e2a01512100042100054a020c2100012a01533c00022100012a01543c0003482a01723c00042100012e2a01574a00003900003c00054c003c0006210006210003183600c72100022100064c0229464c182100064c04454c08020b293a00ff144c10372100022100064c01194c0229464c182100064c01194c04454c08020b293a00ff144c08370a2100022100064c02194c0229464c182100064c02194c04454c08020b293a00ff140a3c00074c003c00082100084c041823000f2100064001732100080219210003183600312100052e2a00702100042e2a01742100074c064c032100080b02294c3f144a014a01002100084c01193b000801002cffb42100064c03193b000601002cff2f2100042e2a01744c404a013c000921000936001c2100052a00094c04453600102100052e2a00702100094a01002cffe42100052e2a01453f00044a010c2100012a00093c0002482a01723c0003482a01753c000421000447360045390000483f01750100482a01753b000401004c003c00052100052100032a0009183600212100052100042100032e2a000a2100054a014b2100054c01193b000501002cffd22100032e2a01744c404a013c00062100063600212100012e2a001b2100064a013c00074c01222100070d2300072100073b000201001621021b2100012100022100044a030c2100012100022100031421000212210004140a1921000519210007193c0008210008210006372100084c202100060b290a210002190c2100012100022100041421000321000412140a1921000519210007193c0008210008210006372100084c202100060b290a210002190c2100012100022100031b2100041b1921000519210007193c0008210008210006372100084c202100060b290a210002190c210001210003210002210004120a1b1921000519210007193c0008210008210006372100084c202100060b290a210002190c070000433117003c0002162102292100022100014a020016210226210002273f01693d0135070000434a03003d0136273f01663d0135070000436803023d0136273f016c3d01350700004d9a03003d0136273f014f3d01350700004ef003003d01363900044a020c16210327482101024a02001621032b482101022100004a030c210314076745230140017840017907103254763900042f014804017a300c2100013c00034c003c00042100044c101836004e210002210004193c0005210001210005463c00060700ff00ff2100064c08372100064c18290a1440017b2100064c18372100064c08290a140a2100032100054b2100044c01193b000401002cffa9482a017a2a01533c00072100032100024c0019463c00082100032100024c0119463c00092100032100024c0219463c000a2100032100024c0319463c000b2100032100024c0419463c000c2100032100024c0519463c000d2100032100024c0619463c000e2100032100024c0719463c000f2100032100024c0819463c00102100032100024c0919463c00112100032100024c0a19463c00122100032100024c0b19463c00132100032100024c0c19463c00142100032100024c0d19463c00152100032100024c0e19463c00162100032100024c0f19463c00172100074c00463c00182100074c01463c00192100074c02463c001a2100074c03463c001b1621031f21001821001921001a21001b2100084c0721031d4c00464a073b001801001621031f21001b21001821001921001a2100094c0c21031d4c01464a073b001b01001621031f21001a21001b21001821001921000a4c1121031d4c02464a073b001a01001621031f21001921001a21001b21001821000b4c1621031d4c03464a073b001901001621031f21001821001921001a21001b21000c4c0721031d4c04464a073b001801001621031f21001b21001821001921001a21000d4c0c21031d4c05464a073b001b01001621031f21001a21001b21001821001921000e4c1121031d4c06464a073b001a01001621031f21001921001a21001b21001821000f4c1621031d4c07464a073b001901001621031f21001821001921001a21001b2100104c0721031d4c08464a073b001801001621031f21001b21001821001921001a2100114c0c21031d4c09464a073b001b01001621031f21001a21001b2100182100192100124c1121031d4c0a464a073b001a01001621031f21001921001a21001b2100182100134c1621031d4c0b464a073b001901001621031f21001821001921001a21001b2100144c0721031d4c0c464a073b001801001621031f21001b21001821001921001a2100154c0c21031d4c0d464a073b001b01001621031f21001a21001b2100182100192100164c1121031d4c0e464a073b001a01001621031f21001921001a21001b2100182100174c1621031d4c0f464a073b001901001621032021001821001921001a21001b2100094c0521031d4c10464a073b001801001621032021001b21001821001921001a21000e4c0921031d4c11464a073b001b01001621032021001a21001b2100182100192100134c0e21031d4c12464a073b001a01001621032021001921001a21001b2100182100084c1421031d4c13464a073b001901001621032021001821001921001a21001b21000d4c0521031d4c14464a073b001801001621032021001b21001821001921001a2100124c0921031d4c15464a073b001b01001621032021001a21001b2100182100192100174c0e21031d4c16464a073b001a01001621032021001921001a21001b21001821000c4c1421031d4c17464a073b001901001621032021001821001921001a21001b2100114c0521031d4c18464a073b001801001621032021001b21001821001921001a2100164c0921031d4c19464a073b001b01001621032021001a21001b21001821001921000b4c0e21031d4c1a464a073b001a01001621032021001921001a21001b2100182100104c1421031d4c1b464a073b001901001621032021001821001921001a21001b2100154c0521031d4c1c464a073b001801001621032021001b21001821001921001a21000a4c0921031d4c1d464a073b001b01001621032021001a21001b21001821001921000f4c0e21031d4c1e464a073b001a01001621032021001921001a21001b2100182100144c1421031d4c1f464a073b001901001621032121001821001921001a21001b21000d4c0421031d4c20464a073b001801001621032121001b21001821001921001a2100104c0b21031d4c21464a073b001b01001621032121001a21001b2100182100192100134c1021031d4c22464a073b001a01001621032121001921001a21001b2100182100164c1721031d4c23464a073b001901001621032121001821001921001a21001b2100094c0421031d4c24464a073b001801001621032121001b21001821001921001a21000c4c0b21031d4c25464a073b001b01001621032121001a21001b21001821001921000f4c1021031d4c26464a073b001a01001621032121001921001a21001b2100182100124c1721031d4c27464a073b001901001621032121001821001921001a21001b2100154c0421031d4c28464a073b001801001621032121001b21001821001921001a2100084c0b21031d4c29464a073b001b01001621032121001a21001b21001821001921000b4c1021031d4c2a464a073b001a01001621032121001921001a21001b21001821000e4c1721031d4c2b464a073b001901001621032121001821001921001a21001b2100114c0421031d4c2c464a073b001801001621032121001b21001821001921001a2100144c0b21031d4c2d464a073b001b01001621032121001a21001b2100182100192100174c1021031d4c2e464a073b001a01001621032121001921001a21001b21001821000a4c1721031d4c2f464a073b001901001621032221001821001921001a21001b2100084c0621031d4c30464a073b001801001621032221001b21001821001921001a21000f4c0a21031d4c31464a073b001b01001621032221001a21001b2100182100192100164c0f21031d4c32464a073b001a01001621032221001921001a21001b21001821000d4c1521031d4c33464a073b001901001621032221001821001921001a21001b2100144c0621031d4c34464a073b001801001621032221001b21001821001921001a21000b4c0a21031d4c35464a073b001b01001621032221001a21001b2100182100192100124c0f21031d4c36464a073b001a01001621032221001921001a21001b2100182100094c1521031d4c37464a073b001901001621032221001821001921001a21001b2100104c0621031d4c38464a073b001801001621032221001b21001821001921001a2100174c0a21031d4c39464a073b001b01001621032221001a21001b21001821001921000e4c0f21031d4c3a464a073b001a01001621032221001921001a21001b2100182100154c1521031d4c3b464a073b001901001621032221001821001921001a21001b21000c4c0621031d4c3c464a073b001801001621032221001b21001821001921001a2100134c0a21031d4c3d464a073b001b01001621032221001a21001b21001821001921000a4c0f21031d4c3e464a073b001a01001621032221001921001a21001b2100182100114c1521031d4c3f464a073b001901002100074c0046210018194c000a2100074c0001002100074c0146210019194c000a2100074c0101002100074c024621001a194c000a2100074c0201002100074c034621001b194c000a2100074c030100300c482a01613c00012100012a01533c00024c08482a0162023c00034c082100012a0154023c00042100022100044c0529463a00804c182100044c20450b370a2100022100044c052901002104172e2a017c21000340015b1d4a013c00052100033c00060700ff00ff2100054c08372100054c18290a1440017b2100054c18372100054c08290a140a2100024c0f2100044c40194c09294c04371901000700ff00ff2100064c08372100064c18290a1440017b2100064c18372100064c08290a140a2100024c0e2100044c40194c09294c04371901004c042100022a00094c0119022100013f01540100482e2a01644a0000482a017a3c00072100072a01533c00084c003c00092100094c0418360044210008210009463c000a0700ff00ff21000a4c083721000a4c18290a1440017b21000a4c183721000a4c08290a140a2100082100094b2100094c01193b000901002cffb32100070c1621042a2102023f014f484c014a042e2a0159484a013c0001482a017a2e2a014f4a002100013f017a01002100010c0700004f5417013c0002162102292100022100014a020016210226210002273f01803d01350700004f9c03023d01363900014a020c16210327482101024a02001621032b482101024a023b000201002103072e2a00172102132f00274c043d017d2102233d017e4c013d017f2100014a032100023f016801002100020c482a01683c00042100042a017e2e2a01514a003c00052103142e2a01514a003c00062100062a01533c00072100042a017d3c00082100042a017f3c00092100072a00092100081836007f21000323000c2100052e2a016a2100034a01002100052e2a016a2100014a012e2a016b2100024a013b000301002100052e2a01604a00004c013c000a21000a210009183600292100052e2a016b2100034a013b000301002100052e2a01604a000021000a4c01193b000a01002cffcd2100062e2a01562100034a01002cff744c04210008022100063f015401002100060c070000510417033c0002162102292100022100014a020016210226210002273f01603d0135070000515b03003d0136273f01833d0135070000517c03013d0136273f016b3d0135070000518f03013d0136390003273f01843d013507000051a803023d0136273f01863d013507000051ba03023d0136273f016d3d013507000051cc03013d01363900034a030c16210327482101024a02001621032b482101024a023b000401002103072e2a00172102132f002100034a022100043f016801002100012100043f018101002100022100043f018201002100042e2a01604a00002100040c1621042a2102023f0160484c014a042e2a0159484a0100482e2a01694a0000300c482e2a01632100014a0100482e2a01644a000c21000123000a482e2a01632100014a0100482e2a016c4a000c482e2a0151482a01852100012100024a030c482e2a0151482a01872100012100024a030c07000051ec03013c000227070000520103033d0188070000521d03033d01890c3f0128210001203536000621052f2c000321052d0c162102022100024a012e2a01882102012100012100022100034a040c162102022100024a012e2a01892102012100012100022100034a040c070000528017023c0002162102292100022100014a02001621022621000216273f01843d013507000052b403023d0136273f01863d013507000052c503023d01363900024a030c16210327482101024a02001621032b482101024a023b000301002100012100033f018b01002100022100033f018c01002100030c482a018d2e2a01512100012100024a020c482a018e2e2a01512100012100024a020c2100013c0004482a018c3c00062100063600132100063b000501004c0033483f018c012c0008482a018f3b000501004c003c00072100072100031836002d2100042100022100071946210005210007461b2100042100022100071901002100074c01193b000701002cffc9300c070000536417003c0002162102292100022100014a0200162102262100024a010c16210327482101024a02001621032b482101022100004a030c07000053b217003c0002162102292100022100014a020016210226210002273f01903d013507000053cb03023d01363900014a020c16210327482101024a02001621032b482101022100004a030c482a018b3c00032100032a01653c00042103272e2a0159482100012100022100044a04002100032e2a01912100012100024a02002100012e2a00ef210002210002210004194a02483f018f0100300c070000544f17003c0002162102292100022100014a020016210226210002273f01903d0135070000546803023d01363900014a020c16210327482101024a02001621032b482101022100004a030c482a018b3c00032100032a01653c00042100012e2a00ef210002210002210004194a023c00052100032e2a01922100012100024a02002103272e2a0159482100012100022100044a0400210005483f018f0100300c4c04210002023c00032100032100012a0154210003450b3c00042100044c18372100044c10370a2100044c08370a2100040a3c00053900003c00064c003c00072100072100041836001b2100062e2a00702100054a01002100074c04193b000701002cffdb2102142e2a01512100062100044a023c00082100012e2a01562100084a0100300c2100013c00023a00ff2100022a01532100022a01544c010b4c022946143c00032100022a01542100030b2100023f01540100300c07000055ce17033c0002162102292100022100014a020016210226210002273f01603d0135070000561803003d0136273f01663d013507000056a403023d0136273f016c3d013507000056b703003d01363900034a020c16210327482101024a02001621032b482101022100012100022103072e2a0017272102283d01952102293d01962100034a023900034a033b000401004c042100043f016501002100040c1621042a2102023f0160484c014a042e2a0159484a0100482a01683c00022100022a01973c00032100022a01953c0004482a0181482a01502a01850f36000d2100042a01843b0001012c00122100042a01863b000101004c01483f015f01002100012e2a0159210004482100032300062100032a01534a03483f01980100210001482a01983f01990100300c482a01982e2a01902100012100024a0200300c482a01682a01963c0002482a0181482a01502a01850f3600232100022e2a0193482a0161482a01654a0200482e2a01644c00474a013b0001012c001b482e2a01644c00474a013b000101002100022e2a01942100014a01002100010c070000574817013c0002162102292100022100014a020016210226210002273f00d63d0135070000577303013d01363900014a020c16210327482101024a02001621032b482101024a023b000201002100022e2a014e2100014a01002100020c2100011f0004482a019a2e2a0155484a010c2100012a019b3c00032100012a019c3c000421000436002b2102142e2a01510753616c740765645f5f3900024a012e2a01562100044a012e2a01562100034a012c00032100033b000201002100022e2a00d621021c4a010c21021c2e2a015d2100014a013c00032100032a01533c00040753616c742100044c00460f23000c0765645f5f2100044c01460f2300392102142e2a01512100042e2a00ef4c024c044a024a013b000201002100042e2a01674c004c044a02002100032a01544c100b2100033f0154010021022b2e2a0151272100033d019b2100023d019c4a010c07000058bc17003c0002162102292100022100014a02001621022621000216273f01883d013507000058d503043d0136273f01893d0135070000596103043d0136273f019f3d013507000059ae03023d01363900034a030c16210327482101024a02001621032b482101022100004a030c2104072e2a00172103132f00482a01682100044a033c00052100012e2a01842100032100054a023c00062100062e2a016b2100024a013c00072100062a01683c000821032b2e2a0151272100073d019b2100033d01352100082a01973d01972100013d019d2100082a01953d01952100082a01963d01962100062a01653d01652100052a019e3d019a4a010c2100023c00052104072e2a00172103132f00482a01682100044a033c0006482e2a019f2100052100062a019e4a023c00052100012e2a01862100032100064a022e2a016b2100052a019b4a010c3f012821000120353600102100022e2a015d210001484a022c00032100010c2100043c00052100051f000f2102142e2a015a4c084a013b000501002102242e2a015127210002210003193d017d4a012e2a01802100012100054a023c00062102142e2a01512100062a01532e2a00ef2100024a014c04210003024a023c00074c04210002022100063f0154010021022b2e2a0151272100063d01352100073d01972100053d019c4a010c0700005a9f17003c0002162102292100022100014a02001621022621000216273f01883d01350700005ab803043d0136273f01893d01350700005b2a03043d01363900024a030c16210327482101024a02001621032b482101022100004a030c2104072e2a00172103132f00482a01682100044a033c00052100052a01a12e2a01a02100032100012a017d2100012a018a4a033c00062100062a019721000504019721032d2a01882e2a0159482100012100022100062a01352100054a053c00072100072e2a014e2100064a01002100070c2100023c00052104072e2a00172103132f00482a01682100044a033c0006482e2a019f2100052100062a019e4a023c00052100062a01a12e2a01a02100032100012a017d2100012a018a2100052a019c4a043c00072100072a019721000604019721032d2a01892e2a0159482100012100052100072a01352100064a050c0700005c1017003c0002162102292100022100014a020016210226210002273f01693d01350700005c2903003d0136273f01913d01350700005e7403023d0136273f01923d01350700005e9703023d0136273f01a63d01350700005f2203083d01363900044a020c16210327482101024a02001621032b482101022100004a030c482a01a2230009482a01a3482a01820f360002300c482a0182480401a3482a01a33c00022100022a01533c00032100022a01544c041d3c00042100044c0619480401a24c04482a01a24c0119023c0005390000480401a4482a01a43c00064c003c0007210007210005183601212100072100041836001121000321000746210006210007012c00f72100062100074c010b463b000101002100072100044536005a2100044c063e23000a210007210004454c04352300412103302100014c1829464c18372103302100014c10293a00ff14464c10370a2103302100014c08293a00ff14464c08370a2103303a00ff21000114460a3b0001012c006d2100014c08372100014c18290a3b000101002103302100014c1829464c18372103302100014c10293a00ff14464c10370a2103302100014c08293a00ff14464c08370a2103303a00ff21000114460a3b000101002100012103442100072100041d4c000a464c18371b3b000101002100062100072100040b462100011b21000621000701002100074c01193b000701002cfed5390000480401a5482a01a53c00084c003c00092100092100051836009e2100052100090b3c000a2100094c044536000a21000621000a462c000a21000621000a4c040b463b000101002100094c04181f000621000a4c041c3600062100012c00442103362103302100014c182946462103372103302100014c10293a00ff1446461b2103382103302100014c08293a00ff1446461b2103392103303a00ff2100011446461b21000821000901002100094c01193b000901002cff58300c482e2a01a6210001210002482a01a42103322103332103342103352103304a0800300c2100013c00032100032100024c0119463c00042100032100024c0319462100032100024c011901002100042100032100024c03190100482e2a01a6210003210002482a01a52103362103372103382103392103314a08002100032100024c0119463b000401002100032100024c0319462100032100024c011901002100042100032100024c03190100300c2100013c0009482a01a23c000a210009210002462100034c00461b3c000b2100092100024c0119462100034c01461b3c000c2100092100024c0219462100034c02461b3c000d2100092100024c0319462100034c03461b3c000e4c043c000f4c013c001021001021000a1836015621000421000b4c18294621000521000c4c10293a00ff14461b21000621000d4c08293a00ff14461b2100073a00ff21000e14461b21000321000f461b3c001121000f4c01193b000f010021000421000c4c18294621000521000d4c10293a00ff14461b21000621000e4c08293a00ff14461b2100073a00ff21000b14461b21000321000f461b3c001221000f4c01193b000f010021000421000d4c18294621000521000e4c10293a00ff14461b21000621000b4c08293a00ff14461b2100073a00ff21000c14461b21000321000f461b3c001321000f4c01193b000f010021000421000e4c18294621000521000b4c10293a00ff14461b21000621000c4c08293a00ff14461b2100073a00ff21000d14461b21000321000f461b3c001421000f4c01193b000f01002100113b000b01002100123b000c01002100133b000d01002100143b000e01002100104c01193b001001002cfea021000821000b4c1829464c183721000821000c4c10293a00ff14464c10370a21000821000d4c08293a00ff14464c08370a2100083a00ff21000e14460a21000321000f461b3c001521000f4c01193b000f010021000821000c4c1829464c183721000821000d4c10293a00ff14464c10370a21000821000e4c08293a00ff14464c08370a2100083a00ff21000b14460a21000321000f461b3c001621000f4c01193b000f010021000821000d4c1829464c183721000821000e4c10293a00ff14464c10370a21000821000b4c08293a00ff14464c08370a2100083a00ff21000c14460a21000321000f461b3c001721000f4c01193b000f010021000821000e4c1829464c183721000821000b4c10293a00ff14464c10370a21000821000c4c08293a00ff14464c08370a2100083a00ff21000d14460a21000321000f461b3c001821000f4c01193b000f010021001521000921000201002100162100092100024c011901002100172100092100024c021901002100182100092100024c03190100300c2101172e2a015d2100024a013c00042101172e2a015d2100034a013c000521011c2e2a015d2100014a013c000621011c2e2a01552100064a013c00072101462e2a0189210007210004272100053d01974a032e2a00d62101174a010c3f012821000120353600592100012e2a01a73f01a84a013c00024c022100022a00090f36003c2100024c00463c00032100032e2a00d94c104a013c0004272100043d01972100042100032e2a00d94c004c104a02193d01352100024c01463d01a90c160c160c4c00473c00022102162e2a01ab2100014a013600192100012e2a01ac07000063c617022100024a023c00022c0069162102183f01ad2e2a01561621020c2101474a012e2a00022102183f01ae3f007a2f023f01af4a022e2a00022102183f01b03f007a2f023f01b14a023f01b24a024a013c00033f000521000120352300152100032e2a01b32101482e2a01592100014a014a013c00022100020c210001230009162103342100024a010c2102062100012a00092f013c00022102032100022f013c00034c003c00042100042100012a00091836001b2100012e2a000a2100044a012100032100044b3b000428002cffd82100020c2102062e2a01b42100014a0123000a2100012a005d3b0001010021020c2a00372e2a0108162102032100012f014a020c2102032a01aa2a00ef3600122100012e2a00ef2100022100034a022c001d2102032102162a01aa2a00ef2e2a01592100012100022100034a032f010c07000064b417023c000116210226210001273f01893d013507000064d303023d01363900014a020c16210327482101014a0200210001483f01b50100210002483f01b60100300c482a01b52e2a0189273f01b73d01b8482a01b63d01972100022100014a030c2100012a005c3c00022100022300172102242100012a005d2f012e2a01b92100024c010b4a013c00032100033600151621014b2100014c002100022100030b4a032c00032100010c070000656217013c000116210226210001273f01ba3d0135070000657603013d01363900014a020c16210327482101014a0200210001480401b5300c482a01b52e2a01bb3f01bc210001273f01b73d01b84c01473f01883f01893900024a050c2102032100012a00092100022a0009192f013c00032100032e2a00382100014a01002100032e2a00382100022100012a00094a02002100030c07000066c817003c000116210226210001273f01c93d013507000067e103003d0136273f01ca3d013507000067e903003d0136273f01603d0135070000682d03003d0136273f01403d0135070000685203003d0136273f01cb3d013516070000687417004a003d0136273f01da3d0135160700006a4f17004a003d0136273f01893d0135160700006cab17004a003d0136273f01dd3d0135160700006dcb17004a003d0136273f01d33d0135160700006f7917004a003d0136273f01e33d013516070000715117004a003d0136273f01e03d0135070000724903013d0136273f01de3d0135070000729803013d013639000c4a020c2100002a00094c003e2300082100004c0046300d3600092100004c00462c0001273c000116210327482101014a02004c0047483f01bd010016483f01b5010016483f01be010016483f01bf010016483f01c0010016483f01c1010016483f01c2010016483f01c301001621032c274c00473d01c42100014a02483f01c50100482a01c52a01c436002f0500043c00031a2d00252103082a01c63c00022100022300142100022a01b51f00062100022a01c7483f01b501001a3f012a2100012a01c8203536001e2100012a01c81f0004482a01b51f000b4c0047482a01c53f01c8012c000d482a01b547482a01c53f01c80100482a01c52a01c823001a21020a2f00483f01c20100482a01c22e2a00584a00483f01c30100300c482a01c52a01c80c482a01c13c000121000147360009482e2a01604a00330c2104032100012f013c0002482e2a01604a0000482a01c52a01c436000c1621034d2100024a012c00032100020c16483f01c1010016483f01c0010016483f01bf0100482a01be23000616483f01be0100300c482a01c2230011482a01c22e2a01404a000016483f01c2010016483f01c30100300c0700006a4117013c00021621032d1621032e4a002e2a01cc070000689e03014a014a013c00012100020c1621052e4a002e2a01cd07000068b503012101004a020c4c013601852100012a01ce2100013f01cf014c003100234c083100dd4c093100e14c0c3100f34c0e3101424c0f31014d3f01d0310147002c014d1621064a2102014a013c02022102022e2a00003f01d14a014736000b4c0c2100010401ce2c01262102022e2a01a73f006d4a013b02040100162107012102044c00462e2a00ef4c024a014a013b02050100162107352102052102052a00094a023c02062102042a00094c013e23000a3f00322102044c01460d2100010401d22100012a01d24736000b4c092100010401ce2c00b94c082100010401ce21072f2e2a01d32102044c0146272107303d01973a00803d01d42102063d01d54a020c2100012a01d63c0206162106492102064a013c02034c0e2100010401ce2c006e162107362102024a013c020721020736002416210649162107332102072a01a92102072a01352102072a01974a034a013c02032c001e2107062e2a01b42102014a013600092102012a005d2c00032102013c02032100012e2a01d73f01d82102034a020c2100012e2a01d94a000c2cfe76300c2101012e2a0108482100004a020c0700006c9d17013c00021621032d1621032e4a002e2a01cc0700006a7903014a014a013c00012100020c1621052e4a002e2a01cd0700006a910301210100484a030c4c013602052100012a01ce2100013f01cf014c0031001e4c0631005b4c0c3101014c0e3101c74c0f3101d23f01d03101cc002c01d21621064a2102014a013c02052107064c002f013c0206482a01c32100010401d22100012a01d24736000b4c062100010401ce2c019d4c062100010401ce482a01c30c2102052e2a00003f01d14a014736000b4c0c2100010401ce2c01752102052e2a01a73f006d4a013b020701002102074c00462e2a00ef4c024a013b02080100163c02092102072a00094c013e23000a3f00322102074c01460d2300182107032107312e2a01db2102074c01464a012f013b0209010021020923002416482a01c23b020201351f00172102022e2a013a2102082102094c102106092a01384a04004c0e2100010401ce2c00e5162107362102054a013c020a21020a3600792107032107312e2a01db21020a2a01354a012f013b020b01002107312e2a01dc21020a2a01a94c00474a023b020c010021070321020c2f013b020d01002107032107312e2a01db21020a2a01974a012f013b020e010016482a01c23b020301351f00122102032e2a013d21020d21020b21020e4a03002c00402107062e2a01b42102014a013600092102012a005d2c00032102013b0206010016482a01c23b020401351f00122102042e2a013f2102012106092a01384a02002100012e2a01d73f01d82102064a020c2100012e2a01d94a000c2cfdf6300c2101012e2a0108482100004a020c0700006dbd17033c00021621032d1621032e4a002e2a01cc0700006cd503034a014a013c00012100020c1621052e4a002e2a01cd0700006ced0301210100484a030c4c013600c92100012a01ce2100013f01cf014c0031001e4c0331004d4c0531006f4c073100884c083100963f01d0310090002c0096482a01c52a01c84736000b4c052100010401ce2c00804c032100010401ce482e2a01dd2107032102012f012102022102034a030c482e2a01ca4a003c02042100012e2a01d73f01d82102043600092102042a005d2c0001164a020c4c072100010401ce482e2a01d32107032102012f012102022102034a030c2100012e2a01d73f01d82100012a01d64a020c2100012e2a01d94a000c2cff32300c2101012e2a0108482100004a020c0700006f6b17033c00021621032d1621032e4a002e2a01cc0700006df503034a014a013c00012100020c1621052e4a002e2a01cd0700006e0d0301210100484a030c4c013601572100012a01ce2100013f01cf014c0031001e4c0231002c4c0731009a4c0d3100d54c103101243f01d031011e002c01244c022100010401ce482e2a01da2102024a010c482a01c03b02050100482a01c13b02060100482a01bf3b02070100482e2a01de3f01df4a0100210207230017162106502102072102014a023b0201010016483f01bf0100482e2a01e02102014a013c02082102082a000936000b4c072100010401ce2c00ac2100012e2a01d73f01d8164a020c2102052300072102053b020301002102063c0209482a01c32100010401d22100012a01d24736000b4c0d2100010401ce2c006b4c0d2100010401ce482a01c30c16482a01c23b020401353600064c00332c000f2102042e2a013e2102012102034a02480401c11621064b2102084c10224a022a005d480401c02100012e2a01d73f01d8210209360007482a01c12c0001164a020c2100012e2a01d94a000c2cfea4300c2101012e2a0108482100004a020c070000714317033c00021621032d1621032e4a002e2a01cc0700006fa303034a014a013c00012100020c1621052e4a002e2a01cd0700006fc50301210100484c064c113900023900014a040c4c013601662100012a01ce2100013f01cf014c003100284c0331003d4c063100864c0b3100b74c0e3100d64c113100e44c143101293f01d0310123002c0129482a01b53c02044c032100010401ce482e2a01cb2102024a010c2100012a01d63c0205210204471f0016162107342102042a01bb2102042a01893900024a01474736000b4c062100010401ce2c00da2100012e2a01d73f01d8210719070000713217022f014a020c4c062100010401cf21064e2102042f013c020621064c2102042102032f023c02074c0b2100010401ce2102062e2a01ba2102054a010c2100012a01d63c02084c0e2100010401ce2102072e2a01892102012a005d2102084a020c2100012e2a01d73f01d82100012a01d64a020c4c112100010401cf2100012e3f0102464c064a012100010401d22100012e2a01d73f01d821070a2e2a002b3f01e22100012a01d24a0200482e2a01e32102012102022102034a034a020c2100012e2a01d94a000c2cfe95300c162100022108023f01e12f014a0100300c2101012e2a0108482100004a020c070000723b17033c00021621032d1621032e4a002e2a01cc070000717b03034a014a013c00012100020c1621052e4a002e2a01cd07000071930301210100484a030c4c013600a12100012a01ce2100013f01cf014c003100144c063100504c073100783f01d0310072002c00784c0047482a01c50401c84c0047480401bd21060a2f00480401c2482a01c22e2a00584a00480401c34c062100010401ce482e2a01dd2102012102022102034a030c2100012e2a01d73f01d816482e2a01ca4a003b020401353600064c00332c00062102042a005d1f0001164a020c2100012e2a01d94a000c2cff5a300c2101012e2a0108482100004a020c2100013c00022100012a00092100012a00094c10450b3c00032100032100012a00090d2300241621034b2100014c002100034a033b000201001621034b2100012100034a02483f01bf01002100020c482a01bd2300084c0147483f01bd0100300c07000072d517013c000116210226210001273f01893d01351607000072ee17004a003d01363900014a020c16210327482101014a02002102512100012f01480401e4300c07000073c317033c00021621032d1621032e4a002e2a01cc070000731803034a014a013c00012100020c1621052e4a002e2a01cd07000073300301210100484a030c4c0136008c2100012a01ce2100013f01cf014c003100194c023100304c0531004e4c0631005e3f01d0310058002c005e4c022100010401ce482a01e42e2a01892102012102022102034a030c2100012a01d63c020421020436000b4c052100010401ce2c00282107023f01e52f01382100012e2a01d73f01d82107032102042f014a020c2100012e2a01d94a000c2cff6f300c2101012e2a0108482100004a020c070000000017023c0001070000264617003c0005070000269417003c0006070000272017013c000807000030fc17013c0012070000315f17023c013507000052d617033c0027070000626917033c013307000062c517013c0136070000632b17013c013407000063d617013c0049070000642017013c004a070000645017033c004b07000064f217013c004d070000659a17023c0050070000018a03013c0002070000019703013c00032100033c000416070000269d17004a003c0007162100064a0000274c003d01374c013d01383c000916070000276817004a003c000a0700002d1f03013c000b0700002d8203023c000c0700002e8f03013c000d0700002ebf03033c000e0700002ee403033c000f0700002f0f03033c00100700002fc303033c001116070000328e17004a003c001316070000335517012100134a013c001427070000380703013d0155070000389703013d015d3c001527070000390b03013d0155070000398103013d015d3c00162707000039ec03013d01550700003a1b03013d015d3c0017160700003a3417012100134a013c0018160700003c2817012100184a013c0019160700003d7517012100134a013c001a0700003f6603033c001b27070000401603013d0155070000415203013d015d3f01763d01723c001c3900003c001d4c003c001e21001e4c401836003440015b2101172e2a00ec2101172e2a017721001e4c01194a014a01024c000a21001d21001e4b21001e4c01193b001e01002cffc307000041fa03073c001f070000423003073c0020070000426603073c0021070000429703073c00221607000042c917012100194a013c0023160700004f1f17012100134a013c002416070000507717012100184a013c00254c012100253f018501004c022100253f018701004c042100253f017d01004c042100253f018a010016070000523917012100134a013c002616070000534317012100264a013c002816070000537d17012100284a012100283f018d010016070000541a17012100284a012100283f018e01002707000054bd03023d0193070000554303013d01943c002916070000557717012100254a013c002a16070000571317012100134a013c002b27070000578503013d015507000057dd03013d015d3c002c16070000586417012100134a013c002d2101072e2a00172100132f002721002c3d019e4a0221002d0401682707000059cd03043d01a03c002e160700005a58170121002d4a013c002f2101072e2a001721002d2a01682721002e3d01a14a0221002f0401683900003c00303900003c00313900003c00323900003c00333900003c00343900003c00353900003c00363900003c00373900003c00383900003c00393900003c003a4c003c003b21003b3a01001836003221003b3a00801836000921003b4c01372c000a21003b4c01373a011b1b21003a21003b4b21003b4c01193b003b01002cffc44c003c003c4c003c003d4c003c003e21003e3a01001836019721003d21003d4c01371b21003d4c02371b21003d4c03371b21003d4c04371b3c003f21003f4c08293a00ff21003f141b4c631b3b003f010021003f21003021003c010021003c21003121003f010021003a21003c463c004021003a210040463c004121003a210041463c00423a010121003a21003f4602070101010021003f021b3c00432100434c18372100434c08290a21003221003c01002100434c10372100434c10290a21003321003c01002100434c08372100434c18290a21003421003c010021004321003521003c01000701010101210042020700010001210041021b3a0101210040021b070101010021003c021b3b004301002100434c18372100434c08290a21003621003f01002100434c10372100434c10290a21003721003f01002100434c08372100434c18290a21003821003f010021004321003921003f010021003c36003221004021003a21003a21003a2100422100401b4646461b3b003c010021003d21003a21003a21003d46461b3b003d012c000e4c013b003d010021003d3b003c010021003e4c01193b003e01002cfe5f4c004c014c024c044c084c104c204c403a00804c1b4c3639000b3c0044160700005ba8170121002a4a013c00454c0821004504017d21002a2e2a016d2100454a013c00462101072a01aa2a00d63c00472101232a01aa2a00d63c004816070000648c17004a003c004c16070000653a17004a003c004e4c103c004f1607000065d317004a003c00511607000072aa17004a003c0132300c01e60a6a6d786b6d6a4e706d71057d786d7823076b7c6975787a7c10477d786d78233733267b786a7c2f2d3500087f6c777a6d707677047f6b7674067b786a7c2f2d4b5f7870757c7d396d76397d7c7a767d7c397b786a7c2f2d347c777a767d7c7d397d786d78394c4b5535395b6c7f7f7c6b3978777d39786d767b39786b7c3977766d396a6c6969766b6d7c7d06757c777e6d710a7a71786b5a767d7c586d0b70776a6d78776d70786d7c046d717c770870776a6d78777a7c07717c787d7c6b6a037e7c6d0c5a76776d7c776d344d60697c1470776a6d78776d70786d7c4a6d6b7c787470777e1078696975707a786d707677366e786a740b786b6b78605b6c7f7f7c6bc2dfe57d786d782378696975707a786d707677366e786a74227b786a7c2f2d35585e5f637b485c585858585b3658506c40585f365841207e58412158405853367f6e5f36405853367f6e5b7e582a20367f6e5f36405843367f2a20367f2a215b7f2b585f7f2a20367f2a215b7f2b585d7f2a2036585e585c7f2a20367f6e5b7e5b7720367f2a20367f6e5b7e5b4120367f2a2036585e585c7f2a20367f6e5f36405871367f2a20367f2a20367f6e5f3640587d367f2a20367f2a20365841207e5b4120327f772c32585e5858585e58517f2a20367f2a20367f6e5b7e5b5120367f2a215b7f74585f7f2a20367f2a2d5b7f2b58585841207e5b5120327f772158405853367f7e5b7e5b4120367f772036585e58527f2a20367f2a20367f2a20367f6e5f36405861367f2a20367f2a20367f2a20367f2a215b7f2b58507f2a20367f2a20367f2a2158405820367f2a20367f2a20367f2a20367f2a20367f2a2158405869367f2a20367f2a20367f2a2036585e58557f2a20367f2a20367f2a20367f2a215b7f2b585e7f2a61367f2a20365841207e5b2a20367f2a20367f772d5b7f2b585e7f2a20367f2a2c325841207e5b4120367f2a20215841207e58772021585e585c7f772c327f7e5f36405853327f6e5f36405853327f7e5f2140585f365841617e582a2c327f7e5f36405857367f2a215b7f5e585d7f2a20365841287e5b5120367f2a2d5b7f74585a7f51215b7f5e585d7f2a2032585e585a7f772d5b7f4e585a7f2a215b7f7e50615a585f71584e5c585d6e5f71584e50585b7e5f71584e5458587e5f71584e4858587e5f71584e4c5858585f71584e40585b585f71584e7a585b6e5f71584e7e58585849555b54725c587e5858587e54585848545b58585858586e544d5d6e2d5858585c5d584848585848585858485858587e545a587e7a565b7e7e525f58545a5858545d5858505d5858545d58582d5a5b584858586e48585b58585c58585858586e545d586e485858585c5a5f4850515b48545e5b7e6a5a585a5c5a58586e545b487e5a58585858586e545d586e585058587e585b6e58585858545a587e545d5870504c5858585c586e5058585854585b6e505a58585841585b7a58506e5458585854585848585b5b6e50515a58585d587e5052586e505b5b5854585b6e505d5858585d5861585c5c585057587e2955587e6a585858504f5858585c5a5850585a487a50587e7a5d5a7e5c585b58405d58485858586e48405a7e48405a7e7e4b587e585c53582d75537e585b584858585a7e215858587a5b58614c5b5b587e5a587e764358587a515e48585b586e7a5a586e5c5a5c6e5c505b6e76585858585b585840515d58585b586e5c585858545b58485c585b5b767b5e716a58587e5858587e547a586e505858587a5d5158545d587e505d5a487a525a4872525a4872585c584848586e505f5b6e48585a5a7a765c486a5f5a615c55585850515c4a72585a6e585b586e505a587e7a5c58584068587e585a587e486b555a29505d7e50565f582d585848505a585858585b6e545d5b6e545d58485858587e545a5858585a5848585a58585c5b587e4858585848505f7e485b58485858584b545b584858535a4872525a7e76585a587e505b58215b5848585b58585c585848585b58585c585848585b58585c585848585b58585c585848585b5858545d586e545d586e585858485c5e5d586e5e5d586e585b7e585e5d586e5b5b7e405c5a6e485a5b58505b5b7e48555b58505c587e6a555a6e485b58485c5b5a48725f517e4c7c5d4829575d4829575d584c5f5b484c5f5b6e6e5f5b484c5f5b48407f505b505e5c7e7a5e5b7e407f505b505e5c7e725e5b7e4c5f5b484c5f5b484c5f5b484c5f5b484c5f58584c5f5b48725f5b587e5e5b587e505b7e485d5148485b5848585b58587e5b5f7e505a5858585b584858585848585b5848585c5b587a5b7a58515b586a5c5a5b48405b584d5a587e58505e5a585f36584c5e7e286e5c555b297e49584e725a58585f6858567a5b584e6a585e485f6a585b585b7b485d78587e5f6c5855485c584e21586b7e485b7a585a435b585f615853585c584150586b585c5b7a6e5a5d5b585f295848585b7d485a4f586e5f2b5853485d58417a58726e5453616e485b585c5c5b5a21585a63484a685b545c5b6f585e48582f6e5b736e5656582d295d4d293254582d6a5d707e56505820585c7058497558407a5d636e4d565b56485b324855545b546a5c6c585173587a765c60584d535b547a5c2958515b5b54505c6e584d5f5b54485c6e6e4b3272485652587c505b6f6e4a325b55295c6f584d71587b6a5c6c7e4a2c5b557e5c6d6e48486048516f5832295d6e585632582e6e5d6c7e562d582e405d6d585660582e585d6b7e566a582f765d68585674582c545a2158496c582d2d5a2d48497e5820215d2a7e497d582f215a2a58497b5820765d7458554058207a5d287e494f5820485d4d20545d297e5651586a6a5d6048495058217a5d6148495d582d405a607e495e5b53505d617e495c5821505d4370587e2e58496b5832765d2f48497658327a5d2c7e4975582f215a2c5849735832505d5050295a73485554587b295b6f485143582e295b50575c5d29584954584c2049636e565058705d565821295d63585f494d216e5d705853745055405c6d484a635b5e407e6a7e4a615b55585c5052215c6b484a6a5b526a5c605855505868725c68584a775b52405c6948487e69584a735b52505c76484a36586b215a76584a7f5b532d5c77484a7a5b5a5a7b5b53765c74584a415b53405c75484a4c5b53545c5053505c72484a495b502d5c73484a545b506a5c707e4b745055725a70484a505b507a5c717e4a5f5b50485c6e485620582e725d6b485669582e4c5d6a4857745055725a7e7e4a5b5b50585c366e49325836295d6f6e562e582e7a5d686e5677582e545d6b6e49525840505a365849525840505a326e547e686e5e6b584e6d6b782f295a4d2b696850526a5b686e5f6b782b6c6d5872206878705a685878765b782f725b68485e6a5872206878705a685878765b782f725b68485e6a5872206878705d2f5836725d50497e5d206e547e207e492858605d295836545d5053725a217e566a584a5a43586f5c5d6b585f7469485672582b407e604851535878545d7448567a582f505d5053765d7748567158605a7b582c2d5d7658577450537e5d756e567f582c405d5a684d7f5b21725c5b6e587e585a585b7c586a4c585a58585c5d4c5c485a58585258505c5d6e6a7e585a29585a6e6a7d58485f365058584857484b5850585876587e5871584a58585c51297850585c485c586a7e58586a53585a58585c58297e584e7655297e5c5b5b51215a485a585b505858485a4a505d4a6e4b58506e5b5b5c5e6a705870485850585c7e582b6a70586e4b58505858485c605c5c505858485a4a505b5058576850484c7e5860585c50585f6b4a6e4b585058587e5b5a585f50584b6b50585c7e584b5d5058486a7e584a58585c5829705b5e767e58295c585c497a5b5058587e5b4b5b2d5058535b585d76585d60585c50584f685058535b5d2b764857586a5458486a73585c5c487860505a5358585a485a58585c5d4c5c485a5858525850585048547e58725c58567e584950585c7e582b767e58725c49787158295058587e584b582c5d585c555058535b585d76585d70585850585f685058535b5d747648575a585850585c48567e6a555058535b5c5e767258586a4b585a58585c5d4c5c485a5858525850585d6e6a7e58586a52585a5858525850585c52545b5a6e6e585058587e584c5c7a78715a48587e6f545d585c517f6e535850585b5f5d48587e585c5c507860505d50585b5b5b5e6a76587e5870584c5f2d7a4a505878705c5f5872587e584c5c5b7a48295850585f5b582a5f5f5d485c7e5860585d52585058507e5f6b507e575b2f505c5b525850584a48295b5058587e584e7671585a585d487c605b584a7e5a585c7a5c485a585b487f215b4d484b5850585476587e7e705870585b4848572b507e4b5b582a4b5b7e50505b787240785058507e58607e5a5d5a505b4b7e4b58487d705b584c51407e485c76587e5b5b7f70585c7d2a5c2b587e5854586e6a7e5870585b577e505450585c7e5873405a5a586e5a5a60585d525850405048405a485a585d50585476587e6e70584c7a5c485a585d52585050507e507e584d405a5d5a585b5058502b587e7e5458486a5a485a585d484b4b68507e5076587e58705b5829585058575b5c5e767058707e5a585a505c5d485b5b585a5c5b5d585c555829587e58705c5150584870584c5c4c7870505a52585058507e4857585a585b484b5b685048507e584a7e5a5c5a505c5d48585550587d5b585d405a58586a7e5b724c57584853585058547e58607e5a515a505a484853294840705c584e76705b5a7e5a585c405c485a585c50585c2b587e587e5848295b487d605b584c517a7e485c76587e5b5b7f70585a7d2a5c2b587e5854586e6a7e5b725c48484b487e5b707e5a5c5a585d4b716d6850585c2b587e587e584c4c57587e6a7e584a585e577e50405058547658715870587e4b5850585c7e5873405a5c5a585a50585c2b58717e55505854765871487058724c57584a585b5058502b5871487e5870585b577e50405d585c5550584c76587e4870584c5c5d7a4c5c5d4b6e2958487c5a5b584a5858577e505850584c7e584c5f327a4d405a5b5a585d50585b5b5841502b587e487e585a585d78705858577e50585d6e6a7e5860585f4d6e295850584c76587e4870584c5c5b7a4c4c575858535850585f5b58775f5f5b5c587e5b4c516e7e485c76587e5b5e5b5c5b5b21505c5b5058542b587e5b5b2c505c5b487c4a5b584a7e5a585a585878705058577e50585058547e585c5c5b7a73405a5b5a585d487c605b584a7e5a585c7a575829517e7e485f5b585d405a585c516a7e485f5b585d405a5858215550584f5b2e505c5b525850584b7e4b58487c605b584a585d577e5058487c5a5b584c517e7e485c76587e587e585e7670585d405a585a585d50585b5b5841502b587e487e585a585d78705858577e50585d6e6a7e584c5f2d7a4a585878705c585872587e584c5136584c295c485a585f52585050507e507e584c5c5d7d70505c4848572948405a5a584e695e5e70585a50584c76587e6e70584c405c485c51407e485f5b2b505c5b5258505848412d7e5b517d61577e50585d5850555058507e584d405a5d5a585b5058502b587e7e5458486a7e5b4a7e5a5e5a5c5e5872587e5b4a585f52585054507e5f515b5c587e5b4a7e5a5a5a505a487c705b584a7e5a585c72785058507e584d405a5d5a585b5058502b587e7e5458486a5a485a585f484b4b68507e5076587e58705b58295850584f5b5c5e767058707e5a585a505c5d485b5b585a5c5b5d585c555829587e58705c5150584870584c5c4c7870505a52585058507e4857585a585b484b5b685048507e584a7e5a5c5a505c5d48585550587d5b585d405a58586a7e5b724c575858535850584c7e5b4a7e5a515a505a484853294840705c584e76705b5a7e5a585c405c485a585c50585c2b587e587e5848295b487d605b584c517a7e485c76587e5b5b7f70585a7d2a5c2b587e5854587e6a7e5b725c48484b487e5b707e5a5c5a585f4b716d6850585c2b587e587e584c4c5758486a7e584a585e577e504050584c7658715870587e4b5850585c7e5873405a5c5a585a50585c2b58717e5550584c765871487058724c57585a585b5058502b5871487e5870585b577e50405a60585d50585b5b5841502b587e487e585a585d78705858577e50585058575b2e505c5b525850584b6e295b487c5a5b584a5858577e50585d6e6a7e5b4a585b48412c61577e505c5058547e585c5c5b7a73405a5b5a5858505857685058582b587e585550585b5b366e5f575b5c587e585c5c5d7d70505b4848572948405a5a584e767158585336487d705b584a7e5a585a505a48485c7e5841487058415f5f5b5c5b5b2b505c5b50585c7e5877502b587e587e58586e5b5a605858525850505a605c5a5058587e5863405a5a5a585a5058542b587e6e7e58605858577e50545058547e5873405a5a582155484b21715870585d487e582a5871587e585c5136363621514d484b5850585b5b5a514070584a585b48405d32492b695b5c51435b5a515c70584148705870585a48405d7e512b695b5c51435b5b515c70587748705b5a585c48405a585d2b695b5c51435b58775c705b514b5b5d2a407e584a585a7a70585c7a746a70584c5c5b7d5a585850585f5b5f4e692b48485f617a725c7a78705c5a5a60585d5058502b58716e7e58725c5a7d5c5e5071585f6850485c5a4858535858725b5b2a505c5b52585058507e4b5b584a585a7d5a50517a4c4c5c485c517a7e485c7e5b5a58517a73405a585a585b5058542b587e587e5860585b577e50405d585c5550585b5b585c5c435058535b5841436b5058535b5129407b7d5a5c5a50585c76587e58715848575850585c705b5a7e5a5b5c5f2d7a4a58584b7e295a5058535b51414071584a585a48485f295048507e5b5a585b48484b6178705051484b5b6852585058507e5c5758586a7e5b60585d577e50485058547e5b5d405a5e586a7e5860585d577e50545058547e5863405a5a586e5b5a60585c52585050507e587e5863405a5d5a585c5058542b587e7e7e58295c58577e50405058547e5b5d405a5d5a585d5058582b587e7e55487f705b584c512d7e485c76587e5b5b584e6a70585c5f365058587b577e50585a6e6a7258485f36506e5b5b5c5e6a70584a485850585b5a585d7a5a585a58584848582b587e7e7e584c5c487870485850585855706e505a582a215a7f7e535850585869582a58705b5f5b5f5058487e585a725d7c5a58585258505c507e5c7e585a7e5a555a505a782f6121507e4f417a4c4c5c485a5458484b5b6b507e5072585c5f3650485c5a485a58585c56725b5d48587e585a585a4848206848485c7e585a7e5a505b5c5c585c5c5b4b6e29585058506d5858217158486a7e58725c487870485850585c7058295c584d7e295b50585876587e4871584a58585258506a5048505550585b5a7f637a5d7a5a585850585c2b58747e7e585a585f5058507e584e6c6a7f5d7a5d7c5c5f365d6e6a7e5b4c505b7f5a5c5f50585876587e4871584a5858525850505048505a485a58585248576e507e4b485d48587e5b5a585f7f4a505c5058507e584e6c6a4e48295850585c7e5b527d68504850555058587e5873405a785a585850584c7e585a7e5a555a505850585f6b6b516e2a582a7e7e585a585b4d6e4b5850585f5b584e6a7e5863765858586a7e586e6a4358485f3648487671584a58585c5d4c5c7f6058585c51285b584e6a5f50585c555a32545b5848433650585c48296e507158605458484b5b6b507e4c72585853585058547e585a505c5c54215b507e5b575b5c587e5b5b5857507e40715870585d507e585c7f6e535850585c7e58724057585a585a50585f6b50585b5b58774b495b5c587e585c4c57584857585058507e584a7e5a585d405a585a585a48484b685048507e584c5c5c78705c5b50585b5b584e6a70585829585a6e6e5b5a6058584b4829585829587e5870585848485f6b507e5b5b587748705b2b767e584a585178707e5a585d405a585a58585d4858555a295c585b4a585a5a61767e5b4c5c58577e50545058407e58295c5a7d5e767e5b4c5c54787158635058487e58615b2d5d585c555058487e585a585d50585b6b505848485a4a50584848587e585a585d50585c4820585c5550584f5b5c5e767258586d635848573650585c48727e5c7158705458484b5b6b507e4872585853585058507e585b584d507e57575b5c587e585b58575048547e587e4b585058547e584a585a5c56765b5a60585c4848582f5858217e5870585d7870585c484820685c5d487e585a585a5c517e5458486a7e585a585d5058507e582b6a7e585b5853507e5b5b585a58585058507e584b5d2d58486a7e5b5c5c48787048585a32295a58484b3658725b5b2a507e5b5548585848485f615d485b5b2a507e5b5c5a4b5f5d485873585c5c7e7860505a5358585a485853585829587e58725c507870585848485329787e533648485c7e58514b5b36363636366e7d61507e575b5841535f5b5c587e585c5c5a7d5a7e5a58586e5b5a6058584843767c4878487f5058547b5c56585a5a60505d577e50585058575b7f297a5c485a585848485f68507e5b5b5b724057587e6e5b5a6e6a5458486d5b585b5d7f58724c5c485c5150554a5c5b5058535b5a5e695b605a2948776e5f5f5d485f5b2d5a2971584a585a48487168487c586d5c53215b4b48295b48485871585c5e6e716e5c6d58585b5f5b5c585d485a58584848532948405a51584e767e585c5e7251615d7e5873405a585a585848485f68507e5b5b5b727a5758586d5b6a507a5b48485c2f58585b5b74507a5b48405a51584a7e5a585d405a58586d5b7e507a5b50485c7e58725c5078725e58716e5c48776e5f5f5d485f5b74507a5b50485c7e58725c5078725e40716e5c48776e5f5f5d485f5b5e5b5843507e5f5f5d485c5550585c7e5870725d5a5d7a5a585a585b5058506958617e2a5871587e584a585a52485448576e50505a60585a484a5b6853585b5b2b507e5b50585c2b587e5b5b2a507e5b5c5a5455487d7050584a7e5a58586a5f585b585858586f7f5a7e505f7f6e2032506e5b5b2d585b6b507e4c72585a585c486f3636363636363663325d507e285a5d2d407e58295061705048715d70585a50584a5f48765a587e505a587e505a587e51325d5048767e5872553636363636363621367e60505548705a505048217e5d4c504b705a5c4850584b5a54507077487f363658415c715b6e53585872587e5872506e70527d5b3636215b7a4a505348485f6b487f2a36584c295c485a585148485f6b487f2e36584c725758486a7e584f587e587255363636363636363636363621587e60505448765a587e505a587e545d36366e5b4c5058615a7e505a587e505a586e493636585f5c7b4b484b585058535a7e505a587e505a58505048715a7e6e5a5a60585d4c5a585c486f36363636363636363636366e5a5d507e535a7e505a587e505a586e493636585f487e587252587e505a587e505d58363621584c4b6d5f5b5c587e5b5c52587e505a587e50587e715a5c525058547158486e5a5a60585b5058615a7e505a587e505a586e49363658504e5c4c584b585058507e582d4b485b5c5b5a7e505a587e505a582d493636585a5c52487e587158486e5d5a60585248765a587e505a587e545d36366e5a5c5048695a585a5c5b5d5850555058547e587252587e505a587e505d583636215871404b485b5c587e584a5854715a5c5a487e5871584a585a4c584b5848765a587e505a587e565d36366e58715a7e6e5d5a60585248765a587e505a587e545d36366e5a5c50487654587e6a7e584a5854715f585c485c505850485c54587e6a7e5870585d715f585c485c505850485c54587e6a7e5d5c553636363636363621364e584b5850584f5b29585b6850585c7e5a60585b50586a7e5a2858705b716d2c5058435b5b774a6d7f527a705b725c497861586f484b587e5b746a715b70585f52485740507e6d5a50507e715d60585f5248574850485c555058535a363636363636363649284057585a585f484c5b6b5058547e5d4a585d5058297e5d4f58705a5b6d2c5058715b5b774a6d7f527a705a5c5c497861586f5058407e5a5e6d5b5c5e76715b70585f52485750507e535a5d2d407e5b4a725d485a505d48735e50715a5c565058535a5c407e715c586a7e58295049717252587e492e365d2d54705870585b48705a50507e4b325071507e5829504b705c5536363636365d2d54705d5a585b486f3636363621497e60505b7f776e705c4c507e7170505750585c7e58772c21507e547e5d4f4a6d5058507e5a295536363636365d2d54705a2a2d705f4a585c505861327f5a504d50582c5a36363636366e325d507e297e58412c215071487e5c4a584a4f52285a5050407e5c4c507e70504b2150715c7e5870584948765a585b5048705d772d705f705855505861327f5a50495058487e5d412c215071507e5c5c5536363636365b2d575a7e505a587e58705c507e507e58412c2150715b5a5050432150717d2150485c7e5b6058537870585e78725136366e5b6b5048405a485a58555058283250717e7e5d5a58567f776e705d5a58404f52297e5d5a585a50584b327f5a505c5058614c6b416e7e587058567f776e7e5b5a585c505b547e5f4f4a6d505b547e5f5f786d7f516e705b5f786d7f5a585a50586d32507e6a7e5d4a58567f776e70587058554f52285a5050407e5872507e70504b215058487e5872507e71776e705870585c4f5228215058507e58705848505b534c6b4a5849505b434c6b4a5849505b534e6b41612148705a5e505b5b5a5050705c7f5a505a4f6828215058507e5870584b505b4b4c6b4a584b505b7d4e6b416121507e534e6b416e705b5c52587e505a587e505d58585057484b484b585058435b584e76715b7e6e5b5a60585d4873325050486a7e5b5c505b7170585a48733250715a5c5c5058535a5840407e584c5036705048715870585d487e5e5e5048547e5a60585b487e5e5e715a5c5b5a60585e487f3636584c2d5c485a585248765a587e505a587e545d36366e5a5c5048695a585a5c5b5d585c5558772d7e5b725c584d584b5848485c7e5b746a705b295e58584c215c485c505850485c54586e6a7e5b4c5c6e7870585d50585c7e5b725136585e76705b71586f50584f5b505e767e5870585c505840485560585f484b5b685058547e584a58515c516e7e5b4a585a5058487e5b615b2150584c695863587e5b4a725d56504b5a585f526d50584c695860587e5b4a725d5c504a5c5048547e5b4a725d525a585f52485440715a5c5b50584c69586e58715870585f524854505d585c5550584b5a3636363636363636492d547e5b68285a5450785c5a605852715a5c525058574850585f5a585f727e584c52587e505a587e505a587e505b364c4b6d5f5b5c587e5a70585a487e5f21507e5c7e58754a6d7f5a5c525d585c555058547e584c52587e505a587e505a587e505b3671404b484b484b585058507158486e5b5a6058525058507e5872505b7e2a6e70584a585a4f522821504876555058587e584d7a5d585a58585058762a586e7e7e5b4c517e585e767258586c58557e5c557f605458484b5b6b507e6a72585853585872585a485853585872585a485853585872585a485853585872587e585c5129584c295c485c51407e485c76587e58705b725c4850585b5b5a2b695b7c515c7e585c5c554a4b6a705b295c5d7d70505a7d70505b484857615b5c587e584c5f367a295c5b7a4a585a7870505d48485729507e5f5b7050505b78707e5a585a505c484871685048585a485a585c52585050507e507e584c5e587e7e5f68507e5f5e5b5c5b5b2b505c5b5058435b7f70585d7d2a5c2b587e585458486a7e5870585b577e505450585c7e5873405a5a586a7e5b5a585d48485729507e5f5b582a502b587e487e584a585c7870505b50585c76587e4b5b5841502b587e48545d586a7e5b29517e7e485c76587e58705a722957584a585b5b5c585a485c5c5a50585329507e5b5b585a5858782a507e584a585a7d515c70585c5c5850585b6b7a4c5c5b7860505850585b5b5d51435b5c515c7058774070584c5c5f7d725c507a4a50585058536050585c7e58514070584c5c5a7d725c5c7a4a50587a70585b50585b2b507e5f5b5841435b58775c705851507e584a58587d70505b48485f2b48485f61507e5b6050585c7e58514368507e575b582a4870585c5e507e7e5f6852585058507e4876587e7e70584a585848405a5a584e7670585c405c485c51407e485c7e5b725f325058572a7a4a505e577e50585d585c5550585c7e585d405a5d5a585850585c2b587e7e5550584b5b5a5e7671585a585c50587d5b582a502b587e487e5b5a58517870505a5058575b582a4870584a58517860505d48485f60577e505c50585c7e5b5e767e5863405a585a58525b5c587e5a725c5d7d70505b4848572948405a5a584e76715b4c516a7e485c76587e58715b5853365058435b584a585b7d5a505b7a4c4c5c485c51407e485c7e584a585e7a73405a585a585f5d585c5550584c76587e7e5550485c7e5b4a585c577e505050585c7e5b5d405a5d5a585c50584c2b587e6e7e5b5a585b577e50505a29516a7e485c7e5873405a585c517e7e485c7e5863405a58586e545a29517a7e485c76587e58705a4c4c57584a58534848587e5a4e6d6148485f6b507e587e585c5c547d725c487a4a505a7d70505b48484f2b48487161507e587e5877507e584a58587d70505b4848532b48484b61507e5b6050585c7e58514070584c5c5b7d725c5a7a4a50587a70585b50585b2b507e5f5b5841435b58415c705851507e584a58587d74695b58774b5b7050485b78707e5a585a505b5258505c4841716150587d6b5048547e584a5c5a5829585a485a585a52585048507e5b5f5b5c587e58707e5a5f5a50584b48295b5a6058585258505c4841716150587d6b507e507e5860585a50585753507e507b5048547e585a585b5058507b50485c7e585a5c5a5d585c555a60585b5258504050487e7e584a585b52585054507e4b515b5c587e584a7e5a5a5a5058487c705b584a7e5a585c72785058587e5b5d405a5d5a585c5058582b587e7e545a6e6a7e584c5c4c7870505a52585058507e5b5f5b5c587e584a7e5a5c5a50584b48295d50585f5b5c5e7671587e6a5d485a585a50484c7e585a505c484b4b68507e5076587e58705858295850584b5b5c5e76715870585c52585048507e585758586a7e5b4c5c58577e50585d587655484121715b605858487b20364a6e295850585b5b5a2b7670585c5f2d7a4a5c51487d605b584a7e5a585a50534b4829584848587e5b2b6a71586e53585872585a485853364848587e5b295e5858727257585b695b51605851487f3636366e7d555d48587850585b5b5a514070585a585848405d32492b695b5c51435b5a515c7058774870585a585848405d7e512b695b5c51435b5b515c7058414870585a585848405a585d2b695b5c51435b58775c7058514b5b5d2a407e584a585a7a7058587a746a70585c5c5b7d5a585150585b5b5f4e692b48485f617a725c7a787e6a705b725c5a7d5c5e5071585f6852585058507e535f5b5c5b5b585a5c585d585c5548485871585a585148485b5b5e4a585e48485f2b7860585e484b205e5e2a4871584857585872587e58707e5a5b5c5f2d7a4a58517860505f505857495d48587e58705c5c50584c70586e2958484858715860585a50485854586e6a7e585a585a5258504c507e4c7e5b4a585a50585f5b5141435b5b515f6852585048507e535e5e60585850584c7b5048587e584c5c5b7d5a5c5b5058505758586a555058587e5b51535f5b5c5b5b585a5c5c4848507e5b774870585c5c5850585b6b7a7058537a4a50584b48295d50585b5b585a5858782a5f5b584e6a70585a58584848612b484b5b61507e532b507e5f5b5b41435b5a515c70585a585a7a70585b50585b2b507e5f5b5877435b5b515c705851507e584a58587d70505b48485f2b48485361507e5b6050585c7e58514070584c5c5b7d725c5b7a4a50587a70585b50585b2b78725c5a7d5c5e5071585f68525850585048585550585b5f5d485c555829587e585a7e5a5b5c5f2d7a4a58517860505b505857535048507e584a585d5058507b5048547e585a585c5058507b5048487e585a7e5a5c5a505b5b51217e58484c7e585a7e5a5f586a70585829585a6e6a7e5b5c4c57585a585d487c5a5b584a7e5a585a585178292157585a585c525850405048407e5b5a585c52585054507e5f515b5c587e5b5a7e5a5a5a5058487c705b584a7e5a585c72785058587e584d405a5d5a585b5058582b587e7e545a486a7e5b5c5c4c7870505a52585058507e5b5f5b5c587e5b5a7e5a5c5a50584b48295d50584b5b5c5e7671587e6a5d485a585a50484c7e585a505b484b4b68507e5076587e58705858295850585f5b5c5e76715870585b52585048507e585758586a7e5b4c5c58577e50585d587e5550587d5b2d505c5b52585058507e53575b5c5b5b2e505c5b525850585048545a485a585a50587d6b507e5f5b5c5c215c485c517e7e485c7e584d405a585c516a7e485c7e5860585178705058577e50585058587e584c5c5b7a73405a5b5a585a5058576850585c2b587e587e5860585148485760577e505c5d585c55487c605b584c5c58577e5058487c5a5b584c5c58577e50585058547e58725c5d7a73405a5b5a585a50585768507e587e585a7e5a5b5c5c5b7a73405a5b586a7e58295c5078705c585d58765550587d5b2c505c5b52585058507e71535b5c5b5b2c505c5b50587e7e5b2b6a70584d405a585c516e7e485f5b21505c5b52585058507e507e5b2b7670585d405a585a585850585f5b5841502b587e487e5870585148485760577e505c5058535b5a5e767158586e525a295c585048587e5b295c6f787050535877205b6a504c5b525850585b5c5b5b6c504c5b525850585d585c55487b605f584c5336576e5058487b4a5f584c525876505a587e50585c576e5058487b5a5f584a58554848616848415b61487d70682878765f7a63405a585c515c71485f5b585d405a585c5e4c71485f5b585d405a585c5e5850586a70584e76705b725c5850585f6b507e4f61507e507e5b2929575a4c5e4871485c76587e58705b584b584840705f584a7e5a585a505d50585368507e5c7e5829297e584a585c4a2a50575a7e6d5b75504c5b5548585848484b615d48485a48585358487f5a5b584a7e5a585a505d5b5c5b5b74504c5b5048585d485a585d50585876587e5870584c215c485a585b50585876587e4b68505857555d48545550585876587e7e70585829585a6e6d5b585b5b60507e5f5b7f2940575b4a585a5048435b6d504c5b52585058507e575b584e6a70585a585b7a484b585058507e584e6a7e585a585b78725c585058576b7a4e76715b7e6a7e5b7058514d4a585e487f2e36363621514a2a50575b4c5e4871485c76587e58705b584b584840705f584a7e5a585a505d50584368507e587e5829297e585a585c4a2a50575b7e6a7e5b715b60507e587e584c7a5758486e515a60585e5058716b50584f61507e435b366f3636366e7d555d48487e5b715b60507e5c7e585a7e5a585a58585258505c787240575860585b5048585550585b5b7f29407e5b295c6e7870585e4d41535f5b5c5b5b6c504c5b52585058507e5c7e5a4a585e782b695b585a585b782a5c70584c5132363636365b296a5c485a585850485c545b6e6a7e584b5b60484120515b5c587e584a585e78705c5e5058587158486e515a295c585058436b5c5150785d58485550585870584c5f364b6e295f5d585455484858715b586e515a295c5850485c545b486a7e584c5f364b6e295a5a295e4c71485f5b75504c5b5258505848484b60577e50585a60585a487f2e36363621514a6e295b505850487a70505b4841205e484858487a7050584841205e7a70585850585f577a7e295b5058587e584e6a705b705851484a71684d48295b5a295e5071485f5b70504c5b5258505850584368507e582b587e5b5b73504c5b5258505850585b535b5c5b5b73504c5b5058582b587e58555872585a48585358487f5a5b584a7e5a585a505f5b5c5b5b74504c5b5048585d485a585b50585876587e5870586058585258505c507e53684b7e295a50585876587e7e70585829585a6e6e5a5a2951767e485c76587e5870585c5c585058587e584c297b4b484b58487c705b584a585b577e50585a295c5850485b5b77504c5b5058402b587e5b5b74504c5b50585c2b587e5b5b32505c5b4841212b587e5b5b36505c5b487b5a5f584a7e5a585d405a585c5e7271485f5b585d405a5858575850585b5b582a487058295e507e7e5f685058575b7e50505b7870505a577e50585058575b7350505b7870585a577e505850585b5b584e7670585c5c7e4b6e29585a2951727e485c7e5b725c767860505d48417e7e584e6d5b5b2a5f5b585a585b4848716848487d615e6050587860505a577e5058487f5a5b584a585850585f68507e582b587e587e585a585a48485f60577e505c50585c7e582b695b525d405a5b5c51297e485f5b6e504c5b52585058577e50585d5850555058586d5858615b5a515c7e5860585f4a2a507e584a585f4d415057585a58585058507e5b74762b587e4b5b21505c5b50584f5b7c5a585f78295c517a4c5c5850584f5b5a5e695b5b2a5c7b507e5b68507e502b587e5b5b2c505c5b487c4a5b584a7e5a585a585e7870505b50585b6b507e582b587e587e5870585848485f60577e505c50585c7e5b4e695b525d405a5b5c51297e485f5b6e504c5b52585058577e50585d585c55487c705b584a7e5a585a585b4a6e4b58487c705b584a585b577e50585a60585b505843685048535b74504c5b5048585a485853585872585a485853585872585d485a585a50585876587e5b515b5c587e585a7e5a5a5a50585d485c54587e6a555058586d5858615b5a515f5f5d485c554843705f584a5c585829587e5b4a585852585058507e53495b5c587e587058585258505c7870505c50584f555d48545550585876587e7e7158586e585a6e58555058587e584d405a585a585850585876587e487e5b74762b587e487e584c5f2d50585f6b48487d614848587e584c5c5078725c517a4b6d68507e727e5b295c5d7a73405a5b5a585a48417e7e58746d5b5b2a5f5b585a585a4848716848487d615e2b76705b70585150587568507e716b5048507e5b4a585e4b7e4b58487f5a5b584a5850577e5058487c4a5b584c51727e485c76587e587e58747670585d405a585a585050585b5b5841502b587e4854586e6a7e5b72516a7e485c76587e5b5e5b5c5b5b2e505c5b50587e2b587e5b5b2d505c5b487c5a5b584a7e5a585a585a78705058577e505850587e7e585c5c5b7a73405a5b5a5858505871685058582b587e5854586e6a7e5b707e5a5b5a50584848576148485f5e5b5c587e585c5f2d7a4a5c5f5872587e585c5136584c295c485a585e52585050507e547e585c5c5d7d7050584848572948405a5a584e695e5e70585d50584076587e6e70584c405c485c51407e485f5b2b505c5b5258505848412d7e58517d61577e50585d5850555058547e584d405a5d5a585b5058542b587e7e5458486a7e5b707e5a5e5a5c515872587e5b70585e52585054507e5f515b5c587e5b707e5a5a5a505850585c2b587e6e7e584a5858577e50505d585c555872587e5b725c4c7870505852585058507e5457585a585e484b5b68507e5876587e5870586e29584848587158486e5b5a6e5758505858715b5a585d507e5f5b5f5e7670585a7e5a585a505d5d48587e584c5c4878705c5850585c7658715870586e29585a60585c4848582b587e585550587d5f5d48585a485a585e5058407658716e7058295c5a7d5c5e5071585f68507e5876587e5b5e5b5c587e585a585b577e505850585c57584c517a7e485f5b2a505c5b5258505848412d7e582a7d61577e50585d58505550587d5b5c5c5c4c50587a765871587e5b72407b7870585b577e505850585f5f5d485c5550585c7e5b63405a5e5a585e52585048507e585c485a585b5058582b5871587e585a585b577e50405a60585e5258504c507e5b5f5d48587e584a5858577e504c5058587e584d405a5e586a7e5b4a585e78705c5e5058507e5b4e7671587e6a7e5b70585e5258505c48412c61577e505c50587e7e58725c5b7a73405a5b5a585a505871685058502b587e587e58725136584c295c485a585a4848572b507e5b5b582a4b5b7e50505b78705c5a5877205b2b505c5b52585058507e5f5b584a58587d5a50587a4c4c5c485c51407e485c7e585a585b7a73405a585a585a5d585c5550585076587e7e555048587e58705850577e50505058587e5a5d405a5d5a58505058502b587e6e7e5a5a5858577e50505d585455484b2171585a585a487f3636366e7d575b5c587e58725c507d70505850585b5b7e492d3678725c487d725c507a4a505d7d5a505850585b5b7e56587f78725c487d725c5c7a4a505b7d5a505850585b5b7e50584978725c487d725c5a7a4a50587d5c5c497d70585b5058576050585b607860505848485f295058507e585c5c4f7877435b58415f60484b61685048585550587e7e585d405a515a5850487e582a5871587e585c5c5a7d5c5e5071585f685048485a485c517a7e485c76587e587058295c5b50585b29507e5f614b484b58487d605b584a585b50585760577e50585058487e5a5d405a585a58505058482b58717e5458486a7e58725c58484b727e585c5c5b7d746a7e585c5c7f4b716d295048587e5b5a7e5a585a5c5b5829587e584a505d5258505c484171615058535e5d48547e585c5c7d7d705c5b50585b5b58414871585a585d50585f5b5b515f68507e487658715870584829585a60585c50587e2b5871587e5a5a585d577e50405a60585050587e2b587e6e7e5a5a5850577e50505d585055487c4a5b584a585e484a716b507e575b7c5a585b78295c517a4c5c5850585f5b5a5e695b5b2a5c7b507e5b6b507e502b587e5b5b21505c5b5058587e584e7670585d405a585a58585058535b5841502b587e487e584a585d78725c76577e505c487f4a5b584c515871485c76587e582b587e587e5b4a585c484a7a7e5b5e6d5b5b2a5f5b585a585c484a7d6b48487d615e2b695b552b6a70585a585850584f5b5c5e69535e60505a484b6a2b587e487e58725e7e71485c69587e582a5871587e58725e4071485c69587e582a587e715b76504c5b5058535b5a5e762b587e5b5b77504c5b5058402b587e5b5b74504c5b50585c2b587e5b5b69504c5b4848582b587e587e58725c4078705c585829587e585c5c51577e505c50585b5b5a5e7671584a585848484b685048587e584a585c4a4829585a60585a50584f5e5d48547e5870585a5258505c48412c61577e505c50584c7e5870585f7860505c48485f60577e505c5058507e5b5d405a585a585c487f215b4d484b5850584b5b582a4070585c5c5d7d5c5e587e7e5f685048505a7f2951407e485c76587e5870584c5c5b50585b29507e5b614b484b58487d705b584a585850585f60577e50585058505458486a7e58707e5a5a586a71585a585a50584c2b587e7e7e585a585f577e505450584c7e5873405a5d5a585f5058582b587e7e545b586d5b51605c5850584f5a585d7a5a5c5a585c487f3636366e7d575b5c587e5b5c5c507d70505850585b5b7e492d3678725c487d725c507a4a505a7d5a505850585b5b7e56587f78725c487d725c5c7a4a505b7d5a505850585b5b7e50584978725c487d725c5a7a4a50587d5c5c497d70585b5058536050585b607860505848485f295058487e585c5c4f7877435b58415f60484b61685048585550584c7e585d405a515a5858484853294840705c584e7671586e5358487d605b584a7e5a585a505a48485c7e5851487058415f5f5b5c5b5b2a505c5b50585c7e5877502b587e587e5860585f577e505850584c7e5863405a5e586e5b5a60585c48485b5b5e4a585848485f2b78605858484b205e5e2a4871585a585d5258505850485c5d485a585b507e5076587e4b5b7c515c7e5b5c40575b5a5858484b282b50485c7e585c5c5b7d5a5c585058507e584c5c5c7a4e767058607e5a5c5a505b5d4858555058547e5b4d405a5c5a585f5058502b58717e5550584c7e5b4d405a5d5a585f50584c2b587e7e54586e6a7e58607e5a5a5a505850587e2b587e6e7e58605850577e50505058715b585d405a5e5a58505058542b587e6e7e5a5a5858577e50505a60585348487168504858545b486a7e58707e5a5a5a505850584c2b587e6e7e5870585f577e505050584f5b585d405a5e5a585f5058502b587e6e7e5b4a5858577e50505a2951727e485c76587e5870585a58514d482958487c4a5b584a585850587d6b507e5c2b587e5b5b21505c5b487f5a5b584a7e5a585a505a50587d68507e582b587e587e585a585b48485f60577e505c5058507e5b295c5d7a73405a5b5a585a4848716850485854586e6d5b28505c5b484d582b587e5b5b585a5c585d5850555872587e5b724c57585853585058487658716e7058725c5a7d5c5e5071585f68507e5876587e587e5b5c405c485a585850585c2b587e587e5848295b487d605b584a585348412d7e58777d61507e722b587e5854587e6a7e5b725c48484b487e5b707e5a5c5a585c4b716d6850585c2b587e587e584c4c5758486a7e584a585e577e5040505848765871587058584b5850585c7e585d405a5c5a585850585c2b58717e555058487658714870585c4c57585a585b5058582b5871487e585a585b577e50405a6e53585058575b5d29295c485a585c5058547e5b2b7670585c5c5d7a73405a5b5a585850584b68507e587e585a7e5a5b5c5c5b7a73405a5b586e5b5a60585c50587d5b582a502b587e487e5b5a58517870505f5058575b5841502b587e487e5860585f7870585d577e50585058575b366e5f575b5c587e58295c5d7d7050584848572948405a5a584e7671587e5336487d705b584a7e5a585a505b48485c7e5851487058515f5f5b5c5b5b2b505c5b5058587e5841502b587e587e587e6e5b5a60585a525850505a605c585058507e5b4d405a5a5a585850584c2b587e6e7e5b4a585a577e505450584c7e585d405a5a586e5b5a295c7f5048587e58295136363621514d484b585058575b5a514070585a585848405d32492b695b5c51435b5a515c7058774870585a585848405d7e512b695b5c51435b5b515c7058414870585a585848405a585d2b695b5c51435b58775c7058514b5b5d2a407e584a585a7a7058587a746a70585c5c5b7d5a585d50585b5b5f4e692b48485f617a725c7a78705c585a60585f5058582b58716e7e5b4c5058576e504850585b5b58774b5b7050485b78705c5b5872585a485a585348485c7e5851487058775f5f5b5c5b5b2a505c5b5058507e5a41502b587e587e584a585f577e50585d585c555058575b585c5c4350585b5b5841436b50585b5b5129407b7d5a5c5850585c76587e58715b6e575850587a70584a7e5a5b5c5f2d7a4a585d4b7e295a50585b5b514140715870585848485f295048587e584a585a48484b617870505a52585048507e7a5758586a7e5870585f577e50485a60585f50585c2b58717e7e5b4a585f577e505450584c7e5b4d405a5a586e5b5a60585b52585050507e587e5b4d405a5d5a585b50584c2b587e7e7e5b4c5c58577e504050584c7e584d405a5d5a585f5058582b587e7e5550584b5b5a5e767158586e5b5a6e53585058715f5d48585a485a585b5258507a507e535b58774b5b7050485b787050585258505850585f5e5b5c587e585a585c577e505850584857584c517a7e485c7e5a4c5f325058532a7a4d405a58586e5a5a605850484b5b5b5f5a58505258504850585f5e5e2b767e5b5d405a585a585c4b48295b5a60585c50587e2b58717e7e584a7e5a5c5a50585b5c587e5b5a5858577e50485058587e5b5d405a5e586a7e584a7e5a5f5a50584b4829585058487e585d405a5f5a58585058482b58717e555872587e58295c494d484b5850585c7e586058517870505848485760577e505c5058587e584e7670585a58585258505c48485f60577e505c5d585c5550585c7e5b295c5d7a73405a5b5a585b50587d68507e507e58295c5b7a73405a5b5a585a505857685058542b587e587e5a7e4b585058695b582a4070585c5c5d7d5c5e587e7e5f6850484f5b2e505c5b525850585048485a7f295c5b50585b29507e587e5b775f5f5b5c5b5b2b505c5b5058587e5b77502b587e587e5b486e5b5a60585f525850505a605c5850584c7e5b5d405a5a5a58585058482b587e6e7e5b5a585f577e50545058487e585d405a5a586d5b2e505c5b5058502b587e5b5b2d505c5b5058542b587e585550585f5b5a5e767158586a7e5a295c487870485850585855696e5c5b5b512173585c5c7e7860505b5358587e584c5c58577e505450585f5b5763405a5a5a585b50585c69586e7e2a586e587e584c5c487870505d50585c69587e582a587e487e58605858577e5058506e5b5b5c5e6a705870485850585876587e5b5b7f297a5c485a585a48487168507e487e58615b2f5e70585a505848487c71765d485a58585258505848485f5e5d48585550585876587e5b5f5b5c587e585c5c5b577e50585058535b565b5c5b585a58584841212b587e58555a60585a484b5b685358587e585a7e5a5b5a5c5850585f5b505e7672585a585848485f6b5a616a5850585b5b585d405a5b5a5858487d7321585d405a585a58584843734e585d405a58586c405b7e5c537f605458484b5b6b507e7e72585a58585c542d5b506e5b5b5c5e6a70587048585058507e585d405a5d5a585048487168507e4c7e58725c54787158635058535b5c5e7672585c5e6e75485c484c5a585b4d484b5858725b5b6a534c5b5c5f58705870585b48485f68507e5b535b5c5873585c5c7e786050535358585a485a58585058536b507e435b6a534c5b5c5c5476587e5b5b6d534c5b5258505878295c5a7d4c295c485a585e5c537a5a5d585c55487b5a4f584b5b2950487a7e5a4c5c5078705c5a5877205b6a534c5b5c5f587e5b7476715b5a5458484b5b6b507e5872585a58585058482b587e6e7e5b5b5a5b5870505d4d484b58487b5a4f584b5b63507e487e58295c5b7d72725c485a585850584b5b5841482b587e7e7e585c5c5078705858484861685c514076587e5871586e6a7e585c5c48787048585058545458486a485f6e585550485b5b6a534c5b5c5f58715a725c5850485473585c5c487860505c5358587e5b5c5c58577e50545058535b5d5e767e5b5c5c54787058515c50485a5058585c485a585a52585048505858487e585071586e6a7e5870585d577e50585058507e586058524848532978705051577e50505058507e5b63405a5b5a585a5c50545b5058547e585c5c5a7d5e762b587e587e5b5c5c4878704858506e5b5b5c5e6a70585a48585058587e58707e5a5a5d405a585a585a525850505048547e585a585a48487168577e50505058587e5860585e484853297873405a5b5a5858525850585048545d485a58585258505c505857515b5c587e58707e5a5c5a5858525850585c492d5b5058587e585a7e5a585c5c5c7870505d577e50585d585c555a6058585258505050585876587e582b587e587e585c5c4878704858487b5a4f584b5a4b58725e6e75485c487d5c5e6e75485c76587e5b5b6d534c5b525850585058535b5b5e7670585b5a5d58725e6e75485c7e585b5b28487b4a4f584a585a484871685c514f5b6a534c5b5c5c547e58715a5d584b5b285058507e58707e5a5b5d405a585c5e6e75485c484c5b5d36584a585a5258505c5048585d485a585850585076587e71515b5c587e58707e5a5c5b767e5870585a5258505048484b6b577e50505d585c555a60585a525850585b5c587e58707e5a5c5a585a52585058505850487e6e5c76587e587e58707e5a585e6d5b58774c4836585c555a605853484a5b685358585458486a7e585a585a4a484b58487b5a4f584a7e5a585a58584848532978705c58487b5a4f584b5b485048535b6a534c5b50585848326e5f5b6a534c5b50585048755850555a6e6d5b6a534c5b50585c487d607e5a58584b58487b5a4f584a585b5c517a76587e5848766e5c5550584c48697e5c71585c5e6e75485c7e584b5b2a5058582b587e587e5b4a7e5a585a5c5850584f5b585d405a585a58585b5c587e585b5a7358486a7e5a5c5c48787048585a6e7e5850585b5b585b58775a60215b58412173585c5c487860505d5358587e5860585b577e50545058587e58295c547871586350585b5b5b5e767e587158635058575b5c5e7672585a58585a61585850585876587e58487e58575b5e514b5b5e514c555b7e587e585b58485a6e765850585876587e5848326e50555d48587e585a7e5a585b5d365871767e58586d5558485336506e5b5b5c5e6a70584a485850585c7e585b5d60584a5c58506e5b5b5c5e6a70587048585058535b5a5e767e585a7e5a5b5b5b2f5258505848485c2f5858587e585a7e5a5a5c5c5b567e58585058535b5c5e7672585a585b484b5b68535858557d6e5c5d7f605458484b5b6b507e5072585a585a50585848217e5c71585a5458484b5b6b507e5472585a585d4848716850585876587e48487c707e5a585a2958585c4c5c485853365872587e585a7e5a5a5a505855485858507e5f5b584c7a5c7f60585b484853615d485c7e585c5c5a567e585848485c5f484858555d585c555c5b7a585a605c5b5a60585d484b5b685358587e58725c487870485850585c555d48587e585a7e5a585b5d2f5871767e58586a53585a585850585c487e48545553585c5b7f605858525850585048507e585a585b577e50585058505c485a585a50585848757e5c76587e584b584858555a6e72585058587e584b5d21587e6a4b585a585850585c7e585a7e5a585a7e5a515b5c5a58586c3658485c5d7f60585855485858484a5b614b484b585872587e584a5c5d5872587e58705858507e5c765871587058584b365058585f50585c482f585c57584a585b525850485a60585b5258504c507e4f6b4a6e4b5850585c7e5860585a50585c765870484b5b5858785d5850555872587e584a7e5a4c5c5c584a5829585058507158585758505858705b5c4c57584a585d50584b5b584e6a70585e766d58585b5b5a727a5758586a7e584a585d5058487e584a7e5a535b5c5c585a585c4a48295b5058547e5b5e76715860585a50584b6b5048507e584a7e5a5f5a5c5f5a60585f5058547e58715b5a5e70585b50585c765871487e5874762b587148555a6e6a557d485c5b7f70585850585c7e5b512d7e5870585d7f776e7e5829507e705a505a50585f5a50507e705b512c215058575a36363636366e325d507e547e584c5536363636365d2d547058412d705b4c507e705a585d50584b327f5a505d48705a507f5a585b505853325058575a36363636366e325d7f5a505b48705a507f5d7a5d5a5a585850584f5a36363636366e325d50585f5a5050785c576e54585a29545b58412173585c5c487860505f5358587e5b4a585a577e505450584c7e5b5d405a5a5a585f50584f5b5d5e76484c705c5a5058587e584a585d50584c76587e7e486d485c71585a585a5c5f5c7e5b4c5c48787048585058585576485c5b5877215a485a58585c58755f5058507e584e6d5b5b4c71605d48587e584a585a5c52295b5058535b5b5e6a715b5a58585c582970587058585c58756850484c5a485857585872587e58706e58585a5c5850585c7e5b5c2157585a585848485b5450585b5b366e5b567a724c5c485a585b525850585058506a58585b515d48545550585f5b5b5e7671584a585a50584c7e58746d5b584c69685048505458486a5550585b5b585c6e7e585c5136585c2c605d485c7e58706e58585a585c5258505848485f6b4a6e295b5a60585d4848482b587e58555a2b295b58412173585c5e5858746a705b4a485850584b5b7e54585c7a4a585a505857547a724c5c485a585f50585f5b366e5f615058507e582b6a7058725e585870585a4840585a4a4a505b5e615b5e5e70585b4b484b585829587e585a585f4840585a5c5a767e58725e5858746a7058725136584c6a5758586a555058587e5b4a585a5c5a765550584f5b7e585368535858554c585c5b7f7e53585058575b6e585b615b5c587e584a585d484c5b686b4040715872505850485c5458486a7e58294c57585a585a5058566d507e4a5e50585f5b6e58587e582b6c6d705048715870585b50584a5e50485c555058587e584d7a5d585a58585058502a586e7e554f485c5a7f605458484b5b6b507e5072585a58585c5d4c5c485a5858525850585048547e585b5b205e70585d5c5b58555058587e584a7e5a5a5d405a5a5a585850585c69587e582a587e587e584c5c585c5d767e58725c58567e584950585c7e58725c49787158295058535b5c5e767258586a54585a585850585c487e48575b584154555a7e587e585c5e5c70485c4843586a54585a585850585c76587e582b587e58555d58587e585a585b55485858567e58585a6e76585058586d58586d5b5b2a40555d58587e585a585b5c496e5a48485f635a615c585058587e584a585b525850585258504c5c4854585a6e21585058587e585a7e5a585a7e5a5c5b5c5858586a53585a585850585c2b587e48555a48587e585a585b567e58555a6e765850585b5b36507e5b5c5e48552948725a5b51215c7f705458487f58587860505f5358587e5b5c55363636363636363636363621587e605c525872585a485a585b487e5f20507e6d5a7f285c7e587255363636363636363636363621587e60505350585c7e5a28786d7f5c505b7f4a5055486f363636363636362e3636366e5b4e50586d5a36363636363636366f363636585f5c7b4b484b585058575a584129705a2953364c7058525058547e5a28786d7f5c505b7f4a5055486f363636363636362e3636366e5b4c50586d5a36363636363636366f363636585f5c7b5d485c5550585f485058755a7e505a587e505a586e493636585f487e5a4c52587e505a587e505d58363621584c4b6d5f5b5c587e587252587e505a587e50587e715a5c5c50585c71586e6e5a5a60585d4c5a585248765a587e505a587e545d36366e5b4c5058695a7e505a587e505a586e493636585f5c7b4b484b5850584b5a7e505a587e505a58505048715b586e5a5a60585b5058755a7e505a587e505a586e49363658504e5c4c584b5848765a587e505a587e565d36366e587e5870585b5058565f5058507e5b504f5a7e505a587e505a587e505a587f2d4e5c4c5a505e5e605c5c487e587e584a585e5e605c5d5d5850555058547e5a7252587e505a587e505d583636215871404b485d485c7e584a5853715f585c485a585d5058685c487e5b4a5d48507e584a585d7e605c5d5058507e5b5054715b586e5a5a60585d5058685c4c5c4c57585a585b5048547e58705c5c5d585c555058547e584a585b5058574c5058727e5a75487e5a4a58524c4b6a705b616a715a70585c5058507e5b616a705a29553636363636363621367e605c535058507e5b5a58515e60505a48735a5069295136366e5f6150487e7e5a29506e70527d5b3636215b7a4a505e4b484b5850584f5b2d585b685058767e5a4a58525058727e5a4f58705b716d2c5058435b5b774a6d7f527a705b725c497861586f50584c69582b7e715a4a585f5248577e5048695b5c5a585e78605c5e5a60585b5058547e5b616a715860585a486f3636363636363663325d5048487e5a5c4c5c485a585f487d58587870585d5058487e5860585c50584b48507e7a7b7c4a5851484843296b416077507e7d5b5d2b6a4855295c4850587d6b50487e7e5b4a725d4e5a5c5c50584c6958285871586e6a7e5b5c505d7170585d48732b50715c52587e505a587e505a585b5048715b5a5853487e565e5058695a4940705c5048727e58705855714a5c5458772d7e5829505d7170505b5058407e5a5e6a705b294c57585b767e5b295136585c6a5c485c505850484b5a58486e5b5a60585f484c5b6b50585c7e5b5c5e58584a58517861586f50584f5b545e767e584a585c50587a487f5a585f5248542d5048487e5b4a725d545a585f5248575850584c695829705c487e5b4a6b4048555048507e5a4c52587e505a587e505a585b5048715a4a5852487e565e5048545a485a5854487e5b4d5b5c587e5860585a7f4a505b5058727e5b51297e5870585d4f682820507e4a5c4c584b58487e58715829505850484854586e6a7e5b5c5536363636363636363658284057584a585f484a5b6850585c7e5b5a585b5058487e5b5f58705b616d2c50587d5b5b774a6d7f527d5b5d5e6a705b61586f5058407e5b2b6a715b70585f524854765048487e5b4a725d505a5c5b5d585c555058507e582a6e70584a585a4f52297e5b5a58537f516e705b5c52587e505a587e505a585a5057485d48587e584c505b7e60585c4873325e50585f5a5840705c715a5c5b5058435b584e76715b70585c487e5e505048485550586d5a7e505a587e505a587e505a587f2d54715870585e487f3636584c2d5c485a585a48765a587e505a587e545d36366e5a5c50484b5a585a5c5d5d585c55484858715b6e53585058435b585c765c485a585e50487a5458486a7e5b4c5c487870585b5058487e5b725136585e76485560585f50585c7e5b5c5c5b5058436b5c516e7e5b4a725d585a585f5248544850584c695861705c487e5b4a6b404871584a585f524854505048485550585e7748487d61507e435b5b5c6c6d50584b5a4940407e584c505d7050487058416e705860585b4f52297e5b5c505d705c553636363636363621367e6058516b4c506e7176487e58764b215048485a485a585e48484b5e5b5c587e5b5a585d487e5e5d507e5c7e582a6e705860585b4f5228215048485458486a7e5b724c5758486a555058587e58637a5d585a58585058482a586e7e7e5b4c516e585e767258586a4b585a585850585c7e585a7e5a585a7e5a555b5c5a58586a6d585a585a4b484b5850585876587e487e584a7e5a5b5c40495a60585850585f5e5b5c5b5b5848215550585876587e487e584a7e5a5b5b5a2b584c4c55406e587e58707e5a5b5c5e6e58415c7058725c7e4b7e4b5850585c495a6e53585058535b5c5c7a57585853585872587e585a2958585a505a484a6d6b5d7e54585848585b5a60585848485f685d6e6a7e58725c6e4b60585b50585b6b484853507a7e29585058586d58585f5b5051535b32585b515d48587e585c5c5a78705c585a6058585a60405b58412173585c5c487860505b5358587e584c5c50787058585c5829487c707e5a585a5c5850585f5b5c5e7672585a58585a2a2d5a5877215b7f705458484b5b6b507e5472585a585858772d7e584c4c5c485c50585d585c555058547e584a585b484b2028507e536850585363507e526d487e587e58747a705872514b585e76485560585d5248545048765a587e505a587e545858714c5e7c7e585c7e58746c6d48735a5e7f5a585b48405a587e505b2d7a78285a5050785c5048487e5860725d58586a2a586e587e585a585c576e54505058575b5c5e767258586c5d5b585c5d7f60585a4840585c4d6e4b585058587e584a585a5c584c78505858495a605858505853685048545a485a585850585f63484857614b484b585872587e585c5c5d7a4c4c5c485a58585048505458486a7e58725c584d584b5850585871587e6e5b5a6058585048505d485a585a50585c6d5858582f5858587e584c5c5b78705c5b5058535b584e767058725c5d7a4c4c57584a585a505857535d4858555a6e53585058575b7f515c705b5c5158585c7257585a585a50584b5b485e76705b4c6a57585857585058507e584a7e5a585d405a585a585a50585c76587e482b587e487e5870585b52585050577e50505058507e584a7e5a5d5d405a5d5a585a50585c765871582b5871587e5870585b5258504c577e504c5058507e584a7e5a5e5d405a5e5a585a50585c7658716e2b58716e7e5870585b5258507e577e507e5058507e584a7e5a535d405a535a585a50585c7658707e2b58707e7e5870585b5258506a577e506a5058507e584a7e5a545d405a545a585a50585c765873482b5873487e5870585b5258502d577e502d5058507e584a7e5a495d405a495a585b484c5b6b50485c7e58725f587860505a50584f575d4858555a60585a50584b495d485c5d485a585a50585c76587e582b587e587e584c5c5c78705c5b5058535b5b5e76705870585c4a4829585a6e6e5b5a60585d48484b535b5c587e585a5c5a5d585c555058587e58295c5c7860505c4a6e4b5850585871587e6e5b5a6058585048505d485a585a50585c6d5858582f5858587e5870585b5548585b567e585b5058507e584a2958587376585870585a50585c6d5858542f5858547e584c5c5c78705c5b5058535b5b5e76705870585c4d4829585a6e6a7e5870585d4a484b585829587e5870585b55485858567e585850585f5b584e7671584a585a48485f68507e507e58297a5758586a55505858555b6e587e585c5c50787e6a7758485f365058535b585c2d5c7f605858525850505058535b366e5f6148485f297870215b585a585b7a4c5c584b6e4c7e586e6a555a7e587e585c5c6e78295c524a486f60587e505a7f6e5f325872587e58724c57585a585850585c2f5858587e585a585a7870505d48485f6b50585c2f5858587e58725c5d4a4829585058587e584d76585870585850585c2f58585c7e58295c5d7860585b567e58585058575b58746a7e584d7658585a585a48487d535d48587e585a585b567e585d5058575b5b5e6a7e584d7658585a585a484875535d48587e585c5c5850585b6b48485761507e4b68507e547e584c513658415f5b7e40525c5a5e6e70584d405a585a585d5058507e5b5e6d5b7f515c705b5e767058725c5c7860585b577e505850584b5b5a4c7257585a585d50585c2b587e7e7e5860585b577e505c5058535b5a5e6a7e584d405a585a585a4848616b50585c2b587e587e5b5c5c434a4829585058547e584d405a5e5a585d50585c2b5871487e5860585b577e50485058547e584d405a5d5a585a484b5b6b50585c2b587e587e58725c4c7860585b577e50585058535b5e5e6a7e584d405a585a585a484b616b50585c2b587e587e5b5a585d48484b61484b7160507e4b6b507e535b505c7257585a585b6b4c525b7e505a585c512d715b4a585d50584b6850485c5d485a585b50584c2a58617e7e584a585f576e544850585c7e5b4d7a5d5a5a585b50584c2a586e587e584c5c7e78705c5b5058535b505e6a7058725c7f4a6e29585a6e6a7e58586a2a58485336506e5b5b5c5e6a70587048585829587e584c5c5d4b6e4b585058587e584c5c5a7d5e695b585d405a585a585b48485f6850485c5458486a555058535b5c5e7672585a58585a6e21585058587e585a7e5a585a7e5a5d5b5c5858586a51585a58585c58755f5a615c585058587e584a585b525850585258507a5c4854585a615c585058587e584a585b52585058525850405c4854585a6158585058587e584c5e587e505a587c51502b587e7e555a48587e585a585b577e50585a6154585058587e584a585a50585876587e5876587e6e4b5b5858555b585b5b58586a48585a58585258505c50585876587e5b6b484853285a61505850585876587e587058584b5850585848294850785a6e6a4b585a585850585c76587e58482948502b587e587e58586d5b58485f365058587e584d7a5d7a5a58585058587658706e7e585a7e5a5b5a505a782f6e2a582a7e7e585a585b4c5a585852585050507e587e58746c6a50585f417a7e4b365058585f5058507e58787d685a63405a78586a7058485f36506e5b5b5c5e6a70587048585058587e584a585b5c53505b5c49405b5058535b5c5e7672585a58585a6158585058505c485a585850585c7e58715b5a5e7e6a5577485c5b5b512173585c5c48786050515358585a485a58584b48295850584876587e6e715b70585a50585f6b507e715b585c765c485a585850585c7e5a5b5b36505871515d485c555058407e5860585b7860505b78295c5850585c7e5b727e7b507e5f5b585c765c485a585850587a7e584a585f5c56215b507e4c485d4a585b5c5121715b70585f5c58767850585c7e5b727a5758486a7e5860585a7860505b48485b525b5c587e585a585a50585c487f60585b4b6e295b5a60585c5c562d5b505858715a486a7e5b295c4878704858505872554f485c5a7f605458484b5b6b507e5072585a58585c5d4c5c485a5858525850585048547e585b5b205e70585d5c5b58555058587e584a7e5a5a5d405a5a5a585850585c69587e582a587e587e584c5c585c5d767e58725c58577e505450585c7e58725c54787158635058535b5c5e767258586c2158485c5d7f605458484b5b6b507e4c72585a585f50585c2b587e715b585a5c5b484840715b7e53585872587e585a585f484871685c5a7e57585c5c5c5048407e58295e585c5a58585c5a5c705b615b564b4829585058547e5b615a51584a5c5b5829585a485a58585c5a4c7850585f5b545e6a71584a585850584f5b5a5e764857724c7e5b5c5c5a4a515057585a585d4840584850585848504a505e5c5c2c5f5d48547e5b5c5c5b78605c5c5058547e5b715a51584a585b4848696a78705c5b5d585c555a295c5a5048407e585a585f484871685c5a715f5d485c555058507e58707e5a585a585e7a73405a58586a7e5b4c5c487870485850585c556f585c5b582a2173585c5c487860505f5358587e5b4a585b577e505048485871584c5c5e5048405a485853585058587e5b4c5c50787158745d485b5b5b5a5c5e5058575b7e5b587e585b587f507e7a484b5c4c57585a585d50587a4870585c71584857585872587e585b58705e70585b484d5b6b50485c7e585a585f484871685c5d5f5f50584b5b587271605d48587e58295e585c5a58585c5b21705b715b5c4b48295d50584b5b584e6a715b5a585d5058404870585c7e584c5c527b5e767158486e5b5a6e6d5b58705c5e5058587e5b4c5c50787158744b48295b5a60585a50585076587e587e5b77502b587e585550584f5b5c5e7672585a585b5a2c765b58485736506e5b5b5c5e6a705b5a48585058487e584d405a5d5a585c5058542b587e7e7e5b5a585c484861685c5f50715b70585c5258505050485473585c5c487860505b5358587e584a585d577e505450585c7e5863405a5a5c5f3650484c5a485c5c584848587e5870585d5c554c5b507e575b585c7e57585a58585058575b584e767058615843507e582b587e587e585c4c57585a58585058547e5870585b525850545c554c5b50484c5550585f5b5c5e7672585a585f5048587e5b715b4b50584b5b5c5e7672585a58585a6e295850585876587e587e584a7e5a585c7a55557e585a485a58585258505c487a76587a4a50585b5c587e585c5158585c405c485c5c505d6e6a7e585c5c504b6e295b484b58495a295c585d6e6d5b5a7e6f2c5848505d7f7e5336506e5b5b5c5e6a705b4a485858772d7e587b2970582955363636363636363636363621587e60505a48765a587e505a587e5058507f4c553636363636363636362e3621584e584b585058535a495040715b5a585a487e4a5048765a587e505a587e505a5849516e5458486a7e587252587e505a587e505a58324921584e7e4b585058575a495040715b5a585d487e4a5048765a587e505a587e545d36366e5a5c5d585c55505853485b5c5b5a58586e5b5a60585f5058535a585a585d692b7d5b505e767e5872507e70527d775058535a7e505a587e5b5b4c5e60505e484d5f685c5a217e5b4a725d585a5c5c50584c69586e715a7e505a587e505a586e585a5f4840632d585a585e782f285a5450785c5a605c5a5058587e5b5d7a5d585a58585058507e582952587e505a587e505a587e505b367e2d482a586e7e7e5b4c5c48787048585a6e7a585058587e584c4055546e5c5b7f60585848485c7e585b6a71585853585829587e585b5843507e5c57584c5e40756e5c76587e587058484b5850585c4b5d6e585458486a555c5858585a60585b5a21485d58485736506e5b5b505e6a705a5a485850587e7e5873405a5c5a585050585c2b58717e7e5a5c5c507870505b505854485d60585b5c5d6a715a4a585b5c582d7e5b5c5c58577e505848485871587e53585829587e5b7058514b70585a7a7e295b5872587e5a5c5c4078705850484b5b685c5a7e57585853585058727e5b707e5a585b5a51584c5c754b7e4b585058435b5b5e7670587058514b7e295a484858715a7e53365058727e58707e5a585b5a51584a505b487a4c584b70585b487f215b7a4c5c6e4b77535f5b5c587e5b705c5a50585c5458486a7e5b725c50787058514b7e295d50585c715a70585350584076587e7e48716e5c5550485c7e5a5a585850587e7658717e7e5a5a7e5a5c5a585d5058487e5b4a585b5058767e585a7e5a585a7e5a535b5c54585d405a5e5a585a484871685048405458486a7e5a4c5e586e58587e5b707e5a585b5b565b5c585d4858535850587a7e5b725c5c7870505e4b7e4b5850587a715b7e6e5b5a60585348405d58585a585e525850585c5c2d5758486a555829587e5a5c5c4078705850484b5b685c5d435f5d48507e5a4c5e586e58587e5a5c5c40787158715c5c2c5f5d48507e5a5c5c40787158755e7e6e585a6e58555058727e5a5c5c40787158715c5a727e5a4a585e525850585c5a755e5b5c587e5b725c5c78705c5e5058715b5e5e7648534b765458486a7e5b5c5c5c577e50585a60585c525850585048505458486a5550584b5b5b5d405a58586a7e5a5c5c4078705850484b5b685c5a7e5c485a585c50584876587e5b5b5877502b587e585550587e7658717e71585a5850484a5b685358587e58586f5e586e5c5d7f605458484a5b6b507e7e72585a58505058502b5871587e5a5a585b577e50405058715b5a5e7670584a585d5c58217e584b58605048727e584b585650584b5b585d405a585c5c585048505a485857585058407e5b29407e58775057584853585058715b5e5e767e5a5c5c48787158745d48585a485a58535058406a5858584870585f5b534c405c485a585e48485f68507e507e5b29405758725c585048765a7f6058535058506a5858584870585c70584c515f585c407e584c513658415f5b545c43604b484b58505840715870585b5d585c555058435b5874767e5b2940575860585b5048767e5a4a585e5558585a5c507e5b5a605c5b50587e7e585a58505258504050587e765871587e5860585c50584c7e584a585250585876587e58765870484b5d58582b58717e7e58725c5a78705c5e5d585c555058755b7e5458585058406a585858484b584b585829585a485a58515058435b584e76705b72405c485a58515048405458486a7e5a4c5e586e58587e5b706e58585b5b5c5d485c555a6e57585058715b5e5e767e5a5c5c48787158614b48295a5058755b7e5458585058715b5e5e764851615b5c4b48295a5058715b5e5e76485071765458586a585a6058535058715b5e5e764851615a63584a58535058406a585858486a6e5f5e5b5c587e5b725c5b78705c5e5058715b5e5e76485071765458486a7e5b5c5c5c577e50585a60585c525850585048505458486a5550584b5b5b5d405a58586a7e5a5c5c4078705850484b5b685c5a405c485a585c50584876587e5b5b5877502b587e585550587e7658717e71585a5850484a5b685358587e58586c6858485c5c7f605458484b5b6b507e7e725858535850585b5f5d48587e5b5a7e5a5d5a5c5e5058507e584e6a705b295c584a7e4b585058587e584a585148485328507e7a487f6058514b6e295b5a60585e5058547e584e6d5b58774c70584e6d5b585a585b505843505e60505b48485b525b5c587e585a585050585c7e5b4b5a2e5870505f5c58297e584b5b365048407e5b4b58525e70585b505843515d485c555058547e58746a70584c5c584a7e4b585058587e5870585b48485328507e5c487f60585b4b6e295b5a60585c5c562d5b505858715a486a7e5a5c5c4878704858505872555f7e587e585a585b5058507e58605858525850585258506e5c486a585e7e6d5a58485f3650585876587e58715870585b5c5b7671585a585a48487168507e5c484c5a58584a6e4b3650585c7e585b5b2a5258505848485b515b4c5c585a294c5c485b584158586a7e58725c50787058585c517a76587e58555a58587e585c513658415c555b58587e58586a49585a585850585876587e58765870484b585858555c48587e585a585b50585c76587e58765870584b586e58555c48587e585a585b50585c76587e587658706e4b586e58555d58587e585c5e5a7176587e577e58585a6e7a58505858485c4b7655557e5c5b7f605458484b5b6b507e5c72585a585b48487168505858485d4a58585c58755b58774b685c517676587e5871585a585b484b5b685358587e58586c6858485c5b7f6e53585058575b7e5b5b614b4829585058535f5058575b607e5b61507e4b5b5a5c407e5b5c5158585c43607a7e295850585b5b52637658585a585848485f68504858555058575b7e584b615b5c587e585c5c73567e585850585b5b584e767158586a5d485a585b55485858507e485c485a58585058482f5858587e585c5c5b78705c5850585f5b584e767158486e5b5a6e6a7e58585336487c21585058575b607e5b61507e5f5b6e585b5e5d485878487d7e58487f7e585058575b7e50585b7a4b6a7e584c5c504b7e29585e725172585c5128585a585a5e6e6a2f58585855526e5c5b7f605458484b5b6b507e5c72585a585b48487168505858485d4a58585c5875685c517676587e5871585a585b484b5b685358587e58586a4e585a585850585c7e5870585d50585876587e58765870584b5a6e58785a61585850585b5b505c407e585c5c5378295c5f4a415055577e587e587e4b365058505c485857585058587e584a7e5a585d405a585a585848484b685048587e584c5c5c78705c5b5058535b584e6a70587e29585a6e6d5b58584c7e58586a785a28505b5877205b2150585b52585058507e5c7e585c5c5d78725f217a4a505a78705c585872587e58725c585058587e584c297b5d48587e585d2158484b5b294a6e4b58505858485b5c4c5758486d5b2150585b5058582b587e587e58482155487d4a5b584c5c6e577e5058484121555c7e587e585b5b5d5258505850585876587e5b6b484853285a6e7a5850585b5b5c5e765557485c5b7f605458484b5b6b507e5072585a585a50585876587e582b587e6e7e585a585b52585058577e505850585c7e58725c5478707e5a585d405a585a585a484b5b685358585553585c5a7f605458484b5b6b507e5072585a585850585c4821485c715860585a484b5b685358587e584a58585058547b5a6e295850585876587e587e584c5c5a7d5e76555f7e587e585b58285b5c587e585a585b5c5d72495a60585850585c48567e6a6a585853585058587e584c4057585857585058587e584c5c5b7860505b4d6e295b5058587e584b5a6e5870585848485f685048585458586a585a6e6a55585a585850585c2b587e587e58586f7b5848505b7f6e533248485c715b58535850585b5a585f507e584c55363636363636363636363621587e60505f48765a587e505a587e545d36366e5b4e50584f5a7e505a587e505a586e493636585f5c7b5d48587e587250584c70585d486f36363636363636363636366e5a5d507e435a7e505a587e505a586e493636585f407e5b7252587e505a587e505d58363621584c4b6a57585a58585058525c50584c7e5b764a5c4c584b58484858495a60585b5058565d487e5b435b5c5b5b7f605c5c5058587e5875487e584a585d4c60585b5058574b5e6e295b5058587e58764c7e584a585d71404b5a585f50495a295f365048487e585a585a4f70585b5058574f50585c7e58285c7b5d48587e585a585a714a585b5058565f715c50584c705c5c5a60585c5a28585b58412d5a485a585d487a58587a484b585058507e58295f5878682b5050485f5a585a5c5a5d585c555058575f5d48587e58725158585a585d782f2b5e50585c7e582f29705b50705c50485c7e5870585c705a5c5a5a60585850585c2a586e587e585a585a576e54505a6e2d5850585876587e715b36363636366e7d615a6e7658505858482d485c78505858555c6e587e585a585b5058507e585a7e5a585a7e5a545b5c5c58586a74585a5858505858765871715f505858765871587e58415360507e5c2b5871587e585a7e5a5f5a585b7a484b585c5b7a585a6e6a53585a585850585c4836485c555358587e585c5c5a4d6e4b3650585b5b5b5e695b7f515c70585a585848485f6b507e587e585c5c5a4b716a5f48485c555a6e7a5850585b5b5d5e765575485c5b5b412173585c5c487860505f5358587e584b5d4d58705c5a506e5b5b5c5e6a70586048585872587e5872516f363636365829295c485853585058535b584c295c485a585850585048567058585048485458486a7e585a5858505850487e7e5f5b584e76705b715a5b584a505c5c5c297e585a585e5c5c6e7e585a585a5c5d72555058487e584a585a5c515c7e58295c58577e50545058487e58725c5a7d5e767e58295c54787158635058575b5c5e767258586e5b5a61584158586a7e5b4c5c48787048585a6e21585058584848607e5a585a585852585058786e6f5c58485c5e7f605458484b5b6b507e4872585a58585c53405b5258505850484c5a7f60585a5258505850585876587e5b6b507e575b36363636366e7d535b5c587e58295c5b7d586e5b5a295f365a60505d4848487e58616a715860585b525850585048407e585a7e5a585a5c5150584f5b5772405c7f295c585b4a5858525850585a60585d5c532d5b507e7e5c485a585f484d43515b5c587e585b5a74584b765550584b5b574d405a5b5a585850584b5b5a5e767e5a5a585c48484b685c5b2d705b4b5a755870585f5c5b297e584a5858525850585058407e5b2b6d68577e50585058507e585a7e5a585a585d484161617873405a585a585c484b5b68535858495a61584158586a4d585a585850585f5b585a585852585058525850295c4848585a6154585058587e584c5c5850585876587e58765870484b5b5858555d48587e585a7e5a5b5a585852585058786e6d5d58485f3650585b5b6b5a4076587e5870584d405a585a585850585f5b5d5e6a76587e5b68487a6e7452585058577e505850585b5b295a4076587e582b587e7e7e585c5c5478715d48584b767e585c5f5878615b325e7058585a36505a58485336506e5b5b5c5e6a705a7048585058767e585d405a5d5853585872585a485a585d52585058505853515d485b5b52605c555058587e5a4a7e5a405c7a5c485c5c6d50486a7e5a4a7e5a435a58584b6e295b5a60585d5058535b584e762b587e587e58705855567e58585d585c55505840485a4c4c7e585a585f4b2a535f5b5c5b5b585a5c5850587e76587e5870584a585178295e7f584c76575870585c525850585048587e5a5a585b48484b68577e505850585c7e585d405a58586e5b5a295f365048587e5a4a5853487c7e5878705852484861685c57505b5058756b507e435b2a585b525d485c7e5b725c5a7d4a5c5f5872585a4858535850585f5b5a5e6a56586e585a58585c5550585c7e5b4c765758486e5d5a60585b484b5b515058435b2b585b507a7e295850585476587e5870584a585a4b70585b5058536b484853527a7e295a50585f5b584e6a6d58585b5b545c7a5758725c585048587e5b5c5c58577e50585058547e584c5c5b7873405a585a585b50584f5b2d57585878702958585d765858586e5a5a60585d50585476587e5870585c5c5b7873405a585a585850584f5b2d57585878702958585d7658585a585c50584876587e5b5b584e762b587e5b5b585a5c585d585c5548485871585a585c4848582b587e58555058695b5c5e7672585a58585a6e765850585b5b6d50725b5c5e48552e7e505b582a2173585c5c48786050525358587e5a705858567e58495872585a4858535850585476587e587e58727a57585c5c6b50486a7e585c513658415c705d5a5853554858404b6e4b58484a29715a60585355485843505861515d485c555058547e58725c5b7873405a585a585a50586a2f5858585458486a7e5b7158534b4a585850584f517a724c5c485c5c585048587e5a5a7e5a585a505b50587d6b4843215b4a7e295a50584876587e5871585a585050585f5b5b5e762b587e587e584a5858577e50585d585c5548412171585a58535058755b5e74767e5a725c4978715d4f584a58537860505f484b7d525d485c5a485853585872587e584c5c50786e2d5d5858505858486a7e584a585f4a7e295b5d58545550585f5b5c5c7a7e5b4c5c4e4a515057585a585d52585058507e5c7e5872407e584a585a78295c5a4a7750575870585b48485f6b55485858484d5b515d48535b585a5c5850584b5b585d405a585a585d50585f5b584e762b587e587e584a585f487c5d48585e766d5858582f58585854587e6a7e5860585d52585058507e5b5b584e762b587e587e585a585f487c5d48585e766d5858582f5858587e5b5a585c5258505848485f68577e50584848587158586e5b5a295c585048587e5b5c5c58577e50585a605852484b5b685358587e58586a52585a585848786053584b5b725a2d545b587e573658412d5a485a585848765a587e5058484f584b58505858715b486e5b5a6e575850585f5b584e6a70584a585850585b5a5a7658705b4c50527f772b77484d5b60567e585850585b5a36363636362c215b4f705c5a50584c71585a585a5d4858555a60585f6960505a5b5c585d485a585b48485f6b507e5c7e5870585a4848696c507e575b5a74616b484d5b60567e58585058535b5a4c6a715b5a585d5048507e5b5829585a6e6a7e58486d73587e5f3658412d73585c5c487860505a5358587e5858533250585f5f5b5c5b5a58586e5b5a60585a50585e6d487e587e584e7a70584c514b585e76485560585a5248545048765a587e505a587e545858714c5e7c7e585c7e584e6c6d48735a5e7f5a5c5d50585069586e5855576e54585058587e58637a5d5a5a585a484b5b68535858555358587e585c5c554d6e4b3650585b5b5c5e695b7a515c70585a585848485f6b507e587e585c5c554b716a5f484876555a2a215b582a217e585a5c5b5872587e585c5c5d7a484b585829587e584a2958585c4c575870585b48485f68507e5f5b582a5c5758586a555829587e584a505a48484b6850485c7e58707e5a585a505d484120635058575b7e40525c5a5e6d6148405a5b7e764b2d7a4c4c5758586a7e5829513658415f5f5b5c587e58705858786e21555829587e58702958584a5c5d5058535b584e7670584a5c5a5058545758586a5550585c7e585e6a555248587e585a585b4848712948405a5836587d6150585f5b5e514b6050585f5b5a51435b7e492d5d7a4a585b484b712b7a77502b585858555248587e585a7e58585a5058484b712950585b5b5a514b5b7e505d215b2a5f6050585b5b5a51435b7e492d5d7a4a5858484b712b7a7750555d6e587e585a58585258505848484b68577e50585a6e7a5850585b5b5b5e76555d6e587e585a58585258505848485f68577e50585a637a5b58772173585c5c487860505d5358587e58295c507870505c50585c485d60585a5058484873585c70584b582d577e50585058587e584b582a505848485d70585d484b5b685358585557485c5a7f605458484b5b6b507e5072585a585a48487168507e547e585b5849505854485629517e29585b5b326d585850585c484060585d5c582d7e58725c487870485850585c55576e5c5a7f605458484b5b6b507e5472585a585d48487168507e487e584b58495058507e5b5b5a56584a505b5c5d7e2f5858587e585a585b5c5d7a7e5b5b58565058575b5c5e767258586a41585a58585058542b5871587e585a585a577e50545058587e584d405a5a586a52585a5858484b7129484b71285a2950585058587e585a7e5a585a585b525850587a63405a585a585850585876587e487e584a7e5a5b51542b587e487e585a58585258505050585c76587e7163577e50505058587e585a7e5a5d5a585b525850547a63405a5d586c7a5a585c557f6058584b484b5850585c485e48215550585f5b485c215c485c514c7e485f5b545d405a585c5c585d6e6a5a7f295c4850585f5b5a2b695b7c515c7e584c5c554a4b6a715b7058584848716b507e4c76587e48705a4c5f2d7a4a5c5c5872587e5a4c5c5d7a4c4c5c485c5c585058435b7e5853535d4850785058435b5b5e767e5b5c295c485a585f5048507e5b5a585e78295e2d71485c76587e5b5b58414b575d48505548485854587e6a7e5b5a585f78705c515872587e5b5a585e4d6e4b585058487e5b746a7058295c484a48295b50584c7e5a4c5c5b7a4a585e7a725c5a7a73405a5b5a585f50584368507e507e58295c5d7a73405a5b5a585150587a76587e4b5b5841502b587e487e5870585d5c566e5b5d585c5550587d5b21505c5b525850584b7e4b58487c4a5b584a7e5a585a585c7870505c505843575d48507e5b4a585348485f615058436048485360577e505c50584c7e5b7476705860585c5058436b507e535b5841502b587e4b5b2c505c5b5058502b587e5b5b21505c5b5058542b587e585458486a7e5b29516a7e485c76587e5b5e5b5c5b5b2d505c5b5258505850584b68507e547e5b727257587e53585058547e5b746a7058725c484d6e4b5850584c7e5a4c5c5b7a4a585e7a725c5a7a73405a5b5a585f50584368507e487e58725c5b7a73405a5b5a585d50584f68507e547e5873405a585a585d50585476587e4b5b7f775c2b587e485458486a7e5b4a585348485f615058576048485360577e505c5058547e5b4e76705870585a5258505c48485f60577e505c4848587158725c5850484855487c605b584a585c577e5058487c5a5b584a585a577e50585d585c5550587a76587e487058295c5a7a48295b5058575b7c515c7e5b5e76705a70585e4a48295b5058767e5b746a715d5853585058575b366e5f575b5c587e5b607e5a5a5a505c5058575b582a407058725c5d7d5c5e587e7e5f684b71767e5b5a585152585054507e575e5b5c5b5b2b505c5b487d705b584a7e5a585c5f325058532a7a4d405a58586e5a5a60585c5058542b587e6e7e5860585c577e50505d585c5550587a7658717e715a6e535850587a7e5b607e5a5d5a50504b6e4b5850587a76587e7e70587251767e485c76587e5b535e70585a50587e2b587e6e7e5a5a585a577e50505d585c555872587e5b295c4c7870505c52585058507e5057585a5851484b5b68507e4876587e5870587e2958484858715a586e5b5a6e5758505848715860585a507e715b5f5e76705b5a7e5a585a505a5d48587e5a5c5c4878705c5c50587e7658715870587e29585a60585d4848582b587e585550586d5f5d48585a485a585150587a7658716e7058295c5a7d5c5e5071585f68507e5076587e5b5e5b5c587e58705850577e505850587e57584c517a7e485f5b2a505c5b5258505848412d7e582a7d61577e50585d58505550586d5b5c5c5c4c50586a765871587e5b29407b78705850577e50585058715f5d485c5550587e7e5a63405a5e5a585152585048507e505c485a58505058502b5871587e58705850577e50405a6058515258504c507e535f5d48587e5a5a585a577e504c5058507e5a5d405a5e586a7e5d5c5c494d484b5850584c7e5a4c5c5b7a4a58527a725c5a7a73405a5b5a585f50586968507e507e58707e5a5b5c5c5b7a73405a5b586e5b5a60585f5058755b58415c7e5b77535b5877502b587e487e5b4a585e7870505d5058615b582a502b587e487e5b4a58527870505a50585076587e4b5b5841502b587e487e586058545c566e5b5a60585f5048505550585055507e505c485a585a484871685d6e6a7e584b5843507e4f5f5b5c5b5b5858215550584c7e585c5f2148417e7e585c5c5c78607e5a585a505a484857615e60585a484171617870505a50585c7e584a585a4a616a484871767e585b584850584c557f485c5d7f295c405048505a485853585058587e5841535b582a5c575858575850585876587e587e584a7e5a585c7a57584a585b48484b6850485c7e585c5c5c78705c585058535b5b5e6a7058725c5d4a6e29585a60585a4b48295b5a6e57585058586d585858705860585b55485858507e4b5e5b5c587e584c5c5b78705c5b50585b5b584e7671585a585a48485f6b507e505758486e5a5a6e6a7e5860585c786e2155484858554a485c5a7f6058585258505c507e435b5a514c715b4a585e48485f615b5c587e58707e5a585a585f5c544c5b50484c5550585876587e5870585a585b5058507e5b4e767e58295c5a5058435b58775c7b5058487e585a7e5a585a7e5a5e5b5c5258586c2b58485c5d7f605458484b5b6b507e5472585a585d50585c2f5858215a485853585872585a485a58585c5d4c5c485a58585c512971584a58585258505c507e487e584c5c5b7860505a4b7e295b5d585455484876715b5c5c525048507e585a29585a60505b484869515d485c555058587e58725c5b5058507e58715d50584a585c50485c7e585b58285d485c55505858715870585850585f5b584e7648567e6e5b5a605858525850585048507e585a585c48485f685c5d727e5b5a5c5b5a60585b50585368507e587e58295c49787158295058575b585d76585d70585848485f685058575b5d747648575a585d484b5b685358585553585c5a7f605458484b5b6b507e5072585a585b5058584821485c715860585a484b5b685358587e584a58585058547b5a61295850585b5b5b5e7648727e535b7f29405c485a585850585876587e5876587e7e4b584858555a6048585058584832485c71585a585b5c49725b50585b6b507e5c5c485a585a5058587e584b5d6858486a7e584a585a787e6a4b585a585850585c7e584a7e5a585a7e5a525b5c5d58586a4c58485f3650585876587e5871584a58584848582b587e587e58486c6b55585c4b7f6058585258556e584a5c4a50585876587e487e584a7e585b5a505c484b712950584b5b5a514b5b7e505d215b2a5f6050584b5b5a51435b7e492d5d7a4a585c484b712b7a775363507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715b7058585258505050585c7658587e705b4c5c407d5a585f4848712948405a5836587d617a70585f4848712b48405d32582a5c7e5b4c5c407d7753607a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487e7e585a7e5a5d5a585b52585854507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a7754705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5150584f5b5d77435b36587d614840585078707e5a585c5c505c587e715a4a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048767e585a7e5a585a585b52585858507e5f5b5e51487e584c5c507d5c5e587e496e517a41507e584c5c507d725e58367e576150585f5b5e5143607a775470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c555058575b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765871487e5a6058525058727e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048727e585a7e5a5e5a58565058297e5d5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a7058585258507a505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5550584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a5c5a585150587e7e5b70585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715b70585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487e7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5150584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a5858525850725058407e5d4a585450584b5b5f77435b36587d614840585078707e5a585157637a2a54705b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5e5058587658707e7e5d70585150587e7e5b4c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487e7e585a7e5a555a584b505b587e5d60585d484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e575b366e5f61484853294840585078707e5a585c5c405c587e715b60585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c57505858765870587e5a6058525058727e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048727e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5250585f5b5b77435b36587d614840585078707e5a585c5c485c587e715a60585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a575a58535058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715a4a58585258502d50582d7e5a60585250584f5b5f77435b36587d614840585078707e5a585157637a2a54705b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c525058587658736e7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050486a7e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c545058575b5b77435b36587d614840585078707e5a585c5c485c587e715d4a58585258506e50587a7e5a5a585e50585f5b5f77435b36587d614840585078707e5a585157637a2a5470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5e5058575b5d77435b36587d614840585078707e5a585c5c505c587e715a5a585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050487a7e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765872487e5b70585750586e7e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048407e585a7e5a4a5a585650587a7e5a5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a5a585852585354505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5150584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a485a58555058767e5a4a585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715a4a585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048767e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5550584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a58585258534c5058727e5d4a585450584b5b5f77435b36587d614840585078707e5a585157637a2a54705b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c535058587658757e7e5d7058555058767e5b4c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505f4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048767e585a7e5a415a584b505b587e5d60585d484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e575b366e5f61484853294840585078707e5a585c5c405c587e715a60585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c57505858765875587e5b6058505058407e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048407e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5050585f5b5b77435b36587d614840585078707e5a585c5c485c587e715b60585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a435a585e5058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4b5b5d77435b36587d614840585078707e5a585c5c505c587e715b7058585258537650582d7e5b60585050584f5b5f77435b36587d614840585078707e5a585157637a2a54705b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c505058587658746e7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050487a7e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c545058575b5b77435b36587d614840585078707e5a585c5c485c587e715d4a58585258537e50586a7e5a70585350585f5b5f77435b36587d614840585078707e5a585157637a2a5470584c513658415f5b58774b5b7e58716852585058484b7e485a5a5c535058575b5d77435b36587d614840585078707e5a585c5c505c587e715a70585b4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b585050486a7e5b5c513658415f5b58774b5b7e58716852585058484b7e485a5a5c5650585f5b5d77435b36587d614840585078707e5a585c5c505c587e715d60585c4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b5850504b587e5b4c513658415f5b58774b5b7e58716852585058484b7e485a5a5c4b505858765877487e5a4a585750586e7e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048727e585a7e5a7c5a585650586a7e5a70585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e4f5b5b77435b36587d614840585078707e5a585c5c485c587e715a70585852585321505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a5a5c5550584f5b5d77435b36587d614840585078707e5a585c5c505c587e715d5a585d4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58505048297e585a7e5a7a5a585150587e7e5b70585b484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e5f5b366e5f61484853294840585078707e5a585c5c405c587e715b70585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487a7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5650584b5b366e5f61484853294840585078707e5a585c5c405c587e715d60585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b5850504b587e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4b50584f5b366e5f61484853294840585078707e5a585c5c405c587e715c6058585258525c584a585e5058297e5d5a585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e435b5d77435b36587d614840585078707e5a585c5c505c587e7e585a7e5a7e585c7e5a6058525058727e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a605050484b432b487f6e517a4c5e585a5e7676587e5b635058587658767e5b5058217e5d70585150584f5b5f77435b36587d614840585078707e5a585157637a2a54705b295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e585a7e5a73585c7e5c60584b505b587e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258524858415471584a585148482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058435b5f77435b36587d614840585078707e5a5851547e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5a5c513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a75585f635048487e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5851484b432b487f6e517a4c5e585a5e7676587e5b635058715b5b77435b36587d614840585078707e5a585c5c485c5871635058435b366e5f61484853294840585078707e5a585c5c405c5871635058587658697e5b7a605c5f5877217e5a5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a585d484b432b487f6e517a4c5e585a5e7676587e5b635058435b5b77435b36587d614840585078707e5a585c5c485c58716350587d5b366e5f61484853294840585078707e5a585c5c405c5871635058587658696e5b7a60505d505b535b5a297e57585b767e5b5c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5050584f5b5b77435b36587d614840585078707e5a585c5c485c587e715b60585d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58505048727e5b4c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5e5058575b5b77435b36587d614840585078707e5a585c5c485c587e715a70585b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050486a7e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5c5450585f5b5b77435b36587d614840585078707e5a585c5c485c587e715d4a585c487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b585050482d7e584c5c567d7251215b2a5f5b7e5871685258505848487e485a5a5c4950584b5b5b77435b36587d614840585078707e5a585c5c485c587e715c5a585f487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b5850504b5c7e585a7e5a69585c7e5a6058525058407e5b5c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505e48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b5850505858765868585b5058727e5b60585050585f5b5f77435b36587d614840585078707e5a585157637a2a54705a5c5c4e7d7251215b2a5f5b7e587168525850587a60585852585276584a58565058297e5d5a585f484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e7d5b5b77435b36587d614840585078707e5a585c5c485c5871635058587658686e5b505b5c7e5c5a58495058575b5f77435b36587d614840585078707e5a585157637a2a54705829513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a6a585f6350485c7e5b295c567d7251215b2a5f5b7e5871685258505848487e485a5a585e484b432b487f6e517a4c5e585a5e7676587e5b635058575b5b77435b36587d614840585078707e5a585c5c485c5871635058715b366e5f61484853294840585078707e5a585c5c405c58716350585876586b485b7a605c5c5058575b5d77435b36587d614840585078707e5a585c5c505c587e7e5b295c4e7d7251215b2a5f5b7e587168525850587a6058504848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58507a60585e487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258522d584154715b4a585048482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058575b5f77435b36587d614840585078707e5a5851547e5b725c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5b29513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a6f585f63507e547e5c725c574a5829585e70585c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050487e7e5b4c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c515058575b366e5f61484853294840585078707e5a585c5c405c587e715a4a585f48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048407e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5250585f5b366e5f61484853294840585078707e5a585c5c405c587e715a60585d48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b585050486e7e584c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c5750584b5b366e5f61484853294840585078707e5a585c5c405c587e715d70585b48482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505048217e5b5c5c5e7d7251215b2a5f5b7e58716852585058484b58485a5a5c4850584f5b366e5f61484853294840585078707e5a585c5c405c587e715c4a58585258555c584a58555058767e5b70585c484b432b487f6e517a4c5e585a5e7676587e5b637a2a5763507e435b5d77435b36587d614840585078707e5a585c5c505c587e7e585a7e5a6e585c7e5a4a585150587e7e584c5c4e7d7251215b2a5f5b7e587168525850587a2a57637a605050484b432b487f6e517a4c5e585a5e7676587e5b6350585876586a7e5b50582d7e5d4a585450584f5b5f77435b36587d614840585078707e5a585157637a2a54705b295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e585a7e5a63585c7e5c4a58485058217e58295c4e7d7251215b2a5f5b7e587168525850587a2a57637a60505d487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258554858415471584a585148482c2b487f6e517a4c5e585a5e7676587e5b5b5a5b58505058435b5f77435b36587d614840585078707e5a5851547e58295c5e7d7251215b2a5f5b7e58716852585058484b58485a51547e5a5c513658415f5b58774b5b7e58716852585058484b7e485a51547e585a7e5a28585f635048487e58295c567d7251215b2a5f5b7e5871685258505848487e485a5a5851484b432b487f6e517a4c5e585a5e7676587e5b635058715b5b77435b36587d614840585078707e5a585c5c485c5871635058435b366e5f61484853294840585078707e5a585c5c405c58716350585876586d7e5b7a605c5f5058715b5d77435b36587d614840585078707e5a585c5c505c587e7e58295c4e7d7251215b2a5f5b7e587168525850587a60585e4848432b487f6e517a4c5e585a5e7676587e5b5b5c5b58507a605851487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5e5b58507a6058585258557a584154555048547e58705858505b535b5b514b68507e5876587e587e5829513658415f5b58774b5b7e5871685548585b50585f5b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585c48482c2b487f6e517a4c5e585a5e766d5858535b5c514b6050584f5b5b77435b36587d614840585078702958584c5c507d5153607a60504a484b7129505b535b5a514b5b7e505d215b2a5f60505b535b5a51435b7e492d5d7a4a584a484b712b7a77502b5858587e587058585258505c50585f5b366e5f61484853294840585078702958584a585c484b432b487f6e517a4c5e585a5e7676587e5b5b5a514b5b7e505a587c515c7e5b4c5c567d7251215b2a5f5b7e5871685548585a484b5b297a70585d4848432b487f6e517a4c5e585a5e766d58585f5b5a514b607a7754705c725c407d5a584a4848712948405a5836587d617a70584a4848712b48405d32582a5c7e5c725c407d775360577e585c5058507e585a7e5a5a5a585c487f215b7a4c5c5a7d5c5e585a5e766d58585c7e5b4c5c4e7d7251215b2a5f5b7e587168525850584848712948405a587e5171615058575b5d77435b36587d61484058507870295858725c487d51507e584c5c5e7d7251215b2a5f5b7e5871685548585b484871297a7753635071535b5e51487e5c725c507d5c5e587e496e517a41507e5c725c507d725e58367e5761505b535b5e5143607a7340585a5a585a50585876587e6e7e5b4c513658415f5b58774b5b7e5871685548585b5058575b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585b48482c2b487f6e517a4c5e585a5e766d5858535b5c514b6050584b5b5b77435b36587d614840585078702958584c5c507d5153607a605058484b712950585b5b5a514b5b7e505d215b2a5f6050585b5b5a51435b7e492d5d7a4a5858484b712b7a77502b58586e555d7e587e585a585b52585058577e5058505858555b6e587e585b5b515e7e6a50585c5136363636365b6e6a5f585c513658586a5d58585c55526e585a485a585850585f5e5d48585d485a585850585f5b5b5e6a70584c2157584a585850585c487d4a585848484b685048585458586a585a6e6f4c586e5c507f605458484b5b6b507e7672585a585e5c5d6a715a6058525058404873585c705b71582a5872587e5a715b535b5c587e5a6058585058507e58615b7350584c7e5860585a50585b6b484853297870505e577e50585d585c5550584c7e5863405a585853585872587e585a505055485858507e7d5b522b6a56586e585b58585c5550586a7e5b295c407d5c5c407d4b582050487e7e5b4a585f52585058507e7d5b5b5e762b587e587e5b605850577e505850585b5b584e76715a586a5a485a585a5058716b484853505d48587e5a5a2958585c5c6e4b6e295850587e6d58585f5b5051535b32585b515d48587e5a295c6e5c5d29715b60585f50584c76587e58705a4c5c5c7873405a585a585350587a2b587e587e5a6058505558585b5c5d29715b60585f50584c76587e58705a4c5c5c7873405a585a585350587a2b587e587e5a5c5c5a78705c505a605850505850487c4c5c585048727e5b71582d5048615b585a5c5150587e715b7e57365058507e5b72295c7f60585d50587e7e585e6d5b58774b6850584c76587e58486b485c7e5b4a7e5a58584c5a485a585250587a485a602958585c4c57585a58535058767e5b615855555858584b6e295850584c7e5b4a7e5a585a505348484b68577e50585058727e5d5d405a585a585150587a7e5a71585348485f6b4a4e76715b295c585048725550586a7e5b706e58585b58205048297e5b4a585f52585058507e2c5b5b5e762b587e587e5d705857577e50585058435b584e76715b70585348485f685048725458486a55504840555058487e5b70585d50585c7e585e6d5b58774b6850585c7e5872407b577e5058505876485a71767e5a725c48787048585a20585b584853365058535b7e5b5b615b5c587e585c5c6b567e585850585b5b584e767158586a7e58725e585a515c5c485a5858484a542f5858587e585c5c5b78705c585a60585a4840485a7a4a505d4840485a4b6e4b5850585b5b6b6d4858566e585850585b5b5874767158586a7e58725e587e585f615048505d485a585b55485858507e485c485a58585058482f5858587e585c5c5b78705c5850585f5b584e767158486e5b5a6e6a7e585853365872587e58295e5858727a5c485a585d48484b515d485f5b617e5b5b2c7e587e58716a54587e6d5b61485b5b2c48587e58716a5458486d5b6e485b5b2d48587e58716a7e58295e5c58724057585b695b616e5b5b2c6e587e58716a55567e58585058575b715853515a21765d58487136506e5b5b5c5e6a705a7048585058404854705c555058767e5b715a56584a505e5c5d7a5a485a58525c5c725c485a58555058587e5870585d5c5e217e5b4a585d5058507e585e6d68507e402b587e585458486a7e5b4a585d577e50585872585a485a5858507e7e6d585858705b295c6b786e2d5d58585c5858486a7e5a605851484b7129484b71285c5a72715a5a585f50584c76587e58705b295c5b7873405a585a585150587e2f5858587e585c5c5b78705c505a6e53585058507e5a5e6d5b58727e57585a585055485858484d5b515d48587e5a5a2958584c5c7e7a72512d585c7a57585a5855484d5848524a5c5150584c7e5b4a7e5a585a505348485f68577e50585058727e5b637658585a585550587e6a58585c48524a5c5150584c7e5b4a7e5a585a505348485f68577e50585058727e5b637658585a58504848536850487e5550587e7e58715b2c484858715a4a585e5c5d7e715d5c5c5850487a7e5a5a5c5e582a217e5870585e4d484b365058547e5a5a5858782b767e5b4a7e5a585b5b2c50584c76587e585f5872587e5a7058515c586a6d58585b5f5d48587e5a4a585250587a485a606e58585c7a57585a585f50584c76587e58705a4c5c5b7873405a585a585350586e2f5858587e5b605851505876485a4c5c5b7829756850487d5b585a5c535a6058555058406a58585848524a5c5750584c7e5b4a7e5a585a505648485f68577e505850582d7e5d4d7658585a585e48485f685048407e5a4c5c5b78705c535d585c555a605c5e5a60585c5058407e5860585b50585b6b7870585b5058535e5e63405a585a58525c5876785058695b5c5e767258586a54585a58585c58297e584c5c5a7d5e7655687e485b5a2a2173585c5e58584e6a705a7048585058767e584d405a7c5a585a50585448634850715a5a5852484d4c2b5871587e5a725c5078725c585058695b5c5e76705a4b587c504b585a485a5850487c4c584d6e4b5850587e485e4a50534b48295b505b587e5a4b58775a60585350487a7e58705c5b5829587e584a585d4b7e4b585829585a485a58585058695b32585b685c5d435b585a58505e294c5c485a58585058695b32585b685c5a7e5c485a585f50584c76587e5b5b5877502b587e58555d585c5550585848504a5c565058435f5b5c587e5b5a58565c5a72715d7e6a7e5d5c5c5b78705c57484858715d60585350487a7e58705c5b5829587e584a585d4b7e4b58505829715d5a58494b48295d50585848534b767e5a4a5c5150585071584a585050586d68484853535d48545d485a585b5058575e5b5c58545b484c5a485a585155485858484853515d48587e584b58535058285e5d48587e5b295c58567e585850586d5b584e6a715a6e6a7e5b295c5b78705c5150585f5b5d5e767158486e5b5a6e585558584c5a485a58515548585848485f515d48587e584a58545c555c5b52585058504b5c5a485a585e5b51217e5c484c7e5b5a584b5c5a725550582c5e5b5c5b5b584a5c4950585c485a4a58574b6e295a50587d5b58737658585a585548485f6850486a5458486a7e5b295c58567e58585a60585048485f6b50487e5550587d5b584e76715b60585b4848616850485c5458486a585a6e58555a6e53585872585d485a585a5058575e5d485c7e5a4a2958585c5c5a4b6e4b585058755b584e76715a4a585a484861685048505458486a5550585071586e6e5b5a60585f50584c76587e5b5b5b51502b587e5855505b5848514a58524840585b78704858505854495b48535850585c484a4c4c5c485a585148485c2f5858585458486a7e5b295c5a567e585850586d5b584e76715a60585048485f6b50487e5550587d5b584e76715b60585b4848616850485c5458486a585a6e58555c5b7a585a615c585058587e584a585852585058525850545c4850585a2e545c58486d36506e5b5b7e585f6b507e7672585a585250585c2b58777e7e5870585d5c54295a50487e7e5a725c28577e50485058695b5a5e695b585a5852484b5b68507e724851705c485872587e5a5c5175585c215c485a58505c5b72705a4c4c57584a584850587248536e6a7e5a4a5c51505850715848575850585c7e5829405c485857585872587e585a5852487f7e58787158614848587e5a5b6d5f5b5c587e585a5852487f7e58787158745b5c587e5b4a585f5258505848485360577e50585a6e6e5b5a6058585c5b21715d70585e4b484b585058487e5d715a63584a5c565a60585448485f685048285b585a5c49505872715b60585a50485c5d485a585b5058575e5b5c587e5d4a5c545058205f5d48547e585b58705e70585350487a7e58705c5b50587e7e5a2b695b58727257586e575850585c7e5829405c48586e5f5b48535850587a6d58585b5b58727a57585a585b5c58727e5d4c4057585a58514848582f5858587e5a295c5b78605c555a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585b48535850587a6d58585b5b584c7a57585a585b50586e485a606e58585a5c4b5872587e5d72513658415c7e5b7e4b36505b5c5f5058487e5c4b5a6358486d5b366e5f614b7e4b5848485c715d60585b5c58727e5d4c7a57587058514848502f5858587e5a295c5b78705c555d585c5550587d5b585d765858586a7e5a5c5c5b78605c505a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585a6e6a5a485853585829587e5870585d4b7e295b5058726d58585b5b58727a5c485a585348485f685048727e58725c5478705c5a5d585c555a60585a5048545458486a7e5b4a585f5258505848484b60577e50585a6058485c5b297e5a725e58584e7672585a585d5d6e4c5a485a585b5c5c755f5b5c587e5b295c5b567e58585d585c5550587d5b58737658585a585548485f6850486a7e5a5c5c5b78605c505a60585148485f6850487a7e584c5c5478705c5b5d585c5558586a585a61584158586f75586e5c5d7f6054584878585b7860505c53585b5b7f605c5f5058487e584c5c5b78295c5850585c7b577e524c584a585c5058587e5b5c5e7c584e767e584b6a705b73405a72585c7e5b5c5c584843585b5c5c4070585c5f36577e535450585b5b575d405a535a58584841212b5875587e585a58584843215b7873405a555a585850585b5b72585f68577e534c5872587e584c5c584a584b58487d4a5b584c5c20577e50585d585c555058435b585d7658585c5c5850484873585c5148584e6a70584a485850585c7e5863405a63585c7e584c5e7e584e767058295c58484a7e484b71767e584a585b52585554584d405a60585c5a485c5c585058507e584c5150584e767e584c5148585e767e58615d7a58725c584a584b5848412171587e6e5b5a6058585258535448485b5650484c7e585a7e5a585a5c5d505858765872715b585c6e5c485a58585058575b412a5c2b587e58555877215a485853585058587658735b5f5b5c587e585c5148585d405a545a58584848582b58716e7e585c5058576e54485058587658706e715b5a585850585c2b58706e5458486a7e585a7e5a5c58295b5a295f36505858482f585c57584b76555058587e5870585b487a7e5b7870585b487d58587870585b4878585b78715d7a587e6a715870585c5b5c587e585c5c584848587e585a7e5a535b5c5c585b767e585c5c58577e506e5058587e5b5d405a555a58584848582b58716e7e585c5c58577e504850585876587148715b5a58584848582b5871487e58725f365058487b504850555058587e585a7e5a585a505c5058575b50515f60577e50584841217e5870585c484a5b615e605c5a50584f5f5d48585550585f5b29585f685358587e58705c5f5a6058584878585b7870485850584c554a7e5c5a7f6e53585058586d5858587058724c7e5870585b55485858507e57517a7e29585829587e584a2958584a5c5d5058586d58585c7058724c57584a585b48485f6850485c7e585c5c5b78705c585058507e5829405758586a555058507e582b6a552c58505b5b772173585c5c48786050515358587e5829516e717e5c7e58616a705b4a7e5a585a5c5d5872585a4858535850585f5f5b5c587e586e295b5d58545548412d715b5a585a4b48295a5058587e5b295c54787058585e605c5e5872587e586e4b585058507158586e5b5a60585b55485858507e5b5b5e514b5b5e514c7058295c584d7e4b585058407e585d405a585a585d48485b51504848545b586a7e584a6e58585a5c58487d705e584a7e5a585a7e5a585c4c5c485a585e50585b5b362e215d7a4d405a585c5c5b504848545b586a7e585c513658415f5b6e7e5f6b507e5b5b54726a57584a585848485329487a586b78707e5a585a5c5d5058535b584e6a70585c4c575870585b48485f6850485c5550585c6d585858705a5c5c5d7d705053484b5b6b5058575b5e774c7e5a4e696048487d555d48585d485a585848485f6b5048587e5a5c5e58584e6a7e58295c5e7d51507058295c584d7e4b5850584f5b585d405a585a585e5058542b587e587e5870585878605c5c5d58485550585b5f5d48507e584c5c5b7870505b55485858507e715b6e585f614840585b4b7e29585a6e6a7e5b4c5c58577e5058487d4a5b584c5c43577e5058484121715b586e5b5a60585f5058542b587e585550587d5b5c5e7672585a585c5a6e6e5850585b5b5d5e76487f71767e58586a50585a5858525850484b486a7658485336506e5b5b5c5e6a705870485850585c76587e587e585a7e5a585c7e715860585a484b5b685358587e584a58585058547b5a6158585058587e584d7a5d5a5a5858487e582a586e58555c6e587e585c5e215163405a585a585848484b685c582d7e58586a5c585c5c5b5a2b4c5b582a217e58724c5c485c5c585d6e6a5a485a585855485858507e575f5d48585d4858535850585c6d585858705b4c4c57585a585a48485f6b507e535f5058547e5b4c7d605d48587e584c5c5b78705c5b5058586d58585c715860585848485f685048587e586e295b5d5850555a60585d5048485550584b5b366e5f6150585c6d58585b6b5a2f2d5b58484b36506e5b5b5c5e6a705b4a485850585c715b5a585a484b5b495b5c587e58725c5c7d705c515829587e5860585c5c53295b5058547e585a585f5c55505a5058547e5b4a725d5a5d7a585a5a585d50584c69586e582a5858587e5b5c5c4878705c5c5058435b584e76705b7058514b6e29585a6e6a7e5b5a585b50585368507e5f535b5c587e5b4a585c50585c7e5b5e6a7058715b5a507e5c7e5874695b585c5c485058536b5c5c40785058547e584b5a7d584a585d5058587e584b5a605870585d50585c69586e7e2a58587e7e5860585b52485458576e58585a60585f484b5b68535858555e7e587e585a585b50585c76587e5b5b5d5e6a76587e5b6852585040577e505850585855526e5c5b7f605858487f6336585d405a5858535850585876587e4b5b5d5e6a70584c5c5078715a4a58725c584d7e295850585c485c586a7e58586d555848533650585876587e48705b295c507d4a5c5e50587d5b58415c5c485a585d525850585058404861485c715b7e6a7e585a7e5a585a505850585c7e5870585d5058436850584b5b58705851484853615e60585f50585876587e58765871484b5a4858555058585a485a58585258505c50585f515d48587e585a7e5a515c5c5b4b7e29585058587e5873405a51586a55747e5c5850585b5b584d76585748535850585876587e487e58727a57585a585848485c2f585d485a485a585852585048507e535f5b5c587e585c5c5b577e50725058587e5863405a5e5a585850585c2b5871587e585a7e5a545c5c5b4b6e295a5058575b584c405758486e5a5a60585b5058535e5b5c587e585a7e5a5e5a505a4848535e5b5c587e585a585d577e504050585471587e6a7e585a7e5a545c5c5b4b6e295a5058535b584c405758486e5a5a6058585058587658704b5b584e762b5870485550585b5b584d7658577e6a555a7e587e585a585b78707e5a58586d7d58485f36505858765871587058294c5c485a585848485c2b5870487e585a585a577e50405058587e584d405a5c5821555872587e584a585d4b7e4b58505858765871715b58727a57584a58585058502b58717e495a60585848485c2f585d407e585c5c5a577e50405058587e585a7e5a535c5c5b7873405a53586a556c485c5b582a2173585c5c487860505d5358587e5860585b577e50545872585a485853585872587e585b58285b5c587e585b5b2050485c7e585a7e5a5b5a505c50585f5b584e6a705872405758486e5d5a295c5b50484b5b584a5c5a5058586d58586a70584c5c5b4b6e295b5a6058585058535b584a585a50585048216e5c7e5b5a5c5b505858485748295b5a6058585048507e585a585b48485f685c5d765458486a7e585a7e5a585a5c5a5058587e5b5c5c5b7871582c5058487158486a7e5870585b48485329787050585058575b5d5e76485460585d4848582b587e7e7e585c5c5c7870585d484871685c5d547e58295c48787048585a2f215b58485736506e5b5b5c5e6a705b4a48585058535b7b60505e50585f6b4d484b58505858485d4a5c515877217e584a585e48485f2b484b5b6b4a484b5850584c7e584c5c5b7d5d405a5a5a585f50585c7e5874762b587e6e7e5b4c5c547870585f484871685c514076587e584872485c5458486a7e5b725c5b786e6d5b584e76705b715b7f5048507e5b584b585058507e5b60585c5c5f4c555058547e5b5e6a70586e4b585058507e5b5e767e5b5a58517870585d5c5f4c5550585f5b5a727a5c485a58515c5b58555058587e58715b575058587e5b715b5450584f5b5c5e7672585821555c5b7a585a6e545858486a41585a5858525850505c5b43515b5c587e585a7e5a5a5b5d4c587e6a7e58586a2d58485f36506e5b5b5c5e6a70586048585058547e5873405a5d5a585d484871685058575b5d5e76484c705c5a5058587e584b5d78584a5c58505850484c4a585d484b5b685358587e58586a55585a585c5058502b587e5b5b586e6a53585a58584848582b587e58555d6e587e585a58585258505c48485f68577e505c5a61725b5841205b584a5c5b5058584857484b36505858487f4c5c5b786e4c7e58486a555e7e587e585c5e29504d405a585a5858484a5b685c587678505858486f585c7850585855726e5c5b5b512173585c5c487860505d5358585a485a585b5c5d4f5f5b5c587e585a585b52585050577e50505058587e584a725a585d7a5a58586e5b5a60585b525850585048485a485853585872587e584a7e5a5b5a505a484869575b5c587e585a5c5b5058587e5871582f5d585c555058535b7b296a57584a58585058504872485f5b584e76705b4b5b7f507e5c484d4a585850584c484d5a58585058504856486a7e584a585c5058535b584e76484f486e5b5a61584158586a555058575b5c5e767258586a61585a585a525850585048505d485853585058587e584c7a5c7f60585852585058505853515d485c7e58584c7e58486a495a60585848484b685048585458586a585a36725d58485f36506e5b5b5c5e6a705d5a485850586e7e585d405a5d5853585872587e585a585f4b7e4b5850585c6d58585b5f5d485f5b585a5c5850585f5b585d7658585a585c50584876587e5870584c5c5b7873405a585a585b484a2d2f5858587e5b6158534b48295a50587276587e5870584a585078295e7f584c765758705852525850585048507e5a4a585b48484b68577e505850585c7e5873405a58586e5a5a6e53585058587e5b727a57585a58515c58755f5d48587e584a2958585c4c57584c5c585048587e5a4a7e5a585a505b5058716b4843215b4a7e295a50587676587e5871585a585350585f5b5b5e762b587e587e584a5858577e505848485871585a58524848582b587e5854587e6d5b7f605c5850586a7e5a295e58584e767e5d5c5c5478715d4a584a58557860505f487f6e584a7e295b50584f5b58774f5b2d57585878702958585a5c5e5872585a485a585f48416d61507e5b5b2b585b515b5c587e585c517e585c7a57584a585d50584876587e5870584c7a5c485c5f365048587e584c5c5b78602958585c517f58515c7e58702958585c513658515f515d484c555058487e584c5c5b7873405a585a585b5058402f58585b5b585a5c585d5848555058535b2958582f5858585458486a7e58706e58585a50585058435b2a6e5b614b6e29585058507e585c5e585841502f5858587e584a2958585c4c57585a585b4848582f5858587e5b6158534b48295850587276587e5870585a585078295e7f584c7657585a58525258505850485c7e5a4a585848484b68577e50585058587e584d405a58586a7e5b5a585c52585058507e5b5b584e762b587e587e585a585e567e585848485871585a585f487d48584a7e295b5058767e5a707e5a585c5c5b7873405a58586e5b5a295f36504858555058615b5c5e7672585a58585a28585b58772173585c5c487860505e5358587e5b725c507870505f50585c485d60585f5c5d6d5b2d57585848405d4b585a585a5c5e547e5860585f5c506e5b507e5c484a5d405a585a585c50585c48565d405a585a585850585c485760585f5c582d7e5b725c48787048585a635c585058506d58585871587e57585872587e585a585b4b6e4b365058586d5858587e58727a57584a58585b4a585b5a6e215550585b5b584e767158586e585a6e58552e48545b58412173585c5c48786050545358587e5d5a5858567e58495872585a485a585850584f5e5b5c587e584a2958585c4c57584c5c585048587e584c5c58567e58585058487e5b5a7e5a585a505b48485f68577e505850585f5b55737658585a58515c58755f5d48507e5a4a7e5a585a505b5058716b4843215b4a7e295a50587676587e58715870585350585f5b5b5e762b587e587e584a585a577e50585d5850555872587e585a585e4b6e295850587a485a4c4c57585a585b554858584b48295b48485871585a585352585058507e5c7e5a5e6d5b776e5f525d48507e5a707e5a585a5c585058727e584c5c5c7873405a585a585b5058582b587e5b5b585a5c585058695b585d405a58586e5a5a295f365048587e5a605855484a5b685058615b5d2b764828485c7e5a2b6a705b4c5c7f4a7e295b50584f5b2d57585878702958585a5c5e5872585a485853585872587e5b4c5f327a4c5c4e786e2d5d58485058587e6a7e5860585c52585058507e5f515b5c587e584c5c5b78602958585c517f58515c7e58702958585c513658515f515d484c555058487e584c5c5b7873405a585a585b5058402f58585b5b585a5c585d5848555058535b2958582f5858585458486a7e58706e58585a50585058435b2a6e5b614b6e29585058507e585c5e585841502f5858587e584a2958585c4c57585a585b4848582f5858587e5b6158534b48295850587276587e5870585a585078295e7f584c7657585a58525258505850485c7e5a4a585848484b68577e50585058587e584d405a58586a7e5b5a585c52585058507e5b5b584e762b587e587e585a585e567e585848485871585a585f484b4f525d485c7e5a7058525258505848485f68577e50585d585c554841217158586a7e5d5c5c4878704858505858554c585c5a7f605458484b5b6b507e4072585a585e48487168507e4c7e584b584950584c485472517e29585b5b7e575c58505850487b60585d50584c48737e5c70584b5b50567e58585058487e584b582d567e58585058587e584b582a50584c485d70585e484b5b68535858557f7e505a7f6e5332506e5b5b76585f6b507e4872585a585c50585c2b58736e7e5b5a585b577e504c50584b5b7f63405a5e5a585c484b5b68507e4f5a585b5b4d5058487e5b4a585d48485c482c7e507e5b5a725d5a5a5c5e50584869586e58715b60585a5b5c587e5870585b505848765871487e5b5a7e5a70585f68505848765873616b7873405a58586a7e585a5851576e54585058587e5b737a5d5a5a585c4878585b787048585a6e29585058587e584a585a4877214829585055704850585872587e58584b3650585f5b366e5b575d485c5a485c5140717e5c76587e5876587e5b5f5b5c587e584c5e587f2a5f5b7e55215d4b7e295d5d585c5550585f5b366e20575b5c587e585a585b484d20614840585b7a737658584a585850585f5b5b77435b6e585f60567e5858484850495a60585b48405b587a4c5e586e58575150585f5b7e55585d4d2a5f5f5b5c587e585a585b484d20614840585b7a7376585870585850585f5b5d51435b2d585f60567e58585058587e584c5c5e7d725c367a4c5e585841502f58585f5b586e215550585f5b7e50585c78295136366320575b5c587e585a585b484d20614840585b7a7376585860585850585f5b5c77435b21585f60567e58585058587e584c5c5e7d725c367a4c5e585841502f5858507e585a585b4848612b484d20614840585b7a737658584c5c5c5d6e6a55487d4a5b584c5c43577e50584841215f48485c555d6e6a7e585a585b567e585848485c556b6e505b5b51215a7f6e535850585870584c5c5d7a484b585829587e584a2958585a505a4b4a585a484d285e7a7e295a50585f5b584e7670584c5c5d7a4829585a6e6a5a485a585b52585058507e535b7f2a547e58725e5b7e764850782a5f5b7e505e5a715171615d48585d485a585a487b2a2f2056725d7a60505a484120635058535b7e40525c5a5e6d6148405a5b7e764b2d7a48295b50585c76587e48715870585b48484b6850485c7e58725e5b7e7648507860585a484120637a4c5e587e40525c7c515f5f5d4858555a6e575850585c7058702958585a505d5b5c587e58725c5b78705c5b5058575b494c7a5758486a555058505458486a7e58486a7e585e6a7058724c5c485c5c585d6e6a5a485a585850585368554858585d485b5b2050405b52585058507e5f5f5d48587e584a7e5a585a505d4b4829585829585a485a58585058547e58715a32584c4c5c485a585b5258505850585368507e546d58585b5b494c405758486a7e584a7e5a5b5a5c5d50585f5b5b5e7671584a585d5d485c54587e6a555058575b584e76715b586a7e5b586f7158485c5a7f60585a48485b515048545a485853585872587e585c5c5d7a4c4c7e58724f605d48587e584c513658415c715b5857585058586d5858587e5b5c40575870585a48485f6b507e535b585c7a715860585848485f68507e5b5b582a5f5f5d485c7e587e29585a6e6a7e58294c5758486a5a485a58585548585850585f5b366e5f614b70585a48484b537a7e295850585f5b366e5f6148405e5a7158716a5048545d485a58585258505850585763507e4b5b7f2a547e5b5c5e5b7e764850782a5f5b7e505e5a715171615d485c7e585c5c5c78705c585058535b5b5e6a7058725c5d4a6e29585a6e6a7e58724c57585a585b487f215b7a4a5c5b5829587e584a5858554858584b7e4b58505858495a60585848485f685048587e58725c5b7860505a5d4858555a295c585a207a5d587e533258772173585c5c7e7860505c5358585a485a585b486f36363636363636363636366e5a5d507e575a7e505a587e505a586e5058217f4a585d48765a587e505a587e545d366e6e5b204f584b5850585f5a5b50407e585c50217050487158605858486f363636363636363636365d2d5470585c525b7e505a587e505a587e5871785b5c587e5829525b7e505a587e505a587e5458587f5a5c5a5d5850555058575a7e505a587e505a587e505b587f4a5c5a50585b5a7e505a587e505a587e505850714c50584c7e295b5058507e5829505b7e2a6e71587e6e5b5a6058584c5a585d48765a587e505a587e545d36366e5b4c5058575a7e505a587e505a586e493636585f5c7b4b484b5850585f5a5b50407e585c502170504b5a3636363636363636366e565d48765a587e505a587e505d21366e5a5c5048505458486d5a7e505a587e505a587e497336585a5c5a5058575a36363636363636366f36365d585f4057585c50585048507e5829506e70527a705b4c5e4b206e5b535d48587e5b5c5c487870585850585f5a3636363636363636492d575a7e505a587e505a586e585a5c507e507e5b4c5e5b206e5b6b5c5a217e5b5a58585058535b7e7f7e5850584f6b5c516e7e5b5a725d5a5c505c7170585c52485458507e5b5a4950705c5048507e5b5a725d5c5a585c52485440715c50584c68297e585c55363636363636363636366e325d715a505848765e587e505a587e505a585a5f765c485a585a487e5f215048505458486a7e585c52587e505a587e505a587e58705f487e5b4a5d48587e5872505b7e60585a7f5a5c5a5a60585c484a5b685358587e5870585b48765a587e505a587e505a587e51325d715521554b585c5b7f605458484b5b6b507e4c72585a585f50585c7e5870585d50584b5a7e505a587e505a587e505a587f2d4c48495a585f5248545850485c7e585a585f52485450576e54505058587e584d7a5d585a585f484b5b685358585568485c5b5841615c5858585858585858215d21715848535850585b5b7e5871565b5c5b5c58585858585858582d512171584a5858487f21494a584b5850585b5b366e7d6b50485854587e6d5c585858585858585821512171584a5858487f294150585b5b364b7d505e2951325d2b6a7158586e5b5a60585848405f2d4a7e29584b58585858585858585e585d50485c7e585c5e2d7a5c765c485a5858487a725178705c585d585c554b585858585858585858585850485c7e585c516e785a5858487f5b764a716d5b727e20685048585550585c7e585c51365b2b686d48734a5e6f2f505561585c5a5841215a7f725f365048545a485a5858487e5b4a50585f5a363636363636363636363636585054705b5c52587e505a587e505d58363621584f70585c48765a587e505a587e545d36366e5b4b5e6e29584848587e587255363636363636363636363621587e60505f48765a587e505a587e545d36366e5b4e50584f5a7e505a587e505a586e493636585f5c7b5d48587e585a585c50584e5c715f585c485c5c585d6e6a7e584a585a7e2950584e484b584848587e584a585a4c60585b5058534b5e6e295b5058587e584a585a71404b5a585f50495a605858487e5b4a50585c7e58754c7e584a585a4c4b6a57585a585850585c7e58764e5c487e5b4a504854555058545578485c5a7f605858487b6e76577e50585058587658707e715848575850585c5c485c5c585058587e584c5c5b7860505b48485329507e507e585a7e5a535e7676587e587e585a7e5a505a585a78707e5a585b5c5158586e5b5a6e6a7e585c5c7a7871585650585876587058485c5a5858525850725c5b587e585a7e5a545b58485058587658736e485c5a58585a6e725850585848707e5c485c586a53585a58585c557e5b5c5b58555d58587e585c5c5c78715b325e7058585a6e6e5850585b5b5a5e76487f71767e58586f36556e5c4b7f605458484a5b6b5071547258585336487f485b5c5b72705a584b365872587e5a5a505e5058587e584c5c5d7d5b5a535860505848485b545d48587e585c5c5a7d5a5c495829587e5b70584b48485329507e7d68507e5c76587e58715a70585b5058407e5d295c5a7d5a50487870505b52585058577e505850585c7e5a73405a585a585e50587d5b5b515368507e5c76587e58715a70585b5058407e5c5c5c5c7a747670584a7e5a585d405a585a585b5058762b587e587e5b705851484871607870505b525850585048767e584a585e505b5b5b5a515368507e5c76587e582b587e587e584a5852577e50585058407e5b295c547a747670584a7e5a585a5c5250585c7e5b705848484861607870505b52585058577e505850585c7e5a73405a585a584b48484b6850715c7e5d295c5c786050494a5829585a295c5b504b5c7e585c5c5b4d5829585829587e5b725c4878705c5e484858715d6e57585058407e5d295c5a7d5e7670584a585b52585058507e5f5b5d77435b36587d614840585078707e5a585c5c5e7d7251215b2a5f5b7e5b5b685258505848487e485a5a585b484b432b487f6e517a4c5e585a5e7676587e5b5b5b77435b36587d614840584878707e5a5851547e584c5c5e7d7251215b2a5f5b7e587168525850584848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585b487f215b7a4c5c5a7d5c5e585a5e7676587e5b5b5b77435b36587d614840584878707e5a585c5c405c587163577e50585058205b584e76705d295c5c4b6e29585a60584b48485f6850715c7e585c7a5758586a5550585b5b585c7e5c485a58505c5b5b5b58586e5a5a6058505058582b586f585b50587e5f484858555a6050585b51217e5c60585a52485858576e5448505b547e587072585a5d7a5d5e5a585c484b5b495b5c587e5b5c5c5c7d705c4f4848587158485758505b547e58607258585d7a5d585a584d5058546958587e2a586e7e7e585a7e5a21585c715f5a5858525850545058547658586e7058725c407d5a585a4848712948405a5836587d617a70585a4848712b48405d32582a5c7e58725c407d7753607a60504948482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b507e585a7e5a5a5a585d52585850507e535b5e51487e58725c507d5c5e587e496e517a41507e58725c507d725e58367e57615058535b5e5143607a7754705c4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5650585876587e487e58607e585b5a505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a775363507e7d5b366e5f61484853294840584878707e5a585c5c405c587e715a4a585852585058505854765858587058725c407d5a585a4848712948405a5836587d617a70585a4848712b48405d32582a5c7e58725c407d7753607a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c52505b5f5b366e5f61484853294840584878707e5a585c5c405c587e715b70585148482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058205b366e5f61484853294840584878707e5a585c5c405c587e715870584b48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058205b5f77435b36587d614840584878707e5a5851547e5b295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a515154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c495058587658717e7e5870585c50587e7e5c4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e585a7e5a5f5a585e5058767e5c5a5851484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715b605858525850485058727e5d70584a50586d5b5f77435b36587d614840584878707e5a585157637a2a54705a295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050586d5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350586d5b366e5f61484853294840584878707e5a585c5c405c5871635058587658706163507e615b5d77435b36587d614840584878707e5a585c5c505c587e715c705858525850765058507e5b5a58505058285b5f77435b36587d614840584878707e5a585157637a2a54705d4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c56505858765870487e5b705852505b587e5b4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048727e585a7e5a505a5851505b5c7e5d605855484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e6d5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58544848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e50584f5b5d77435b36587d614840584878707e5a585c5c505c587e715a5a58554848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5d5c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a5058285b5d77435b36587d614840584878707e5a585c5c505c587e7e5d5c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605855487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a605858525850217a60505448482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505048217e585a7e5a565a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e285b5b77435b36587d614840584878707e5a585c5c485c587e715c4a5858525850295058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705b4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c51505858765873587e5a4a5856505b507e5a295c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d5c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c525058285b366e5f61484853294840584878707e5a585c5c405c587e715b70585f48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058615b366e5f61484853294840584878707e5a585c5c405c587e715870585748482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058615b5f77435b36587d614840584878707e5a5851547e5b4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a4d5154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c4a5058587658727e7e5870585c50587e7e5d4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b585050482d7e585a7e5a4b5a585e5058767e5c5a585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715a4a58585258535850587a7e5c4a584950586d5b5f77435b36587d614840584878707e5a585157637a2a54705a295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050586d5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350586d5b366e5f61484853294840584878707e5a585c5c405c5871635058587658756163507e615b5d77435b36587d614840584878707e5a585c5c505c587e715d605858525853405058507e5b5a58505058285b5f77435b36587d614840584878707e5a585157637a2a54705d4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c4b505858765875487e5b705852505b587e5b4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b585050487a7e585a7e5a4c5a585350582d7e5c705855484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e6d5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58544848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e50584f5b5d77435b36587d614840584878707e5a585c5c505c587e715a5a58554848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5d5c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a5058285b5d77435b36587d614840584878707e5a585c5c505c587e7e5d5c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605855487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258536a7a60505448482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b507e585a7e5a785a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e285b5b77435b36587d614840584878707e5a585c5c485c587e715d705858525853725058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705b4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c53505858765874587e5b60584b5058217e5a295c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505548482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850504b587e5d5c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c525058285b366e5f61484853294840584878707e5a585c5c405c587e715b70585f48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050487e7e5a295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a5a5c5c5058615b366e5f61484853294840584878707e5a585c5c405c587e715870585748482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058615b5f77435b36587d614840584878707e5a5851547e5b4c5c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a7f5154705d5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c495058587658777e7e5870585c50587e7e5d4c5c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a6050574848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e585a7e5a7d5a585e5058767e5c5a585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4f5b366e5f61484853294840584878707e5a585c5c405c587e715b6058585258536e5058727e5d70584a50586d5b5f77435b36587d614840584878707e5a585157637a2a54705d725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058615b5b77435b36587d614840584878707e5a585c5c485c587e715a705857487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050582c5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5854487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5854484b432b487f6e517a4c5e585c5e7676587e5b6350584f5b5b77435b36587d614840584878707e5a585c5c485c58716350582c5b366e5f61484853294840584878707e5a585c5c405c5871635058587658766e5b7a60505348482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b5850505858765876585b50587a7e5c4a584950582c5b5f77435b36587d614840584878707e5a585157637a2a54705b295c4e7d7251215b2a5f5b7e5b5b68525850587a60585852585250584a585a5058487e5a5a5857484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4b5b5b77435b36587d614840584878707e5a585c5c485c587163505858765876485b5058407e5a70584850584f5b5f77435b36587d614840584878707e5a585157637a2a54705872513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a72585f6350484c7e5b295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a585a484b432b487f6e517a4c5e585c5e7676587e5b635058755b5b77435b36587d614840584878707e5a585c5c485c58716350584b5b366e5f61484853294840584878707e5a585c5c405c587163505858765869485b7a605c4a5058535b5d77435b36587d614840584878707e5a585c5c505c587e7e5b5c5c4e7d7251215b2a5f5b7e5b5b68525850587a6058514848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585240584154715d7e533650584b5b5d77435b36587d614840584878707e5a585c5c505c587e7e5a4c5c4e7d7251215b2a5f5b7e5b5b68525850587a60585a4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605851487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258527a584154705a4a584c48486d505d4858785058755b5d77435b36587d614840584878707e5a585c5c505c587e715d6058564848432b487f6e517a4c5e585c5e7676587e5b5b5c5b5850504b5c7e5c72513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5150584f5b5d77435b36587d614840584878707e5a585c5c505c587e715c5a58534848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048767e5d72513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5e505b535b5d77435b36587d614840584878707e5a585c5c505c587e715a5a585f4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58505048487e5a4c513658415f5b58774b5b7e5b5b6852585058484b7e485a5a5c5a50582c5b5d77435b36587d614840584878707e5a585c5c505c587e7e5a4c5c4e7d7251215b2a5f5b7e5b5b68525850587a60584a4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585f487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a6058585258526a584154705a4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a58585258527e584a5851505b5c7e5d60585f484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e7d5b5f77435b36587d614840584878707e5a5851547e585a7e5a68585c7e5870585c50587e7e5d725c4e7d7251215b2a5f5b7e5b5b68525850587a2a57637a60505c4848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585852585272584a585e5058767e5c5a584a484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e535b366e5f61484853294840584878707e5a585c5c405c58716350585876586b585b7a605c5f50587d5b5d77435b36587d614840584878707e5a585c5c505c587e7e58725c4e7d7251215b2a5f5b7e5b5b68525850587a6058534848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a60585c487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585229584154715c70585a48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050584b5b5f77435b36587d614840584878707e5a5851547e5b295c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5a4c513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a6c585f6350482d7e5b5c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5853484b432b487f6e517a4c5e585c5e7676587e5b635058535b5b77435b36587d614840584878707e5a585c5c485c58716350587d5b366e5f61484853294840584878707e5a585c5c405c58716350585876586b6e5b7a605053505b4b5b5d4c7e57585b767e5a4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c4950582c5b5b77435b36587d614840584878707e5a585c5c485c587e715c4a584a487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b585050487a7e5b4c5c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c485058755b5b77435b36587d614840584878707e5a585c5c485c587e715a705856487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048407e5c725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5c5050584f5b5b77435b36587d614840584878707e5a585c5c485c587e715b5a5853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58505048507e5d725c567d7251215b2a5f5b7e5b5b685258505848487e485a5a5853484b432b487f6e517a4c5e585c5e7676587e5b63505b535b5b77435b36587d614840584878707e5a585c5c485c58716350584f5b366e5f61484853294840584878707e5a585c5c405c58716350585876586a6e5b7a60505348482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b585050585876586a585b50587a7e5c4a584950584f5b5f77435b36587d614840584878707e5a585157637a2a54705b295c4e7d7251215b2a5f5b7e5b5b68525850587a60585852585550584a585a5058487e5a5a5856484b432b487f6e517a4c5e585c5e7676587e5b637a2a5763507e4b5b5b77435b36587d614840584878707e5a585c5c485c58716350585876586a485b5058407e5a705848505b535b5f77435b36587d614840584878707e5a585157637a2a54705872513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a29585f6350484c7e5b295c567d7251215b2a5f5b7e5b5b685258505848487e485a5a585a484b432b487f6e517a4c5e585c5e7676587e5b635058755b5b77435b36587d614840584878707e5a585c5c485c58716350584b5b366e5f61484853294840584878707e5a585c5c405c58716350585876586d485b7a605c4a5058535b5d77435b36587d614840584878707e5a585c5c505c587e7e5b5c5c4e7d7251215b2a5f5b7e5b5b68525850587a6058514848432b487f6e517a4c5e585c5e7676587e5b5b5c5b58507a605853487f215b7a4c5c5a7d5c5e585c5e7676587e5b5b5e5b58507a60585852585540584154715d70585c48482c2b487f6e517a4c5e585c5e7676587e5b5b5a5b58505058755b5f77435b36587d614840584878707e5a5851547e58725c5e7d7251215b2a5f5b7e5b5b6852585058484b58485a51547e5b29513658415f5b58774b5b7e5b5b6852585058484b7e485a51547e585a7e5a2a585f635a605c505058547e585a584c48484b297870505c52585058505b535b366e5f614840584078702958585a5850484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5b4c5c407d725e585e5e766d58585b5b5e514b6050582c5b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858587e5860585c5258505c50582c5b366e5f614840584078702958585a585f484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5c725c407d725e585e5e766d58585b5b5e514b605058715b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858487e5860585c525850505058715b366e5f614840584078702958585a584a484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5d725c407d725e585e5e766d58585b5b5e514b6050584f5b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b58587e7e5860585c5258505450584f5b366e5f614840584078702958585a5856484b5b2b487f215b7a4c5e585e5e766d58585b5b5c51487e5a5c5c407d725e585e5e766d58585b5b5e514b60505b535b5a51435b366e5f614840584078702958585c5c507d5153607a60505a484b71295058535b5a514b5b7e505d215b2a5f605058535b5a51435b7e492d5d7a4a585a484b712b7a77502b5858615b585a5c5a5829587e5870585d7870505c5058486d5858587e5c295c487870585a787029585851542f5858587e58725c5b7870505a484b5b515d485855505b547e5c60725d5a5d7a5d5e5a584d505b5469586e582a5861587e58295c4878705c5d50585f5b584e7670584a584f4b6e29585a6e6a7e585b58484848585f484121555e70584d484a5b6853585855757e5c5b58772173585c5c48786050585358585a485a58584848616850585b5b5a5e7648586e2958487f4a5e584a5858525850544848532948484b685c5b7270584d405a585a585b4b48295850585876587e7e485e4a505b5b5c5b5b2050405b5258505850585876587e615b58774b684848582b587e5b5b2050405b5258505850585c4858724c5758486d5b2050405b4848582b587e585550585b5b5c5e7672585c51507e485f5b6f4b2d484f5b695b2b50405b487c705f584d405a585c5e48717e5f5b5273405a58586d4358485f365058587e585a7e5a4a5a505b48485f6b50585f60577e535050585876587e5870584c5c507a484b585058587e584c5c7e7a73405a585c5f365d6e6a7e585c5058576e505c5058587e585a7e5a555a505b577e507a5058587e584d405a5f5a585850585c7e585a7e5a545e762b58715b5b58586d21584853365058587e585a7e5a4a5a505b48485f6b50585f60577e5350505858765871487e585a7e5a515c7a5c485a585848485b5b585a5858525850725c4848585e7e6a7e585c5c58577e507a50585b5a585d7a5d5c5a585852585058507e5f5b5b515c5c485a585850585f5b5051502b587e5b5b7f6e21555058587e585a7e5a555a58585258506e7870505a577e50505058587e5873405a5b5a585b484b6d29484b20285a204c5a584853365872587e585a585b4b7e295850585c7e585a585a7870505c78295c585058535b58414b6b4d484b585058587e584a585a5c5c50785d6e6a7e585a585b7a295c5d7a4a5c5d5872585a485a585850585f535b5c587e586e295a50585b5b582a5f5f5d485c5d485a585a4b48295c5058587e584a2958585d7658585a585b48485f6850485c7e58725c5b78605c5a50585b5b584e7670585c5c5d7a4829585a6e6e5b5a6e535850585457585a585c484857615b5c585d485a585a4b48295f5058587e58725c5b7860505a7870505d50585c7e5874766d5858582f5858587e58295c5d7a4829585a6e6a7e58725c5d4d4829585829587e585a585a48484b6b507e536850585c7e58747676587e582b587e587e58725c5d4a6e29585a6e6a7e58724c57587e57585058587e58725c5b7860505a7870585b5058536855485858567e58585058505758586a54587e6a7e58725c5d4d4829585829587e585a585b52585058577e505850585f5b5b5e7671584a585848484b685048587e58725c5c7860505a484857555d4858555a60585a4b4829585829587e585a585b55485858567e585850585b5b584e7671585a585b48485f6850485c7e58725c5b7860505a5d4858555a6e6a4c585a585848486168507e587e585b5a4c584c5c5b78715a4d58486c555d585c5e7f60585850585f6850484c5a4858535850585876587e487058725c5b7a4829585058535b582a5f5f5d485c7e585a7e5a585a505a50585f6850485c5a485a58585058536b507e5b5b2e505c5b525850584b6e4b585058535b366e5f575b5c587e585a7e5a5a5a505c5058535b582a407058725c5d7d5c5e587e7e5f684b71767e585a7e5a5d5a505d50584b515d48535b2b505c5b487d705b584a7e5a585c5f325058532a7a4d405a58586e5d5a605858525850405048405a485a585850585876587e6e7058297a5c485a585852585050507e535b2f505c5b525850584a4b767e5870585d577e50545058547e5873405a5a586e5b5a6e535850585b5b5f5e767058707e5a585a505c5d48587e585c5c487870505a52585058507e4857585c5c585048545458486a5d485a585a50487a7e5b5a505d484b4b68507e5076587e58705b5829585058575b5c5e76715870585d52585048507e485758586a7e5b295c58577e50585a60585e4b48295a5872587e585a58585258507a507e4b5b58774b5b7050485b7870505a525850584b7e4b585058507e5863405a585a585d5d485f5b2a505c5b487d605b584a7e5a585c5f3250584b2a7a4d405a58586e5c5a60585e484b5b5b5f5a585e5258504850585b5e5e2b767e5863405a585a585d4b48295d5a60585d5058402b58717e7e585a7e5a5c5a505a5b5c587e5860585a577e50485058507e5863405a5e586a7e585a7e5a5f5a505a4b48295a5058547e5873405a5f5a585a5058542b58717e54587e6a7e5b4a7e5a5b5a505a48485761484857515d485f5b2d505c5b50585c2b587e587e5b4a585a48412c61577e505c5058587e584c5c5b7a73405a5b5a585f50585c2b587e58495a60585c5058542b587e6e7e5860585c577e50505a6e535850584c76587e487058725c5a7a4c4c5c485a585f487f5a5b584a7e5a585c405c485c516e7e485c7e585d405a585c51727e485f5b2c505c5b5258505850585f68507e5c2b587e587e585a585b48485f60577e505c50585b5b2e505c5b525850584b6e295d487c5a5b584c5c58577e5058487c605b584c5c58577e50585d6e6a7e5b4c516a7e485c76587e5b5e5b5c5b5b2e505c5b5058582b587e5b5b2d505c5b487c5a5b584a7e5a585a585b7870505b577e50585058587e584c5c5b7a73405a5b5a585850585f6850585c2b587e58495a60585a4841716150585f6850485c5a485a585a487f215b4d484b5850584c76587e7e705b5a585a4848572b507e535b582a4b5b7e50505b787240785058487e5b4a7e5a5d5a505d4b7e4b58487d705b584c51407e485c76587e5b5b7f70585a7d2a5c2b587e5854587e6a7e5b5a585d577e50545058547e5b5d405a5a586e5b5a60585f525850405048405a485a585f50584c76587e6e7058297a5c485a585f52585050507e535b2f505c5b525850584a4b767e5870585d577e50545058547e5873405a5a586e5b5a6e535850584f5b5f5e76705b5a7e5a585a505a5d48587e5b4c5c487870505c52585058507e5057585c5c585048545458486a5d485a585c50487a7e5870505d484b4b68507e4876587e5870587e29585058575b5c5e76715b5a585d52585048507e505758586a7e5b295c58577e50585a60585e4b4829585872587e5b4a585f5258507a507e4b5b58774b5b7050485b7870505a525850584b7e4b585058507e5863405a585a585d5d485f5b2a505c5b487d605b584a7e5a585c5f3250584b2a7a4d405a58586e5a5a60585e484b5b5b5f5a585e5258504850584f5e5e2b767e5863405a585a585d4b48295b5a60585d5058402b58717e7e5b4a7e5a5c5a505a5b5c587e5860585a577e50485058507e5863405a5e586a7e5b4a7e5a5f5a505a4b4829585058547e5873405a5f5a585a5058542b58717e555058587e584c5c5b7a73405a5b5a585850585f6850585c2b587e587e585c516a7e485c76587e5b515d485f5b2d505c5b50585c2b587e58495a60585f5058535b7f775c2b587e487e585a585b48485f60577e505c5058587e584e767e584d405a58586a7e584c5136584c295c485a585b4848572b507e535b582a4b5b7e50505b78705c5b5877205b2b505c5b52585058507e575b584a585a7d5a505a7a4c4c5c485c51407e485c7e5870585d7a73405a585a585b5d585c5550585c76587e7e555048507e584a5858577e50505058507e585d405a5d5a585850585c2b587e6e7e585a585a577e50505d6e6d5b51605c5a50585b5a585d7a5a5c5a585b487f3636366e7d575b5c587e584c5c507d70505a5058535b7e492d3678725c487d725c507a4a505c7d5a505a5058535b7e56587f78725c487d725c5c7a4a505d7d5a505a5058535b7e50584978725c487d725c5a7a4a505a7d5c5c497d70585d50584b60505853607860505a48485f2950585c7e58725c4f7877435b58415f60484b6168504850555058587e5873405a515a585a484853294840705c584e76715b6e535858725b5b2a505c5b52585058507e4b5b584a585a7d5a505d7a4c4c5c485c517a7e485c7e5860585c7a73405a585a58515058582b587e587e585a5851577e50405d585c5550585f5b585c5c435058535b5841436b5058535b5129407b7d5a5c5a50587a76587e5871586e5758505854705b5a7e5a5b5c5f2d7a4a585b4b7e295a5058535b514140715860585a48485f295048507e5b5a585d48484b6178705051484b5b6852585058507e545758586a7e5b605858577e50485058587e5b5d405a5e586a7e585a5858577e50545058587e585d405a5a58215550584876587e7e70584a5858577e50545058487e585d405a5a5a58584848582b58717e7e585a585c577e50545058587e584d405a5a586a554358587e585a585b4870705e48765a587e505a587e545d365850547e584c502d7176487e584c5040717252587e505a587e5658367e60585b487e705e48765a587e505d6e512d565c715a585b487e705048765a587e497e497e60585b4871705048765a5836587c5d715a585b4870705048765d32582d547e584c502d70504a5c715d7a5858586a49585a5858525850545e7058584848582b587e6e55716e5c5b5b512173585c5c487860505f53585873585c5c487860505d5358585a485a585b484e20575b5c585a485a585b484869575b5c587e585a585b5c5d767e585a5c5c5d585c555058587e584b5a4b584c5c5b7870505e5c5f21705b5b5b575058587e5b715b545058587e584b582c5a60585c50585c7e58715d2a584a585d4848582f5858217e584a585c7870585d484820685c5d487e58295c48787048585d585c555c5b7a585a60585f484b5b685358587e58586d4f5848533650585876587e48715b5853364848587e58724c57585b767e5b5c5c507d4a505f50584b5b58415f5f5d48587850585076587e587e5b4b5d5f58486a715b4a585852585058507e587e584a585a50584f685058575b5870585c484853615e605858525850585258507a5c487e585a6e295850585876587e587e584a7e5a585c7255506e587e585c5c58577e50545058587e584d405a5b5a585850585c2b587e587e585a585b48485f68577e5050505858556c6e5c5b582a2173585c5c487860505f5358587e5872516f363636365860505e50585f6b4d484b58505858485d4a5c515058585a7f60585b5058435b5841435b5c5e6d535b5c587e5b4a585b48485f29577e505050584c7e584a585a7873405a5d5a585f4848616850584f5b5a5e76487d707e5a585b5a5a58486e5b5a60585e48485f6b5a295c5b7870505e5c505c5b5048507e5b584b585058507e5b60585c5c515c555058547e5b5e6a70586e4b5850584b5b587748705b5a585a7870585c50587d68505854487a486a7e584c5c5b4b6e4b5850587a485c586a7e585a585a5c5c297e585a585e5c5c6e7e5b4c5c48787048585d6e6a485f6e58557158505b582a2173585c5c48786050505358587e5872516f363636365860505350585f5b7f2a57684d484b58505858485d4a5c525058585a7f60585b5058755b5841435b5c5e6d535b5c587e5a5a585b48485f29577e505050587e7e584a585a7873405a5d5a5850484861685058715b5a5e76487d707e5a585b5a5a58486e5b5a60585348485f6b5a295c5b787050535c505c5b5048507e5b584b585058507e5a70585c5c515c555058405c485a585c484853295058536850587a7e5b715b615a60585d5058487e5b4e696b507e545c485a585c48485329507e7a7e5874767e5b725c5a7d5e767e5b6058527870585f484853297870585d5c515c5550585f5b584c7a5c485a58525c5b58555058587e58715b575058587e5a4b5b545058587e5b5a585e7870585d787050585c5d727e5a5c5c58577e505c5058507e585c5c5a7d5e767e5a5c5c5c787158635058715b5c5e7672585821555c5b7a585a287e5b582a205b60505c5b5c582971582951507e485c485a4a5c5b506e5b5b5c5e6a70587048585058507e585d76585d295f365048587e58484b5850585c5c7f60585d5058506a58582148434a585b5c576e5b5b4c5c585a6050585058576b4841217e585b6a7158586a7e58725c4878704858505858557a585c5d7f605458484b5b6b507e5472585a585a484e20575b5c585a485a585a484869575b5c587e585a585a5c5d767e585a5c5c5d585c555058587e58715a4b584c5c5b7870505f5c5f21705b5b5b575058587e5b4b5b545058587e5871582c5a60585c50585c7e58715b4f5058575b585d76585d60585a50584b685058575b5d2b7648575a585d484b5b68535858495a61584158586a4a585a585b5b5c587e585a585a5c5e4c7e584b5b5e5e7e6a552e585c5b582a2173585c5c48786050505358587e58725f6f507e727e584c5f367a2b69575b5c587e585b58575048765a7f60585b5058755b5841435b5c5e6d535b5c587e5a5a585b48485f29577e505050587e7e584a585a7873405a5d5a5850484861685058715b5a5e76487d707e5a585b5a4b58486e5b5a60585348485f6b5a295c5b787050535c5f21715870585c5b5c587e58705852505848484f486a7e5b7e4b585058507e5b5e767e5b60585e5c5f4c555058547e5b5a585f78746a70586e4b585058507e5b5e767e5b74767e5b5a58527870585f7870585d5c5f4c5550585f5b5a727a5c485a58525c5b58555058587e58715b575058587e5a4b5b545058587e5b5a585e7870585d787050585c5d727e5a5c5c58567e58515058587e5874767e5a5c5c51787158295058715b5c5e7672585821555c5b7a585a60485b58412173585c5c487860505b5358587e584a5858577e505050585c76587e7e71585a585b484b5b685358587e58586a53585a58585c5b402b587e5855526e5c5b7f6058585258505c5048505d485a585b505853515b5c587e585b5b295e70585a48484b6b5048505458486a555058587e584d405a5b586a68585a5458484b5b6b507e5072585853585058587e584c405c485a58584848582f58517e5458486a7e584b58485a60585a484b5b68535858555158587e584c51363636363658296a5c485c512d515b5a4e587e585550585f5b58774848416e6a53585a585b4848582b587e5855577e5b5b6a534c5b525850585e725e6e75485c76587e5b5b6a534c5b5c51575b58774b685e725e6e75485c76587e5b5b6a534c5b5c51575b58774b685e725e6e75485c76587e58785a63295b58412173585c5c487860505a5358585a485a585855485b2d50585f5b51726d604b484b5850585b5b584d76587c586e5b5a60585a4848716850585c4836485c7158586a7e58725c4878704858505858554b485c5a7f605458484b5b6b507e5872585c5e6e75485c487d5b767e585c5136363636365863405a5d5a5858487f363636362151577e505050585b5b5d5e767e585c5c5078715a70584a7e5a585a5c5b50585b5b5c5e7672585a585b5a6e725850585848607e5c485c586a77585a585d50585476587e587e5870585b786050587860505a577e505850585b5b585c765c485a585a50585c7e585b5b5a5e7e6a555c58587e585a585b5c54295b5058587e5873405a5b586f5058485c5c7f605458484a5b6b507e4c72585a585f50585c695858582a5861587e5b4a585b52485850576e54405872587e58295c484a484b585058507158486e5b5a60585d48484b2b50487a7e58705c5b5829587e585a585f484b5b68507e7e7e5b5b5a77584a585c50585c4877485c7e5b5c5c4878705c5c50585f5b5c5e7671584a58505c566a5b5058435b584e76705b7058514b6e29585a6e6a7e5870585d7870585b7860505a5b5c587e585a585f484b5b6850584c48696e5f5b585a5c5e5829587e5b5a585f505843685548585850585c6d58585b63567e585850584b5b584e76715b5a585b48485f6850485c7e5b725c5b7870505e505853515d4858555a60585f484a5b68535858555f48587e585c512d296e582b587e587e585c5c48787158525e7058585a614c5850585b5b29575458577e505850585b5b5d5e76485a71767e58586a5c585c5c5c5a6e215850585876587e587e585a7e5a5b5d405a5b586d5858485336506e5b5b5c5e6a70584a485850585c7e585d405a5d5a585b4848716850585f5b5d5e76484c705c5848484b5b584c5140717e5c76587e5876587e587b5048507e585b5b4b50585f5b5c5e7672585a585a5a636e5b58412173585c5c487860505f5358587e5b4a585c577e505450584f5b5a5e767e5b4c5c5478715b4a5048487e585a585b5058507e58615a2a584a5c58505848484c4a585f484b5b685358587e58586a54585a585b5058506d5858582f585858555c7e587e5b5a585a577e505850587a7e5b4d405a585c5c5d5a607e5b5841217e585c516a297e582b587e585a485a585852585050507e5f5f5d48587e585a29585d5c4c57585a585b5c5b5855505858552c58725b5841215a485c512970585c6d58585b5b58415c57585c512970585c48535c4c5758585358487c7050584a2958585c5c5b7a482958487c7050584b58724b4829584878704f584b587b4878704f584c5140297e582b587e5873585c5c487860505b53585b5b6a534c5b487e582a586e587e584c5c58577e5054487b704f584a585b484861685c54295b487b704e584c5c58567e585850585f5b5c5e7672585b5a5b58725c7c4a484b585c5b7a585a295e6e75485f5b6a534c5b5c514b5b51715a585870505b577e5058487b4a4f584a585b577e5058487b5a4f584b5b5d50585f5b32585b68577e505848485848366e5f5b51715a4158725158757e5f5b74712d484f5b695b6a534c5b5c5f5871584c5e6e75485c487548535b6a534c5b50585c487558535b2153505b5c5b6d5b2153505b48404d7d585d405a585c516e727e5f5b6c507a5b5c5b7648515c512d727e5c485e29512d727e5f5b69572958577e5058487f704a584c5158716e5c485e71587a48405a4d584b587b4840604d584c5c58567e58584840704d584c5c58577e505848405a4d584c516a297e582b587e5b5b7053545b487b586052585058577e505848405a4d584c5e5c70485c485e71587a48435a4d584b587b48435a4d584c5148287e582b587e5b5b7253545b487f6050584b58785c5b615b7453545b5c5b6d5b7453545b487c4d41585d405a585c5e40726e5f5b7350725b5c5b7648515c5e7e726e5c485e295e7e726e5f5b76575458577e50584878704d584b584e577e505848785a4d584c5e4c70485c485e71587a487b5a4d584b587b487b5a4d584c512d2b58582b587e5b5b6a53545b48436053584b58785c5b615b6c53545b5c5b6d5b6c53545b487c6343585d405a585c5e2d726e5f5b6950725b5c5b7648515c5158726e5c485e295150726e5f5b6b6d7e58566e5c58487a5a4d584c5148296e582b587e5b5b6353545b5c5b5c78487a5a4d584c5e6a70485c485e71587a487d704d584b587b487c5a4d584c526c7e505a586e584c2a587e5b5b2b53545b487f734d585d405a585c5176726e5c485c4b695b2b53545b487b4a53584b58785c5b615b3253545b5c5b6d5b3253545b487a4d7d585d405a585c512d726e5f5b60507a5b5c5b7648515c5e5875585c485e295e5875585f5b6c572158577e505848405a4c584c5148716e5c485e71587a4840704c584b587b4840704c584c5e542d48582b587e5b5b7053485b487d7051584b58785c5b615b7253485b5c5b6d5b7253485b487f4d70585d405a585c5e4875585f5b2d507a5b5c5b7648515c5e4075585c485e295e4075585f5b63567658577e50584843704c584c5e5070585c485e71587a48785a4c584b587b48785a4c584c517e2f6e582b587e5b5b7653485b48435a50584b58785c5b615b6853485b5c5b6d5b6853485b487d4d6a585d405a585c5e7675585f5b74507e5b5c5b7648515c5e6e75585c485e295e6e75585f5b60562958577e5058487b5a4c584c5e7e70585c485e71587a487b704c584b587b487b704c584c5e212e7e582b587e5b5b6c53485b48787050584b58785c5b615b6e53485b5c5b6d5b6e53485b487c5d6f585d405a585c515875585f5b6a507e5b5c5b7648515c515075585c485e29515075585f5b71495c58577e5058487a704c584c5e2d70585c485e71587a487d5a4c584b587b487d5a4c584c5e76217e582b587e5b5b2953485b487a5a50584b58785c5b615b2b53485b5c5b6d5b2d53485b48435d21585d405a585c514075585f5b6f564858577e5058487c5a4c584c516a2c58582b587e5b5b2b53485b487c7051584b58785c5b615b2f53485b5c5b6d5b2153485b487b4d21585d405a585c517675585f5b61564058577e5058487f5a4c584c51292c7e582b587e5b5b2f53485b487f5a51584b58785c5b615b3253485b5c5b6d5b7e534c5b5c49765b487f704c584c5e6e2f58582b587e5b5b3253485b487f7051584b58785c5b615b70534c5b5c5b6d5b72534c5b5c49765b4840704f584c51542f48582b587e5b5b70534c5b48405a50584b58785c5b615b74534c5b5c5b6d5b74534c5b487a6363585d405a585c5e4075485f5b60507e5b5c5b7648515c5e7e75485c485e295e7e75485f5b61494858577e505848785a4f584c514870585c485e71587a487c5a50584c5e7675485c2b587e5b5b2c507e5b487c5a50584d405a585c517670585c48506e6d5b2e507e5b487c4a50584a7e5a585b5a485872516e70585f5b2e507e5b577e5058487f4a50584b58735a605858487f5a50584a7e5a585a7e5a585a5058577e505850585848637e5c555c6e587e585a585b52585058507e582b587e587e585b5d5658486a60585a5858525850585e70585852585058505858487a295c5a7d5e767850585876587e587e585b5b48484853297871767e585a7e5a585a58585c51575b58774b685e7e6a4d585a585850585876587e5b5b584e6a70585d405a585a58585a2b215b5877217e585c5140297e582b587e587e585c5c5078705c5b5829587e584b5b48505853555b5c587e584a585a5c517a76587e585c485a585b505850487d607e5a585b5a7358486a7e58725c5b78705c5a5d585c555a60585848437e5b787158525e70585b5c535c5a50585c76587e585c485a585b5c534c5a50585c487d5a585b5258505850585c487a615d2158486a7e58586a68585a5858525850585e70585852585058505858487a295c5a7d5e767850585876587e587850585876587e587e585b5b4848485329787176555d58587e585a5858525850585c496a5b5a2b505b582a205b5a5b5851507e5f5b29492158577e505850585f5b36492158577e505850585848727e5c7058725c5778715b7f507e575b585d405a5a5a585d5058502b587e487e5860585a577e505850585c7e58295c54787058585058535b584e76484873405a5b5a585b48786058584d405a585a585b487a6058584c5c5d5c5840585a2a505b582a2173585c5c487860505b5358587e584c5e6e75485c2b587e587e584c5e2975485c76587e58705873405a5b5a585b5058507e585c5c5a7d5e762b587e7e7e584a505d5258505c5048587e58607e5a5a5a5c5a5829587e585a585a4b7e4b58505854487048507e584c5c48787048585b4c5e6e75485c487d5a58585c492d5b5058547e585c5c5c78705058577e505c5d585c555a6e6a7e585a585848785d4d585d405a585a5858525850505c5b43515b5c587e585a7e5a5a5b5d4c587e6a7e58586a5c585c5f365a32505f58486936506e5b5b5c5e6a705c6048585058507e585d405a585a585d4840585c7a4a5c4f50587d5b587748715f7e5758505b4b5b5b5c405c485a58575c58755b584c6a5c485a584d50582948485d405a5a5a585a505b575b5a5e695b584b5a7f587058575c5e6e7e58707e5a585b5a72584d405a58586a7e58295e6e58415c7058295c484b6e4b5850585c7e58295c7e4b7e4b3650585076587e585f50585855577e50585a60584d484b5b685358585f5872585a485853585872585a4858535850587e7e5f5e766a585858565b48585b586e505c5b486a7e584a585a52585058577e50585d58485550585c7e58707e5a585d405a585a585e484a5848494a5c515058507e58707e5a585a504948484b68577e50585058217e5b63405a58586e5d5a6058575c5c725758705857484858486a485c76587e58715b60585a50585076587e58705d295c5c7873405a585a584950587a2b587e5854587e6a7e5d5b5b53505b4f5f7a7e295b5058507e5d5b5b5850586e487b5a585a525850585c52485b577e50585d585c5550585076587e58715f60585c505b4368507e48715b6e57585872587e5b4a58514d4829585058435b7e5b587e5b607e5a585b5b564b48295850587d5b5b5e76715b6e6e5b5a6e6a7e5d70504948485b525b5c585d485a584948485b545058487e5b2920604b484b5850587d5b5b5e6a705b607e5a585a5c485058507e58707e5a585a504b48484b68577e5058505b5c7e5c5d405a585a584948485f6b5048215458486a555058205b585c6e5c7f295c585b4a585e484d584849486a715c4857585058507e58707e5a585a504848484b68577e50585058205b585c765c485a5848505b5c2b587e587e5d295c5b78605c495d585c555a6058485058722b587e58555872587e5b5a58514b7e4b585058435b545b58205048217e5870585a5258505850715b5b5b5e76705b63405a585a58485058212b587e585458486a7e5a615b535b51205b7f6e4c7e5a295c585c586a6a58585855504b5b5b585a5c49484858715c7e57585058487e5b297a5c485853585058217e5c5c7a5c485a5849504b5c5458486a7e5870585a5258505850715b5b5b5e762b587e587e5c5a5852577e5058484858715c4a58555c58727e5c725c5b7870504a4d484b58505821715c586e5b5a605855505b50485a602958585c5136585c405c485c5f36504b585458486a7e5a60584a5c586a6a585858715c586a7e5b295c5c78605051525850585048217e5870585a525850585071715b5b5e762b587e587e5e5a5849577e5058505b5f5b584e76715d6e6e5b5a6e6a7e58707e5a585a5c515a60584150587a486b485c55505b4b5b584e76715f586e5b5a6e6a556948505b58412173585c5c48786050525358587e5a4853365058585c485a585a5c525c5a5048585a485a585b5b5c587e5a7058585c5e727e5860585252585058577e58585058767e585b5b765d585c555058767e585b5a75584a585d50587676587e582b5858587e5a7058585c5c765550587e7e5a715b41505876485a71767e5b5a58585c5c7e2b587e587e5b4a58585c5d7e2b587e587e5a7058585c5d7a7e5b7058525c5d587e5a7158525e705852505858484a605851505876484f6058525c58767850585848436e6e5b5a60585a5c52585a5048585a485a585b5b5c587e5a7058585c5e727e5860585252585058577e58585058767e585b5b765d585c555058767e585b5a75584a585d50587676587e582b5858587e5a7058585c5c765550587e7e5a715b41505876485a71767e5b5a58585c5c7e2b587e587e5b4a58585c5d7e2b587e587e5a7058585c5d7a7e5b7058525c5d587e5a7158525e705852505858484a605851505876484f6058525c58767850585848436e6a2b587e587e5a725c48787048585a20485f58486936506e5b5b5c5e6a705f5a48585058507e585d405a585a585d4840585c7a4a5c4e5829587e5f4c5c5c4b7e4b58505829485a4c5c5b4a6e4b58505b487e5d4b5b58577e50505058507e5f5c5c5078725c5b5c52405a505829487b70585a525850585c52485b577e50585a60585d487b585b7a4a505d484b5b515b5c587e584a585d484a5b5e5b51217e58707e5a58584c7e58586a2b587e5855505b4b5b5c5e7672585821555872585a485853585872585a4858535850587e7e5f4e766a585858565b48585b586e505c5b486a7e584a585a52585058577e50585d58485550585c7e58707e5a585d405a585a585e484a5848524a5c495058507e58707e5a585a504848485f68577e5058505b587e5d63765858586e5d5a6058575c5c725758705857484858485a602958585a5c495058507e58707e5a585a504848485f68577e5058505b587e5d63765858586e5a5a6058545c5c727e5f724f605d485c7e587058545c5c587e5d5b5b6c50585076587e584869585c2b587e585458486a7e58707e5a585a5c415058487e5b2b76705b5a5c4b5829585a485a585f505b5f575d48587e5b725e585c5a584b555858585c5c4b5f5d48587e5c4c5c5b78705c4b5d585c555a605856507e205b585c765c485857585058205b585c6e7e5b5a584b4d2a535f5b5c587e5c4c5c5b7860504b55485858504b587e5870585a525850585071535b584e762b587e587e5c705848567e58585058205b584e6a715d6e6e5b5a6e6a7e5d295c584d584b364848585f5058435b545b58695a605c4a5829587e5870585a5258505850715b5b584e762b587e587e5d295c584a7e4b58505b587e5c737658585a584948485f6b5048215458486a55505b587e5a4d765858586a5a485a585c505b5f5e5b5c587e5b725c6e5c5a72715d60585a50585076587e58705c5c5c5b7873405a585a58485058212f5858585458486a7e5a615b535b51205b7f6e4c7e5a295c585c586a6a58585855504b5b5b585a5c49484858715c6e57585058487e5c4c4057584853585058217e5c5c7a5c485a5849504b505458486a7e5870585a5258505850715b5b584e762b587e587e5c5a5852567e5858484858715c7058555c58727e5c295c5b7870504d4d484b58505821715c586e5b5a605855505b54485a602958585c5136585c405c485c5f36504b585458486a7e5a60584d5c586a6a585858715c586a7e5c4c5c5b7860504b554858585048217e5870585a525850585071715b584e762b587e587e5e5a5849567e5858505b535b584e76715d6e6e585a6e5855505b7a7e58707e5a585b5b2c5a60584f48485f68504b4c5458586a585a2f4c5a58485f36506e5b5b5c5e6a705a7048585058725a7f6058585b5c587e58715a7658705c585872587e58484b585058767e585b5b695058547e5a707e5a585d4058585a58525058584878586e5b5a6058525058584869485c7e5860585252585058577e58585058767e585b5b525a60585050587648545a58525c5876785058487e585b5b50567e585850584c7e585b582d567e58585058767e585b582a5058407e5a71586e505876485a71767e5a7058585c5c6a7e5b6058525c5d587e5a7158525e7058585c5e7a5458486a7e58715a7758705c585872587e58484b585058767e585b5b695058547e5a707e5a585d4058585a58525058584878586e5b5a6058525058584869485c7e5860585252585058577e58585058767e585b5b525a60585050587648545a58525c5876785058487e585b5b50567e585850584c7e585b582d567e58585058767e585b582a5058407e5a71586e505876485a71767e5a7058585c5c6a7e5b6058525c5d587e5a7158525e7058585c5e7a55577e50585058695b5c5e767258586a50585a5858525850584b486a2a58485f36506e5b5b5c5e6a70587048585058507e585a7e5a585d405a5a5a585a50585076587e7e7e584c5c5a7d5e762b587e7e7e58707e5a5a5a5c585058535b5c5e7672585a58585a6e765850585b5b74507e5b5c5e48555a7e587e585c5e7e70585c4843586a53585a585850585c486b7e5055516e5c5b7f60585b525850585c49765a5048507e585a585b52585058577e505c5058587e5873405a58586f615d6e5c527f605458487b585c786050555358587e5a605852577e52725b5a585550585c2b58687e5c50586d5b5773405a405a585550586d5b70585f6850586d5b72585f6850586d5b2d585b68507e5c485170504952585058507e762b5876485b50586a7e5a725e48582b762b5876585b50585c485c4a5c4b50586d5b29585b685c5c7a715d705855484c5b6b5c5c7a715d5a5855484d5b685c5c7a715d4a5855484a5b685c5c7a715c5a5458484b5b6b507e5c72585a58555877217e587e4b5850585c7e58615a715870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b5b4150585c485a71767e584a585a5c5c767e5d5a585b5c5f7a7e584b58525e705855505850484a5d405a7d5a585550585048565d405a7a5a585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b5b4150585c485a71767e58715b775d585c5550585c7e58615a7e5870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b5b4150585c485a71767e584a585a5c5c767e5d5a585b5c5f7a7e584b58525e705855505850484a5d405a7d5a585550585048565d405a7a5a585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b5b4150585c485a71767e58715b775a63405a515a585b484b5b685358587e5a4a585052585058577e505850584b5b7e584b615071535b5a4140715c295c5850485f5b585a5c5a5829587e58705c525872585a485853585872587e584c5c5c4b7e29585058587e5a295e765b5e764857724c57585c5c585048485a485853585872585a485853585872587e5a29512d585e767e584e766a585858565b485c585b58545f5a486a7e584c5c5d4b7e295150587d5b7e54585850585848504b5b565b5c587e5a295c48787058585c52545a505b587e5a607e5a5c5b5d5158486e5a5a60585f50584c76587e5b5b5b51502b587e5b5b585a5c585d58405550585f5b582940575b7e6a5d485a585850586d5b68584b685c5d435f5d48407e5b295e586e58587e585b58715c5c2c5f5d48407e5a295c48787058585c52545a505b587e5a607e5a5c5b5d5158486e585a6e585550586e485a4c5c58505829485a4e6d5e5d48485a485a58545c58725c485a58575c58725758486a7e5d5b58535048547e585b58715048507e586e4b5850586e485d4a7e5a585a585a4b7e4b5850585848534b767e5d5a585250586e485a4c5c5b4a616a71587e6e505a60585e48485c2f585858545b7e6a7e587058575c582976587e5b515d484c7e585b58755e70585e48485c2f5858587e5d4a5852505829485a4c5c5b4a616a71587e6e5e5a6058585c5a5c7e5d5b5857525850584b7e4b5850585848534b767e5d5a585250586e485a4c5c5b4a616a71587e6e5e5a6058585c5a5c7e5d4b5857525850584b7e4b5850585848534b767e5b725c5b567e58585058297e5a7058575c58755b584c6a7b504850545b7e6a7e5b4a585f5258505848484b60577e50584848587158586e5d5a60585250585f5b587275604b484b58484858715870584d50585f5b5872407e5a6029587c295c584b2a5f604b48295f5a60585550582d48485d405a5a5a5855484b5b6850586d5b5a5e764868585c71587e535850585f5f5d48587e584a5855787029587d295c5b4a6e29585829585a485a585550582d487b5d405a5a5a585a50586d5b5a5e76484e294c57585a585148405d58585a585a52585058525850585c5c2c5f5d48587e58715a4f58486e5b5a6e6a7e5a6058565c5c582b587e7e7e58707e5a585a58555258505078295c5a7d4a505a505b58485a4c295c485a5855505b58487b5d405a5a5a5855484871684848587e58746a48776e5071586058485c5e6e715b5a58565c5c58715f5a5458484a5b6b507e5072585a585a5058482b5871587e5870585d577e50405058507e5f5d405a5a5857585872587e58725c407870585a484b5b685c5f6a7058294c57585a585a525850405258505850585076587e7e76587e5b515d48587e58725c4078715a4f584a585a484871685c534c5b5d585c555a60585a484a5b685358587e58295c5b7a6e295b5a60585550582d48485d405a585a58554848716850586a4868585c7850586a7e5a607e5a5a5d405a5c586a7e5a60585552585048577e50505829585a485a585550582d487b5d405a585a58554848716850586a484e294c57585a585850586d5b68584b685c5d435f5d48587e585b587150586a76587e7e76587e5b515d48587e585b58755e705855484871685c534c5b5d585c555a60584a4b48295d50586a7e5d715b6a577e505850586d5b5a5e767e5a615b7b4b48295d50584c7e5b4a7e5a585c5c5c7a73405a585c5c5850485854587e6a5d485853585058587e5a295e765b5e764857724c575858533650587d5b7e5b587e585b5871507e50484d7e4b5850587276587e587058605855525852725b5c405c485a58505058727e5a295e725b5e7648717e5c7e5a4a7e5a585a5c5d5a6058535058575b5b5e762b587e587e5860585a577e505850584b5b584e765458486a7e5c4b58534b4a585c4b415057584a585a50586a7658775b515d485c7e5a607e5a71585c705870585552585258584c405c485a584950586d5b71585f6850586d5b7e585f685c50405b50586a765876485b5048505550586a7e58725c5c7873405a71585c7e5870585c577e5058484858555048487e585b58755e7e6e5b5a6e6a7e5b5c4c7e5a607e5a71585c7058705849525850584b77535f5b5c587e5a607e5a7e585c7e5872405c485a584950586d5b71585f6850586d5b7e585f685c50405b50586a765876485b5048505550586a7e58725c5c7873405a71585c7e5870585c577e50585a6e535850586a765871615b585c6e57585853585058587e5a295e765b5e7648525c4c5c485a58585c5a5c7e5a607e5a7d5c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6e575850585848534b767e5a607e5a515c5c584d58295b5872587e585a585548787e5c787158764b484b5850587d5b7e5b587e585b58715c5c2d5758486a7e5b4a585f5258505848484b60577e50584848587158586e5c5a6058535258505850586a765868485c4b7e4b5850587e7e5a4a58554878485c78715a5e58486a7e585b58715048507e5a4a585352585058507e575b5b5e762b587e587e5860585a577e505850586a7e5a607e5a515c5c5b7863405a51586e585a6e585550587671587058505258505850587276587e5b515d48547e5b4a585f5258505848484b60577e50584848587158586e5b5a6e53585058695f5d485b5b584a5c5c5829587e5a71585350584b575d485c5a485a585850586d5b68584b685c5a715f5b5c587e585b58715058767e5b5b5a61584a7e5a585c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6058585c5a4c7850584b5b584e76715b586e585a6e585548485c71585a58495258505850586a765876485b4b7e295848485871585a58554848582b5871587e5c4a58495258505850586a765876485b50586d5b5c5e7648554a5855525850485b5c587e5b4a585f5258505848484b60577e50585d585c5548485c7158586a7e5c5b58525e7058575c58767850586e485a71767e5d7158525e70584b5c58767850582148514a5855487b585c78704858505858495a6058525048505550585f5b584e767158486e585a6e5855516e587e585a585b5c52405b5c5a7a7e584b5a4e584a7e5a585a5c5b50585848757e5c7e584d405a58586a2958485f36506e5b5b5c5e6a70587048585058507e585a7e5a585d405a5a5a585a50585076587e7e7e584e762b587e7e7e58707e5a5a5a5c585058535b5c5e7672585a58585a6e765850585b5b70507e5b5c5e48555a7e587e585c5e4870585c4843586f5b58485c5e7f605458484b5b6b507e4872585a58585c53405b5258505850484c5a7f60585a5258505850585876587e5b6b507e575b36363636366e7d535b5c587e58295c5b7d586e5b5a295f365a60505d48485c7e58616a715860585b525850585048407e585a7e5a585a5c5150584f5b5772405c7f295c585b4a5858525850585a60585d5c532d5b507e7e5c485a585f484d43515b5c587e585b5a74584b765550584b5b574d405a5b5a585850584b5b5a5e767e5a5a585c48484b685c5b2d705b4b5a755870585f5c5b297e584a5858525850585058407e5b2b6d68577e50585058507e58605858525850587873405a585a585c484b5b68535858495a61584158586a7558485f3650585c76587e5848366e535b5e514b5b5e514c715870585850585c76587e582b587e487e585a585a567e58585a2c214858486936506e5b5b6a584b6b507e6a72585a58555058762b5868485c50586a7e584d405a6858487e5a295c2b577e537650586a7e5a295e50584e767e5a295e48584e767e5a295176585e7670584b587c507e2176587e58705a73405a71585c7e5a6058524843585d7873405a7e585c7e584b584b504b5c7e5a295140585e76485c4a5c5650586d5b60585b685c5b5c715d5a5855484d71685c5b5c715d4a5855484a71685c5b5c715c5a5458484b5b6b507e5c72585a58555877217e587e4b5850585c7e58615a765870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b586e50585c485a71767e584a585a5c5c767e5d5a585b5c5d587e584b58525e705855505850484a5d76587d60585550585048565d76587d70585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b586e50585c485a71767e58715b775d585c5550585c7e58615a775870505a5c5e727e5a60585b52585058577e5b2d50585c7e58715b765058297e584b586e50585c485a71767e584a585a5c5c767e5d5a585b5c5d587e584b58525e705855505850484a5d76587d60585550585048565d76587d70585b505850485760584b50585c48545a585b5c58767850585c7e58715b5550582d7e584b586e50585c485a71767e58715b775a63405a535a585b484b5b685358587e5a4a585052585058577e505850584b5b7e584b615071535b5a4140715c295c5850485f5b585a5c5a5829587e58705c525872585a485853585872587e584c5c5c4b7e29585058587e5a295e765b5e7648544c4c57585c5c585048485a485853585872585a485853585872587e5a29512d585e767e584e766a585858565b485c585b58545f5a486a7e584c5c5d4b7e295150587d5b7e5458585058584851615b5c5b5c587e5a295c40787058585c52765a505b587e5a606e585e5b5a7158486e5a5a60585f50584c76587e5b5b5b51502b587e5b5b585a5c585d58405550585f5b582940575b7e6a5d485a585850586d5b68584b685c5d5f5f5d48407e5b295e586e58587e585b587f5c5c4b5f5d48407e5a295c40787058585c52765a505b587e5a606e585e5b5a7158486e585a6e585550586e485a4c5c58505829485a4e6d5e5d48485a485a58545c58725c485a58575c58725758486a7e5d5b58535048547e585b587f5048507e586e4b585058615b585b5855554858585058535b366e5f614b7e4b58505858485071767e5d5a585250586e485a4c5c5b4a616a71587e6e505a60585e48485c2f585858545b7e6a7e5d4c5c585c586a6d5858587e5872513658415f515d484c7e585b58705e70585e48485c2f5858587e5d4a5852505829485a4c5c5b4a616a71587e6e5e5a6058585c5b205b366e5f615058615b585b5855554858584b7e4b58505858485071767e5d5a585250586e485a4c5c5b4a616a71587e6e5e5a6058585c5b205b366e5f615058285b585b5855554858584b7e4b58505858485071767e5b725c5b567e58585058297e5a7058575c58755b584c6a7b504850545b7e6a7e5b4a585f5258505848484b60577e50584848587158586e5d5a60585250585f5b587275604b484b58484858715870584d50585f5b5872407e5a6029587c295c584b2a5f604b48295f5a60585550582d48485d405a5c5a5855484b716850586d5b5c5e764868585c71587e535850585f5f5d48587e584a5855787029587d295c5b4a6e29585829585a485a585550582d487b73405a5c5a585a50586d5b5c5e76484e294c57585a585148405d58585a585a52585058555858585c5c4b5f5d48587e58715a4158486e5b5a6e6a7e5a6058565c5c582b5871587e58707e5a585a5855525850487860505a505b58485a4c295c485a5855505b58487b73405a5c5a5855484b5b684848587e58746a48697e5071586058485c5e2d715b5a58565c5c58715f5a5458484a5b6b507e5072585a585a5058482b5871587e5870585d577e50405058507e5f5d405a5a5857585872587e58725c407870585a484b5b685c5f6a7058294c57585a585a525850405548585850585076587e7e6d58585b515d48587e58725c4078715a41584a585a484871685c537a5b5d585c555a60585a484a5b685358587e58295c5b7a6e295b5a60585550582d48485d405a5a5a5855484b5b6850586d5b5a5e764868585c7850586a7e5a607e5a5c5d405a5e586a7e5a60585552585040577e50485829585a485a585550582d487b73405a5a5a5855484b5b6850586d5b5a5e76484e294c57585a585850586d5b68584b685c5d5f5f5d48587e585b587f487f215b7a4a585552585048554858584b6e2958505858485071767e5a295c4878715a4158486e5b5a6e6a7e5c724c575860585550582d487b73405a5a5a5855484b5b6850586d5b5a5e76484e294c575860585f50584c76587e5b5b5b51502b587e5b5b585a5c585d5850555829585a485a585850586d5b68584b685c5d5f5f5d48585a7f60585148405848505858485160505a5c5c485c485a585352585058507e547e5a607e5a69584b5e5b5c587e5a5a585350586d5b69584b685c52725a50587276587e5871586e6a7e5a4a585d48485f68577e50585058547e58737658585a585c48485f685d585c55505b5c485a4c4c7e5b5c4f605d485c7e5a6029587d70585a487f215b7a4c7a57584a58555258525c584a505a50586a765876585b4b7e4b585058217e5a295e5c584e767e5a295e58584e7648717e5c7e5a607e5a71585c71587e6a7e5a60585a48484b68577e525c584a585a5058482b587e5b5b58586a715b5a58585c5a50785d585c555a60585c4b4a58555258525c584a505a50582176587e5b5e7a724c5c485a585552585258584a585a4b7e4b585058217e5a295e5c584e767e5a295e58584e7648717e5c7e5a607e5a71585c71587e6a7e5a60585a48484b68577e525c584a585a5058482b587e58555872587e5a607e5a535c5c584d5829585872587e585a585548787e5c787158744b484b58505858485129513658415c7e5a6029587d29405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6e5758505858485071767e5a607e5a535c5c584d58295b5872587e585a585548787e5c787158744b484b5850587d5b7e5b587e585b587f5c5c485758486a7e5b4a585f5258505848484b60577e50584848587158586e5c5a6058535258505850586a765868485c4b7e4b5850587e7e5a4a58554878485c78715a69587e6a7e585b587f5048507e5a4a585352585058507e575b584e762b587e587e5860585a567e585850586a7e5a607e5a535c5c5b7863405a53586e585a6e585550587671587058505258505850587276587e5b515d48547e5b4a585f5258505848484b60577e50584848587158586e5b5a6e53585058695f5d485b5b584a5c5c5829587e5a71585350584b575d485c5a485a585850586d5b68584b685c5a435f5b5c587e585b587f487f215b7a4a5852505848485a602958585c405758486a7e5b4a585f5258505848484b60577e50584848587158586e5d5a6058585c5a507850584b5b584e76715b586e585a6e585548485c71585a58495258505850586a765876485b4b7e295848485871585a58554848582b58717e7e5c4a58495258505850586a765876485b50586d5b5e5e7648554a5855525850405b5c587e5b4a585f5258505848484b60577e50585d585c5548485c7158586a7e5c5b58525e7058575c58767850586e485a71767e5d7158525e70584b5c58767850582148514a5855487b585c78704858505858495a6058525048505550585f5b584e767158486e585a6e58555d58587e585c5c5b484a29486c6e50785a6e6e5850585b5b584c5c6d5c56215b5e7e6a52585a585b50585b6b484853285a6e485850585c5557485c5b7f605458484b5b6b507e5072585a585a5058586d5858582f5858217e585a585b55485858567e585850585c7e58725c4978702958585d7658585a585a484b5b685358585543585c5b7f605458484b5b6b507e4072585a585e4848582f5858217e5b70585f567e58565058407e5b5d76585d4a585e484a4c2f58586e7e5b484b585058435b5d4e767e5b725c5678715a6e587e6a7e5870585b50585c7e58707e5a585b5d6c5870585e484861685058547e585a7e5a585b585b50585f68577e50585058435b5c5e767258586f6058485c5f7f605458484b5b6b507e5472585a585a487e582a5858587e58725058576e58505058547e584a72585a5d7a5d5a5a585d50585c695858582a586e585d485a585850584f685048435b585a5c5b5829587e5b702958585c5c5150585f6b7d725c5b7a484b585058507e58615a7d58486a7e586029585d605c515058575b5d5e76705b5a585d55485855484b20295058484875585f5b584143605c53545b5058575b5a5e76705b5a585d55485851484b20295058484875585f5b584143605c53545b5058575b5b5e76705b5a585d5548585d484b20295058484875585f5b584143605c53545b5058547e58615a4c584c5c5b7d715a4d584a585148485f615b5c587e5860585d55485858487c5c5b7a63765858586a7e584c5c5b7870505b484871515d48585550584f5b584e76705b4c5c484b6e29585a60585d484b5b68535858554848587e584a585a5058547e5b5c5c5c5c5f7e71584a585d5548585848484b614b484b585058587e584c51485d2b767e584c516a5d74767e584a585b487c48584a5b6a7e584c515f585c7e7b487c6e567863405a58586a554858587e5870585d50585b5b5a5e767e585a7e5a5a5a7e5a5b5b5c58585a505850585b5b7658536850584c7e5b5c5c585c55505b50585b6b507e5b5b776e53545b5c587e584a58584848616d4848616f577e50585a6e6d58585a585a5058547e585c5c507870585852585050525850585c485858507e587e585c5e76584e767e5b4a585c484858486a7e5c7e585e6a70585c5e77584c6e5c485a585b50585b5b5d5e285b5b2b212b587e58555a295c5850585c7e5870585d50584b5b5b5b5b4350485c7e58602958585c5c5c7a4c4c5c485a585850585f5b2958206850585f5b2e582c6850585c7e584c5172585c7e7b50585f5b61485b505e29516a5d746a2b587e58555a2958585058507e586058584848716850585876587e7e76587e484b58585870585a58584878585a7870585f50584b5b585b5a29584a5858786050584843215a4d584b5850585c7e585c5c547b4c5c547b63405a58586a554858587e5870585d50585b5b5a5e767e585a7e5a5a5a7e5a585b5c58585a505850585b5b68585f6850584c7e5b5c5c585c55485b50585b6b507e5b5b696e5f545b5c587e584a58584848616d48487d6f577e50585a6e6a5c585c5c5a5a2f215f58486936506e5b5b5c5e6a705a4a48585058404856605c525058727e5b715a54584a50575c5d7a7e5b4a585d577e50585872585a485a5858507e7a6d585858705b725c6b786e2d5d58585c5858486a7e5a70585e484b7129484b71285c5d29715b70585f50584c76587e58705b295c5c7873405a585a58515058402b587e587e585c5c5b78705c515a6e53585872587e58705851507e436b48485f545d48587e5b602958585c5c6e4b6e295850587a6d58585f5b5051535b32585b515d48587e5a725c6e5c5d29715b70585f50584c76587e58705a5c5c5c7873405a585a58505058402b587e587e5a7058515558585b5c5d29715b70585f50584c76587e58705a5c5c5c7873405a585a58505058402b587e587e5b295c5a787050515048405d485a585a505843575d48507e5b706e58585b584e5c577e5a4b48295a5058435b584e76715b7e6e585a6e58555829587e5870585e4d48295b5058406a585858715a5b584e5e7058505c5c4f5f5d485c7e5b725c5b78705c5e5d58585558586a5a485a58535c5c725c485a585250587a7e5b70585f525850585c5e547e5b4a585f525850585058407e5b2b6d5b58774b68577e50585d585c5550587a7e5b715b2c50582948565a5c5650587a715a5857585058407e5a5c295c485a585d50587a7e585e6d5b58774b6850584c76587e58486b485c5f5872587e5a4a58555c586a6a58585b5b585c6e57585a58545058727e5a615855555858584b6e295850584c7e5b4a7e5a585a505448484b68577e505850586e7e5d73405a585a585550586a7e5a4b585348485f6b4a4e76715a295c5850486e555058767e5a5a6e58585b58205048217e5b4a585f5258505850715b5b5b5e762b587e587e5c5a5849577e50585058715b584e76715a5a585448485f6850486e5458486a555a6e53585872585d485a585a505843575d485c7e5b702958585a5051484a2c515b5c587e5a705851484b7129484b71285c5d29715b60585f50584c76587e58705a5c5c5c7873405a585a585050587a2b587e587e5b725c5b78705c5e5d585c555a6058575c5c7e715b60585f50584c76587e58705a295c5c78705050577e505850586a7e5b63405a585a585e48485f685048405458486a7e5b4a7e5a585a5c505a6058525058407e587058505c5e547e5b4a585f525850585058507e5b746d5b58774b68507e4c2b587e587e5b5a585f5058547e584a585878295c5a7d5e767e584a585a4b716a2b587e587e5a4b58525e705853484b5b68535858556c585c5b5b412173585c5c487860505153585873585c5c487860505f5358585a485a585b487c36363636215d4d484b585872587e584c5c5b4d484b585058587e584b582f505858715b7e6e5b5a6058585058587e584b5a5a584c5c5b7870505d5c505c5b507e40484d4a5858505854484d5a585850585c4856486a7e5b705c5c50585c70586e4b365058545c485857585058487e5873405a585a585c48484b685048487e58295c5b7860505d5d4858555a295c585b4a585c5a61767e5b4c5c58577e50545058407e584c5c5a7d5e767e5b4c5c547871586350584f5b5c5e767258586e5b5a61584158586a7e5b295c48787048585058585574484c5b5a772173585c5c48786050535358587e5b7158605048767e5a4a585e5c502d5b507e29485760585f5058542b587e585a48585358505858705b602958585a505e484a6d6b5d7e54585848585b5a6058525058435b5e514b5b5e514c48524a5c5e50584c7e5b4a7e5a585a505148485f68577e505850587a7e5b737658585a585848485f6850487a555872585a485a585a50587a705b746d5b584c6e57585a585155485858484d5b515d48587e5b602958584c5c7e7a72512d585c7a57585a5852484d5848524a5c5e50584c7e5b4a7e5a585a505048485f68577e505850587e7e5b737658585a585250587a6a58585c48524a5c5e50584c7e5b4a7e5a585a505048485f68577e505850587e7e5b737658585a585148485368507e7a715b7e57585058507e5b7229575870585e555858585c5b40482b58535f5d48507e5b725c5b78705c5e5d58585558586a5d485a585a505843575d485c7e5b706e58585a5c505c5b407850587e484b4c4c57584a585e48485f685048405458586a585a6e5358505872484a484b585058767e5b60585e50584c76587e58487b60585f50584c76587e587e5b705851782b762b587e585458486a7e5b60585e5c51727e5d4b582d50482d7e5b605c505829587e5b7058504d484b585058547e5b605858782b767e5b4a7e5a585b5b2c5b4853585058727e5d5b58555558585848485b545d48587e5a60585350586e485a606e58585c7a57585a585f50584c76587e58705a295c5b7873405a585a585550582d2f5858587e5d5a5854505872485a4c5c5b782975685048615b585a5c555a60585250587e6a58585848524a5c4950584c7e5b4a7e5a585a504848485f68577e5058505b587e5d637658585a585048485f6850487e7e5a295c5b78705c555d585c555a6e6a5d485853585058507e5b726a5c485a585e55485858507e7d5b55727a57584a58575c5c7e715b60585f50584c76587e58705a5c5c5b7873405a585a585050587a2f5858587e5b725c5b78705c5e5a6058525058407e5870585f525850585c5e217e5b4a585f525850585058507e5b746d68507e4c2b587e587e5b5a585f5058547e584a5858782b767e584a585a4b716a2b587e587e5a4b58525e705853484b5b68535858495a60585250587d5b5e514b5b5e514c48524a5c5150584c7e5b4a7e5a585a505048485f68577e505850587e7e5b637658585a585e48485f685048405458586a585a36485b5848753650585c485d4a5c5c50585c485a4a5c51506e5b5b505e6a70584a48585872587e584c5c40787058585c50485d507e7e6d58585b5f5d48587e584c5c50787058585c54585b5048727e585a5858525850584848616b525850587870505f5258505c5048765a485c5f3650584c7058707e5a4d5b5b7c4b484b585058507658726e71587e6e5b5a60585a58772173585c5c487860505d5358587e58295c507870505e505850485d60585e5c5d535b505b58695048507e5b7158565058575b5c5e7672585a585a5a63405a4d586a7e58725c407d5c5c407d4a5c5a50585c7e5a4a7e5a585a585c5058487e5b2b76705860585c5058695b6a585f61484a5b5e5e60585d50584c7e58715b4e577e504850585c7658715857585a585850585876587e5b5b5d5e6a76587e5b6848484c487e585c5550587e487e7e547e584c5c7e787048585a63405b5877205b20585c485e4a505a5b51217e5870585850585f5b582a484870485470585c5c584a584b58505850485c5c5c585d6e6a7e58705858577e556e584a585a5b4a585d5a6e6c7d586e5c5a7f605458487c585a786050585358587e585a585a577e55485870585850585c2b586d7e5a50585448415a5c5e5058547e585c517e584e764874485c715b605858487d585b7870585d50585b5b635853685c537e5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b2b58536850585b5b295853685c5d435f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a605858487d7e5a787158715058407e58705858487b6e5b787058584848716850585876586a6e5a50585b5b29585f6850585b5b5c5e767e585c5c54787058515c506a5b5d48587e585c514058747648534b765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d515873405a585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2b58536850585b5b295853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586d7e5a5048507e584b58525e705858487d585b787158525e705858487c585a78704858505850554f585c5a7f605458484b5b6b507e5472585a585d4848502b587e6e7e5870585b5c5872705b5c6a5c485b584158586a7e584b585750485c7e5860585c5058536b577e505c5058587e584a585a7870585d484861685058575b5b5e7648767e5c76587e5848207e5c7e58295c48787048585a29505b58412173585c5c487860505d5358587e5860585b577e50545058547e5873405a5a5a585d5058575b5d5e76484c705c5b50585b5b21616a7e58607e5a5a5b5d7058705c5850585c484c4a585d484b5b685358587e58586a40585a585850585876587e5b5b5d5e6a76587e5b684848504b58585878505858556a48505a5b512d5f7f605458484a5b6b507e7e72585853585872585a485a585b505853515b5c5b5b28505c5b525850585048615b28505c5b4848582b587e5873585c5c4878605053535858485f717673585c5c487860505253585873585c5c48786050555358587e5a60585b5058715b515e695b58715d40584a5855524854585048487e5a70585552485450576e54505058767e5b5d7a5d585a5855484b5b685358587e5a70725d585a5c5c5058727e5a70725d5a5d7a5d5a5a58535058482a586e587e5a725c487870485850587269586e58715b5a585050587269586e7e2a5861587e5a5a585c576e54505058755b5c5e7672585a5850524854485048487e5a5a725d5a5a5c5f487d4a5b584a7e5a585a505b4b48295b50587e7658716e7e58727a575870585f5048407e5b5a5c5150585f5b61585b515d485454587e6a7e58295c5c577e50585d585055487d4a5b584a5854577e505850587e7658716e7e5872405758486a7e58295c5c577e5058505840715b4a5851504848555058587e5b4d7a5d585a58585058482a586e7e7e5a5c5c7e787048585a2e405b587e5321582a2173585c5c487860505f5358585a485853585872587e585a585b4b6e4b58487d4a5b584a7e5a585a5c51487d4a5b584c5c58577e50585c5b4078506e5b5b5c5e6a705b7048585058407e585a585f4848616848485c482b585c7e5b70725d585a585e524854505c57295b5048547e5b725c4878704858487d4a5b584a7e5a585a50584b48295b50584c76587e6e7e584c7a575870585d5048487e585c515c585c7a57586e6e5a5a60585a4848482b587e5854587e6d5b28505c5b50587a2b587e587e5b4a7e5a5d5a585b4b7e295b5a60585a4848482b587e587e5b5a5c5d5a60585f484b5b685358587e586e6c2b5848505a7f485736506e5b5b5c5e6a705b4a48585872585a485853585058587e584c7a5c485c514c7e485c76587e58715b29514c7e485f5b585d405a585b584e5e705458484b5b6b507e4072585a585e5058587e5b4c5c5478725c585c577e5b50584069586e587e5b70725d5a5b5d7258705c5d5058435b5c5e7672585c514c7e485c76587e5870585c4c57584a585f5258505450585f515d48507e58605c5c50585b5b61585b515d485454587e6a7e58725c5c577e50585d585055487d4a5b584a5851577e505850584c76587e6e7e584c405758486a7e58725c5c577e505850584871586e6a7e5b4c5c487870485850585455617e5c5a582a215b7f705458484b5b6b507e4872585853325872585a485a585850585f515b5c585a485853585058586d585858705b4c5c6d4b6e295850585b5b584e7670585a585b4b6e29585d585c55487d4a5b584a7e5a585a5c5e487d4a5b584c5c58577e50585058587e5b5c5c547870585d5c5b40482b485c715b6e5358487d4a5b584a7e5a585a50585b5c587e5b5a7e5a5d5a585b4b6e295b50585b5b61585b5e5d4848545b486d5b28505c5b5058402b587e587e5b5a7e5a5d5a585b4b7e295c5a6e6a555058535b5b5d405a585c50585d5850555058535b5b5d405a585c53365d585c55487e587e5b2a297e5b60585f484a285e5e6e6a715b60585c484b5b685358587e5b6e6f415848505d7f6e5f32506e5b5b5c5e6a705b5a48585877215a485853585872587e585a585b4b6e4b585872585a485a585855485858507e4f5b554c7a57585a585848485f68507e587e584c7a5758586e5b5a29514c7e485c76587e58715b72514c7e485f5b585d405a585a585850584b5b5d5e767e5861584e5c57725b50487a5a485c514c7e485c76587e587058584b5850584876587e6e7e584c7a57584a5858487a48584b7e295f5d584855487d4a5b584a585e577e505850584876587e6e7e584c4057586e6a555a60585a4848482b587e5b5b58586e5d5a605851486f3636363621494e58295b5a60585a4848482b587e5b5b7f6e6e5b5a295c5850587c77507e5b6b5058587e5b4c5c6d4b716a555048587e5b5c5c487870485850585855727e545b58412173585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e52505870585d5c5f6e715b705858487d585b7870585d50585b5b366e5f685c53765b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f5058407e58705858487b6e5b78705858484871685058586a5849215b50585b5b29585f6850585b5b5c5e767e585c5c547872517e2958584873485c57585a585848407e5a787158705e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c547a5a577e505850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c5e505874767e585c5e5858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a705850715870585b5c58767850585b5b29585f685c58767850585b5b725853685358587e587e6f7a5848505d7f6e5f32506e5b5b5c5e6a705b5a48585877215a485853585872587e585a585b4b6e4b585872585a485a585855485858507e4f5b554c7a57585a585848485f68507e587e584c7a5758586e5b5a29514c7e485c76587e58715b72514c7e485f5b585d405a585a585850584b5b5d5e767e5861584e5c57725b50487a5a485c514c7e485c76587e587058584b5850584876587e6e7e584c7a57584a5858487a48584b7e295f5d584855487d4a5b584a585e577e505850584876587e6e7e584c4057586e6a555a60585a4848482b587e5b5b58586e5d5a605851486f363658287e5758486a7e58725c5c577e5058487f3636586e6e5b5a295c5850587c77507e5b6b5058587e5b4c5c6d4b716a555048587e5b5c5c487870485850585b5b3636215d7a486c2b5848505b7f7e5336506e5b5b5c5e6a705b4a48585872585a485a585850585f515b5c5b5b28505c5b525850585048435b28505c5b4848582b587e587e585a585f48486168505854485f715d4958705c5c58725b5b28505c5b52585058507e585c485a585f5258505450585f515d485c7e585c515c585c4057586e6e5c5a29514c7e485c7e5b73405a585a585f5258505450585f5e5d4854555a60585a4848482b587e5b5a585a5c5c5d585c555058535b5b5d405a585a585c487e5b4f5b5c5b5a363636363636363636363636585a5c5c5d585c5548765a587e505a587e505a587e5121715b586a7e5b4c5c4878704858505848556e6e5c5a5877215b7f705458484b5b6b507e4872585853365872585a485a585850585f515b5c5b5b28505c5b5258505850484f5b28505c5b4848582b587e587e585a585c48486168505854485f715d4958705c5e58725b5b28505c5b52585058507e585c485a585c5258505450585f515d485c7e585c515c585c40575b586e5d5a29514c7e485c7e5b4d405a585a585c5258505450585f5e5d4850555a60585a4848482b587e5b5b58586e5a5a60585e48765a587e505b2d4c60585e486f3636363621514f415057585a585e696e6e5b5a60585a4848482b587e5b5b36363636366e7a7e5b7250584f4829585e725e587e505a587c586a71585a585c484b5b685358587e58586f74587e5c5c7f605858484c5b6b507e575b6f5a7e2b587e587e58295129504d405a585a5858487f6e75577e50585058575b695a402b587e587e585c5e485373405a5a5a5858487b487452585058507e5c2b587e587e585a585b4848616b5258505878725e2d53707e5a585d405a585a58584848582b587e487e585a5858525850584848616b525850587870505a4848582b5871487e5870585848486168507e5c2b58717e7e58725c58577e50545058535a7e685a587e565858576e505c5058507e584c4c2b5871587e58725c7e78725c58484a7e484b71767e58725c7a78715a495870585a4848582b58727e7e58725f36577e535450585b5b5a5e767058725e2153707e5a585a505c577e50585058507e5b5c5c5478607e5a585e695b6e5a4076587e582b587e587e585c5e6e53707e5a585a505a577e50585058587e58725c5478607e5a585e695b615a4076587e582b587e587e585c515053707e5a585d405a5a5a5858487f6e75577e50585058575b695a402b587e587e585c5e485373405a5a5a585b487b6e7f577e505850585f5b5b5e7648736e507e584c5058576e504050585f5a585d7a5a5c5a585b487e582a587e7e7e584c5e29504d405a585a585b484a5b685c5b5c7850585f5b5e5d405a545a585b4848582b58706e7e58586a52585a585b50585b6b4848616d5a2c485b58484b36506e5b5b5c5e6a705b4a485850585c7e58715a705870505c487c36363636215d4d484b585872587e5b5c5c5b4d484b585058587e5b5b582f50585871586e6e5b5a6058585058587e5b5b5a5a584c5c5b7870505e5c505c5b507e54484d4a5858505840484d5a58585058484856486a5d485a585b505853515b5c587e5860585b5c5d547e58295c5c78705c5d50585f5b5b5e767158486e5b5a6e6a7e5b4c5c58577e50545058547e5b4c5c547871586350584f5b5c5e7672585821555c5b7a585a6140585058587e584a585a48765a587e505a587e505a587e51214829585055727e485a5b2a215c7f705458484b5b6b507e7e72585853585872585a485a585a484a4b545b5c587e585a2958585a505f5d485c7e585a5c5c5d585055487d4a5b584c5c7a577e5058487e5871586e6e5a5a6058585048485a4858575850584f5b5e514b5b5e514c487a5c4c57584a585c5548585b50484c7e5b5c5c5b78705c5c50584c5758586a5458486a5a485a585c55485858507e4f5b522b6a56586e585b58585c554841205b585a585f484a285e5e605c5150584b5b584e76715b586a5a7f6e53585058535b7b2a5c57585a585c55485858484d5b515d485b5b584a5c535058486d58585f5b2a6e5f61487d7e584b7e4b5850584b5b587476715b5c5c485d58505550584b5b584e76715b5a585a48487e7e58716a5458486a7e58725c525058507b5a6050526b5a5c5448485871587e575858725b5b4c5a5c5f5872587e5b5a6e58585a505e484d5b6b487f215b7a4c5c524a4829584878753650484c7e5b725171585e6d5b366e5f61484b69535d485b5b4a4a5c5f5058435b6e485b6b487f215b7a4c5c434a6e295b5a60585f50584368507e407e5a722d57585a58505058615a585a5855487e584852295c5b50484c5a485a585052485450487e5b4a5d48587e5a6058547f7050575058786a507e2c5a7f2d4f4e5d48587e5d4a58567f5a5c5548485c715a4a585a50484c5550584b5b584e76715b5a585f5048505458486a5550585c5c485a585b5058487e585a58535e63405a58586a5a485853585058505c485c514c7e485f5b6158582b587e587e5b295c585058575a584054705d5f587b50487a7e58605c555d585c555058547e5a284057584a585d487e5e5d50486e555058607750587d604b484b58487d4a5b584c515c585d405a585a585d487e5f2050485454587e6a7e586058554e7e2958487d4a5b584c515c585d405a58586e5b5a60585550587c6a507e565f50585720504854555058715b5c5e7672585a585d5a635c5b5841205b2b50405b5258505850485c7e58584b58487d705e584c517671485c7e585a58584841205e5e63405a58586d5b7f60585b50585f5b2f504c5b4b716a556b487e5b5b41217e584a7e5a585a5c5c5872585a485853585872585a485853585872585a7f6e53585872585a485853585058575f5d48587e58607e5a585a505e4b48295850585b5f5b5c587e58705c5d5d5854555058575b585d405a585a585a5048545458486a5a485c5140717e5c76587e5876587e5b5f5b5c587e585c4c57584a585a4b482954505850715b7e57585058486a58585870586e4b585058587e582951366f6e5761577e505850585b5b5b5e7671585a585c48485f685048487e5b725c5b7860505e5d485c545d7e6a5550585b5b585d405a585a585b4848582b587e587e5870585e786e215550585071586058584b48295d5d584c5550584848727e5c495a295c5b50484c54586e6d5b58586e5b5a295c5b5a605c5f5829587e5b4c4c5c485a585c554858584848572b507e4f5b5c5e6a7e5b725c787d4a585f7877535b5b296a57586e533650584b5b584e76705b4a585e48405a587e5b5b614b4829585e70585f55485858487a585b7a4c5e58584c7a5c485a585c48485f6b504848545b6e6a7e5b5c5c5a7870505f5058435b7e50587e7a4c4c57585b767e5b4a2958585c515858415f5b7e585f515b5c587e5b5c5c5b78605c5c5d587a5550584b5b582b76555048487e58295c5b78605c5d48485c715b486e5b5a6e57585872587e5b5c5c5d7a4a585c55485858507e435b584e6d5b367e5b557a7e295850584876587e58705b725e5b7e7648507860585e7a725e587e40525c7c515c57585857585058575b5b5e6a715860585c5258505c5048407e5b5c5c5c78705c5c5058407e5b725e5b7e764850782a535b7e505e5a715171614b4829585a6e6a7e5b72513658415c705b4c5c5b78295132585c295c485a585d48485f6b5048547e5b5c5c5b78705c5c5d585c555a60585f487a505b7860505f484d53555d48547e5b5c5c5b78705c5c50584f5b58774b5b6e5a6d68525850585048435b585a5c5f5d58585558586a5d485a585f4b484b585058575f5d487a5d485853585872585a485a585c55485858507e4f5b584e6a705b295132585c6a5c485a585f5048405458486a7e5b5c5c5d7a4a585d48484f537a7e295b5872585d485a585c52585058507e435b7e40525c5a5e6a7e5b77535b7e505e5a715171615d485c7e585a585e487f215b7a4d405a585a58585058486d58585c2b587e487e585a585c5548585a577e50505058587e5b5a29585863405a5d5a5858484b5b685048587e5b5c5c5c78705c5c5058575b5b5e6a7058295c5c4a6e29585a60585c55485858504840555058435b366e5f61507e4f5b584e6a715b6e6a7e5b295132585c6a5758486a7e585a585f577e505850585b5b5b5e7671585a585c48485f685048487e58295c5b7860505d5d485c545a486a5550584f5b6e7e5f6b507e4f5b54726a575860585c48485f685048487e5b4c5c5a7d5c5158522b7676587e58715b725c5b50484c5458486a7e5b5a2958585a505f4848572b507e7d5b5c5e6a7e5b60585e484b69287877535b5b296a57584853585872585a7f60585c48485f68507e7a7e5b4c5e58584e6a7e5b725c5e7d5150705b4c5c584d7e29585e705851554858584840585b78605051484d20555d485c7e5b5c5c5a7870505050587a7e5b4c5c5e7d5150705b4c5c584d7e29585e705850554858584840585b78605051484d20555d485c7e5b60585f484843297a705c5f50584b5b582b76555048487e585a585f577e50585058575b584e6a715860585848484b685048585458486d5b28505c5b484b722b587e587e5b5c5c5b78605c5c5d584c55484858715b486e585a6e585550584b5b584e6a715b5a585e5d485c7e5b5a2958585a5c5e5a60585e487f215b7a4829585058585c485a58584848582b587e587e584c5c58577e50585a60585a5058576b5d6e6d5b28505c5b484b722b587e587e585c4c5758486a7e584a585c577e50585a295f365d6e6a7e584a585c577e505850585055506e5c5a7f60585850485c5d485a585b507e535b5b5e7671584a585a525850585d4858555058507e585e6d5b58774c555d7e587e585b5d7f587e4b58505858485c586a554c6e5c5c7f6e535850585f5b585c6e57585a585b48485f6b507e4b5f5d48585d485a585850585368507e546d585858715b4a585d5058587e58725c5b7a74767058602958585d7658585a585d50584c2f5858587e58725c5a7870505a50585f565d485c7e5870585c4b6e29585a6e6a5555585c5b7f605458484b5b6b507e5072585a585a50585c2b587e6e7e585c5172585c516c515a585b5c554c5b5048587e58725c48787048585058585552485c5b7f605458484b5b6b507e5072585a585a50585c2b587e6e7e585c5129515a585b5c56505a5048587e58725c4878704858505858555f7e587e585b5b5f48485b5150585b5b5051535b2d485b6b484843537a7e6c21587e585a485853585872585a485853585872585a485853585872585a4858535850585f5b5a4e6a565c7e58505a4876505a485c5a586e48525a4876525a58725f5b7e7a555058507e58707e5a585a505b48484b68577e50585058587e584a7e5a585d405a585821555058507e58707e5a585a505b48484b68577e50585058587e584d505b585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d545b585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d5858585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d5c58585d7a5d585821555058507e58707e5a585c5c5178725f2d7a4a505b48487168577e50585058587e584a6a5d585d725d585821555058587e58725c635c4854585a6e21555058507e58707e5a585a505b48484b68577e50585058587e584d485a585d7a5d585821555058507e58707e5a585a505b48484b68577e50585058587e584d4c5a585d7a5d585821555058507e58707e5a585c5c5178725f2d7a4a505b48487168577e50585058587e584a725d585d7a5d58586f325f585c567f605458484c5b68507e5472585a585d4848582b5871587e58295c58577e50545058575b585d405a5a5a585d4848582b587e487e5860585d484b5b68507e482b5871487e5860585d48486168507e7e2b58717e7e58607e5a5f5b767e5860585d48487168507e762b58716e7e58607e5a5e5b767e5860585d48484b68507e402b5870587e58607e5a515b767e58607e5a505b7673585c5c48786050515358587e5b7058585548585a5058586d58585c7e585a295858515763484b7129484b7128507e4f5b5451547e5b4c5c5b7d5c5e7f7f2a536848485f68507e4c2b587e587e5a70585f4841206350585f6150584c7e584c5f367a6050547a4e6a705b4c5f327a70585f48412c6178725c5b7870505f577e50585058487e5b4b5843577e505850587e7e5b707e5a585a50535c5b722b587e585d48585358487b2a6c32785f3250484c5d485853585872587e5b4c5e212e6f74717f726e5c485a585f487c2a6a7156572c4b7e295b50584f5b70782a572b2a615e5d48507e5b4c5e507140557a7f5c7a5758605851484b5b68535858545b586a7e5b4c512b73767b4f5b5c7a5c485a585f4843687c7621725d4b7e4b58484858715a29516d2e504d737c4a5c5f5d58485550584f5b6f7c2e2c76412c515d48547e5b605853577e5050487f7856716d4c5c4843687c7621725d50587a76587e715b585c767b50484c54586e6a7e5b707e5a585a505f4841206350585f6150584c7e5d515f6b507e755b7f77547e5a4c5c5b7d5c5f217a4e767e585e766d58585c715d4a58505258505850584c7e5b607e5a5a5e6d685058587e5b607e5a5a5a505f4841206350585f6148485f2950585c7e5b41576b78702958585a5858505875684848536b55485858505828637a637658585a58515258505048485f6b504872545b586a7e5b605855577e50544840746d637d6d214840705f7e6d612150587676587e587e5b607e5a5d5c767b50484c5458486a7e5b5a7e5a585a5851525850547870585850587a76587e615b584e76705a2b766d5858582f58585b5b2e7c605c2d2a72715b486e585a6e58555a60585d50585476587e615b6b612d7e58607e5a5b5b5a32584d405a535c51576c6f787c5b4a5c585829585a485853585872585a485853585872585a485a5858487a6b6e6878505b4d584b5850585b5b367b41782e2a2c545b5c587e585c5e4b28406c4c7c2940575b605858487a2b4f2f20692e4b7e295d50585b5b7e575177364161515d48755b727d4e5575516a71585c5c5850485c545a486a7e585c51326d7d6b6f7f7240575b5a585848782f74293640584b7e295b50585b5b29785a2c5e5c7a575a5a585d525850485c5b587e58607e5a5d5b584850585476587058785058547658716e785058547658717e7850585476587148785058547658706e71585a585d484c5b6b5358587e5858215550585b5b2e2d4d6b204853545b5c587e585c515521527470584c40575b605858484063586076585a4b6e295050585476587158715a5a585d5258505050482c5b585a5c53484858715a725c5850484f5b585a5c51484858715a605458484b5b6b507e4872585c5e4a7456635d5b4c5e2e2e5560505b5a585a5e605c5e487d4c585048615b327e5c715d48575858725b5b2c68687f7c705c585829585a485853585872585a4858535850585b5b69574e5d207e5f545b5c587e585c517660695a2c7f5c6e5c485a5858487f702832496d2c4b7e295e50585b5b2c575a4e6d2a695e5d484c7e585c5e40207c2a567c4c7a575b60585c484b5b68535858545a586a7e585c516960695a2c7f5c4057584a5858487c7868772a69515d48407e5b5a5853577e505c5058487e5d4d76585a60585c50586e2f5858615b2f7a68486c41615b7449416d6377727e5b5a7e5a5b5a58564a5b6a7158586e5e5a605858487b5d6d706b725c4d584b5850585b5b697d4e5d207e5f5e5d48507e585c5e2e2e5560505b5c7a575b72512d6d7f732e7c4a5c585058486a5858297e5b5a7e5a5b5b5d7658705c525d58405550585b5b6a7c2b526c484b5e5d48507e585c5e4a7456635d5b4c7a575b4c512d6d7f732e7c4a5c585058486a5858297e5b5a7e5a5b5b5d7158705c525d584c554878414f7e36405b487b516d706b725c50584876587e4b5b5874205b584c407b504858545b586a7e5a5a585c5258505c78702958585a505f5058486d5858616350487d5b2c575a4e6d2a7671585a585c5548585550486a54586e6a7e5a5a585c5258505c78702958585a50555058486d58586d6350487d5b2c575a4e6d2a7671585a585c5548585450484c54587e6a7e5b5a5855567e58565058487e5b6376585d4a585c50584c2f5858217e5b705c585d585c555a60585050584876587e4b685058762f5858587e5b5a7e5a5b5c5c5b78705c535058486d585821715d5a585c554858565048295458486a55487f5a5c2f364c5a504858545a586a7e585c516e71566f2858724057587058584843734168695c5d4b7e295c50585b5b637b6b2b777e4f515d487d5b6b687b4d207e5b5b6343416b2b776a7e58607e5a535b6a7158586e515a295e546e54685858725157757c6f787c60585d52585054487b407c50585476587e48486f7e5c7b504858545b7e6a7e58607e5a5c5a5c5050585476587e7e715b4c5c585048695b585a5c57484858715b295c5850486d5b585a5c53484858715d5a5458484b5b6b507e4872585a585050584c482848535b6a687b7b706e4b5b6c6f325d7677727e58716a715b72514f585a5c56487f765b5048215d48585358487b4a4e297b765a5048585d485853585872585a485a5858487b564e297b765a4d584b5850585b5b697f51782b2a28545b5c587e585c5e2f362d56707c4c40575b5a58584843364c7769712e4b7e295d50585b5b2932702f2d2a71515d484c7e5a5a585f5c574c5a50584b5b5c5e767258586e5e5a60585848787b612b6d6d204b7e295b50585b5b7e2f78436b485f515d484b5b752d417a6f7e4b5b696f51782b2a297e5b5a7e5a5b5c5c5a7b295c5b4b716a7158586e5c5a6e53585872587e585c5e4e717d60325b5c6e5c485a5858487b4a4e297b765a4b7e295b50585b5b6a687b7b706e4b515d48435b362e5575756e4c71585a585c5558585750584876587e48482d4850715a7e6e5e5a60585848437c5f2a552d5c4b7e295b50585b5b362e5575756e4f515d484c7e5a5a585c5258505c7870585c55485854507e587e5a77547e585a5852484120637a4c5c5b7d5e6a2f5858587e5b5a7e5a5b5c5c5b78705c575058486d585821715d70585c55485856504821545b6e6a7e5b5a5857577e505c5058487e5d6376585a70585c50582d2f58586d5b7e2f78436b485f5b2932702f2d2a7e7e5b5a7e5a5b5a585f4a5b6a7158586e5c5a60585050584876587e4b6855485858507e7a7e5b5a29585a2a54715a295e7f28532f407c605c585058486d585876715a4a585c5548585250486e54586e6a7e5a5a585c5258505c78702958585a50535058486d5858696350486d5b77204a7c74516a71585a585c5548585550487a7e5b5a29585a605c545d5850555058487e5a6376585d4a585c50586e2f58586e7e5b5a5853567e58565058487e5b6376585d60585e5048585458486d5b362e5575756e4c71585a585c5558585750584876587e48482f5850715a7e6e585a6e58555a29516e71566f2858705c585d584c555058545a7f295c5850484873585c5c487860505e505854765871586a5858582b587e7e7e5b70585e52585050484a2052567e58565058407e5b707e5a5a5c5c2f4a5d76585d295e542d534a5a7c705c585829585a485a58584878637a712d712e4d584b5850585b5b757c6b5b6c77715e5b5c5b5b366e5c715b5c5e6d2a507c507c605c585d58545550585b5b73565a4c7e77695e5d485c7e585c5e2176567f557c727a575870585e52585050507e5b5b2d485b6350585b5b58414b5b6f412c6078725c5b7870505848485f29484b4b6150585b5b5a77576850484b5b6b7d605170516a7158586e5a5a60585848782a7a712d712e4b6e4b5850585b5b7468412d2f6e53515b5c587e585c51582d6b5d5a58297a575860585e52585050507e5b5b636e5f6050585b5b636e5f6178725c5b78705c5c48782a7a712d712e50485854586e6d5b6f525d77602a695b757c6b5b6c777e7e5b707e5a5a5c512e585c7e7b484341686e7b692d50584076587e715b2d585b525e605c585d58505550584b5b5e514b5b5e514c54587e6d5b6e56526e6e7e575b7468412d2f6e507e5b7029585d295c5b7a4b6d5b7468412d2f6e507e5b7029585d725c5b7a4b6a7158586e585a6e5855507e582b587e487e5860585d52585050507e407e585c5f367a2a5c7e585a585e484120637a4e6a705b725f327a70585e48412c6178725c5b7873405a525a585d505840485e4d405a555a585d50585b5b58414b5b58775c7e585c5c5b7a2b76485e4d405a545c5c58504b587e58607e5a525a585d5258506a78725c58567e585850585476587e487e58607e5a545e695b585d7658585c51326d7d6b6f7f705c585d5848555058547e5c5d405a565c5e40282f684b58295e58297c7f207f5a585d5258507650585476587371525e605c585d5854555058547658706e7e58607e5a565e767e58607e5a565a505848485f294848536050585b5b7f77576848485f685071587e58607e5a5c5e766d5858582f58585b5b366b41782e2a2d7158586e5a5a60585d50585476587e482b5873487e5860585b577e5021487a6f6e6878505b487d5e7e6c4b7e7e58607e5a575a585d525850214a716a7158586e5b5a60585d5258506e5058547658736168505854765871587e58607e5a5a5a585d52585029786050585058547658736e705841535b5841487e585a585b7a2b6d6855485858567e5858505854765873615b584e7671584c5e4b28406c4c7c605c585d58585558586d6b58484b3650585876587e586a585858484b4c4c5c485c5c585d6e6a5d485a5858525850585048575b7f605c5b5058535b635374632c7e5b575b5c5b5b7f60585d55585858484d5b6b507e487e58725c527b5a505b7870585c487f36363636215150585f6b4a716a7158486a7e585a585d48485f68577e505850585c715870585d5558585b5c5c4c5758586a7e58486f295c7e504b7f6e5f32506e5b5b29585b6b507e4c72585a585f50585c2b58726e7e5b4c5c2a78705c4c50584f5b565e76715c5c5c5850485c5a485853585872585a4858575850585f5b36363636366e7a7e5a2b6d525d485c7e584a585578705c5550584c7658726e705a705c5b5872585a485853585058766d585858705a484b585829585a485853585058755b366e5f61507e435f5b5c587e584a5c535d585c555058435b534c7a57584a585b5048725d485a585b5548585b484a4f515d485c7e5b4a585b48485368507e402b58726e7e5a4c5c5b78705c5350585c6d585850715a5a585e50485c7e5a5c5c754b7e29585a6e6a7e5a4a58527860505b487f36363636215150586d6b50714f525d487a7e58584b585058587e5a70585b5c5a765550585c575b725f3650482c5b584a5c5e50584c7658726e6a58585c484b4a5c5b50584c7658726e715a58535850585f5f5d48587e5a5a295858725c724b6e295850587e6a58585f5b545e6a715d725c5b504b535b58605c5e5a60585f5058407e5a5e7670584d405a4d5c5c5850486e5a485a585b5558585850715f5b505e6a705a5c5c7f4a6e4b5850585c715b7e6e5b5a60585b5048435b584a58507d5a50514840774b5b515f5f5d48585d485a585f50585f5b584e76705b73405a4d5a58515058616050486e7e584a6e58584a504b484a5b6b507e715b505c2157584a585e50485f5b584a58507d5a50514840774b5b515c5758586a555872587e5c4c5c684b7e4b5850584c5a7f6e53585058406a58585c484b4c4c57585a585f52585354507e5c6d5858535b535c7a57585a585b5558585b4848532950584b68487a585b78295c52577e505850585c6a58585f5b582a487e582b695b7e58576b525850585048285b584a5c4a50585f5b582b765458486a7e5c7e295e484858715c725c585048297e58584b585058507e58707e5a585a505b48484b68577e505850585c76587e58715d486a7e5b4a7e5a4d5c5c5b787e6a70584d405a4d5a585748485b565d485f5b585a585778605c575058615b7e5458587a705c545d585c5550584f5b63585b685c576a5a507e285b585c7e575a5a585f5258535450485c55484858715b725f3650487a5a7f295c5850585c6d58585b5b55727a57585b767e584a2958584c5c684b7e4b5850584c5a7f6e535850585c6a585850484b4c4c57585a585f52585354507e5c6d5858575b535c7a57585a585b5558585a4848532950584b68487a585b78295c52577e505850585c6a5858535b582a487e582b695b7e58576b5258505850487a7e584c5c5c787e6e5b5a60584a5d48407e58584b365058507e58707e5a585a505b48484b68577e505850585c76587e585f4848585550487a7e5b4a7e5a4d5c5c5a787e6a70584d405a4d5a585148412063484b202b5d585c5550584c7e584c5c5b7873405a4d5a585f487a6e5878715d7b58705c5150584c7658726e71584c5c5b5a605c4d5829587e5b705c49484b6e715a4a585b55585858487a5c5878295c2c4a6e295350584c7e584c5c5b7870504b577e535450585c6a585858715b70584b50485c7e5b705849484d696a78725e495574766d585858705b725c5b78295c504a4829585a6e53585872587e5b725c7b4b6e4b585058435f5d486a7e5d725c584d7e4b585058487e5d725c5a7d5e767e5b73405a585a585f5058547e5d725c5d7d5e7669586e582a58295854587e6a7e585c4c575a5a585f484c5b6b5058407e58715d435870585f52585354504b5c54587e6a7e5d725c584d7e29525a295c5850485c7e585c4c575b6e6a7e5d5c5136362a6d61507e7e7e5d5a585448405d5858515c7b5048435b585a5c54487c217850482d7e5c5a5c535872585a485853585877215a485853585872585a485853365872585a485853585872585a485853585872587e5c4c5c5b78606e58585a505b484f206150585c7e584c5c497a4c5c5d4b716a7e584a58495e60505b487d7e58786e2d715b5b484c5f5b484c5f5b484c5d7148495b7e2d565d71485e5f5b484c5f58505f5861484c5a4b485b5f5b485c58586a5a485a585b487a5c58786e2d515d7148555f582d565d7e585550585f5b296e5b5e5d4872545c6e6a7e5b4a725d485a5c4e487c21785d584c5548485871584853585872585a485853585872585a485853585058205b366e5f615d7e7e585848505d5b5b765f5b71765550584c765872587e5a63405a58586e435a60585f5258535850586a2b587e58545e586a7e5b4a7e5a485a58556b5d7a5d58586e415a60585f5258535850586a2e584858545f7e6a7e5b4a7e5a485a5855567e58585d5b4c5550584c765872587e5a63405a58586e4c5a60585f5258535850586c6a576e54585d5b545550587d5b5a5a5851484871555e605c515058435b5a5150715b72512d585a5c5b5a60584850487e7e584c5c7e7a4a5c4950584c69582958705f755b5f5b5c585d485a585048485f6b507e7e7e5f687d5b5d2a5f5b765d53685548585850582060567e5858505b435a5d2840715a70584e487e4a50504b407e5a7e29585a6e6a7e5a5a5c525058435b5a515f5f50584c6958295b487a7e295d50585f5b5b51435b2e61696850482c5b58705c545d585455505b5871584a585f52485758507143484b484b585829587e584c5c5b7860505b505b787748487d61484d5b60567e5858505b435a5b2840715a5a584e487e5650504b407e5a5829585a6e6a7e584a5c525058435b5a515f5f5d48507e5b6058485058696b507e5f5b584e767e584a58514a5b6a715b6e6e5a5a60585f524857585071435a585f545c485a585f487e587e5f7729705f737a5d485c5c5b5048615b2e61765458486a7e5b725e585c515c5c485c5c5b5048615b215b765458486d5b214b695b2e61767e5b725c5b7a4a50545e6e6a715d70584e505b5848736e5c715a7e6a7e5c295c5850587d5b585c7e7b5d482d7e5b725136362a6d615058407e5c616a715b70585f524857585071435a585f507e5b2a535f5b5c587e5c5a5c52484858715b6e6e545a605851505b4348505b587e5a746d68507e5c7e584a58514a5b6a715b6e6e555a60585f52585358507e5f5b7e5b217e584b6a705a70505348485b5b36363636366e7a7e5b60585148485b505e60505e5c576e5b507e5c7e5a4e6a7e5b70585b5e60505b505869685048727e5b295c584d7e4b5850587e715b70585b50487a545a6e6a7e5a5a5c5e50585c715b605853554858585d4829545a7e6a7e5b6e4b5850584c7658725854587e6d5b585a5c5b50585b5b505a58574848587e5b71586c5d58505550584f5b585d405a5d5a585f50584c6958295832587e7e7e5b4a585f48487168507e5c2b58725b5b7f605c5150585c555048755b585a5c5b5872585d485a585352585058507e715f5d485c7e5b4c5c5c787058505c572d5a507e695b585c7e705a5a585250587a7e584e6d557a724c5c485a585348484b685048727e5b60585b50586968507e5f555d485c54587e6a5550587e575d486d5b494a5c5350585f5b585c7e575a605858484a587e5d4a585b505840485570585b4b484b584848587158486e5b5a295c5850487a7e5b4a7e5a485a5c535829587e5a4a7e5a585a50504b48295b50584f5b5b5e767e5a5b5d7c5870505050587d68507e7a7e584c6a57584a585850584f5b5b5e767e5a5b58685058755b5b5e76715a4a585b50587d555d4858555a605858484a587e5d4a585b5058435b7e5458587a61586c5058297e584a585b505828505e605c5b5d587e55505b575b585a585148485b505e6e2950484d29715a4a585850584c6b5829587e5d4a58515058407e584c5c605c4b2958507e5f5b585c2d575b6e6e535a60585f50584c6958295821585d7d5b584a5c51505b48715a705850504840545b586a7e5b4a585b48485f68507e402b58726e7e584a2958584a5c535058407158486e585a6e5855505858575b60584a4b48295a48485c71584857585058487e584c5c5a7d5e7676587e587058584b585058547e584c5c5d7d5e767e585a585a5c57725a48485c715a60585b48485f68507e5f5b5a727a5758486e535a6e6d5b584a5c5550585f5b5a7221575b6e57585058487e584c5c5a7d5e7676587e5857584a585b48485f68507e5f5b5a727a5758586a545b6e6d5b515a5c535d5848555058727e5a746a705d60585150587a7e5d297e7b507e715b36363636366e7a7e5d5e6d525d48535b494a5c5350587e7e5d5e76705b60585750587a7e5d4c767b507e5c7e5f4c765758605858484a587e584a5851505840485570585850582d7e5d5b586850585b5b545a585b50587a7e5b725e587e584b635c5a2d7e585c5c6e50587e7e5d295c585c5a2d7e585a58525058214852705858484a587e584a58515058435b7e5458587a61586c5d585c555a295c5850486a54586e6d5b494a5c535a29514c7e485c7e5a4d405a58586d5b7f605c555a60585f487d58587870485850586a557f6e505b7f6e5f3250585a20507e575a57507077487f21497a4a505a487f21494b6e4b215058535f5b5c587e584a58584b585858585858585858585840484b364848585f50585b5c5858585858585858215c567050585c482a485071585a585b52585058484c5b685a63405a585a58585d6e6a7e584a585a487f2d517863405a585a585d486f363636363636363632517e51325d48765a587e505a587e505d6e492d4a365b4a58585a6e6a4a585a58584b484b58484858495a60585850585c482b7e5c555348587e585c5c584b605858487a7e6d4b2a5c7e585c517e554c7d6150585b5b7e507a5b4b2a5c7e585c5e40716e5f517a486f76587e5c5d7f6e535850585c6d58585857585c5e5251715d7b584a505b5b5c587e584a29585858295b5a6058584848616a4840586c78715d7b584a505b5b5c587e584a29585858295b5a295e4b51715d7b584a505b5b5c587e584a29585858295b5a295e7751705c5b5a6e53585829587e584a585a78702958585a505c4b4a585c484a205e7a724c5c485c5c415048487e58725c5b7870505a484b7d515d485c54587e6a55505850715b586d5b69612d71586e53585872585a485853585872587e584a2958585a505a484a2c5e5d48587e584a585c787029585858295850585c715860585a487a54584b6e295b5a60585d5548585b4b48295b5a60585d48787a7c5c55405b4b4829585058575b214b29486d7e5c5758486a7e585c4c5c485c5e72554a5c5a5058546d58585f5b55724057587e6d5b5858215548485871584c5121717e5c76587e5870587e4b585829587e5860585a484871685c55405b4b48295a5058507658705870587e29585a6e6d5b535b5843507e505c485a585a4878486d52485058576e50585058535b5a5e7670584a585d505848484871767e584a585c78725c58567e58585058535b3650405b52585058577e507e487f605e584a585a577e50585058507158486a7e584c5e72554a585850585f605e605c5a5a60585a5a60215850585c482e585070584a5858487f215b7a4a50587a4c5c5b7d5a585850585f6378705058484b4f6048485f2950585b5b5f41576b484b7129484b71285a2d297c587e20365b412d73585c5e48584e6a705b5a485850584b5b585c5e48584b5b5e507e575b7f63405a4d5a585d5058582b58706e7e58295c61577e507e5058547e585d405a4f5a585b5048487e58705c56506e5b5b6a58536b507e4072585a585d525853545e7e53585872585a4858535850585476587e4857585a585d5c56725b5e70585d5258505c5d48585458486a7e5b5a2958585a50584b48295a5872585d485853585872587e585c513658415c487a584b585829587e5b5a505848485f685048487e585a2958584b5b6e5d4858555058575a585b5b4d5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b50555c51585758586a7e58607e5a5b5a5c5c50585469582a5b5a585f725c485a585d50584b5b584e6a705b5d405a5b586a7e5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f586e5b5a6e53365872585a485a585c55485858484a4f5e5b5c587e5b5a2958584a5058484a695e5d485c7e585c5c754b6e295a5a60585d487e58484c6e53585058486d58585b5b534c405c485857585877217e58607e5a5b5a505850585476587471515b5c587e5860585848485f68577e505c5058586d5858585458486a7e5861584a5a6050585c51585758586a7e5b5c5c5b78705c5c5d585c5550585476587e4870585a585d525853764b6e4b585058547e585c5c5b7873405a5b5a5858554858585048585458486a7e5861584a504858555058486d5858587e585c7a5c485a585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a60585848485b565d48695b585a5c545058285f5d487e545a7e6a7e58607e5a5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f5a585c50485854586e6d5b585a5c5a50584b5b5874765458486a5a485a58585c5c4f5f5d48587e5b5a295858725c724b6e29585058486d58585f5b545e6a71585a5458484b5b6b507e5c7e5d73405a5d5a585b50582d7e585c5c5a7d5c5c5c78295c5850585b5b584c6a7b7870505848484b68577e505050585876587e58715870585c484857685d585c5550582d76587e58715870585648484b6850482d7e5b5c5c5b787e6a71585c5c585048615b585a5c5c5058586d585858484b484b585829587e585a2958585a585c4848696a78725c6e78605c5c5058586d58585c71584a585848485f685048587e584b5b5f5d4858555a60585855485858507e4f5b2e485b515b51217e58584f5b585a5c535058535b585c7a715d5a58585548585b50484f5b585a5c5250585b5b584e7655507e5f5b584e7671585c5c5d50487a5a485853585872585a485853585872587e5b4c515b585e6a56567e48535b58725c5b5848535a487253586e72535a4872535a4848535a4872535b5872535b5872535a4872535b58725c5b58485c5b58585c5b48725b5a48485c5b5872535b58505c5a48725c5a4850535a60585b484853685058587e584a2958584c5176585c4070584b6a71585c5f324841217e584b6a715b6e6e5c5a60585b484853685058587e584a2958584c516a585c4070584b6a71585c5c5d48485c7e584b6a715b6e6e5d5a295c5b50487a54587e6d5b58705c515d585c55484858715b60585b5048585548485c7e5b60585855485858507e5f5b552a5f5b582940705b4b6a715d6e535850585f5b5051507e584a585f5e605055487d6a584b7e29585872587e5a29516c585c7a5c485a5855487c54584b6e295b50584b5b584a585c48485f525e605c5c5d5850555058507e5d60584c5c56545a5d5850555058575a585b5b4d5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b50555c51585758586a7e58607e5a5b5a5c5b50585469582a5b5a585f725c485a585d50585f5b584e6a70584d405a5b586a7e584a585d5258506a782f6e7e5860725d7c5a584c7f516e715f586a7e5860585c6b5a504a5c5f545a485a585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e485458486a7e5861584a48485b505d48485550585469582a5b5a585f725c485a585d50585476587e4b5b584e6a2b587e4855484b5871584853585872585a485853585872585a485853585872585a485853585872585a485a5855487d7e58786e2d715b7e6a55587e6a555a6e6a5558486a5a5b585c5b58486a5f5a6e6a555a6e6a5d5b7e6a55587e6a5c5a6e6a5e58586a7e5a29515b585e6a70584c5c5e4a295c5b50585f29487f5c587a4c4f605d4876555058435b5a5e767e58605849484858482c7e507e5860725d7c5c505850585476587e487e58607e5a555e6c6a7f4f5c575d60585a4b48295350584069586158715c70585e52485450504b547e5d6e2d5d5b4840515a486a7e5a29516f58415f5b2d6e5b5e5b5c587e5b725c7e78725f3648405c5a5c5c40785058435b585d7658505a5855487f54584b6e29505058435b585d7658484a585e4848582f585a2d7e5b725c58577e5c685d587e555058435b505e767e585a2958584a505b487d2d584b70505f48405c5a5c5c40785058435b585d7658505a58584848536850585b5b584e767e5b4b6a715a5853365872585a485a58584848535b584a585f5e2b766d58585870585c5c6d4b6e4b5850585b5b2a485b5e5d485c7e584c517c585c7a715b6058505d5854555058407e584c517c585c7a705b6376584d7e6e5b5a60585e50585f5b2a7e5b51507e7a2f58512d555058715b584e76555048585d485853585058586d58585870584c5c6d4b6e4b5850585f5f5d48217e584c517d585c7a5758486e525a295c6d50485c7e585a2958584a505f4b4a585f487d29584b775057585a585848485f6850487e5a485a585f50585b5b584e6a6d58585870585c295c485a585f50485c5458486a5d485a585848485f68507e587e5b725c7e7874767e5b637658585a585850587e6d58585870584c725758586a5550587e7158586a7e584a585e78705851567e587150585b5b584e767158586e585a6e585548487e7158486e5a5a295c5250485c5458486d5b585a5c5b5a295058504b535b585a5c5f484858715a5c5c5850487a73585c5c48786050485358585a485a585b48485f5150585f5b535c28614b484b58487d4a5b584c5c7a577e50585d585c555829585a7f60585d5258505c507e487e58607e5a785c7a5c485a585d50584b5b584e762b587e487e5b5a295858586e5b5a60585d5c5b5055507e48487a5829585a6e53585872587e5b5c5c6b786e2d5d58585c5858486d5b7f295c5850584b5b554c407b50487a7e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d585858715b586e5b5a60585d5c5b50715b586a5a485853585872585a485a585b484e206150584b5b545c7d604b484b585877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c484f2061487d7e584b7e4b58484b58715848533650585476587e48705b5a585d525853764b6e4b585058547e5b5c5c5b7873405a5b5a585c554858585d585c55505854485c7e6a705b5c5e61524e766d58585b5b5c5c72575860585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a60585d487e58484c6e6e5e5a60585b5d485f5b5a5a5c5b5d58505550585f5b5a70585b5e60505b50584b5b6a4a7568554858584a6e295850585469582a5b5a585f725c485a585d50585476587e4b5b584e6a2b587e48555058575a585b5b4d487d4a5b584c5c7a577e50585d58485550585f5b5a727a57585a585c484d5b6b507e4f5b5a4c295c485c5c5850485c5d485a585b4848696a50584f68507e5f5b747b497463585f535877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c484d5b6b507e4f5b5a4c28615d48585550585e6d504b50555872587e5b4c5c534a6e2958505b535a5a772d715c60585f6b4a5c4f5829585a7f60585d5258505c507e5c7e58607e5a785c7a5c485a585d50585f5b584e762b587e487e584a295858586e5b5a60585d5c5b5055507e4b5b545e6a705b4c5c534a60584d505b4f215071535a746b4974635374632c6a6e434e775057584a584a487e69325071547e5b7829705f4c5336714f7e5758586d5b5a705c5b5d58505548487671584a585f484875575d485c54587e6a7e584a585b48485f6b7a484b5850584b5b6a4a756855485858507e7e7e584c725c4858575850585c7e5b4e6e7e5a5e76705b4c51512d365c2d4a48533650585476587e48705b5a585d525853764b6e4b585058547e5b5c5c5b7873405a5b5a585c554858585d585c55505854485c7e6a705b5c5e61524e766d585858705a5a585b4a415c5758586a7e5b7829715c7e6a7e584a58504d48295b50585e6d504b545d485a584a505b573250714c7e5a52285a366e5e5d5071435a7f2d4f4e5d48507e5f4a584e7f5a5c4a50585c5a7f60585d5258505c507e487e58607e5a785c7a5c485a585d50584b5b584e762b587e487e5b5a295858586e5b5a60585d5c5b5055507e4b5b6a4a756855485858507e71575d48507e5c5a584d487e587e5c7250585c5a6a7e5c5a725d5a5f585758586a5458486a7e584c5c417b5c5c5f7d725c517a4c5e61522b766a585858715c4a585c487b5c6978702958585a505f50585f535b5c585d485a5850505b5f2950584f60507e715b7e505a586e585b535877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c487b5c6978702958585a505f50585f537a4829585a6058506b4a5c4a5a60585b50584f575d485b5a7f60584b6b4a504d705a504f505b534c5d48585d485a585f6b4c55365840547e5c70584d717648715c70585b5877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a60505c487b5c6978702958585a505f4d48295b505b507e5f4f7e5758586a5550585c7e5b5c5e61524e766d58585b575d48585d485a585b5877217e58607e5a5b5a505c50585476587471515b5c587e5860585c48485f68577e505c5058486d5858585458486a7e5861584a5a295e61524e766d58585b555d485855487d4a5b584c515c585d405a585c5c5850487d5a7f605c4a5a60585d5248576e487e5b435b5c587e5860585d5258505c48485f6b577e505c5a295c58505b535a7f285c7e5b295c5b7a716a5c485c514c7e485f5b6158582b587e5b5a7f705c4a5d585c55505b507e5b2f6e705c2d4c7e5c2a29715c7e6a7e5c5c5c487870485850585469582a715a585a585d5258505c505854765870616b6b51284b5d48767e58724c7e5a29516e585c7d604b484b585058507e5c732d5a58586e5f5a60585a5058217e5c715d73587e6e5c5a60585a505b547e5c715d7258737e5a58586e5d5a60585a505b547e5c715d7d584d725d58586e5a5a60585a505b542a586e587e5870584a576e54505d585c5550584b5b584e695b51605855487c54584b70505f5e605c515872585a485a584948485f51507e715f5b5c587e58705c5b50586e5c485a5851484853295c5b7270584c4c575b7e6a7e5b725058576e567658725c585048485d485a585b5048765d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a70584a585e78702958504c4c575860585e50585c2f585b6a7e5b725c7a7870585e484b6d6848485c7e5b725e76587476486d6e5c70584c5f324b7e2958484858715a4a585b4841205e5d48727e5a7e4b585058767e5b5c5c5a7d5e767e5b707e5a515d405a585a585c48485f685048485550586e7e5b5a58514b775f5f5d4858555058767e5b295c5b7d5c5c5b7a705051484853295c532d5b507e5c5758586a545b6e6a7e5d584b58484858715b5a58515c5b7270584c4c575b48575850585c715a4857585877217e58607e5a5b5a505b50585476587471515b5c587e5860585b48485f68577e505c50585c6d5858585458486a7e5861584a5a60505b50584368554858714b484b58484858715a7e6e5f5a60585c5058756850585c2f5858587e5b5c5c5b7870505c50587d515d485855484858715a70585350587d5b58414b5b584150705b615a7c584a505b5d4858555d587a55484858715b5a585a5b5c585d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a70584a585e7870295850484b585058507e5b5e767e584d7658585a585c48485f685048485458484f5b585a5c52505850715a486e5c5a6e585558586a5d4858533650585476587e4870584a585d525853764b6e4b585058547e584c5c5b7873405a5b5a585b554858585d585c55505854485c7e6a7e5b74766d585a5c5758586d5b585a5c53484858715a7e6e5b5a295c585048727e5b725e765874765c7f60585e52585276587e4f5b58586a575b486a7e58607e5a5b5a5c5b50585469582a5b5a585f725c485a585d50585f5b584e6a70584d405a5b586a7e5860725d7c5a585b505854765870616b6b516e705c28587e5a295173585c407e5c70584d4c775f605d48405a485a58544b4829585058715f5b5c587e58705852577e50585d585c555058507e5a4d405a58586a7e5b4829585058765c485a585250584b5b58774b684848582b587e58555058755f5b5c5b5b585a5c535d585c555058487e5a4e695b585d765858586a7e58607e5a5b5a585d5258506a782f6e7e5860725d7c5a584c7f516e715f5a58575058535b585c7d685048295550585b5b584e76715b5a58585548585b507e585758486e5f5a6e6d5b585a5c53484858715a7e6a7e5d48295b5a295f36504829555058615f5d48587e5a4b5848505876485c586a7e5b725e6e58747672585a58575048587e58295e48584e7672585a58585a2954585872587e585c4c57585853585872585a4858535850585f5b587476565b7e585b587e505c586e48555058587e58736e58585821555058587e5873295b585821555058587e58732d5a585821555058587e58737a5d58586a556d58545a582a215b7f705458484a5b6b507e54725858535850585f5a363636363636363636363636585054705b4c52587e505a587e505d586e5d202050584f5a7e505a587e505a586e5536585851284c5b5c587e584c504370527a715b5a58584c5a585b486f3636366e325d507e4f5a7e505a585a5f487e5b4c52587e5058504c4b6d5f5b5c587e5b5c5e5b7e505a585b5e7671587e6e5a5a60585c48405a587e50585c78705c5a5058587e5b4c52587e50585071404b5a585f5057584a585a50584b5b58415f685048505458486a7e585f587e5b4c52587e505a587e505d58363621584f5a585f48765a587e505a587e545d36366e5b4b5e294c5c485a585b48717450692951363636215b7a4c5e587e505d325b2a5071587e6e5b5a295e587e505d215b605c5a50584f5a36363636363636366f2e3658585f4057585c5c585048507e5b4c506e70527a705b5c5e4b367e5b535d48587e58295c487870585850585f5a3636363636363636492d575a7e505a587e505a586e585a5c507e4c7e5b5c5e5b367e5b6b5c5a217e5860585850584f5b7e7f215850584b6b5c516e7e5860725d5a5a50584871745069605c5a50585469586e587e5860725d5c5a585d52485440715c50584c682b5c507e4f4850585b5a363636365d2d5470585c52587e5058504f5a585848765a587e58714b5e294c5c485a585a48485f685048505458486a7e5b4a585848765a587e58705f715c50584c7e29585058535b58415c7e58747671587e6a7e58295c7e787048585058507e584c507e70527d5b7e505a587e5171617a6b2d557e48485a582a215b7f7e53585872585a4858533650585876587e487058705858525853764b6e4b585058587e58725c5b7873405a5b5a585a554858585d585c55505858485c7e6a7058295c6b786e2d5d5848585b58586a7e58295c6e78605c5b5d585c555058575b554c40715b58535850585f5f5877217e585a7e5a5b5a505a50585876587471515b5c587e585a585a48485f68577e505c5058506d5858585458486a7e585b584a5a60505a484d5b6b507e5f5b5a7275605d48587e585a725d7a5c50584c6e29585058587e585a7e5a5b5c5c5b7863405a5b586a7e58705c5d5a6e535850585f5b5a72725c485c5c585048505d485a585d5058535b5a74616850485c5a7f6058585258505c507e507e585a7e5a785c7a5c485a58585058535b584e762b587e487e5870295858586e5b5a6058585c5b50555048547e584c5c6e78605c5a5058535b635374632c7e5b505058575b545e6a70584c5c534d415c5758586a7e58686e715b48535850585f5b5a722157585857585058566d50584f5a5a772c2148735b2050484c5a7f6058585258505c507e5c7e585a7e5a785c7a5c485a585850585f5b584e762b587e487e584a295858586e5b5a6058585c5b5055507e575b545e6a70584c5c534a6e295b50584f5a6b76325f28217f5a2f2f545b4c6e29585a6e6a7e584c5c524a484b585829585a7f6058585258505c507e5c7e585a7e5a785c7a5c485a585850585f5b584e762b587e487e584a295858586e5b5a6058585c5b5055484d5b6b484869535d4858555a6058585248576e487e5b435b5c587e585a58585258505c48485f6b577e505c5a29505850584f2050584c7e5b5b6a715b486e5b5a2952587e505a587e505a587e505b3650484c7e585a725d7a5c50584c6e29585058587e585a7e5a5b5c5c5b7863405a5b5c52587e505a587e505a587e505b365d6e6a7e5b486c7e547e54487f6e7d3258416e73585c5c6e786050545358585a485a585a484853575b5c587e58725c5a7d5a505a48436e6978707e5a585a5c495058535b725a75685258505850482d5d4858533650585c76587e48705870585b525853764b6e4b5850585c7e58725c5b7873405a5b5a585a554858585d585c5550585c485c7e6a7058715b6e5d48585548485c715b7e53585872587e58725c6b786e2d5d58585c5858486d5b7f295c5b5058535b554c407b5048407e584a7e5a5b5a505a50585c76587471515b5c587e584a585a48485f68577e505c5058506d58585871587e6e5b5a60585b5c5b5071587e6a5a485853585829587e5b4c5e525e74766a5858587e58725c7e7a72405c4858535850584f5b5b726a57585a585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e58702958585a5c5a5d585c5550585c485c705c5a5a60585f48485f68507e4f5b5a5c7a5758486e5a5a6e6a7e5b4c5c5d4b6e4b5850584f5b5a5c4057584a585d4b4a585f48484b537a7e295a50584f5b5a5c405758486a7e584a725d7a5a504c487e5b435b5c587e584a585b5258505c48485f6b577e505c5a60585d4b4a585f48484b537a7e2958505b4b5a585f5471587e57585058535f5b5c587e584a585b5258505c48485f6b577e505c5a60585f48485f6b507e4f5b58296a5758586a55487e58715f5a5458484b5b6b507e50725858533250587860486e58587e51324c6f5a505d487f3636363621517a4a505b48405a587e584b6b487f363636367a514d484b5850585e6d4871745e48765a587e505a587e505d58492a6e5458486a7e582f285a5e40435a7e505a587e505a586e4936365850487e584c5e587e505d215b292157585b695a585a585b4b4829585e70585a50585e6d487e587e584e7a70584c514b585e76485560585a52485458504b487e5870725d5a5c52587e505a587e505d5858504f5b707f215850585f6b6b4c506e71764855504b4c7e5d5a584c576e545850586e7e5f4a585d48405a587e505b2d7a78285a5050785c576e54505058535b5c5e7672585a585452485450504b487e5d5a725d585a5c4f5d5850555872585a4858535850584c57585c5c5850484c5d485a585f487a7a7a78706e58585a585a484a5b604b6e295b5872587e5b4c5c5b4a6e295850585c76587e48705870585b525853764b6e4b5850585c7e58725c5b7873405a5b5a585a554858585048505458486a7e584b584a5048505550584f5b584e76705b4c5c5d4b6e29585a6e6e5b5a6e53585872587e5b482d5c58585c5b587e5c555872587e58725c6e4b6e29585877217e584a7e5a5b5a505f50585c76587471515b5c587e584a585f48485f68577e505c50584c6d5858585458486a7e584b584a5a295f7f7a4c5140585c405c485a5458487b585d7860505a5358585a7f60585b5258505c507e4c7e584a7e5a785c7a5c485a585b50584f5b584e762b587e487e5b4a295858586e5b5a60585b5c5b505550484c5a485853365829587e5b4c5c6e4b6e4b585872587e5b4c5c6c4b6e295c50585c76587e48705b4a585b525853764b7e295850585c7e5b4c5c5b7873405a5b5a585f554858585d5854555b4a585b5258505c507e4c7e584a7e5a785c7a5c7f295c5b5048767e584a585f48485f68577e505c50584c6d5858585f48485c715a70585b5c5b505550484c5458486a5550585c485c7e6a715b4c5c5b5048487e5b4c5c6e4b6e29585829587e5f29505b7f4a5c415877217e584a7e5a5b5a505f50585c76587471515b5c587e584a585f48485f68577e505c50584c6d5858585458486a7e584b584a5a60505f484d5b5e5d48585548485c715a7e6d5a7e505a587e505a586e492136504b4c5a485857585872587e5b4c5c7e7a705c555872585a485a585f484d5b6b507e715b5a727257585a585f484a2c5150586d5b2d485b6b484843497a48295c50584f5b55727a57585a585c5d48535b584a5c5c505b48715f6e6e5b5a605855487d7a587860585050584f5b564c767b50484c5a485a584c487e7d415b5c587e5b4a585348484b2978705c535d585c55505b4b5a515f7a5c485a585a484d5b6850584c48484a585a484a5b68505b727e5f4c505848765a587e505a587e545d20496158405058535b5c5e767e5870725d505a50435058506958607e705f4a585a5248546e5058506958637e485e5a585a505b407e5e5a585a524854485058506958617e48495a585a52485450504b7e7e5870725d585a5c4e5d585c5550584f5f50587d605d48587e58725148585e767e5e4a584f487e5b5a7e505a587e505a587e4921365c5b7e7e58725f587860584e505b7e7e5870725d4c5a585a524857405c5d6e7e5870725d4a5a5c4048485c715b60585a52485758504b4055505b4b5a58416e715f5c5c5b5048765550585c76587e48705b4a585b525853764b6e4b3650585c7e5b4c5c5b7873405a5b5a585f554858585b4a585b5c5b505550484c5458486a55484a2d715b486a5a7f7058524b484b585872585a485a585b5248576e487e5b435b5c587e584a585b5258505c507e4f5b584e6a2b587e487e58294c57584a585b50584f5b58746a2b587e487e5b5c4c575870585b50584f5b582b6a2b587e4854587e6a7e586e295b5a60585b487e58484c6e6a7e5872517e585e767e5b6b7d5c585858585858585858585a705c5f297e5870725d405a5c4e50585069582b7e5458486a7e5f5c50514f6e4b58505b48715f4857585058755b5b5148715a4a584f487e5f2150714f5a5a5f505758586a555872585a4858535850584f5b412a5f5b29585b5e5b5c587e584a585d5c564c5a50714f5a7e505a587e505a587e505a587f2850575860585d5b5c587e584a725d7a5c50584e48295a5d585455487e58715f70585b487e58484c2950585d584855487e58715f4a585b5248576e487e5b4d5d48505550585c7e584a7e5a5b5c5c5b7863405a5b586d5a585a5c4f5a6058534b484b585058535b21585b685058782a4b585858585858585858585876715b7d50585069582a58715f70585a5248572d5d585c55505b7a7e5f5a585c5e29505a7170584f7f5c507e7f4a504c4848587e5d2b6c6d4f484b58487d4a5b584c515c585d405a585a585a4878585b7870585e5c5c5c7e58725e48584e767e5870725d76585c7e5870725d68585f5a7f2955363636363636363236363621585c5b7e7e58725e58584e767e5870725d72585c7e5870725d74585f5a7f2955363636363636363236363621585c5b7e7e5870725d7e585c715f70585a5248565058486e5b5a605849487c505b782f6e7e5f5f7a5c485a585348485b565b5c585d485a585a4878585d7870584e505b715a585c52587e505a587e505d58362e20365c5d6e7e5f70584048765a587e505a587e505d3649615d7e584a5c5b5058535b72585768505b407e5e5a584e50585069582f585d50585f5b585c7e7058616a7e5e5a585a524856765860585d5e615821505b4b5a584129715f5a585a5248564058605c4050585069582c585d504b407e5a4c5c5b7d5a585b48485b567a70505348485b565d4858555a6e5332505b487e5d2f612048705b2150714e77507e5f5b585a585b48485b525e605856505b4c7e5d68284d5e60505b487f5c584d7e4b585058535b7e58576850584048484a585a5248565058605c4150585069582d585d504b755a58586e5b5a60585a487c585a78725e48584a585b78615d7f584b5b7d5058535b2958536850584048484a585a487f585a7870585a5248497e5870585a524849765870585a52484948587050435058506958207e5a50717a482f6e507e5870725d325850715e70585a5248496e587e6a715f4a585a487a585a787058535058755b58415f5f505b407e5e5c5058487e58487c295c584b60585b484a5b507a415c70584e764872585c7e58725e6e5874767e5e4a5841505850695821585a5058506958217e5a5c5b7e7e58725e485874767e5870725d6a58507e5870725d6c58507e5f4a58785c5d6e7e58725e7e5874695a585a584e50585c7b487e587e5e5a585b5e605843505b7a485e5a585a4840585a7870585a5248567e5870585a524856765870585a524856485870585a52485640587158215058535b21585f6850585069582d585a50585069582d7e5a505b4c7e5e715d7c584a585a5248496e584a504f5058506958367e5b50717d5a585c50585c516d5f5b5c5b5b28505c5b487a4858577e50585a60585a487c585b7870584f505b7a7e5f527a482f7e507e5870725d2d585c715f70585a5248497658486e5b5a29514c7e485f5b6158582b587e587e58725148584e767e5b715b5b5058535b6e585f68505850695820585b5058506958207e5b487e5b5a7e505a587e505a586e5858485e5a585a487b585b7870585a52484958584a585a52484950584c505848765a587e505a587e5458585c5b7e7e5870725d6a585c715f70585a5248562d58486a715f5a5854505b402a5861587e5d5a584c576e54405058535b6a5857685358587e5d5a725d5e5a5c4c50586e69586158715f486e5e5a60585b5248576e487e5b4d5d48587e584a585b5258505c48485f6b577e505c5a60585b50484c7e5b705c53505854715a725c585048435b585a5c5d506e5b5b725440587860505c53585b5b585a5856505820685071536b504b545a485853365829587e58725c6e4b6e4b585872587e58725c6c4b6e295c50584c76587e4870584a585f525853764b7e295850584c7e584c5c5b7873405a5b5a585b554858585d5854555b4a585f5258505c507e5c7e5b4a7e5a785c7a5c7f295c5b5048407e5b4a585b48485f68577e505c50585c6d5858585f48485c715b70585f5c5b50555048505458486a5550584c485c7e6a7158725c5b50487a7e58725c6e4b6e29585829587e5f5c505b7f4a5c4c5877217e5b4a7e5a5b5a505b50584c76587471515b5c587e5b4a585b48485f68577e505c50585c6d5858585458486a7e5b4b584a5a60505a484d5b5e5d48585548485c715b7e6a7e5b5c5c58577e52485b7e53325872585a485853585872585a485a585a484a2c5e507e5f5f5058535b545e6a705a5c5c534a2a5f5f5b5c585d4858535850585f5b58415c5c485a58514b484b58505b4c715f5c5c5b50487a54587e6a7e5b724c7158486e5c5a60584f487e5f21504b4c7e582951215d296e5c485a5857505b4e775058535b545c407b5048297e5b5c5e485b74767e58295c5a7d5e7670584a58555b51217e5870585b525850584848696a78725c6e786e4c7e5a586a2b587e5b5b584a5c5e4848587e5a295c5b7870505b50585f5b5a4c4070584b6a715a60585b505857685048545458486a7e58725c6e4b7e29585058487e5b5a7e5a7e5c435b5841502b58765b5e487d6049584a5c575a6e533650584c76587e4870584a585f525853764b6e4b5850584c7e584c5c5b7873405a5b5a585b554858585d585c5550584c485c7e6a7058725c6c4b70505b5058535b545e6a705a5c5c524a41505758586a55505b487e5f4a58515e605c4c5058435f5058535b412a5f5b61485b517a724c5c4858535850584c7e5a715d755870504e48765a587e505a587e505a587e51204a5d48587e5a724c575b4c5058504b407e5b4a725d7a5c50584c6e295850584c7e5b4a7e5a5b5c5c5b7863405a5b586a7e5b724c575860584c505b4321504b48545b486a7e5b724c71584a585a48485b505d485c5550584c69582a5b5a585f5457585a585f50584c76587e4b5b584e6a2b587e485550585f5f5d485055487d4a5b584c5c7a577e50585a295058504b4c7e5b4c50585c5f575a58586e5b5a60585c525852485b70505b4b484b585058487e5a7b7d5c585858585858585858585a705c5f297e5b5a725d585a5c4f50584869586e7e5458486a7e5f5a584f4c70584f487e754f7a705856484b2c544848587e584a58567d716d604b484b5850584b5b545e767e5a4b5b5b50584b5b505e767e584b5a48584a585c484b5b68505848695863587e5b5a725d565a585c5248547e5058486958607e485e5a585c52485448504b4c7e5b5a725d5e586e5b5a60584948412c6d6b4a584c4c6e4b58487d4a5b584c515c585d405a585a585c487c5858787058535c5c5c7e5b5c5148585e767e5b5a725d405a585c524857764877205a36363636363636366f363636585b584050584b5b485e6a7e5b5a725d4c5a585c524857404877205a36363636363636366f363636585b584050584869582958715f4a585c524857505d585c555058205b2d7e5f6b6b5a584c4f484b58487d4a5b584c515c585d405a585a585c4843585b787058535c5c5c7e5b5c5e58584e767e5b5a725d72585c7e5b5a725d74585f5a585c52587e505a587e505d58585b584050584b5b21585b6850584869582d585b50584869582d7e5b487e5b5a7e505a587e505a586e5858485e5a585c5248576e504b4c7e5b5a725d7c586e5b5a6058555b5c587e5a295c504d584b5850584b5b725843685058575b58774b68507e5c76587e58715b48575850584f5b5a746e715b4a585548485f68507e6d5b5a4c7a5758586a7e584a585f577e50585a60585d48485f68504854555872587e5d4a584c696050514a705857484875567a705851484b5f527a7e295850587d5b5a4c405c485a585c487a585b787058535c5c5c7e5b5c5e6e584e767e5b5a7e5a7258404872585c7e5b5c5e7e584e767e5b5a725d6e585c7e5b5a725d60585c7e5b5a725d6a585c7e5b5a725d6c585c485e5a585c5248567e584a5c4f50584869582f7e5b5d58505550587d5b5a5c6e5c485a585c4843585a787058535c5c5c7e5b5c5e585874767e5b5a7e5a7258404872585c7e5b5c516e584e767e5b5a725d7258507e5b5a725d7458507e5b5a725d7e58507e5b5a725d705850485e5a585c487c585b78725c5850587d6b484853294843586978707e5a585b5b5b50584b5b29585f68505848695836585b5058486958367e5b505848695832585b5058486958327e5b5c56725a505848695820585b504b4c7e5b5a725d2b585c54587e6a7e5d7058514841286a78725c7b7870505b484b2c544848587e5b5a7e5a725840705870585b7d716a57585a585c487c585a787058535c5c5c7e5b5c51485874767e58715a48584a585c487a585a7870585c5248497e5870585c524849765870585c524849485870585c524849405871584050584b5b6a58536850587d5b58774b5b605a7168525850585c5c5c7e5b5c5e7e5874767e5b5a725d6e58507e5b5a725d6058507e5b5a725d6a58507e5b5a725d6c5850485e5a585c5248567e58705c4f50584869582f7e5a5d585c555829587e5b5c5e485b74767e5860505a48485f6b507e575b58774b68525850584b4829585a295c5850486a5a485a58514848756f507e5f5f5b5c5b5b585a5c5b5d585c5550585c7e584c5c537870585148485b565e605c5d5872587e58724c5c485c5c5850485f5b585a5c5a5d585c5548405a4c2f206e5d4848587e582b6d5b58774b5b725a756852585058507e436d5048695b585a5c50484858715b4c5c5850485c5d485a585c4843585e7870585f484853297870505750587e7e5d4a7e5a585a50575058436c50715b68507e7e2b587e587e584c5c5b787251365d2a5c7e584a58504b4a585b50584f5e7a4a50505e605c5b50587d5b5a4e6a7e5b6058505e605c515058767e5d4a585e505b5b6a782b6e715a5a585f48485f68507e4c7e58727a5758586a7e5a5c4c57585a585c4843585e7870585a4848532978705850577e50585058535b584e7671587e6a7e5b60585d78295c5378705c515a6e57585872587e5b295c724d7e4b5850587d5b535c7a57584a585c4843585e7870585b4848532978707e5a585c514b2f7f725c4d6e295b5a60585a487f214978705c5e484858715a5857585058706d50584b5b725843685058435b366e2061507e575b58774b68507e4028587e5b5a5140432150714b5a7e434d6b2a58574c5b51205b58584c7e5f5a584c48765a4c2f206e5d7e5a504f48765a4c2f206e5d7f7729715f5a584f696e6a715a5a585e505b4a77507e402b587e587e5870585a5058507e5860585e5e60585b5058575e5e60585d5058535b584e6d5b366e20614b616a715870585d48485f6b5048407e584a585d4b6e29585a605855484b286b50486a7e5a5c4c57584a585a50585f5b584e6d5b366e2061507e5f5e5b5c587e5b5c5e485b7476705860585a487f2d49787251365d2a5f5b58774b68507e407e5b707e5a585a585a48485f6b487f21497a4a505a4848532950585768525850587a73405a58586a7e5b295c5378705c5150584b5b7258436850585f5b58774b6850587e2b587e585458486a555872585d485a585a48485f68487f21497a4a5c5d50584b5b725843685058535b584e6d5b366e20614848532978705c505829587e584a5c5e484858715b4853585872585d4858535850584c7e5b74695b366e2061507e5c7e58724057585a585c4843585e7870585b4848532978707e5a585a505b50584f5b58774b5b2d5a716852585058507e69535d48587e584a58524a6e295a50584f5b584e76705b4c5c5c4b6e295b5a6e6a7e5b295c724b6e2958487e58715f5c5c5850484f5a585a5c4f5829587e5870585f50584368487f21497a4a505b4b7e4b585058535b584e695b366e2061507e535b5877487e5b5e695b585d405a7358405550584b5b7e584368505b487e5f4c505848765a587e505d75746b7c566e5858485e5a585c487f585f7870585c4843585e7870585b4848532978707e5a585b5a48584a585c487c585f7870585c524856585b70585c524856505b70585c5248496e5b4a585c5248492d5b4b58215058486958327e5f504b4c7e5b5a725d2d584c715f5a585f48485f68507e4f5b5b5c7a5758586a7e5b5c51485b4e767e5a4b5b5b50584b5b6e584f68505b487e5f4a585c524849485b4a585c524849405b4b58405058486958217e5f504b4f5a585a5c4c505848695821585f504b407e5a295161585e76705b6058497860505d4848587e58295c584a716a7e5d70585d50582c50507e4c7b507e5f5b21585b545d485c545b586d5b5a4c5c5b50587d5b554c767b507e767e5a2b76715a60585e50585070584c4057584c5e5875566f7a586058527d705c574841217e5a774b5b7f2a54715c5c5c5850484c7e5b705c5b5829587e5b5c5e485b74767e5b725c5a7d5e76705c4a585f505b5c76587e58705c4a58527d7476705b4d405a585a585b48485f68487f21497a4a585b50584f5f50585c7e5b724361507e4c7b50485c7e5b295c537860585150584c7b50487a7e5c5a584b7a4a58577b5a5c5f5058435b584e695b366e2061507e407e58727a5758586a7e5b4c4c57584a585b505857515b5c587e5b5c5e485b74767e58725c5a7d5e767e5b4d405a585a585d50485054586e6a7e5a5a58505258505848485f60577e50585058547158486e5b5a6e6a5550584b5b72584f68487c5c5b50585f6b5c57215b5c5f297e5b5c5e6e5b4e767e5b5a725d72584c7e5b5a725d74584c7e5f70584f5c566a5a50584869582e7e5f504b727e5b5a725d6a584c715e5a585c4840585f78725161585a585b78615d7f584b5b7d50584b5b76584f68505b407e5f4a585c524856585b4a585c524856505b4b5d775870585c487f585c7870584e505b4c7e5b5a725d76584c705f5a585c524856765b4a50415c572d5b50584b5b2d584b68505b7e7e5e4a585c5248496e5b5a585c5248492d5b5b58215058486958327e5c504b4c7e5b5a725d2d5848715f7e6a5a485a585e48484b68487f21497a4a50525058535e5d48585a485a585c4843585e787058524848532978707e5a585a5052487f36536d7c2d5b4d484b585058695f5058435b5b4e695b366e20615058535e7a48295b50584b5b215857685058742a4b585858585858585857583676715b7d50584b5b2d585768505b487e5f60585c5248496e5860585c5248492d586158215058486958327e5d504b7a7e5b5a725d2d5854715f586e5b5a60585248405d526d7c2d5b4b6e4b5850584b5b29584b685058742a4b5858585858585858567e3676715b7d50584b5b6e584b68505b487e5f60585c524849485b5a585c524849405b5b58215058486958217e5c504b7a7e5b5a725d6e5848715f586e5b5a6058536d605c7b5058507e5b725c5f787251365d2a5f5e5b5c587e5b5c5e485b5e767e5e2948585858585858585d7e492f5048414a585c4840585c7870584c505b7a7e5b5a725d7258487e5b5a725d74584848495a585c524856505b5a5c4150584869582d585c504b485458486a7e5b5c5e6e5b5e767e5e2948585858585858585d76492f5048414a585c4878585c7870584c505b7a7e5b5a725d6a58487e5b5a725d6c584848495a585c524856765b5a5c4150584869582f585c504b485550585f5b2e6e5b525d48587e5b5c5148582b767e5f5a5841487e5b5a7e505a587e505a586e4921365c567a5a505848695820585d5058486958207e5d487e5b5a585b5b2e5d48587e5b5c5158582b767e5f5a5841487e5b5a7e505a587e505a586e4921365c5d6e7e5b5a725d605854715f60585c5248495858605c4c5a60585c487b585d7870584e505b4c7e5f5a58415c5d6e7e5b5c5e7e582b767e5b5a725d6a58547e5b5a725d6c58547e5e5a58435c572d5b50584869582f7e5d504b4c7e5b5a725d765854715f7e535848412d7e5c746a7e5b295136363636365b2a5f565d48587e5b5a584f486f36363636363636363636366e5a5d576e56405860585c505b402a582c585d50584b5b7e585768505b407e5f4c505848765a587e505a587e505d364961584050584869582c585d50717e7e5b5a725d745854705e4c52587e505a587e505a586c5458585c56585b5048507e5f4a585c524856505860585a48485b50507e407b504b4c7e5f70585c524856585860585e5e605c4e505b547e5a60585a48485b5678705055487c2d5878722d5c485a585f50584c7e584a585d4b2a5c7e5e5a584348765a587e505a587e505a2d6e5858482d585f5b585c7e7b48485f515d485c7e5f5a5841487e5b5a585b5b2e4b48295b5a29514c7e485f5b6158582b587e585550584b5b21585368505b407e5f4a58555c56765a505848695836585a504b4c7e5b5a725d32585055504b487e5d5a584f576e547e50586e7e5f5d7a5d525a585c48435d5e585e7672585a585452485476504b487e5d5a725d505a5c4f5d58485550585c69582a5b5a585f725c485a585b50585c76587e4b5b584e6a2b587e48555d585c555872585a7f60585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e5870295858586e5b5a60585b5c5b5055484a715e5b5c5b5b584a5c5f5d585c5548765a587e505a587e565d36366e58715f5a585b5248576e487e5b4d5d48547e584a585b5258505c48485f6b577e505c5d5854555829585a7f60585b5258505c507e507e584a7e5a785c7a5c485a585b5058535b584e762b587e487e5870295858586e5b5a60585b5c5b5055507e535b545e6d5b5a72727e5872515b585e6d5b5e7275605058535b2a6e5b5e7a724c7e58725171585e6d5b5e7220614b484b5850584f5b584e76715b486e5b5a6e6d5a7e505a587e505a582d493636585a5c4c5058535b524c40575870585b5248576e50717d5a585f725c485a585b50585c76587e4b5b584e6a2b587e48555872587e586e4b5850584c5758486e5c5a6e6e5b5a6e575850584f5b584e6a715b4a5841487e5b435b5c587e584a585b5258505c48485f6b577e505c5a60585f5d4858555d585055487d4a5b584c5c7a577e505850585f5a585b5b4d5a295058504b48555058587e5f4d7a5d585a5858505b482a586e7e7e5d5c5c6e787048585a21765e587e4b36582a2d73585c5e58584e6a705b4a48585872585a485853585058547e5b5c5058487e58487c294c575858533650584b5a3636363636363636492d54715a48533650584b5a54507077487f363658415c705b725136366e5f515b5c5b5b5b5a585e5d485c784848535b5860585d5058745c4c5b6a54587e6a7e58605853715f58555a294c57585a585a48735a5069605050487f363658415c705b725136366e5f515d485c5550584f5b5c5e767e584a585a5058547e5b5b584050584c7e5b4a725d5c5a505b50584c6958617e705870585b505850482f48507e5b4a725d5a5a5c5a50584c69586e58715b586e5b5a60585b5058535a3636363636363636492d547e5b68285a5450785c507e767e5860585c486f3636363636363663325d50584b5a54507077487f363658415c705b2f285a5450785c507e72487c295c584d584b5850585c7e5a70585d505872487c6e4b5850585c715b586e5a5a60585f487f58587870585b5058535a585c50585c5b7e7e5b4a725d7c5a5c5a50584c69582a58715b586e5b5a60585e5b512d7e58484c7e5b4c517e585e767e584a5852487e5b5a7e505a587e505a586e556f58585b584050584c69582b7e705a72506e70527d5b32585b6b5048407e5b4a725d40586a715b5a58514b484b5850584f5b29585b685058547e5a4c505848765a587e505a587e545a2e6e5858485e5a585f52485740507e755a54507077487f7e5878605c5150584c6958285871586e6a7e5a4c553636363636363621367e2952587e505a587e505d58585048715a4a5852486f3636363636363663325d48765a587e505a587e545858715a5c525058407e5b29765c4858575858772d7e5a7058537f4a585d50584b4e6b4129705a2950584e484b5850586a7e5b5a585d7f4a505c715f585c485a585f484a5b6850585c7e58725058487e58485e5a585f524854765048507e5b4a725d505a5c5c5d584c5550586d5a5840407e5b5c50367050485458486a7e5a72505b7170585c4873325071586a715a70585c487e5e5e5048487e5b725c5b7860505e50587d525d48585550587a715b7e6a5a485a5852505875205058547e5b5f786d7f4a5053487e5b4d5b5c587e5a705c535d585c555058727e5b5a585d7f4a505c715c50584c7e295850584f5b545e767e584a585a487e5b5a585b584050584c6958637e715870585f5248546e5048485458486a7e5a4c553636363636363621364e584b585829587e5b5c5036705a5c5b5058435b584e6a715b70585c487e5e5e5048487e584a5853487e5e5e715a505348765a587e505a587e5458584f5829585a6e6a7e5a5c5e587e58536150487a7e5b725c584d584b5850584f5b485e6a7e5b5a5853486f3636363636363663325d5058435b32585b6850587d606b4c506e71764b5a585c52587e505a587e505d586e6321485e5a585f524857505048507e5b4a725d485a5c5c5d585c555058755a3636363636363636492d547e5b7058517a68285a5450785c504850555058587e5b5d7a5d585a58585058502a586e7e7e5b4c5e58584e767258586a60585a5858487f215b7a4a505850585c482e585070584c5f367a2a5f5b5841487e585a585b7a2b6a70585c5f687a4c5c5b7d5a5858484b4f6378295c407d5c5c407d486c685d6e505f7f6e2c32506e5b5b2958536b507e4c72585a585c486f3636363636363663325d50486a7e5872553636363636363621367e605c525058507e5b504f5a7e505a587e505a587e505a587f2d54715d4a585c48735a5069295136366e5f6150487e5a485853585058535a54507077487f363658415c705a4c5c5b78295120366e5f575b5c587e5a5c5c5b78295132366e5f535d485c5550585f485058535a363636363636363636363636585054705d5c52587e505a587e505d58363621584f5a585448765a587e505a587e545d36366e5b4b5e294c5c485a585a48765a587e505a587e5a5a5c50482954587e6a7e5828587e5b5c55363636363636363636363621587e60505a48765a587e505a587e545d36366e5b4c5058535a7e505a587e505a586e493636585f5c7b4b484b5850584b5a7e505a587e505a58505048715d4a585d50485c54587e6a7e584a585448765a587e505a587e545d36366e5a5f715f585c485a585d5058535a7e505a587e505a586e49363658504e5c4c584b58487e5871584c52587e505a587e505d7e3636215850482954586e6a7e5d4c52587e505a587e505d5836362158715a5c57487e587158486e5a5a60585d5058535a7e505a587e505a586e49363658504e5c4c584b58487e587158486e5a5a60585b5058605c4c584b5848765a587e505a587e565d36366e587e5d4a585a5058565c4c5b6a715d4c505850485c54587e6a7e5870585d715f585c485a585748765a587e505a587e545d36366e5a5c5048285a585a5c5b5d5850555058615a363636363636363649287e5c485a585f487a585a7870585b5058767e584a585250586948507e407b7c4a585e484843296b416077507e435b5d2b6a4855295c485058436b5048407e5b4a725d605850715a70585f5248495858705c5b5a60585a486f3636363636363663204e5d48587e5b4c5e6e5874767e586058555058547e5a6058554c5a50515e2a727e5b295c5e7d522821696050514848206b5c5a217e5b70585178725c4878605c5e50584c69582e7e5a50486a7e5b4a725d6a585071586e6a7e5b4c5e7e5874767e5a2952587e505a587e505d58585048705c7250497170585d48735e50715a505a487e5b5a7e505a587e555d746f505528585a585a7f4a505c487e58485260585f4843585a7872505850584c69582f7e5a7f4c505850584b5a585b586b50584f5b7e58536850584c69582c7e5a487e5e5e50584c69582c585a48733250715a505c487e587e587250585c5a6a7e5b4c516e584e767e5b5c5058487e587e5b4a725d70585320487e58485260585f487c585b7870585f5248492d584c505b7170585f5248496e584c5036705048705b5c50585058535a585b586b50584f5b29585f6850584b5a585c505850584c6958327e5b7f4c50585c5a6a7e5b4c5158584e767e5b4a725d2b585f5a5840407e5b4a725d29585f5a492d705c507e4b5a585a585a487e58485260585f487b585b7870585c487e5b5a585a585f524849505841285a585b586b50584f5b76585f685058535a585a585f5248562d584c505b7170585f5248566e584c503670504b5a58412970587250585c5a6a7e5b4c5e48584e767e58295049717250585058535a585b586b50584f5b21585b685058535a585c505850584c69582f7e5b50584c69582f585b507e6e7e5b4a725d74585f21507e487e5d5f4a6d7f5a585c487e5f4e6b416120487e58485260585f4840585b7872505b50584b20487e587e587250585c5a6a7e5b7058535058716b78705c5e5877217e5b4a725d7a5a504d487e5e5e507e2d7e5b4a725d70585c705d29505b7170585f52485658584c503670504b2150715b5a2c326e587f4a504c48705a50507e507e5a7252587e505a587e505d58585048705f4c507f705c5536363636365d2d54705b512d705c4a585b487e5e5e507e615a50507e705a605848505b4b4e6b4a5856505b5b4e6b4a585f5248572d487e5e5e505b575a492d705c5058205a492d71217f51615a584129705c29507e705a50487f776e705d70584b4f52297e5d705856505b575a36363636366e325d5071547e584c5036705a504e5058695a5840785c486f3636363621497e6050527f776e705d75786d7f5a585c505b5b327f5a585c505b573250715c7e5a7058487f776e705d60584b4f52285a5050407e5d29507e70504b2150582d7e5d70584948705a5e7f5a50564f68282150582d7e5d70584c486f3636363621497e60504c5058693250715c7e587058557f776e705d60584b4f52297e5d605849505b547e5d5c5532363636365d2d54705c412c21507e204e6b416121507e2c4e6b416e7e5d70585c505b4b3250717a7e5c5a584b7f776e705b5a585a505869327f5a505250586a7e5c2a2c2150715b5a50507e7e5a7058484f68297e5b5a58414f52297e5b5a58524f6828217f5c507e71764b21507e487e5d754a6d7f5a585c5058217e5870584b7f70505a50586a7e5f512c21507e6d5a50507e7e587058554f68285a5050785c7f5a505a5058204c6b4a585a505b5b5a505043215058534c6b416121507e507e5b5f4a6d7f5a505c486f363636363636363621584e584b58505b4f5a5840407e5f7648715f4a585f487d58587870585a5058487e5860584a5c5a6a7e584c50617170585f524857407f4a585f52485748507e5f5a585f526d7f4a5c52487e587e584129715a60585e487f2e36585e765458486a7e5b4c517e585e767e5b5c50367170585a487e5e50715a505a50584b5a58407e705b5a585d505b50485260585b48735a5e50584c69582b712050584c69582b58705d5c50584c6828205048695a585a58547f4a5c5550585c715d5a585e487f3636585e7655507e435b3636215b4d7e4b585058285a7e505a587e505a586e493636585048715d4c505850485c5458486a5a7f70585e48485b525b5c587e5a72505b7170585548733250715a5c5250584b5a3636363636363636492d547e5b68285a5450785c50486e7e5a29505b717e6e5b5a60585e484020364d584b58487e587158486e5a5a60585f484c5b6b5058507e5b5c5c5b5058436b5c516e7e5b4c5c6e78705854505b4c7e5b72516e585e76485560585f484a5b685058547e5c70585f52485758507e507e5b4a725d4a5a50545c5a6a7e5b4a725d565a585f52485476487e5e5e50584c6958605870584c503670504b2050584c69586358705b5a585b487e5e5e507e5f4c6b4129715a70585c50585f205a605c5c50584f5b5c5e767e5860584a487e575a585b586b50584c7e5860584a487e4f5a585b586b50586e7e5870585a5058547e5872505b7e60505b50584b21507e574c5058767e584a585d4f682821507e5c7e5c75407e584a584a4c4b6c6d7f5a505a4f682821507e487e5870585a50584b5a7e505a587e505a586e493636585f487e5860585f524854484f70585b50584c6958617e705b5f407e584a585c4c4b6d616b416e705875786d7f5a505c5058507e5b5c52587e505a587e505d58363621584f5a585d50584c69586e5b4e50585c7e5b4a725d5a5a505d4f70585b5058574b5e2a5e6d7f5a505b5058534c6b416e7e5d4048715d486a7e585a585b576e54585058587e5d4d7a5d5a5a585f487d585a787048585a2e215a58485f36506e5b5b29585b6b507e4872585853585058575b7e50585b4d7e4b5850584b5b505e767e584a585a487e5b5a7e505a587e505a587e493636585b58405058486958607e715870585c5248547e50485c7e58295136366e5f505b5c587e58295136366e5b6b50485454587e6a7e5b5c5c487870585b5058535a585c52587e505a587e505a58363621585c5b7e7e58295120366e507e58295120366e53505e295132366e5f6b5048547e5b5a725d5e5a5c5a505848695861587158486e5b5a60585d48405e587f297657585a585c484c5b6b50585c7e5872505848765a587e505a587e50582c5c5b7e7e5b5a725d4a5a5c5a5058486958295871584a585d487f4a587f72765c485a585d48402a36585e7671586e6e5b5a60585c484d5b6850585c7e5872505848765a587e505a587e50582c5c5b7e7e582951767e41297e582951767e4128525e295e78367e5f685048547e5b5a725d565a5c5a505848695863587158486a7e5b5a585b5058535a585a585d487f3636585e686d48735a5e5c5b7e7e585a585c52485450576e54505058587e5b5a725d585d7a5d585a585c487d5858787048585a634c585058587e584d7a5d585a58585058535a3636363636363636492d547e5b5c506e70527d5b7e50585a7a4a585a48735a5069295136366e5f617a68285a5450785c576e54505a2d2d5b58485736506e5b5b5c5e6a7158485758487c607a6b20215d5048505a485857585058535b2a7b7b716f58435e5d485c7e58725e4e632152325b5c7a5c485a585a487c607a6b20215d4b6e295b50585c7e585d405a5d5a585b5058542b587e715b756a365a6f7e4b5b2a7b7b716f58407e584a7e5a5d5b6a71587e6e5b5a6e6a7e584a7e5a5a5a505848485f294848536150585b5b584157685048547e584a7e5a5d5a585b5258505448485f6b7a4a5c585d585c555a60585b525850505a606e5850585876587e587850585876587e587e585b5a5f584e767850585876587e587e585b5a53584e767850585876587e587e585b5a5f584e76785a6e7a5850585c7e585e6a555a48587e585a585b5c562d5a5a606a5b5841217e585a7e5a585a505b5b5c587e584b5d2e58725f365c5f2c5f5b5c587e585a7e5a585c4c495a6058584848582b587e585548485c55526e5c5b7f60585852585058507e5c5c485a585b5c50585d4841214841724c5c485a5858525850584b48215550585b5b585d405a58586d5b58486a57585c5c585058587e585c5f365c5f2d7b5a2d295b58484b36506e5b5b5c5e6a705b4a485850585c7e58715d6f5870505c484e20575b5c585a485a585c484869575b5c587e585a585c5c5d767e585a5c5d5d585c555058587e5b5b5a4b584c5c5b7870505e5c5f217058615b575058587e5b715b545058587e5b5b582c5a6e575850585c7e58727a5c485a585d50585c48575a585d48485f685048547e584c5c5b78705c5b5d585c555a60585f4848582f5858217e5860585f484820685c5d487e5b4c5c48787048585d6e6a485f6e58552c48485b5b2a217e585a7e5a5b5a58585c5c5476587e5b515b5c5873585c5c487860505a5358587e58705858577e50585058507e585a7e5a5b5a505d577e505c5058507e58295c5b7873405a5a5a58585c5c547e58707e5a5b5a585b5c506e5a5058507e58707e5a5b5c5c5b7873405a5b5a585a5c50725a5058535b5c5e767258582155506e5b5b505e6a705b60485850585848486050505877217e5b295c5078705c5a5877217e585b5a53584c5c5b78705c5e506e5b5b5c5e6a705b4a485850584c7e5b73405a5d5a5458484b5b6b507e4872585a58585c5c547850584b5b7f63405a5d5a585c487f363636362151577e505050584b5b5d5e767e5b5c5c5078715a70584a7e5a585a5c5d50584b5b5c5e7672585a585d505843495b5c587e585b5a5f584a505c5058575b584143535b5c587e5b4a585c48485f29577e505050584f5b5a5e767e5b4c5c5478715b2b525850585048545550584f5b5c5e7672585a585d5d585c5548787a7b5c53405a58586a715b4a58585c50725b5048435b585a5c5d506e5b5b5c5e6a705b5a485850584b5b585d405a5d5a585a4848616850584b5b5d5e767e5a5b5a5c5870585f5b5c587e58707e5a5c5b767e5b4b5b7f504854555058507e5863405a585a585a5058547e5b7476705b73405a5a5a585a5058402b587e487e58715a5d584a585d50584f68577e505850584b5b5c5e7672585a585a525850505a60585b5c506e5a5058507e58707e5a5a5c5c5b7873405a5a5a58585c56295a50585848486058585258505850585876587e487e58725c5c7870505b5c50545a5058587e584b5b2850585b5b5b5e767e58725c5078715b28505858484860585a5c50545b5c514c7e5870585a5258505c577e50585058584870485c7850585876587e587850585876587e587e585b5a5f584e767850585876587e587e585b5a5f584e767850585876587e587850585076587e4870585a585a525850504b6e4b585829587e58707e5a5c5b767e5870585a5258505048485f6b577e505050585076587e7e7e585c7a5758586a5550585076587e585c485a585a525850485e70585a525850585048587e58715a5d584a7e5a585a585a525850587861767e585b58485a605851484a5b68535858555d6e587e585a58585258504050585f68577e50405a617a585058587e5873405a515a585850585c2b5871487e585a585b577e50405a28405b5877215a485a585852585058507e535f5d48585a7f60585a52585040507e547e58707e5a515c405c485a585a50585c7e58707e5a585a7e5a575b5c5a58586e5b5a60585a5058575b5b5e762b58717e7e5860585b577e505850585c554841214841724c57585a58584848582b587e58555a60405b5841215a485a585852585058507e535f5d48587e5870585b5c492d5a4841214841724c57585a58584848582b587e58555a6e7258505858482c585c485c586a6158485f3650585876587e6e70584a5858525850484b7e4b585058587e585a7e5a585a7e5a525b5c58585821555058587e584c5c5c7873405a5d5a585b525850585a607a5b5841217e585a7e5a5d5a505b5058587658715b5e5b5c587e585a585852585058525850725c4858585d6e6a7e584a7e5a58586a48585a58585c49585a50585c482158536348485f635a2d6a5c58484336506e5b5b505e6a70587048585058535b585d405a515a5458484a5b6b507e4872585a585a484b7168507e435b585d7658585a585850585876587e5b5b5d5e6a76587e5b685c55725b50484c7e585a5858525850584848616b5258505878705c5d5872587e5b484b585058547658727e5c485a585850585876587e5b5b5d5e6a76587e5b68525853505c50405d5a6e53585058587e585a7e5a585c5c5478607e5a585e7676587e4b5b7e5a5b614b48295850584b5b5e5e76705860585850585876587e5b5b5d5e6a76587e5b685c58217e5861586050487a7e5861585650584b5b5c5e767e585b5d58584a5c5d50584b5b5a5e7648714854715b4857585872587e5860585f5c5d5f5f5d48587e5b295e586e58587e5861587f5c5c4b5f5d48587e586158705e7e6e5b5a6e6a7e5860585f5c5a435f5d48587e585a5858525850584848616b5258505878725c5e5c50585b5a60585e5058587e585a7e5a585c5c5478607e5a585e76486c485c2f5858585458486a7e58295c5c5c50585b5a60585c484a5b685358587e5b70295858584b585058535b5c5e76705b5a585850585876587e5b5b5d5e6a76587e5b685c58217e5b5c5150716e5c48435a5c5d5058535b5a5e767e585b5d58584a5c5e50585048714854715b4a585d50584076587e587e5b4a7e5a585a585850585876587e5b5b5d5e6a76587e5b685058535b515e767e58725c4c7870585d52585058525850485c484c585e70585c5c582d7e584853365058507658714b5b7e505a587e5171505b5c587e5870585a5258507a48484b60577e507a48405a587e505b2d5d585c555058507658714b5b36363636366e7d525b5c587e5870585a5258507a48484b60577e507a487f3636363621515d585c555058507658714855577e50585058587e585a7e5a585c5c5478607e5a585e767e58707e5a515b5a5858486a7e58725c7e787048585a636a5b5841217e585a7e5a5e5a505a505858765871615e5b5c587e585a585b5c5e4c7e585a7e5a585a7e5a575b5c5a585821555058587e58725c5b7873405a5e5a585a50585c2f5858587e584b5b755a63545b5841217e585a7e5a5d5a505b5058587658715b5e5b5c587e585a585852585058525850765c4858585d6e6a7e585a585b48485f68577e505450585c6a5858584843486a6958485f3650585876587e6e70584a5858525850484b7e4b585058587e585a7e5a585a7e5a535b5c585858215550585c6a5858584843486a48585a58585c495c5a50585c482148536348485f635a2d295b58485f365872587e585a7e5a5b5a505b50585c76587e5b5b5d5e6a76587e5b68525850404b48295850585876587e4870584a585b525850584848616b5258505878715a2c584c4c57585a58585258505c507e5c7e584a7e5a585c5c5478607e5a585e7676587e4b5b7e5458587a4c4c57585a58585258505c507e5c7e584a7e5a585c5c5478607e5a585e767658717e487e6e575b7f297a57585a58585258505c507e587e585a7e5a585c5c5478607e5a585e695b584b5a5858486a555d6e587e585a585852585058525850405c4858585a284c585058587e584d405a5b5a58584848582f5858587e584a585b525850584848616b5258505878715a2c58484b5850585c7e584a7e5a585c5c5478607e5a585e767658727e5c485a585b50585c76587e5b5b5d5e6a76587e5b68525853505c50405d5a60585848485c2f58585855505858555a6e587e585c5c58577e5058505858557b7e5c5a7f605458484b5b6b507e5c72585a585850585876587e5b5b5d5e6a76587e5b68525850405b5c585a485a585b48487168505858487158547058702958585c4c57585a585850585876587e5b5b5d5e6a76587e5b68525850405c50545d484120515d48587e585a5858525850584848616b5258505878725c5b5c50585b5a60585a5c50505d5a60585b484b5b68535858555a48587e585b5d75584b58485a6e485848412155617e7e5b5b77217e585a585b52585858507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a70505f577e50585058587e584a7e585b5a505d484b71295058575b5a514b5b7e505d215b2a5f605058575b5a51435b7e492d5d7a4a585d484b712b7a7750705b73405a5b5a585850585c7658587e7058295c407d5a585d4848712948405a5836587d617a70585d4848712b48405d32582a5c7e58295c407d775360507e7a2b587e7e7e585a585b52585854507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a70505c577e50545872587e58725e58584c405c485c5c585048545d485a585850584b5b5f77435b36587d614840585078702958584a585c48482c2b487f6e517a4c5e585a5e7676587e5b5b5a514b5b7e505a587c515c7e5b41547e5b5c5c5e7d7251215b2a5f5b7e5871685548585a484b5b297a60585c487f215b7a4c5c5a7d5c5e585a5e766d58585f5b5a514b637a60585d4840587878702958585c5c407d5154705b4d405a5c5a585850584c7e5b7754705b73405a5f5a58585058407e5b2a54705b63405a5e5a58585058487e5b2a54705b5d405a515a5858484b5b6850485b5b5a705c5b5058575b584e767058295c524b6e29585a6e6e5b5a60585850585c76585b587058295c407d5a585d4848712948405a5836587d617a70585d4848712b48405d32582a5c7e58295c407d775360577e50485058587e584a7e585f5a505d484b71295058575b5a514b5b7e505d215b2a5f605058575b5a51435b7e492d5d7a4a585d484b712b7a7750705863405a5f5a585a487a585b4b7e4b5848485871584857585058587e58295c4e7d7251215b2a5f5b7e5871685548585b5058575b5d77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585f7a60585d4848432b487f6e517a4c5e585a5e766d5858535b5c514b635058575b366e5f61484853294840585078702958584c5c507d51576350585f5b7e5b696855485858484b71297a60505f577e50405058587e5b4a585e7a60505e577e507a5058587e5b7058517a605051577e507e5058587e5b5a58517a60505c577e507250585f5b5b29405c485c5c545d6e4c7e585a58585258504850584b63507e502b58707e7e585a585a50585763507e542b58706e7e584c5c5b78705c5b50585b5b5e5e767158586e5b5a6e585558586a7e585a585b52585840507e575b5e51487e58295c507d5c5e587e496e517a41507e58295c507d725e58367e57615058575b5e5143607a73405a5e5a585850585c76585b6e70584c5c407d5a585b4848712948405a5836587d617a70585b4848712b48405d32582a5c7e584c5c407d775360507e542b5871615b7f605c5b5058535b7e5853515d485b5b585a5c5a48482d71584857585058587e58295c4e7d7251215b2a5f5b7e5871685548585b5058575b5d77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a4a585f7a60585d4848432b487f6e517a4c5e585a5e766d5858535b5c514b635058575b366e5f61484853294840585078702958584c5c507d5157635058535b7e5b696855485858484b71297a60505f577e507e5058587e5b4a585e7a60505e577e50725058587e5b7058517a605051577e50765058587e5b5a58517a60505c577e506a5058535b5b724057584a585850584b5b366e5f61484853294840585078702958584a58585258504850584b5b5f77435b36587d614840585078707e5a585c5c507d5c5e587e505b2d7a41547e5b5c5c567d7251215b2a5f5b7e5871685548585a484b5b297a60585c4848432b487f6e517a4c5e585a5e766d58585f5b5a514b637a605050577e506e5058587e5a5a58585258504c7a605050577e50295058587e585a7e5a5e5a58507a605050577e502d5058587e586058507a60505d577e50215058535b584e767158705858484a5b685048585458586a585a60585b5a602d585058587e585a7e5a585a7e5a535b5c58585c5f364b7e4b58484121495a60585850585876587e6e70585c5c5b7873405a5d5a5858555858585c5e4c555b585b5b7f6e6c3658485c5c7f605458484b5b6b507e4872585857585872587e5870585f4d5829585872587e585a7e5a5d5a505d50585876587158705b72725c485a585c487f363636362151577e50545058487e5b70585d7863405a5a5a585c5058507e5b4e6a2b587e487e5b5c5c547870585c4848716850584b5b5b5e76486c7e5c486c7e5c715860585b50585876587e6e7e58607e5a585a505d5c5f4c7e585a58585258505450585768577e50545d585c555058587e585a7e5a585a7e5a525b5c58585a505d4841205e5d485c7e584a585d5c536e5b567e585848485c71586e6a7e584a585d78705c5b5058547e5b4e76715b486e5b5a6e6a7e5b5c5c487870485850584c555a48587e585c53365c556a5b5a6e725850585b5a7f615a2e58486a5c585a58585a6e7258505858486f585c485c586a50585a58585c512d485c586a51585a5858525850545a615858506e587e585e6d5b7a515c70585a4858505858555b7e587e585a48585a6e4858506e58555d58587e585b5d5b584b767e585b58485a6e7258505858486e485c485c586a5f585c51325e6e6a7b585a585850585c76587e7e7e5b4b58325b5c587e584a585a5058547e5b5b5d5c58486a555658587e585a585b5258505050584c48497e4b5850585c7e5870585d5058484861585c495a60585852585050507e587e584a585a5058547e5b5a585f50585876587e58765871484b5a485855757e505b5b77217e585a585b5258505050584c48497e4b5850585c7e5870585d5058484861585c495a60585b5548582850487a7e585a7e5a5d5a5c5e50585f5b585d7658574a585b5548582950487e7e584c5c58567e582950585b5b5c5e76705a4a585b5058507e5860585c50584c486e7e5c7e5b60585b55485828507e696050487a7e5a5a585b55485829507e6d6050487e5a485a585e484853505d48587e5a4a585e4848572978705c5350585b5b5e5e76715b7e575850585c6d585d40575848535850586a5c485a585b5258504048485f5e5d48547e585a29585a5c5c5a7a48295b5d5854555058695f5d48587e585a29585a5c5c5b7a4c4c57587e6a7e584c5c58566e5c295058407e584a585a5058547e5b5a585f5c54505b50585c6d585d4c705a7058517a705c5150585c6d585d48705a6058507a705c505058435b5a5e76705b7058534a4829585a6e6a7e584a5851487f215b7a4c5c584b637658574a585b5058715b366e5f6148485b51567e58295a2c505b585a585850585c76587e7e7e5b5b58325b5c587e584a585a505854486e6e5c495a6e53585058587e584a7e5a585a585c5c5d2c5f5d48585a485a585a50585c7658715b515b5c587e584a7e5a5f5a585a4b6e295b5a60585d48485f515d485c7e584c5c5b577e507e5d6e6a7e584a585a577e504c50585c7e5863405a505a585b50585c765870715b584e762b58707e5a485a585b5258507248485f515d48587e584a7e5a5e5c5c5a4b6e295850585f5b584d7658577e6a7e584c5c5c577e506a5a6e6f635848587e585a585b5258505050584848497e4b5850585c7e5870585d5c54545b5d6e6a5a485a585850585c76587e587e5b5b58325b5c585a485a585a50585c7658715b515b5c587e584a7e5a5f5a585a4b6e295b5a60585d48485f515d48507e584c5c5b577e507e5d6e6a7e584a585d577e507e5872587e584a7e5a555c5c5c4b7e295850585f5b585d6a5b575a585852585050507e587e584a585a5058535b584a585c50585876587e58765871484b5a48587e584a295857484b5850585f5b5863405a555a585b554858294b48295b5d58545550585f5b5b5d405a55586a7e584a585a577e504c50585c7e584a7e5a525c5c5b7873405a525a585b5258507248485f515d485c7e584a7e5a5e5c5c5a4b6e295b50585f5b584d7658577e215550585876587e7e70585a585b5058507e5860585c50585876587e587658717e4b5a7e58555a2c295c584857365058587e584a7e5a5a5a585c5c5d2d5c485a585b5058507e58615d5d584821555872587e585a585b5258505850584848497e4b585872587e5870585b525850484b6e4b5850585c765871487e58727a5758486a7e58295c5b4b6e295a50585f5b584d405a5058215550585c7e5863405a505a585b5258506a48484b515b5c587e585c5c487870505f50585876587e615b582a4b6850487d5b585a5c5d50585c5a7f6e53585829585a485a585f50587d495d48587e584c5c58566e5c2950584c7e584a585a5058535b584a585c5c54505b50585c6d585d40575858535850585c6d585d4f5f5d48587e584a295857584b5848485c715860585b5258504048485f5e5d484b5b584a5c5e5058586d5858715b58775c5758486e5c5a295c5b5048407e585a29585a5c5c5b7a4c4c57586e6a7e5b4c5c5078705c5f5d585c555a295c5c5058435f5d485c785a295c5d5a63405a555a585d48485f615d48505550585c7e5873405a5f5a585b50585c765870715b584e762b58707e7e584a7e5a535c5c5b4b6e295b50585c765871715b58727a57584a585b48485c2f585d40495a6058585258505450484c7e585c5c487870505e50585c7e5870585d5058484876585c7e5b4c5c5a4a5829585058407e5b4c5c5d7d5e76715b705858484b716850484c5a485a585852585050507e5b5b58775f5f5b5c587e584a7e5a535c5c5b4b6e295b5a6e575850585c6d585d40575870585f50585c7e5870585d5058484876585c7e5b4c5c507870505f505843535d4858555d585c5550585b5b58415f5f5b5c585d485a585b5548582b5d48507e584a7e5a535c5c5b4b7e295a50584c7e584a585a5058547e5b5b5a7e584a585f48487168507e4c7e5b72725758586e5a5a6e58555829587e584a2958577e295b50585c7658704b5b584c405c485a585b5258504048485f5e5d48505550584c7e584a585a5058547e5b5b5a7e584a585f48487168507e4c7e5b72725758586a555a6e7a5850585876587e48557b6e5c5a7f60585850585c76587e715b585b58325b5c587e584a585a50585448617e5c495a605858525850545048487e585c5c487870505f50585c7e5870585d5c49585b5872587e5b5c5c5a4a58295850584c7e5b5c5c5d7d5e76715b5a5858484b71685048585d485a585850585c7e5870585d5c49585b50585c6d585d4057584a585848487168507e587e5b5c725758586a555a6350585058587e584a7e5a5a5c5c585c5d2d5c485a585b5058507e58615d5e5848215550585876587e7e70585a585b5058507e58605858525850585258507a5c487e585a6172585058587e584a7e5a5a5c5c585c5d2d5c485a585b5058507e58615d5e58486a556c7e545b5b412173585c5f587870505c5358585a7f295c5b5058587e584c5c585c5d2d57585b695b585a585b4b4829585e705458484c5b68507e5472585a585b52585058507e4f5b5b5e6a76587e58715b70585f4848716b5258505850487a7e58295c58577e504c5058575b6b492958577e50485058547e584d405a5d5a585d487d6320585d405a5a5c5c5850484c7e58295c4078725c58484a7a484b71767e584a585178705c5b5872587e5b72517a36485b5b585b58325b5c587e58295c5b577e502d5058407e58295c507870585b50585f5b584c5c5850584076587e58765871484b5a48587e584c5c585058547658705b5b584c407b50484c5458486a7e5b70585d4848716850585f5b584c5c5850584076587e587658717e4b5a7e585a485853585058547658706e56587e585b587e6a7e58607e5a515c5c58505854765870715b584c407b4848587e58607e5a535c5c5b4b716d5b585a585d5258506e48485f5e5e605c5f5d585c555058547658705b5b584c7a5c485a585d5258506e5d485c7e58607e5a535c5c5b4b6e295b505854765870715b584c7a5758486a7e58607e5a5e5a5c5f5a60585d484c5b6b53585b5b585a585f507e5f5f5d48587850584b5b5a5e767058295c5c7a725c58484d48484b71767e5b5c5c5b577e502d50584b5b7f63405a5f5a585c5058582b5871587e5b5a585b577e505050585c7e5860585a5258505848485c7e584a7e5a585a7e5a515b5c50585a585c5258507e507e5b5b584c405c485a585a5058487658717e2b587e585550585b5b584c40555048587e5b5c5f5878604858505858555b4858485f6e5855586e58585a6e7258487d6052584b58525e7e6a6f58585358487c7052584a2958585c5c5b7a482958487c7052584b58724b482958487d6052584c517e2848584871585f5b2f50765b5c5a5455487d605258486a53585c5154707e5c485a717655557e585a485c5140707e5c6d58585b5b58415c57585c5140707e5c48535c4c57585c5154707e5f5b2f716a484f5b695b2b50765b5c5a5455487a605258486a53585c5e21707e5c485a717655556e585a485c5150707e5c6d58585b5b58415c57585c5150707e5c48535c4c57585c5e21707e5f5b73574c585c50485b487a7052584b58735a295e21707e5c555a485b5b6b50765b5c5876785a602d5858725b5b6c50765b5548585848485f615d485b5b6c50765b5c5a4b5f5d485b5b6b50765b487d6e7d5c5f4878487b7052584b58735a295e6a707e5c555a485b5b7750765b5c5876785a60215858725b5b6850765b5548585848485f615d485b5b6850765b5c5a4b5f5d485b5b7750765b487c734c585b5a5c584c5e76707e5c48506e6d5b7750765b5a6e725848406052584b58525e7e6a6c5858535848437052584a2958585c5c5b7a48295848437052584b58724b48295848406052584c512a514b5b4c5e725e40707e5c48506e6d5b7350765b5a6e7258487f6053584b58525e7e6a6f5858535848407052584a2958585c5c5b7a48295848407052584b58724b482958487f6053584c515c2858584871585f5b7050765b5c5a5455487f605358486a53585c516a70485c485a717655557e585a485c512d70485c6d58585b5b58415c57585c512d70485c48535c4c57585c516a70485f5b2c7176484f5b695b3250725b5c5a5455487c605358486a7b585c5176727e5c715858575850585b5b5d5e6a485a705058487d5a4a584c7a5758586a557f48585a485c517670485c6d58585b5b58415c57585c517670485c48535c4c5758585358487c704a584a2958585c5c5b7a482958487c704a584b58724b482958487d5a4a584a5c585829587e585b5b5148486168507e5b5b2f53505b4b6e29585a295176727e5c48506e6d5b2953505b487f5d2e585b584c487d604a584c5121326e58485f5c517270485f5b2953505b577e5058487c7053584b58735a29517270485c76587e58555e6e5b5b6053505b5048585d485a58584848616b5c587670585c5e6e727e5f515d4858555a2a6a5858725b5b2d50725b5548585848485f615d485b5b2d50725b5c5a4b5f5d48585a485c5150727e5c6d58585b5b58415c57585c5150727e5c48535c4c57585c5e6e727e5c7158585758505858485c4c5c5478705058487a704a584c7a5758586d5b6053505b5c5a5455487b5a4a584c5e515171584f487b604a584c5e5c5171584f487d6053584c5e6e727e5c2b587e5b5b2d50725b5c5a5455487d6053584a7e5a58586a7b585c5e7e727e5c715858575850585b5b5d5e6a485a70505848405a48584c7a5758586a552b48505858725b5b2b50725b5548585848485f615d485b5b2b50725b5c5a4b5f5d48585a485c5e7e727e5c6d58585b5b58415c57585c5e7e727e5c48535c4c57585c5e5872585c7158585758505858484b295c547870505848785a4a584c7a5758586d5b7653505b5c5a545548405a48584c5176206e58485f5c5e5472585f5b70497e585c5b4b5b7453585b4878632d585b584c48784a48584c515c325858485f5c5e6e72585f5b2a497e585c5b4b5b6f53585b487c632d585b584c487a7048584c5e58324858485f5c514c72585f5b754972585c5b4b5b2d53585b487b5d2c585b584c487c6048584c5140324858485f5c512d72585f5b324972585c5b4b5b71535c5b4843632f585b584c48435a4b584c5158327e58485f5c5e7a72485f5b294976585c5b4b5b68535c5b487c5d2f585b584c487b4a4b584c516e327e58485f5c515872485f5b2a497e585c5b4b5b63535c5b48405d2e585b584c487d704b584c5e48326e58485f5c517272485f5b76496a585c5b4b5b21535c5b487b5d2e585b584c487f604b584c5158326e58485f5c5e50727e5f5b29496a585c5b4b5b7553505b487c5d2e585b584c487d4a53584c5e5872585c2b587e5b5b2b50725b5c5a5455487d4a53584a7e5a58586a7b585c516e736e5c715858575850585b5b5d5e6a485a705058487d5a57584c7a5758586a556e48505858725b5b2950725b5548585848485f615d485b5b2950725b5c5a4b5f5d48585a485c516e736e5c6d58585b5b58415c57585c516e736e5c48535c4c57585c514873485c7158585758505858485c4c5c5478705058487f5a49584c7a5758586d5b2150215b5c5a5455487d5a57584c5e7a5e71584f487d6057584c5e4d5e71584f487c7057584c517e515b584f487f4a57584c514e515b584f48405a56584c51705e71584f48406056584c5155514b584f48437056584c5e725e71584f48784a56584c5e4c5e61584f487b5a56584c5e365e61584f487b6056584c5e6c5e61584f487a7056584c5e2b5e61584f487d4a56584c51535e61584f487c5a56584c5155515b584f487c6056584c5140514b584f487f7056584c51705e61584f48404a49584c5e735e61584f48435a49584c51705e71584f48436049584c512f5e61584f48787049584c5149515b584f487b4a49584c5174515b584f487a5a49584c51745e61584f487a6049584c5e7b5e61584f487d7049584c5e545e61584f487c4a49584c514c514b584f487a6053584c514873485c2b587e5b5b2950725b5c5a5455487a6053584a7e5a58586a7b585c515073485c715858575850585b5b5d5e6a485a70505848785a54584c7a5758586a5520485c5858725b5b6050725b5548585848485f615d485b5b6050725b5c5a4b5f5d48585a485c515073485c6d58585b5b58415c57585c515073485c48535c4c57585c5e7e73585c7158585758505858484b295c5478705058487a7057584c7a5758586d5b6050295b5c5a545548785a54584c5e4c204858485f5c5e6a73585f5b6a494c585c5b4b5b6c506e5b487a6328585b584c487a4a54584c516a204858485f5c514873585f5b754940585c5b4b5b2a506e5b487b732b585b584c487c7054584c514c207e58485f5c512973585f5b324940585c5b4b5b7e50295b4840732a585b584c48406057584c5e40206e58485f5c5e4073485f5b68497a585c5b4b5b6950295b487b732a585b584c487b5a57584c5150206e58485f5c5e2173485f5b2b497a585c5b4b5b6150725b48785a54584d405a585c515070485c48506e6d5b6150725b525850585a616a5848437054584a5c585829587e585c5c5478615852507e5b5b2150765b4b6e29585a6e6f775848585a485c515870485c6d58585b5b58415c57585c515870485c48535c4c575858535848437054584a2958585c5c5b7a48295848437054584b58724b482958487f5a52584a5c585829587e585b584b48486168507e5b5b74506e5b4b6e29585a295e4073585c48506e6d5b2150765b487a29785c5b4f5b3650765b487d48785c5b4f5b70506a5b487b50785c5b4f5b75506a5b487b76785c5b4f5b76506a5b487872785c5b4f5b6b506a5b487d6a785c5b4f5b6c506a5b487a48785c5b4f5b61506a5b487f407b5c5b4f5b29506a5b487a547a5c5b4f5b2a506a5b487a5c7d5c5b4f5b2f506a5b487d587d5c5b4f5b20506a5b4843587b5c5b4f5b7e506e5b487d6e7a5c5b4f5b73506e5b4843217b5c5b4f5b6f50725b487f5a52584d405a585c515870485c48506e6d5b6f50725b525850585a6e6a5850585b5b6b5748585c50485b5a6e765850585b5b614b29484f5b76555a6e587e585c5e402858584871585c555a7e587e585c5e21514b5b4c5e7e6a54585a585850585f5b5c5e764829485c555d58587e585a585b484861685c575c5b5a6e7a585058586a585872555b6e587e585a6e585a586a53585a58585c50405a5c5b58555a48587e585b5a51587158485a32405d58484f3650585071585857585872587e5b5a58504d4a5858505857497a7e29585058586a585858705b72513658415c71584853585058435b585c2d5c485c5c5b5048407e584c5136362154584d48295b5d58505550585f5b6e7e5f535d485c7e584c517f584c295c485a585d50585b6b484853505d48507e585a2958584a505f487a585b7a4c5e58584c7a5758725c5a5048407e5b4c5c367a4a585b48484329487a58497a41535b3636365d585c295758486e5a5a6e53585872587e584c516f584c295c485a585d50585b6b484857505d48487e585a295858705c515058586d58585c715b4a585b487c295b4b7e295b50585f5b2d585f5e5b5c587e5b4c517e58415f5b76585f5e5d4854545b486a7e5b4c515858415f5b7e585f515d484854587e6a7e5860585878295c5c4a5a585b487f485b4a2a5057586058585548585d50487a7e585a295858705c535058586d58585c715b4853585872585a4858535850585f5b21585f6b5d7e4c58587e505a5848505550584f5b21585b68487f215b7a4c5c6e4a48295a5d58405550584f5b21585f614840585b4b7e295b5d584c5550584f5b6e585f614840585b4b6e295c5a605853487a585b7a4c5e58584c7a7e5b29515858415f5b7e585f517a7e295d484848715b705851484d20615058755b5b774b5b6e5b206150585f5b5c774b5b7e505d6e58515c7e5b4c5c367a4c5c547d5153607a725136362154584a6e295d5d58505550584f5b2d585f614840585b4b6e295a5a605851487a585b7a4c5e58584c7a57584c5c5d5048407e5b295c367a4a585b4848612948405d7e582a5c7e5b4c5c367a4c5c5e7d515360487f36366e6e5b555d485c555058715b584e76715a5a5858505843685048585458486a555058587e58746a552d7e485b5b412173585c5c48786050585358587e585a585a577e50545058587e5b4d405a5a5853365058587e5873405a5d5a585850584c2b587e7e5a485853585829585a485a585852585054507e507e58292157585a585852585050507e6e7e5b722157585a585a55585858507e4f5b366e5f6150485c5a485a585f48485b565b5c587e584c5136362154584d484b5848485c715b486e5a5a295c5a5d584055484850715a70585b487a505b4a48295d50585f5b2a6e5f575b5c587e5860585a78295c5a4a58295f5058506d58585c705a5c515858415f5b7e585f515d484b5b58705c5f5058715b492a5c7e584c5c5e7d5c51585d2a5f60507e5f5b3636365d585c295758486e5c5a60585b487c215b4d484b585058547e58746d5b58297e575b4a585a5548585a5048727e58702958584a5c505872585a485a585b487c295b4b6e4b5850585f5b2d585f515d485c7e5a5c517e58415f5b76585f5e5d4850545b6e6a7e5a5c517e58415f5b7e585f5e5d485c545b7e6a7e5a5c515858415f5b7e585f515d484c555058755b6e585f614840585b4b6e295c484854715b4a5853484d206150585f5b5d514b5b7e56585d7a4a5850484d2061484843297a775070584c5136362154584d48295b5d58485550585f5b20585f555d48547e5860585a78295c5c4a58295c5058506d585854715a4a585a5548585a50486a7e58702958584a5c505872585a485853585872587e584c516e584e6a565b48585a587e505b587e6a7e5a5c516e585e695b366e5f61484d5b535d4850545b7e6a7e5a5c516e58415f5b7e585f5e5d485c545b486a7e5a5c515858415f5b7e585f515d48485550586d5b6e585f614840585b4b605853487a585b7a4c5e58584c7d605d48575b5b5a5c5f5058755b492a5c7e5a295c5e7d5c5158512a5c7e584c5c4a7d5c5e587e4958587a4a5850484d2061484861297a775360507e5f5b3636365d585c6a57586e6a7e5d5a585b577e50585058587e5870585f7873405a5d5a585850585876587e715b5b5e762b587e7e5458486a555058507e582972715a7e6a7e5a7e6e5b5a295c5b5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c55737e4858506e5b5b5c5e6a70585a48585058587e5873405a5d5a585850584c2b587e7e5a7f6058585058502b587e6e7e585a585f577e505050585876587e6e71584853585829587e584a585d4d6e4b5848485871587e6e5a5a295c5a5048507e584a7e5a585a505b48405b6e7a4c5e586a58575e50585f5b3636365d585c6d605d485c5a4858535850585f5b366e5b575b5c5b5b584a5c5a5058407e585a7e5a5a5a505f78295c584d58295c5058587e5b4c5c5b7873405a5a5a585f50585c2f5858585458486a7e584c51365d29295c485a585e50585876587e7e7058746d5b58727e57587058585058535b584e762b587e7e7e5870585b4848432b487a585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585d585c555058407e585a7e5a5a5a505a78605c5f50585f5b3636215d4d484b5850584f5b58297e57587058585058535b584e762b587e7e7e5870585b4848612b487c585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b5b77435b492a5f5b7e585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c367a4c5e585841502f5858585458486a7e5b4c5c5c4a58295b5058587e58725c5b7873405a5a5a585a50585f5b5c77435b21585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c547d725c367a4c5e585841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b4848432b484d20614840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585a60585850585876587e615b5b5e7670584d405a5d586e5b5a6e6d5b58486e5b5a60585a5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c552e7e545b5b51217e58705c585829585a485a585c505843575058587e582920605d48587e585a2958585a505b487f36366e6e5b555d48585a7f60585848485f6850585f5b5e514b5b5e514f5b585c2d57585b767e584c515a584c7257584a585b487d215b4d484b585058547e585e6d5b58727e57587058585548585b507e4f5b6e585f614840585b4b60585f484d206150585f5b5b774b5b6e5820617a725136362154584a2a505758705858484853685d585c555872585a485a585b487c215b4d484b585058547e585e6d5b58297e575b5a58585548585a50487a7e585a2958584a5c5f50585f5b2e485f5e5d485c7e584c517e584c405c485a585f487c585b7a4c5e7e584c4057586e6e5f5a60585f487a585b7a4c5e58584c7a575b586e5a5a60585d50585b6b48484b5050585f5b20585f557a70585c5058436b484853537a7e295d5058586d585854715b6058585548585a50487e7e585a2958584a5c5f5872585a485853585872587e584c516e584e6a565b48585a587e505b587e6a7e5b4c516e585e695b366e5f61484d5b535d4850545b7e6a7e5b4c516e58415f5b7e585f5e5d485c545b486a7e5b4c515858415f5b7e585f515d4848555058715b6e585f614840585b4b605851487a585b7a4c5e58584c7d6050587d5b492a5c7e5a5c5c5e7d5c5158512a5c7e584c5c4a7d5c5e587e4958587a4a585f484d2061484861297a775360487f36366e6e5b557a7e295d5058435b584e76715b70585848484b685d58505550584f5b2d585f614840585b4b6e295a5a605851487a585b7a4c5e58584c7a7e5b295c367a4a585b4848612948405d7e582a5c7e5b4c5c367a4c5c5e7d515360487f36366e6e5b557a7e295b50585b5b582b76555048587e5b725c5b78705c5e5d585c555a6058585058536b5a20545f58484b36506e5b5b5c5e6a70585a48585058587e5873405a5d5a585850584c2b587e7e5a7f6058585058502b587e6e7e585a585f577e50505872585a485853585829585a485a585852585054507e5c7e58292157585a585852585050507e4c7e5b722157585c5c5a5048767e584a2958585a505a487f36366e6e5b555d48487e585853365058535b5e514b5b5e514f5b585c2d5c485a585f5058502e5848587e584c5c5b787e6e5b5a60585a487a505b4a48295f5058535b2a6e5f575b5c587e5860585b78295c5a4a58295f50585c6d58585c705a5c515858415f5b7e585f515d48487e5a5c5c367a4a585a48484329487a58497a41507058725136362154584a6e295c50584c7e58736a5b585a585b484853685d585c555058535b2e6e5f575b5c587e5860585b78295c5d4a58295f50585c6d585850715a4a585b5548585b50487e5a485853585058535b2e485f515b5c587e5872517e584c7a57584a5850487c585b7a4c5e7e584c4057587e6e515a605850487c585b7a4c5e58584c405758486e5e5a605850487a585b7a4c5e58584c7a575b486a7e5a4c515858415f5b7e585f515d48487e5a4c5c367a4a5850484d2061484843295058535b5d514b607a70505a487f3636582a5f5b3636365d585c6a575b5a585f5058502e5848587e584c5c5d787e6e5b5a60585a487f485b4a6e295f48485c715a70585d50585f6b48484b505d48547e584a295858605c5350585c6d585850715a5a585b5548585b50485c5a485853585872585a485a585a487f585b786e2d5f5858505a587e5c5a5a60585b487f58587872513658415f5b545c21575a586e5a5a60585b487f585b7a4c5e58584c7a575b6e6e5b5a60585b487a585b7a4c5e58584c7a575b7e6a7e5a5c515858415f5b7e585f515058755b6e585f614840585b4b2a50575b4a585e50584f6b48484b505d48575b58705c525058755b492a5c705a4a585048484329507e6d5b6e5b206150585f5b5d514b5b7e5658497a4a585a48487d61507e535b5c774b607a77535b3636365d585c6a575860585f5058715b5b51435b582a5c7e584c5c5a7d5a505b487a585b7a4a585a484871297a70585b484d61617a77535b6e49215878725e586a585760566e5c585058587e5b4c5c5a7873405a5a5a585f50586d5b6e587d615058756048405a2d582a502e5848507e585a7e5a5d5c5c5c787e6a2b587e6e7e585a58585258505048485368577e50505d585c555a60585b505857535048765550587654587e6d5b58486e5b5a295c5a5a605c5b5058487e585a7e5a5d5d405a585a585150585876587e7e2b587e587e585c5c487870485850585c55327e4c5b58412173585c5c48786050585358587e585a585a577e50545058587e5b4d405a5a5853365058587e5873405a5d5a585850584c2b587e7e7e585a7e5a5d5a5c5a5872585a485857585058507e5829215c485c5c5850484c54586e6d5b58705c5f5058506f58485870584c5136362154584a6e295a5872585a485a585b487f21584d484b5848485c715b4a585e50585876587e7e7058746d5b585c6e575b4a58585058535b584e762b587e7e7e5870585b567e58585d585c5550585f5b366e20575b5c587e5b70585852585050507e536b484853505d48487e585a585a48485f68577e50505058507e584c5c5e7d7251585841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b484d20614840585b7a73765858586e5b5a60585b487f326f5829295c485a585e50585876587e7e7058746d5b58297e575b5a58585058535b584e762b587e7e7e5870585b4848612b487c585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b5b77435b492a5f5b7e585f60567e58585058587e585a7e5a5a5a505a48485f68577e50505058507e584c5c367a4c5e585841502f5858585458486a7e584c51366d6e57575b5c5b5b584a5c5f5058547e58746d5b5b5c7e575b4a585a556e5c5a507e715b7e497e5d7a4c5e586c5857515d48507e5b7058585258505078295c5c4a58295f5058715b366e7d6150585f5b5a774b5b7e497e5d7a4a585b487a58517a4a505f484869297a77535b7e50585c78725136362154584a6e295a5058587e58725c5a7873405a5d5a585850585876587e7e7058725c5b7873405a5a5a585a50584f5b5b77435b584e767058725c5a7d72516e5841502f5858587e585a585852585050507e4f5b584e762b587e7e7e5b4a585a48484b29484d5b6150585f5b5877435b5d2a5f604840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a5058715b5b77435b5d2a5c7e584c5c5c7d5c5c6e7a41535b7e585f60567e58585058587e585a7e5a5a5a505b48485f68577e505050585c7e5a5c5c367a4c5e585841502f5858585458486a7e584c5e586e5857535d48487e5b70585852585050507e536b484857505d48547e585a585a48485f68577e50505058507e584c5c547d72517e5841502f5858587e585a585852585050507e535b584e762b587e7e7e5870585b4848432b484d20614840585b7a737658585a585850585876587e7e7058725c5b7873405a5a5a585a50585f5b492a5f5b7e585f60567e58585a60585850585876587e615b587476705873405a5d586e5b5a6e6d5b587e6e5a5a295c5b5d585c5550584c5550485c7e5b5a585852585054577e505850587a7e585a7e5a5a5d405a585a5858484b5b685358587e58486a4f585a585852585050507e5b5f5b5c5b5b5848215550585848707e505572585c5b5b77215d485853585058507e5829407e5b5a58504d415057585c5c5b50487a7e585a7e5a5a5a5c5f506e5b5b5c5e6a705b7048585058407e5b4d405a5d5a585e484871685058435b5d5e76484c705c524848587e5870585d5058536b50585f5b6d507a5b50585c7b5c557a5b50484c7e5a715b4b5058435b5c5e7672585853585872587e5b4c5c5a787e2d5d587e505b58586a7e5b4a5c515a60585048485f6850487e7e5b60585378705c535058507e5b2b7671587e6e5b5a6e6a7e5a486d745848573650585876587e7e7158705458484b5b6b507e5c72585a585b5058502b587e6e7e584c5c507870585b484861685c5f507158705458484b5b6b507e5472585a585d484b5b6853585b5b585a5c5d505850484c4a585b484b5b685358587e586e4b364841215f50585876587e7e70585c4c5c485c5c5b5d6e6a7e585b5a5258725c5b4b7e6a55727e5c5b58412173585c5c487860505f5358587e5b5a585a577e50585877205b5870585f484861684848587e585a7e5a5a5b5d55584a505848485f68484853535d48587848485c7e585c5c5b7860505b5058547e5b5a7e5a585e6d555d48587850584f5b5d5e7671587e573650585c5c7f60585a554858585048587e5b5a585c52585058507e575b584e762b587e587e58605858567e585850585f5b584e6a71584a585a48485f685048505458484f5b58586a555a605c5a50584f5b5c5e7672585a585a5a216a5e58486136506e5b5b5c5e6a705c4a4858505850715a5857585872587e586058504b7e4b58505854715a586e5b5a605850554858584b4829585058715b584e76715a586e5b5a6e6a7e5b60585f577e50585058487e5873405a585857585872585a7f6e53585058507e5829407e5b4a585e4b775057585a584b50585c69587e582a586e7e7e585a7e5a5a5a5c53506e5b5b5c5e6a705c5a4858505b587e5a4d405a5d5a584848487168505b5b5b5d5e76484c705c4d50587e7e58746a715d4c5c5850487673585c5e485a5e6a705a60485850586a7e5b5a7e5a585a5056577e505450584c7e5a295c487870585f5e605c495872585a4858535850582c5f5058407e5b4e6d5b58774f5b7e58507e5b4b6a705d5c4f605d48585d485a58574848532b507e727e5d5c727e5d4c5e5d584c28615d48507e5d6058554848616850586e7e5a4a5853505861495e60585b5c57505a5071535b7f29405c485c5f365048695b585a5c5450586a76587e6e715d7e6e5a5a6058544848587e5c70584950586d5b5c5e695e5e60505378605c545058217e5a4c5c5a7d5e76715d60585750582c6850586a76587e6e705d746d5b585a58565e605c575058767e5c7476715a7058564b48295b50586e5758586a5550582c5f5d485c555058615f5058285f7a7e2958505876715a4857585872585a485a584950582d7e5d4a585b5c557a5b507e695b5874695b5872295c485853585872587e5a725c5b787e2d5a5b7e585b5a6058554848582b587e6e54587e6a7e584c5c58577e50585d585c5550586a7e5a607e5a5d5a585278705056577e50545058755b584e76715a4a585448485f6b507e6e5758486a7e5a4a5c525d5850555058205b5b5e76715d6058575058696b5048297e5a4a5c525058295758586a5550584c5c485a585c50586a76587e6e2b587e585550586d5b725871685358587e5a705c53505b54484c4a5848484b5b685358585a485853585872585a485a58534841205e5b5c585d4858535850587a7e5b4d405a585a585a50584876587e5b5e5d485b5b584a5c5e5872585a4858535850584c7e587058505058536b505b5f5b5a5e767e585a7e5a5a5b5a555870505b484853685d7e54505858505b5a60585c5058502b587e58545b486a7e584a5c5e5a60585a505843685048507e5b607e5a585c5c5c78705c5f5d585c555a60585c5058502b587e58545b486a7e5b605851525850585058755b58774b68507e4c2b587e587e5b4a585e4b7e295d50584876587e58715870585d5058715e5b5c587e58605c505d587e5550584c7e58725c5b50585c7e585a7e5a5a5b5a5558724c5758486d5b587e6e5c5a60585150587a76587e5b5b5b5e762b587e587e5b5a585c5258505848485f68507e502b587e587e58705c505829587e586058504b7e4b58505854715a586e5e5a605850554858584b48295f5058715b584e76715a586e585a6e58555058487e5873405a585c5c5b5d58505550584876587e5871587e6a7e5870585d4b6e6a71585a584b484b5b685358587e5858215550587a76587e58715b486e585a6e58556a6e4c5b5d512173585c5c48786050575358587e58705c505829585a485a585d5058715e5b5c587e58605c505d585c5550587e76587e5b5f5d48587e5a5c5c5c78705c505d585c555a60585150584c2b587e587e5b5a585a577e50585829585a485853585058507e5829407e5b4a585e4b77505c7f60585a5b4a585750585c69587e582a586e715b584a5c4850585876587e7e715a4a5458484b5b6b507e2d72585a58565058722b587e6e7e5d725c5078705856484861685c5f50715c60585e50584c705a4e6a715a725c5850482173585c5c487860504b5358585a485a585c52585058507e6d5f50587e7e58746d5b58774c705c724f605d48587e5a725c585058727b5048765d485a584b484861685058727e5a725c5c4a4b6a7e5a607e5a585b5d78584a50544841205e5b5c5b5b7f605c495d5850555058725c7f605852484857575b5c587e5a7058544a48295d5058727e5c4c5c54787058545c5c50785a6058525058616b5048767e5a4a5854787e4f5b58586a715a4a5855525850584b484b58484858715a6e6e5a5a605854505820685048217e5a295c5c78705c55505b535b584e6a705c7e29585a6e6a7e5a484b585058487e5a63405a58586a7e5c4c5c4878704858505821715a4a584d5c5f5c7e5d725c48787048585872585a485853585872585a485a585348485f685d7e50585b7e5c5550587a7e5b4d405a585857585872587e5870585c525850584b7e295850584c7e58707e5a585a5858525850505c546a5b507e5f5b7f294057585a585150587a76587e587e584e76705b4d405a585a585a48484b685048505458486a555058487e5873405a58586e5b5a60585150587a76587e587e5a4e76705b4d405a585a585f5058435e5d48507e586058504b7e4b5850584876587e58715870585d50487e545b6e6a7e5d4c5c5c78725c5850585876587e7e48606e5c705a5c5f364b6e295b5a295c5a504b5854586e6a7e5d4c5c5c78705c5a5058407e5b607e5a585e6a7e5a5c7257587e575850587e5c485a585a5548585850484c7e5b60585152585058507e755b584e762b587e587e5a4a585f567e58585058715b584e6a715a5a585a48485f685048505458486a555058487e5b5a7e5a585c5c5c7870505a577e5058505850715a5857585058547e5a5c405c485a585d50487e545b486a7e5a5a7e5a585c4c575b5a585048484b6850487e5458586a585a60585c525850585a60585d4b605c485a605857484b5b685358587e5c58215550587a76587e58715b486e585a6e58555a48587e585b5a40587158485a637a58506e5b5b5c5e6a70585a48585058587e5b5d405a5d5a58585058547e58746a2b587e7e7e585c5c5478705858484871685c52505b5258505850485c7e585c5c487870485850585c555758585d485a585b5058535e4b484b585058487e584a6e58585a50585058547e585c5c584d716a2f5858587e5b5c5c5b78705c5c50585f5b584e767158486e5b5a6e6a7e587e6a54585a585b5058507e584c5c584d716a55527e585d485a585b5058535e4b484b585058547e584a2958585d7658585a585d48485f685048547e584c5c5b78705c5b5d585c555a60585a5a2958585829587e584a585a4b6e4b5850585c7e584a6e58585a505848485b565b51205b295448585258505850585c6a58585b5b58774b68525850585b4a58585a637658585a585b48485f6850485c5458486a5550585055536e587e584c5c584d7e4b36487d5d5c585a7e5a585a585b487f215b7a4c5c5a7d5e7676587e585f50585c55484b7129484b71285a6321585829587e584a585a4b6e4b5850585c7e584a6e58585a505848485b565b51205b6e5d7e76587e587e584a6e58585c5c5a7d5e7676587e585f50585855567e585850585f5b584e767158486e5b5a6e6a7e587e6a74585a585b48485b565b51205b6e5d7e76587e587e584c513658415f5b58774b68525850585b4a585b5a295c407d5c5c407d486a53585a58585c502d5a5c5b58555748585d485a585b5058535e4b484b585058487e584a7e5a585a50585058547e585c5e58584c727b567e585850584b5b584e76715b5a585b48484b6850485c5458486a55505850555c6e587e584a585a50585f5b7e585f535e295c407d5c5c407d486a685858575850585c7e5872435f5b5c587e5860585b55585858577e50585058575b5b5e76715860585b48485f6850485c5458486a55505850554848585d485a585b505853515b5c587e584a585b52585058507e5b5b366e5b575b51205b295448585258505850585c76587e5b5b58774b68525850585b4a58585a63405a585a585b48484b6850485c5458486a5550585055517e587e584c5136585c295c7f29514861585876587e587e584c5c5a7d5e7676587e585f50585c555a2958585829587e584a585a4b6e4b5850585c7e584a7e5a585a5058487f21584d484b36487a582d5258505850585c76587e5b5b58774b68525850585b4a58585a63405a585a585b48484b6850485c5458486a55505850555148587e584c5136585c295c7f295158565a7e5a585a585b4848532978707e5a58584c7e58486a554b58585a485857585058507e582940575848535850585076587e5b5b366e5b555d485b5b6a5d5076587e587e58707e5a585c5c5b7d5e766f5848587e58415f5f5d48587e58725c5c78705c5a5d585c555a60585a5048545550585455486e585d485853585058507e58297a5c7f60585a52585058487f21584a6e295b487b58605258505850585076587e5b5b58414b68556e5c5850585f614b48295b5058505f505854555d6e6a7e58725c5c78705c5a5d58585558586d5f5858575850585c7e58727a5c485a585d50585c76587e5b5b366e5b575b51205b6a5d5076587e587e584a7e5a585c5c5b7d5e766f5848585f48485855566e5c585058575b587476715860585b48484b6850485c5458486a5550585055506e587e58725136585c295c7f295e6e54707e5a585a585a48485f297870215b585a585b7a4c5c584b6e4f5b58586a5548585c5a7f6058585258505852585058507e5876587e587e585a7e5a5a5a505a48485f2878705c5b50585876587e4871585a585b5058535b58415c5c7f60585b5258505850585b68525850585b4a58585a615c5b58586a49585a585850585876587e5876587e484b58485855516e587e58585336487f7050584c512d70585c76587e5b5b584e7670585d405a585a58585a63405a5b586a53585a58585c53545a5c5b585574585c58506e5b5b5c5e6a70586048585872587e5b4b58284b484b585058587e5b4a7e5a5a5d405a5a5a585850584c69587e582a587e585458486a7e5b4a7e5a585a5c5c5872585a4858535850584c76587e487058725c5b4d484b5850585871584a585850585048567e6e5b5a60585a487c36363636215d4a6e295b5058587e585a585a5c50505b48485f68507e4c487e485c70584b5b575058587e5b4b5b545058587e5871582c5a60585b5058487e58725c5b78715b615d585c555c5b7a585a6e6a7e58295c48787048585a6e72585058587e5b4b5d4b58486c5e586e5c507f605458487f585d786050585358587e585c5176582b76705b70585d5c58217e5b71582e5048767e5b4b58535b5c587e5b4c5c585c555c5b525850585058695b554b58204b705c555a60585a50586a7e585c5176582b767e585c517e582b767e585c517a582b767e585c5140582b767e585c5150582b76485c4a505450585b5b6c5857685c5c7a705b70585848787e5d78715b51507e7a7e585c5e72582b7648746e507e585c5c28577e504850585b5b5a5e695b585a5858484b5b68507e504851705c505872585a7f60585f5c58727e585a7e5a695857525b5c587e5b4b58535048727e585a7e5a695854715d4a58515c58727e5a4a585778295c5b7d5e767e5b7158537870585852585272582b695b584e765458486a7e5b615853505840485a4e767e585a7e5a69585768484853685a605053487c4c584a48295850587e7e5a4c5c5a7d5b58435c5a7a7e5a5a7e5a585a505a5d4858485f6e58555058507e585c5c5c7870585850585476587e487e5b4b585750584c485d4a585f5c58755b58774b685058767e5a605858487c585d787058585258557a5860585852585540586058545058407e5b6058585258527258615a785870585b5058507e585a7e5a5b5a5858525850585058547e5b5b5b7050485c7e5a5b587d50587a485a71767e5b7158525e7058545c58767850585b5b2f5857685c582d7e585c516e582b7672585a585b5a2e6a5c58486d36506e5b5b6a58716b507e5872585a585850584c2a5861587e585a585e576e54405058587e585c51585b2b76705b63405a6f587a7e5b605858484b5b685c57405a50487a7e585c5c28577e527e5b5a585848437e5c78725c5850585b5b76584b68507e724851705c5650585b5b574d405a7658487e585c5e485b5e695b585a58535c5b2d715a7e535850587d5b2c585b495b5c58485f705c515058587e5b4d7a5d585a58585058402a586e7e7e585c5e215b2b767e5b29516c515a58585c5f76705b295f364b7e295b50582d7e585a7e5a6f587a485360585250587d5b587748485e4b587750587648777e5057584a5852525850585048725550585b5b70584b68507e7e7e5861584950587e485660504b50585876586b6e51507e7e7e5b605850787058535c5e547e5b295c584a7e4b5850585876586b6e5155485858484a285e504821555058507e5d60585848407e5c787058584840585c78705858487f6e5d78705858487f7e5d78705858487c7e5d7871584b5071587e585c5140582b76484b60505050585b5b605857685c5c7a705a605858487a485d78715a7b58705858484d4c2b5873587e585c5c7678725c5850585b5b545e76705871587c50486e5a7f6058585258555c5860505750587d505b5c587e5a61585350587a7e5d4e6d5b58414b6850587e485a4e767e585a7e5a6158576848485f685d585c5550586a485a4a58505c58756850585876586a485d78725c5a787e6a705d4c5175585c215c485a58545058285b587748485e4b587750586e76587e587058724c5758486a7e58705858484a4b6850585b5b505e767e58607e5a5b5a58535058727e5b295c5a7d5e767e5c4a584950585b5b7e584b6850585876586f6e5d50585876586f7e5d505b587e5a5a585550585876586a485d5c53765a50585c7e5870585852585072505858765870587e5860585c5c5e5071584a58545c5b297e5a6158525e7058505c587678505b58485a71767e585c5e505b5e76485d7058525c5b297e5d71587d50585b5b6a5871685358587e584821555c5b7a585a362d5a58487136506e5b5b6e585f6b507e5872585a5858487b7e5b7870505e505854485d60585e5c5d50715a70585f5c58725c485a585f484858485a602958585a5852484a2948524c513658415f5e50486a555058507e5a605858487b7e5b78705858487b585b787058584878215b7870585848782d5b787058584878585b7871584b507e6e7e585c5e48584e76485c4a505e50585b5b7e585f685c5b5c705b605858487f6e5878715a7d58705858484d4c2b5871587e585c5c5078725c5850585b5b5c5e76705871587c50487e5a4858533650584c485a4a5858525853214a7e4b5850584c485a4a5c535058587658776e715d4a58515c58727e5a4a585778295c5b7d5e767e5b715853787058585258532178725c5b787e6e5b5a6058515c58727e5b715853787058585258532178725c5a787e6a705a4c5175585c7257585a5850505872485e4b587750587e76587e5870587e29585c5b7a585a60585a50585b5b5b5e767e585a585d5258505c50584c485d4a585f5c58297e5b4b58537870585250586a7e585c5e6e584e767e585a6e586b6e5c7e585a6e586b7e5c7e5d5a585e50587a7e585a7e5a7f5b5a7a5870585b5058507e585a7e5a5b5a5858525850585058547e5b5b5b4e50485c7e5a5b587d50587a485a71767e5b7158525e7058545c58767850585b5b6c585f685c582d7e585c5158584e7672585a585b5a2e505c58486d36506e5b5b2958576b507e5872585a585850584c2a5861587e585a585e576e54405058587e585c517e587476705b63405a2a58507e5b605858484b5b685c57405a50487a7e585c5c28577e556e584a5858487c7e5b78725c5850585b5b21585f68507e724851705c5650585b5b574d405a21585c7e585c517e584e695b585a58535c5b2d715a7e535850587d5b2c585b495b5c58485f705c515058587e5b4d7a5d585a58585058402a586e7e7e585c517a5874767e5b29516c515a58585c5f76705b295f364b7e295b50582d7e585a7e5a2a5850485360585250587a485e4b587750587648777e5057584a5852525850585048725550585b5b2b585f68507e7e7e5861584950587e485470504b50585876586d6e5a507e7e7e5b605850787058535c5e217e5b295c584a7e4b5850585876586d6e5a55485858484a285e504821555058507e5d605858487d7e5b78705858487d585b78705858487a215b78705858487a2d5b78705858487a585b7871584b5071587e585c5e6e584e76485c4a505050585b5b76585f685c5b5c705a60585848436e5b78715a7d58705858484d4c2b5873587e585c5c7678725c5850585b5b545e76705871587c50486e5a7f6058585258527a584a505750587d505b5c587e5a61585350587a7e5d4e6d5b58414b6850587e485a4e767e585a7e5a77585f6848485f685d585c5550586a485a4a58505c5875685058587658696e5b78725c5a787e6a705d4c5175585c215c485a5854505829485e4b587750586e76587e587058724c5758486a7e58705858484a4b6850585b5b505e767e58607e5a5b5a585350587a7e5a4e767e5c4a584950585b5b29585f685058586a5854215b5058586a58542d5b505b587e5a5a58555058587658696e5b5c536e5a50585c7e5870585852585072505858765870587e5860585c5c5f4071584a58545c5b297e5a6158525e7058505c587678505b58485a71767e585c5140584e76485d7058525c5b297e5d71587d50585b5b295857685358587e584821555c5b7a585a2f7a5f58485736506e5b5b6e58576b507e5872585a58585058502b586b585d5058587e584d405a6c58547e585c5c2b577e504c50585b5b5e5e767e585c5c7e78705858484b4b68507e7a4851705c5350585b5b5c5e7670584a585c5c58217e584b582e50487e7e585c5c58567e584950585b5b6c5857685058507e5860585b50584876587e487e5b4a58584848206850587e7e5a4a585150585b5b6a5857685c52485a5b5c5873585c5c487860505b5358585a485a585e5c5d4c5c485a585e525850585048507e584c5c58577e50545058507e584c5c54787158635058435b585b582c5d585c5550585f5b585d405a5a5a585e50585f5b5a5e76485460585e48485848567e6a7e584c5c48787048585058586d5858215c485a585e5058715b554b58205c547a5b5a605850484d5848494a5c5b50587276587e58715b5a58585258504c507e715b5b5e6a71587e57585872587e5870585c4d48295850584876587e587e584c7a57585a585c48484b685048485458486a55506e5b5b5c5e6a70584a4858505840485a4a5c5a50584048636e5c71586e53585058487e5a5b5a70587050514b482958505840485d4a585c4d484b365058487e5b715857505840485a4c5c5a7d5e69575b4c5c585a294c5c485a58515058547e58746d555b5c587e5b70585d5058507e5b2b767e582b6a7e5870585a5c49545b5a60585e5c58297e58725c5a7d5e7671586e57585058487e5a5c7a5c485a585d505848485460585c48484b685048487e58295c5c78705c5d5d585c555a60585b4848582b587e587e5860585b5c5d547e5b70585a50587d685c517e5458486a73585c5c487860505a5358587e584a585c50587e48637e507e58725c487870485850585c485d4a5c5050585c485a4a5c5a506e5b5b5c5e6a705b5a48585872587e5870585e5c54215b507e7a7e5b715853507e576b4d484b585058535f5d485c7e5b715857507e7a7e58295c5a7d5e767e5a5a585a5c515c7e5b70585a50585768507e50487c5a585c4848582b587e6e7e5b60585a484853297870585c484861685c5d545458486a7e5b7058515058507e582b767e5b2b6a7e5860585d4848587e587058505c49485b5a60585c484b5b685358587e584b58525e7e6a7e584c5c48787048585a605858487b7e5d78705858487b585d787158765b5c587e5b4a585f5258505848485360577e50585a6058585258522d58605c5b50585b5b5c5e76485d7058535c5b297e585c5158582b7672585a585b5a207a5d58485336506e5b5b21584b6b507e5872585a58585058502b586c585c5058587e584d405a2f58487e585c5c2b577e504850585b5b60585f6850585b5b29585f6850585b5b5c5e764851705c5b50585b5b6e585f68507e7a7e5b5b584950587a4856605c5050585b5b585d76586f6e5c5a485a5858487c7e5c7870585a5058547e5b60585c5258505c50584c7e585c5e36584e767e5a5a585b50585b5b61585f6850585b5b2d584b685c52485a4b48295850585b5b76612d765858582b58557a5b50585b5b775b2d695858582a582e585b50587e7e585c5e6e584e767e585c5e2f584e767e585c5e58584e764840605858484d4c2b5871587e585c5c5078725c5850585b5b5c5e76705871587c5048545a485a58585258555c584a585b5258505878295e5358292d5c485a585d50585876586a485b50585c76587e5b6b48485328484853685c5b72485360585d525850584b48295b50585476587e5871587e6a7e585a29586f6e5c5c485a585a484a292f5858587e58725c5b78705c5a5a60585b525850585048485d485a58585258555c584a585c4d484b585872587e58725c58567e58585058587e5b73405a585a5858484b5b6850585848286e535b584c7a57585a585d5c5b29545b586a5f5058507e585c5e6e584e767e585c5e58584e76705b605851484a716850584848297e5c7e5b2b6d5b58774f6855485858567e58585058535b584e76715870585c48484b685048485458486a555c5b7a585a61584158586a7e585c51765b5e767e585c517e5b5e764852584b5850584c7e5b4a7e5a585c5c5a7a73405a58586a7e585a7e5a2f58487158705858487a585b7871585650585c48514a5858487f585c787048585058505569584c5b582a2173585c5e7e584e6a70585a48585058587e5873405a72585c7e585a585b577e5240584a5858484d402b5871487e585c5c4078705858484a5b6850585b5b5f5e76705b61587c5048727e585c5c487870505b505848485d60585b5c5d50715a5a58584848582f5858217e585c5e40584e767e5870585d50585c7e5b5a7e5a5b5a585f50585b5b5d2b767e5a5a585350587a7e585c5e5c584e7648686e505c485a5458484b5b6b507e5c72585853585058404857484b5850584076587e58715870585b4848582f5858217e5870585b484820685c5d487e5b725c585c5d725458486a7e584c5c58567e58565058407e584c5c56787158295058435b585b582f5a60585b484b5b685358587e585a29585d6e4b585058407e5a5c5c6d5c5a724876485c555058715b545b586950485c7e5a4a7e5a585a5c5c50585876587148705a5c5c5b78605c5a50585f5b366e5f6150485c5d485853585058507e5b5c2957585a585c5548585850585f515d48587e5b5c5c5b78705c5c5d585c555a605458484b5b6b507e5c72585a585e5c5872715870585e5c5b5471586e53585058487e5a5b5d6f587050514b482958505840485d4a585c4d484b365058487e5b715857505840485a4e69575b4c5c585a294c5c485a58515058547e58746d555b5c587e5b70585d5058507e5b2b767e582b6a7e5870585a5c547e5b5a60585e5c58297e58747671586e57585058487e5a5c7a5c485a585d50584848575a585c48485f685048487e58295c5b78705c5d5d585c555a60585b4848582f5858217e5860585b484820685c5d487e5b70585a50587d685c517e5458486a73585c5c487860505a5358587e584a585c50587e48216e507e58725c487870485850585c485d4a5c5050585c485a4a5c5a506e5b5b5c5e6a705b5a48585872587e5870585e5c5b54705b60585e5c587270582b6d575b5c587e58724c57584a585e5c5829705b60585d78705850505850484f4a585e5058507e582b767058715b2d50584b5b585d76585d60585a50587d6850584b5b5d2b764857586e5b5a60585e50587a7e5870585d787058517860585d5058575b585a585a50587e4832585c5550584b5b5c5e7672585a585b5c5876785a60585b484b5b685358585550585b5b74585f6850585b5b72585f685c5a405c485a585f50584c76587e5b5b5877502b587e58555058587658697e5b50485c7e585c5c487871585650587248514a58584878585b7870485850585c556348545b58772173585c5e7e58746a70585a48585058587e5873405a7258507e585a585b577e524058705858484d402b5871587e585c5e40584e767e585c5e7e584e767e585c5c487871587c50485c7e585c5e48584e76705b60585c5c58217e5b61586050487e7e585c5c58567e5a495848535850585b5b745853685058507e5860585150584876587e487e5b4a58584840215b7870585050585c7e585c5e4c584e767e585c5e5c58747648686e535f5d48587e585c5e7351707e58585d4058716e5c7e585c5e7a51707258585d7a5d7e585c7e5a5a58584840585b787058584840765b78705858487f405878715b6f50585b5b574d405a5c5a5858484871684848587e585c5c487870505a5c5b2d71586e5358505858765869485b50585c76587e5b6b487c54584d7e4b585058547e585a7e5a75585c7e584a7e5a585e6d5b587476485e4b587750585476587e5b5f5d485c7e58607e5a585a5c5a5a60585855485a4958484b585058535b554d7658585a585a48485f685048505550585c76587e58715b585758505858765869485b50584b575b5c585a485a585a4848582f5858587e585a585e577e505850585b5b5c5e767e585b5d4158725c5b4b6e29585058544851486e5c5a6e4c7e58705858487f40587870505150587d5b5a74767e5b5b5d4f584a585878605858787029585a737658585a585a48485f685048507e5b5c5c5b78705c5c5d585c555a61584158586a485f6e585550585b5b7458536850585b5b725853685c5a405c485a585f50584c76587e5b5b5877502b587e58555058587658697e5a5048507e585c5e48584e76485d70585b5c5b297e585c5e7e58747672585a585a5a2c7e5a58485336506e5b5b7658576b507e7e72585a58505058715b76585768507e542b587e6e73585c5e48584e6a705b60485850587a7e5b295e5c584e762b58716e7e585c5c5078705851484a5b68507e507e5b295c7a7870585c50584c7e5b715a6158705851487e582a5861587e5b60585a577e50545058715b5c5e767058705850525850545c522d5a5048487e585a7e5a5a5a5c5f506e5b5b5c5e6a70585a48585058587e5b4d405a5d5a58584848716850585b5b5d5e76484c705c5f5058507e5b295c547870585c50587d5b5c5e7648297e50715b5a585f5c5f5c7e585c5c487870485850584b5b7f29405c485b584158586a7e5a5a585a50584b5b58774b68577e505450587d5b72585f685358587e5a5a7e5a5d5a5c5c506e5b5b5c5e6a70585a48585058587e584d405a5a5857585058507e5b5c7a5c485a58584848716850585076587e5848206e507e58725c5c78705c5a5d585c555a6058585258505050485c7e585c5c487870485850585472585a585b5a2d4c5b585a54584840585b7860505a5358587e5870585a487f48587873405a5d5a5858484871685058535b5c5e7670585a585a484861685058487e5b4a585e5c555c5a505858715b5a585a5258505450485473585c5c48786050585358587e585a585b577e50505829587e5860585c4b6e4b5850585b5b5a5e767e5b5a6e58585b5d2d5870585c48485f685048485458486a5550585876587e7e71584a5858484b5b685358587e58725e58584e7672585a585b5a32585458485f36506e5b5b485e76705b60485850587a7e584d405a565a585c4848582b587e587e5b60585d5c58217e5b61582e50487e7e5b6158565877215a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585058435b6e485b6b5d737258584b7a5c5f6e4c415b7e7a415f617a525f617a415f6e2d495c5b7a415f61544f5f617a415f617a415f6e585b587e545d5f617a5b5f6e7e415f6e72555f6e6e415d4b7a555f617a4b5c71484e5a60585850584f5b5e5e767e5b295c2d7870585a5058487e5a5b5a28587e6e405a60585850584f5b5c5e767e5b295c2d7870585a5058487e5a5b5a29587e6e415a6058515058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5d5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e7648405d405a56586e4e5a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b585c616050585b5b512969604b484b5850584c7e585d405a5d586e5b5a60585c50585f5b5b51502b587e58555d5b4c5550587d5b6c575c5852485458576e544050587d5b6a575c5852485458576e544850587d5b68575c5852485458576e545050587d5b76575c5852485458576e545850587a7e585a585b5058507e5860585c50584c7e5b605851484a5b685c5e582b58737e545f586a7e5b29514029485869586e582a58617e7e5b29514829485869586e582a5861587e5b29515029485869586e582a586e7e7e5b29515829485869586e582a586e587e5b60585850585c7e5870585d5058487e5b4a585150587d5b505e7648405d405a56586e4d5a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b5f2969604b484b5850584c7e585d405a5a586e5b5a60585c50585f5b5b51502b587e58555d5b505550587d5b565e767e5870585c5058715b58715b405048585a485a585c52585058507e5f5b5b515c7e585c5c584d51507e585c5c544a77535f5b5c587e5b4a5858577e50505d585c555058487e584c5c5c7a73405a58586a545c486a7e5b295c2d7870585a5058487e5a5c5c5d5c5f7e715858535850584876587e5870584c5c5c7a4a5858487c295a4a77535f5b5c587e5b4a5858577e507a5d585c555058487e584c5c5c7a73405a58586a545c586a7e5b295c2d7870585a5058487e5a5c5c5a5c5f7e715858535850584876587e5870584c5c5c7a4a5858484861527a724c5c485a585f50585b5b584e6a2b5871585458486a7e5b5a585b48484b60577e50585a6e6e495a605851484d71685058507e5b5a5850484850484e5a5c585872587e5b5a7e5a585a505b48484b6150585b5b562969604b484b5850584c7e585d405a5b586e5b5a60585c50585f5b5b51502b587e58555d582d5550587d5b565e7671585a5458484b5b6b507e5c72585a585b5058502b587e7e5d485853585058587e584c5c507871582b4b4829585058715b7e54585850585848504b5b564b48295850585848534b765458486a555058587e584c5c50787158765b5c587e5b5a585c5258505848485360577e50585a60585b484b5b68535858545d486a7e5b295c2d78705c5b5872587e585c5c507870585852585050525850505c485858507e58485a4c5c5850585b5b5d5e76485a4e6d5e5b5c587e5b5a585c5258505848484b60577e50585d585c5550585c7e5870585850585b5b5e5e767e5a5a585c484858486a7e5c7e585e6a70584a585f52585050507e5b5b5d5c7d604b484b5850584f5b585d405a5a586e5b5a60585b4848615150585b5b5a2969604b484b5850584c7e585c5c547873405a5a586a555d586e5550587d5b2d575c58484a6e484870505e5058587e584a585a5058547e5b5a585f5058407e5b725c6a78715b7e577e502d5d586a5550587d5b7657505852585058577e504850587d5b7457505852485458576e545050587d5b7257505852485458576e545850587a7e585a585b5058507e5860585c50584c7e5b605851484b4b685c5e582b58737e545a7e6a7e5b295c2d7870585a5058487e5a5c5c5a5c5f7e715858535850584876587e5870584c5c5c7a4a5858484d61527a724c5c485a585f5058582b587e585458486a7e5b5a585b48484b60577e50585a6e6e535a605851487a734a585a725d585d7a5d5e5a5851487a5d4a585a725d585d7a5d5c5a5851487b734a585a725d585d7a5d5a5a5851487b5d4a585a725d585d7a5d585a58515058587e584a585a5058547e5b5a585f50587a7e5b295c7e78715b7e577e502d5d587e5550587d5b565e767e5870585c5058715b584b5b405048585a485a585c52585058507e5f5b5b515c7e585c5c5e4a77535f5b5c587e5b4a5858577e50405d585c555058487e584c5c5c7a73405a58586a545b6e6a7e585a585b5058507e5860585c50584c7e585a7e5a585a7e5a5f5b5c5f58586e515a6058515058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5e5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e7648405d405a56586e5f5a60585f484b4b6850587d5b565e767e5870585c50587e486a6e50545b586a7e5b295c2d7870585a5058487e5a5c5c5c5c5f7e71585a585c5548585848484b614b484b5850584c7e585c516a5d746a2b587148555d5854555058435b534c405758486a7e5b5a585c5258505848484b60577e50585d585c55506e5b5b5c5e6a70585a48585058587e5873405a5a5c5c5e50485c5a4858535850587d5b565e767058705858484871685c5a7e57585c5c5c50485c7e5a5a585a5c5a5c48716e5f5b534c7a57585c5c5a50485c7e5871587550585b5b5a5e7648525c4c5758486a7e5b5a585c5258505850585f60577e50585a605858484b5b685358585550587a7658737e555048587e5b295f5878604858505858554b6e5c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71582e50485c7e5b71585650584f5b5f5e767e5b725c507870585a5058487e584b5a635870585e525850505048587e5b725c4878704858505858554a485c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71582e50485c7e5b7158565058587e5b4c5c487870585e484871685058507e5b5a585b5c55485a50584076587e7e71585a585e484b5b685358587e58586d5358485f36506e5b5b5c5e6a705b7048585058407e584d405a5a5a585e505854485d60585e5c5d6a71584a585e5c582d7e585a585f484b71685058435b5a5e767e5870585c50585c486d48507e5b707e5a5a5a5c585058435b5c5e7672585a58585a6358585058587e584a585a5058547e5b5a585f50585b5b5a5e767e585a7e5a5a5a7e5a5f5b5c58585a50585c58297e585b5857505858485a4c5c5a7d5e764840586d7a58485f36506e5b5b505e6a705b7048585058435b6057505852485458576e54405058435b6e57505852485458576e54485058435b6c57505852485458576e54505058435b6a57505852485458576e54585058587e584a585a5058547e5b5a585f5058407e5b725c7e7870505b5c5e5871585a585b5358587e58586d5458485f36487a4a5b584c51587e485c7e58716a7e584d405a585a585b48485b525b5c5b5b76505c5b48405a5b584a585a5e605c5d48485871587e57585058507e582b767e585a585a78702958585d7658585a585a48485f68507e507e584c7a5758586a555a2c585458485336506e5b5b505e6a705b60485850587a7e584d405a5e5a585c4848582b587e587e5b295c5078705053505854485d6058535c5d50715a5a58535c582d5a7f6e53585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872585a485853585872587e5b72515b585e6a565648585b5f6e48415b4b7a5e5b617a415f6e76415f617a415d7e21485f617a415c614c415f617a415f617a4158585c5a586e54415f6e5c415a5b7a415a486a415d5b7a575f6e6a415f615c4a5f5b40555058587e5b4c5c4078705851484b71685058507e5b5a58505c557e5a5d5b7e555058587e5b4c5c4878705851484b71685058507e5b5a58505c557a5a5d5b7a5550587a7e585a585b5058507e5860585c50584c7e585c5c507870585852585050525850545c485858507e58485d4a58585c58297e585b585378715b71577e50405d5b405550587d5b5e5e767e5870585c5058715b58715b435048585a485a585c52585058507e5f5b5b515c7e585c5c584d51507e585c5c7f4a77535f5b5c587e5b4a5858577e50545d585c555058487e584c5c5c7a73405a58586a545f486a7e5b2952752b6b2b696e6c6355726f7258576e545050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484b5b685c5e5c2b58717e545f586a7e5b2952756a6b4e6929682a55726c4858576e545050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484b5b685c5e5c2b58717e545c6e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484b7d527a724c5c485a585f5058582b587e7e5458486a7e5b5a585b48484b60577e50585a6e6e4a5a605851484b71685058507e5b5a5850484850484e4a5c585872587e5b5a7e5a585a505b48484b6150585b5b585c616050585b5b5d5c69604b484b5850584c7e585d405a5a586e5b5a60585c50585f5b5b51502b587e58555d5b5c5550587d5b5e5e767e5870585c5058715b58615b435048585a485a585c52585058507e5f5b5b515c7e585c516d587269604b484b5850584c7e585d405a51586e5b5a60585c50585f5b5b51502b587e58555d5b585550587d5b5e5e767e5870585c5058715b58715b435048585a485a585c52585058507e5f5b5b515c7e585c5c544a77535f5b5c587e5b4a585848485f6b577e50485d585c555058487e584c5c5c7a73405a58586a545d6e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484d6d527a724c5c485a585f5058582b587e485458486a7e5b5a585b48484b60577e50585a6e6e565a605851484b716850485873585c5c487860505b5358587e584a585a577e50505829585a485a585850585f5b5a5e7648544c4c57585a585048405d58585a58585c5b21484b5c4c57585a58585c5a50785d585c555a60585850585f5b5a5e7648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e584c5c48787048585d58295550587d5b5e5e76715848535850585b5b5a5e767e585a7e5a5a5a7e5a5a5b5c58585a50585c58755b585a5858484861685c58756b4b7e4b585058487e5b5a7e5a585c5c5c7a73405a58586e5b5a60585b5058507e585a5858484b716850587e7e5b5c5c585c55485b50585b6b507e5c7e5b4a7e5a5a5a5058484861517a724c5c485a585f4848582b587e7e5458486a7e584c5c544b60585848486d527a724c5c485a585f50585b5b5d5e762b587e7e555a6e6e545a60585148434d4b585a7e58585d40585d60585148402a4b585a7258585d7a5d5a5a58515058587e584a585a5058547e5b5a585f50587d5b5a5e767e5b295c4d78715b71577e50405d586a5550587d5b77575c5855485858567e585450587d5b74575c5852585858577e505050587a7e585a585b5058507e5860585c50584c7e5b295c5078705851484828685c5e5c2b58717e545a7e6a7e5b295c407870585a5058487e5a5c5c5a5c5f72715858535850584876587e5870584c5c5c7a4a5858484d61527a724c5c485a585f5058582b587e585458486a7e5b5a585b48484b60577e50585a6e6e535a60585148684e482f78774a607a2f4a296e582a586e7e7e5b60585850585c7e5870585d5058487e5b4a58514848716850587d5b5c5e7648404d405a5e586e505a605851484b71685058507e5b5a585048485c484e4a5c585872587e5b5a7e5a585a505b48484b6150585b5b5b7269604b484b5850584c7e585d405a5e586e5b5a60585c50585f5b5b51502b587e58555d587a555058587e584a585a5058547e5b5a585f50585876587e58765871484b5b4858545b6e6a7e5b60585850585c7e5870585d5058487e5b4a58584848716850585876587e7e7658717e4b58585870585b5857505858485d4a58585c5875685c5e5c2b58717e545b486a7e5b4c5c4c78705851484b71685058507e5b5a58505c55405a5d58485550587d5b5e5e767e5870585c5058715b5b5b5b435048587e5b5a2958585c5c5c7a4c4c5c485a585f50585b5b2e582c6b577e504c5a6e6e5d5a60585e484a4f5e5d485c555058487e5b5a7e5a585c5c5c7a73405a58586e5b5a605458484b5b6b507e5872585a58585058502b587e715b5b705c5b5872585a485a5851484b7168507e507e585c5c50787158745d485b5b5b5a5c5b50587e7e5871587f5c507e5b484a4f515d485b5b58705c5b5058504850705858484871685c5a435f5d485c555058487e5b5a7e5a585a585b7a73405a58586a7e585c5c48787048585a605851525850405a605c5850587d5b505e7672585a58585a297a5b58412173585c5c487860505e5358587e5b70585b577e50505058407e586158495058404854705c5b505840485d70585f484b4b685058435b5a5e767e5870585c50585c486d7e507e5b707e5a5a5a5c585058435b5c5e7672585a58585a29725b58412173585c5c487860505e5358587e5b70585b577e50505058407e586158495058404854705c5b505840485d70585850584f5b5c5e767e5b725c507870585a5058487e584b5a2a5870585e525850505048587e5b725c4878704858505858554a485c5b7f605458484b5b6b507e4072585a585e50585c2b587e7e7e5b70585d5c58217e5b71586050485c7e5b7158565058587e5b4c5c407870585e484871685058507e5b5a585b5c557e5a50584076587e7e71585a585e484b5b685358587e58586a6d585a585850585c7e5870585d5058487e5b4a58584848716850585876587e7e765871484b58585870585b5857505858485d4a58585c5875685c5e5c55496e5c5b7f605458484b5b6b507e4072585a585e48684e482f78774a607a2f4a296e582a586e7e7e585a585b5058507e5860585c50584c7e5b725c507870585e484b5b68507e5c48404a5c5850585c72585a58585a2f2d5b58484f36506e5b5b29585f6b507e5872585a585848406f4b585a2158585d6a5b63585c7e585c5e51294858765858582b586a7e5b5c5b40715b7058585058482b587e587e585c5e6e584e76705b60585150587d5b5f5a585e50585b5b60585f6850585848555a50507870505c5058504849605c5e50585b5b5c5e76705b4a585a5c58217e5b4b582e5048727e5b4b58565058727e5b60585c50584c484060585b50584c7e5a5c5c5a7d5a585f7870505b5058407e585e6d5b5877487e585e695b6a584f6b5058487e5b72407b50585c7e5870585d5c5e5071584a5858487d585b7870485850585c557e58485b5b2a2173585c5e6e582b6a70585a485850585b5a534d7a5d6858547e585c5e76582b695b5841535b73612d7e58707e5a5b5b5a6f584a5c505058587e585c5e58582b762b586f6e5a5c5b40715b7e533650587e5c485a585a5258505050487a7e585c5f587860585f576e54585058587e5b5d7a5d565a585850587a2b5873587e585c5e58582b695b5170585e50585b5b6858576850585b5b545e764855586e5b5a6058585058482a5828587e585a585f576e574050585b5b7e585768484b2d7e5b70585848787e5d78705858487d58587871586a5a605c5e50585b5b574d405a7e585c7e585c516e5874695b585a58584840585b7871587c5048727e585c5e58582b76705a705c515872587e5b725c7c4d7e4b585c5b40715b7e533650587e5c485a585a5258505050487a7e585a585f576e54485058587e5b5d7a5d5a5a585850587a2b587e587e585c51215874767e5b70585848787e5d787058585c5f765458486a7e585a585c576e547e5058587e5b4d7a5d525a5858487f6e5a7870585e50585b5b6858576850585b5b505e76484e7e6a705b725f364b7e295b5058727e585a7e5a36585048536058585258552158705c515a6058515058407e5b2b76705a60585a5c5d21715d5a5858484d4c2b5876585b50585b5b32585b684848587e585c5e58584e764851705c515872587e585a7e5a3658507e585c5e58582b695e5b5c587e585c5e58584e76715b7e6e5b5a60585e484857295c5b72705b724c57584a585150584048536058585258552158705c525a605858487c7e5878705050505850485d60585250586e7e5a60585e50585b5b20585b6850585b5b21585b6850587e486c7e507e5a5b585650585c7e5b70585852585329505858765877587e5870585d5c5e5071584a58515c5b297e5a4b587d50585b5b6a5857685358587e584821555c5b7a585a206e5d58487d36506e5b5b7e58576b507e5872585a585848704c2a58367e5a50585b5b3258536848485f604878487f50585076587e48486b6e5c715b60585850585b5b29585368577e55545871584e50484c5a7f6058515b5c587e58707e5a5a5a5c5e5058587e5b5d725d525a58585058402b5870587e585c51485874695b5170585f50585b5b3258536850585b5b505e764855586e5b5a6058585058482c5863587e585c51485874695b5170585f50585b5b3258536850585b5b545e764855586a715b4a5858484d4c2b5875587e585c51585874695b585a5858487d58587871587c50487e7e585c5148587476705a4a5c5e5872587e5b4c5c7c4d7e4b585c5b40715b48533650587a5c485a585a525850505048407e585a585c564854505058587e5b73405a585a5858487a6e5a7870585f50585b5b32585368505858484e7e6e5b5a6058585058482c5861587e585c51545874767e5b4a5858487f7e5a78705858484b5b685c5f7655507e4f5b7f294057584a585050585876586a6e5a5c5a7a7e585a7e5a635850715b7e6a7e5b70585f50584368507e767e5871583650486a7e585c5c28577e534850585b5b60585b684848587e585c5148585e764851705c5e5872587e585a7e5a6358507e585c51485874695e5b5c587e585c5148585e76715b486e5b5a60585f484857295c5b72705b4c4c57584a585e50584c48536058585258555458705c535a605858484d7168507e7a7e587158495058727e5a60585250584c7e585c515c585e767e585c5f58786058515c55765a50587a485d70585b50584c7e585a7e5a4b5a5858525853585058507e58615b7050485c7e5b71587d50587e48514a58584840585d7870485850585c495a61584158586c7058485c5c7f6054584840585a786050585358587e585c5075576e492d584a5858487f7e5b7870505e48485f60487d547a4848587e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c517e584e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c522d5b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b7050485c7e585c5e5858747672585a585b5a2e485b58485736506e5b5b76585f6b507e5872585a58584840414b585a2158585d6a5b77585c7e585c5e5b294858765858582b58697e5b50585b5b74585f68507e4f5b5841535b2b71615b585a585a5258505c5c5e29485f705c5e5058587e5b5d405a585a585848406a5b7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486b7e5c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5e5071584a58584878585b7870485850585c55767e5c5b5b512173585c5e5858746a70585a485850585b5a534d7a5d32585c7e585c512d584e76705b725c5b7a72514d515c5c5b50585076587e48487b4b584e50487a7e585a585c576e545850585b5b2d585f68507e4c7e5b4c5c4050587a7e5b7058585c5a6e7e5b4e76705b60585a5c5d21715a5a5858484b5b68507e407e5871584950584c7e5a5a585150585b5b505e76705b4a5858484b616850585b5b5e5e767e5b715a6c584a585e5c582d7e584a585f5058587658716e7e585a7e5a5e5a585a5058544840705c5b50585b5b7e5853685358587e58486a4e585c5e7e7e485f5b61505c5b525850585058507e585a585b5c56405b5a2e485b58485736506e5b5b76585f6b507e5872585a58584840414b585a2158585d6a5b77585c7e585c5e5b294858765858582b58697e5b50585b5b74585f68507e4f5b5841535b2b71615b584a585a5258505c5c5e29485f705c5e5058587e5b5d405a585a585848406a5b7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486b7e5c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5e5071584a58584878585b7870485850585c5563485c5b58412173585c5c6e7860505f5358587e5b4a585b577e50765872587e58707e5a5b5c5c5b7a4c4c5c485a585850585c7e5870585d5058487e585a7e5a585a7e5a5e5b5c5e585a5c5a5d585c5550584f5b5e5e7670585a585a5c58217e585b5a54584a5c5b505858485d7e53585058485c485a585f484b716850585c484a6e6e5b5a60585f484b716850585c484a7e6a7e5b4a585f484b71685c5c582b5871585d485a585f50584f5b5e5e76487b5d405a5a5a585f484b5b6850584f5b5a5e76484e6e4b5850584f5b525e767e5b4c5c487870505852585058525850585c497a5a5058584875485c5458484c7e5b4a7e5a525a5c5a50584f5b5e5e76485a7176555a6e6a7e5b4c5c6e787048585058505569585c5b5b412173585c517e585e6a70585a485850585b5b70205c58556e5858566e5f7a50585b5b71205c5852585858577e53405c5b40715b7058585058482b587e587e585c5f587860505150587a7e5b295c4c5058407e585c5140585e767e585b586a507e7168507e487e587158365048407e585c5c487870505f505850485d60585f5c5d50715a4a585f5c582d7e5a4a58515058487e5b4b5b6f50585c7e5b4a585f50587168507e5c7e5b7058587860585878725c6e7860585c5058435e5e60585b5058507e58615b4e50485c7e585c517e585e7672585a585b5a2d585c58487d36506e5b5b7e58536b507e5872585a585848704c2a58367e5b50585b5b32585f6848485f604840217c50585076587e48486b6e5c715a5a585850585b5b29585f68577e5554584b584e5048405a7f6058505b5c587e58707e5a5a5a5c5150585b5b485e6a7e5b4d7a5d585a58585058482a58637e7e585a5851577e506e50585b5b29585f68484b2d7e5b705858487f7e5b78705858484d5b685c5a6e5458486a7e585a585c576e57485058587e5b4d7a5d4e5a5858487d585b78725c7c5058407e585c512d584e767e585c5148585e764855586a715b705858484d4c2b5876585b50585b5b6e585f684848587e585c5e58584e764851705c5350585b5b29585f68507e76715b6e53585058435b51722d5c485b584e5048405a7f6058505b5c587e58707e5a5a5a5c515058587e5b4d7a5d5c5a58585058482a586e7e7e585a5851577e505850585b5b63585f685058407e585c512d584e767e585b5b785d585c555058587e5b5d7a5d505a585850584c2a58607e7e585c5154584e767e5b705858487f7e5b78705858484a5b685c5f7655507e435b7f294057584a585350585876586a6e5b5c5a7a7e585a7e5a63585c715b6e6a7e5b60585e50587d68507e6a7e5871583650486e7e585c5c28577e5258584a5858487f7e5878725c5850585b5b7e585f685c5b2d715b6e535850585876586a6e5b50585b5b29585f684b7e4b5850585b5b7e585f685048405458486a7e5b725c5b7d5b5843507e435f5d485c7e5b60585e5c5a7a7e585a7e5a63585c715a7e6a7e585c5176585e76705a5a585a5c58217e5a70585450586a7e5b705858487f485878705858487f5858787058505c556e5a50587e485d70585b5058407e585a7e5a7d5a58585258536e5058507e58615b4e50485c7e5b61587d50587248514a58584840585a7870485850585c495a61584158586f7a586e5c517f605458487d585b786050585358587e585c5075576e4950584a5858487a7e5b78725c5b7a725e725160585a5258505c5c52215b50487a7e585a58584878585b7873405a77585c485f705c5f5877217e5b6e4b5850585076587e7e715b7058585058482c58607e7e585a585e577e507e50585b5b76585f68484b2d7e5b4a5858487a7e5b78705858484a5b685c5a6e5458486a7e585a585c5648546e50585b5b76585f68484b2d7e5b4a5858487a7e5b78705858484d5b685c5a6e5550484c7e585c5c28577e534850585b5b72585f684848587e585c5148585e764851705c5050585b5b76585f68507e72715b7e535850584f5b51722d5c485b584e50484c5a7f6058515b5c587e58707e5a5a5a5c5e5058587e5b5d725d5a5a58585058402b587e587e585c5e7a584e767e5b4a5858487a7e5b787058585c5f765458486a7e585a585c5648544850585b5b77585f6850584c7e585c5150584e767e585c5c4878715b785a60505f4841205e5d485c7e5a5a58585258527a584b58775058587658696e5b504840555058407e5b4a585e787050525058504849605c5550585b5b574d405a4c5a5858487a7e5878725c5850585b5b29585b685c5b2d715b7e53585058587658696e5b50585b5b76585f684b7e4b5850585b5b29585b6850484c5458486a7e5b4c5c5b7d5b5843507e4f5f5d485c7e5b70585f5c5a7a7e585a7e5a77585c715a486a7e585c5c2d78705051505850485d60585350586a7e5a70585f50585b5b61585b6850585b5b485e6a7e5b615a21587058515c582d7e584a585f505858765872487e585a7e5a485a585a505854484f705c5b50584048514a58505c5b297e585c5148584e7672585a585b5d6e6a485f6e585576485c5b5b512173585c516e585e6a70585a485850585b5a534d7a5d785a5858487c7e587870505e48485f60487d547a4848587e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c5148585e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c55585b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b4e50485c7e585c516e585e7672585a585b5a2e5c5b58485736506e5b5b29585b6b507e5872585a58584840414b585a2158585d6a5b4d5a58584840514b585a7e58585d405a4a5a5858487a7e587870505f48485f60487d767a4848587e58707e5a5b5b5b6d5c5b40715b7058585058482b587e587e585c5c2e7870505c50584b5b5d4a585e50584c7e585b586a50584b68507e407e5871583650487a7e585c5c487870505f505850485d60585c50587a7e5b705858484a5b68507e487e585c5c7a78705858484b716850584c486a585c7e5b4b585650585c7e5b5a58585258507a5058587658717e7e5870585d5c5f4071584a5858487d58587870485850585c5576485c5b5b512173585c516e585e6a70585a485850585b5a534d7a5d785a5858487c7e587870505e48485f60487d547a48485c7e58707e5a5b5b5b6d5c5b40715b6058585058482a586e587e585c5148585e76705b4a585f484b7e7e5b60585e50585848555a585f787050515058504849605c5050585b5b5c5e76705b70585a5c58217e5b4a585050587a7e585c5c7e7870505f50585b5b515e767e585c5c407870585e5c55585b505840485d70585b50584c7e585a7e5a515a5858525850405058507e58615b4e50485c7e585c516e585e7672585a585b5a32294b58482c36506e5b5b6e58536b507e4072585a585e50585c7e58725c5b5c57765a577e524c5870585e505840765869485a5c53505b577e524058725e733250786b7f295e7a755455757f4a585c5e605c5650585b5f5048205b6a437f416c777671584857585872585a485853585872585a485853585872585a485853585872585a485853585872585a4858535850585c70585c516e6c6d2e7c584c6e5c485a5858487a70606d7d532e4d584b5850585b5b616a6c6b705169545b5c587e585c516d2c555e737c5c40575a6058584840605e692e612c4b7e295250585b5b7521637e204175515d4b507e5b707e5a6d58535b7e505c5b7870585e55485a7f58737658585c5e416b546e6950485c545c7e6a7e585c5e6175207c2f7c72405758705858487c6043696c532f4b7e295550585b5b61216c6b705169515d4b5c7e5b725158587476725858215550585b5b20557c282d772c545b5c587e585c51536a6b414a7c2940575b5a58584843604c6e6c4f204b7e295e50585b5b7349606b61512c515d4b5c545c586a7e585c51286d2e41707f7240575b5a58584878492d71686d364b7e295e50585b5b752f6354524c7a575c5a585e5258522958725c5b78705c5748404a282d214c5150485c545c586a7e585c5e6c2921635d5b4c6e5c485a5858487f4d516f6d7e5a4d584b5850582d71584a5858487f5e2f2a6d2d5b4b7e294b50585871584a5858487c492b6b692d5a4b6e294b5058435b76585f685c587678505840765868585a5e7e6e485a605858487f41516f6d7e5a4b7e295450585b5b29565d4f716e575e5d487a7e585c51722a7f562a5b5c7a575c5a585e5258522958725e7e7e485f685058406d5853215a567e585848437c6a635a727158486e485a605858487d60587155545e4d584b5850585b5b6b2049546e6e4f5e5d486a7e585c5e292b2c51545b4c40575d7058584843417e32572d5f4b6e2948487a4a5b584a585d577e5058487f5e2f2a6d2d5b50485c545c586a7e585c517d7e504a635b7240575d5a5858487d417f6e7f545e4b7e295b50585b5b7155417361487d515d48217e5b705857577e522958725e5471687c217c4c5e5436526f5c7f70585e525852295870585d4a5b6a7158486e495a295c5850487a7e5b70585c48485b52567e5a7d5872514f2a2151635b7251536a6b414a7c60585e55485a7d58725c5b7a4b6a71584a585e5258524c58705c525d582d555058435b70585368505840765869485a5c5f48705c5a5c52484858715a5c5c5850487273585c5c487860505b5358587e5a71585350486a73585c5c48786050515358587e5b72512d584e7670585c5058576e505850587d5b585d405a5d5a58584848716850587d5b5d5e764863485c7e5b295c48787048585872587e5a294c57585857585872587e5a7058535c586a6d58585b5b494c4057585a5852505872485a602958585a5051484a6d5e50587d5b5051535b2d485b6b484b69535b51205b58484c7e5b615b5f48485b515a295c584b2a507e5b295c6f4b77535f5d48587e5a295c5b78605c5550585f5b5d5e767e5a5e767e5a7058535c586a6d5858582f58585b5b585a5c515058715b584e76705a5c5c5c4b7e4b585829587e584c5c54787058517870505050587e6a5858584820485c2f5858587e5b295c5b7870505148484b515d48585550585c7e584a29585d60585b55485856507e7d5b5b774b68567e585550585c7e584a29585d4a505048484b2b4848576150585c6d5858615b58774b60567e585350585c7e5b295c5a7d725c497a4a585048484b297a7376585a725c585048715b585a5c515829587e585a585b4848756850587d685c49485a50587d5b584e76705b295c5d4b6e29585a6e6a7e5a4c5c5b78705c5350586a5758486a555058715f5d48587e5a5c5c5d4d584b5850585f5b5d5e767e5a5e695b585c5c5c5058716b5c5c40785a295c5850487a5d485a585b4848616850587d68507e727e5a4a6e58585b5d28584d7658585a585148485f68507e7d5b5b5c7a5758586a7e584a585b5548584950585c6d58582d705b295c5e7d5e762f58586a7e584a585b55485857507e755b5b51435b582a5c7e584a29585d5c5c5a7d51502f5858727e584a58514848532b484820615058755b5b514b60567e58525058715b58727e57585a585048485f6b5048715b585a5c515829587e585a585b4848756850587d685c49485a50587d5b584e76705b6058504b6e29585a6e6a7e584c5c48787048585058584870485c715c4a58585258505850486e7e5b725e6d51607e58585d405a21585c7e5b725e7551607258585d7a5d2f585c7e5b725058576e4940584a585e487e582a5820585b5058435a585d7a5d60585c7e5b725058576e4958584a585e487e582a582e7e5b5058435a585d7a5d6a585c7e585b5a53584a5c555058435b6a585f6850487673585c5c6e7860505b5358587e584c5c7e78705c5050584c7e5b5b5a32587050515b5c587e5a5c5058576e58585058715a585d7a585a5a585150587e7e5a5b5a7758486a7e5b725e36587476715c70585e487d585b78705c4d50587a5c7f605458484b5b6b507e7272585a585b484b5b68507e7e7e5b7072582f585c2a5858587e5a5a585e52585d6e584d40585a5a585048405a587e587e2b58586e7e5a4c5c4878704858506e5b5b5c5e6a705a4a485850586a5c485a585350587e695858582a586e587e5a4a585052485850576e5450505872482f6e5c7e5b60585350586e7e5a6058525c504c5a5a605853484b5b6853585873585c5c48786050535358587e584c5058576e585850585f5a585d7a585a5a585b484a5b68507e6e7e5c725c5850585c486f6e5c7e5d5a585250586a7e584b5a36584a5853487e58482e485c7e5a4c5c507a705855484857296b4b5d6d584a58545058755b5c5a585b5c55215b5058755b5c5e7672585a585150587e7e584c5c48505b54487148507e5b6158484848585f484121555e70585b484d5b685358587e585b5d6d58705858525850585b5c587e585a7e5a5b5a505b50585876587e58705b297a5c48585758505858484861767e5b60585b48485f6b507e5f515d4858555a60585850587a2b587e487e585b5b5d5e7058585258505850485c7e585b5a5f584b767e584b58485a6058485c587678484a5b5b5c5a584b484d5b5e5e605c51487a74606d7d532e50485c545d486a7e5b705849567e5a7c5870585e50587a2b586b585a5058407e5a73405a6b58535b207b7c282d772c5b757c5d2d2a7e4c7e5b702958777e535b58415c7b50485c545d586d5b6e505c5b5058542b587e5b5b217b6b7c2a7e5c7158486e555a2951482d574e5158295e733250786b7f60585e525852405870585d4b716a7158486e525a2951482d574e515829516d2c555e737c5a585e5258526e58725c484b716d5b2e7c4a61762a7e7e5b7029587748535b58415c7b50485c545a486d5b7155417361487a71584c5c58504829545a586a7e5b70585e5258526a5870585e525852295874766d5858582f5853215a5058406d5853215a5e725e4163565d287c4c51722a7f562a5b5a585e55485a7c58725c5b7a4b6a7158486e515a60585e5058435b76585f68507e582b5868585a505840765868585a5e7058585058407658686e5a5c5f4878487c6043696c532f50485f5b585a5c5a5d5840555058407e5873405a6c58535b6b2049546e6e4f5b2d36786c777e507e5b707e5a6c58507e58297e7b50485c545b486a7e5b70585e484b5b68507e582b5868485a505840765868485a5e7058585c546e5a5e70585e5058435b5d5e76705a5d405a6858507e5b707e5a68585078505840765868485a484871685c54505a5048727e5b725e6e584e7670584a585e4878585b7870585e5258522d58725c5b7d5b5d585870585350585c486f48507e584b58525e70585850587e483648535b207a7c322b58535b2a405a5c6a6e407e5b702958777e535b58415c7b50485c545b586a7e5b707e5a6c58535b7e505c5b7870585e52585054567e5858487b4d7b727a6e5f50485c54586e6a7e5b707e5a6c58535b76505c5b7870585e52585054567e5858487b4d7b727a6e5f50485c54587e6a7e5b707e5a685850785058435b5c5e7648707e5c78505840765868485a5e70585e5258522d5870505848485f294848536150585b5b584157685048535b2e5374742d77767158486e5b5a295151602f6c507c705c5b5d58585558586c6158485c5d7f605458487d5858786050585358587e585c5e5f2948586f5858582e584c6e7e585c5e5b294858765858582b58727e7e585c5150585e76705b4c5c5b7a725178515c5c5b50585076587e48487b4b584e5048407e585a585c577e505850585b5b562b76705b5a585c4848297e5b70585f50585848555a585c7870505e5058504849605c5150585b5b5c5e76705b4a585a5c58217e5b5a58515058407e585c5c7e7870505c50585b5b515e767e585c5c407870585f5c55585b50584c485d70585b5058487e585a7e5a515a5858525850405058507e58615b4e50485c7e585c5148585e7672585a585b5a21295b58485f36506e5b5b545e6a705b4a485850584c7e584d405a5258535850585076587e4b5b58415f5f5b5c587e585a585b5058507e5860585c50585876587e587658717e4b5b7e5871587e6e5b5a60585f484b7168507e587e5871584950585848737e5c71584a58585c582d5a485a585c5b5c587e5b4c5c407870585b5c5c6a5458486a7e5b4c5c407870585b5c5c765550584c7e5b4c5c4078715b58577e50485829587e5b4a585f484b71685c5e2d2b587e7e7e5b4c5c487870585f484871685c5f6a5c485a585f484a716850584f5b5c5e7670585a7e5a585a6e58585b5d2d587058585c537a5b5d585c5f50584c7658707e715870585f484b71685c5876785a6e6a5550584f5b545e7672585a585a5a36505a58485f36506e5b5b2d58536b507e5872585a58585058502b586d585a5058587e584d405a2b58507e585c5148584e76485c4a5c5e50585b5b5c5e76705870585d5c58217e5871582e487c5d48585c512f2958587e585c517e584e76484060585a5c582d7e585c5158584e76485c4a505d505854485c6158545058587e58295c585c586a70584d405a6f585c7e585a585a577e505450585b5b585d405a5a5857585872587e585c51405874767e585c51485874764857724c57585a585852585221584a585d5c58727e584e695e5b5c587e586158535048507e5860585d5c58755b584148485d5a585d505854485c6158545058587e5870585d484858485a60505b7873405a6f585c5550585b5b2b5853685c5a5f5b5c5a585b50585b5b6f585f6850585b5b5a5e695b585a585e50585b5b5c5e767e585c5c5478705858487c585b78715a555848295850585b5b2b5853685c5a4c785d585c555a60585d50585876586b6e5b50585f6b5c586e7e58615857504850485f705c5b5058587e5b4d405a585a585a50585c7e585b5d5b58725c5b4b6e4b5850584b5b5b5d405a58586a7e585c51405874767e585c51485874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2b585071584a585d5c587678505840485a71767e585c517e58747672585a585b5a20505d58485f32506e5b5b7e58576b507e5872585a58585058502b586f585a5058587e584d405a3258507e585c5140584e767e58605858487f585b78705858487c6e5b78705858487c7e5b78715d4c584a5858487a7e5b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e555c584a585850585b5b505e762b58716e7e585c5c58577e504050585b5b584d76585f605858487a4c58567e584e5829585a485a5858487f7e5a78705858487f585a7871582b4b48295850585876586a485b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e555c58486a7e585c512d58747648504a5858484b7d6850585b5b5f74767e58705858487a485b787058585258556a584a585852585576584a5858487d7e5b78705858484a5b6850585b5b515e767e585c5c4078705858487f585b78715d4d5848295850585b5b325853685c5a4c785d585c555a6e535850585b5b2b585f685c58755f5d48587e585a29585f294c57585a58585258507a507e547e585c5c7e78746d5b776e5f525d48587e585a585d48484b68577e507a5058547e585a7e5a5e5d405a58586a7e585a585a50585876586a485b505848486e6e507e585a725d585a5c5e50584c7e585a725d5a5d7a5d5a5a585f5058402a586e587e585c5140584e767e585c5c7e787058585258507a50584848554a5858487f7e5a78705858487f585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258552d58705c5a50585c485a71767e585c5140584e76485a71767e585c5e58582b7672585a585a5a2e6a5d585a5458487f585a786050585358587e585a585a577e557e5870585850585c2b586c7e5a50585b5b60585f685058547e585c517e584e767e585c517a584e767e585c5140584e764828585c7e585c5e2d584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6d585c7e585a5858484b5b68577e505450585b5b585d405a5a5a585848485c2f58587a7e585c515f585d76585b7e57585872587e585c51765874767e585c517e5874764857724c57585a585852585229584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6d585c5550585b5b2f5853685c5a5c7e585c5c5178705858484843685058507e585c5e29584e767e585a7e5a2a585c7e585a7e5a2b585c7e585c5150584e767e585c5c48787058584848616850585b5b5a5e767e585c517e584e7648296e5c57585a5858487c7e5a787158755e7e6e5b5a6e6a5a485a5858487a7e5b787158534b4829585058586d58587d5f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585229584a585c5c54485a5648545850585b5b60585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c51765874767e585c517e5874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2f5850715870585b5c58767850585b5b60585f685c58767850585b5b215853685358587e587e6c2e586e5873585c516e58746a70585a48585058587e5873405a2d58507e585a585b577e557658705858487a7e5b7870585d50585b5b2d585f6850585b5b2a585f6850585b5b2b585f685c57485b50585b5b6c585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b485b5058587e585c5c487873405a5d5a58584848582b587e7e7e585c5c5b567e585150585b5b6148582f5858405d4858535850585b5b2f58536850585b5b2d5853685c5d435f5d48587e585a7e5a6d585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b485b5a605858487c7e5a7871587150585b5b5b2b767e585c5c5e7870585a50585b5b6d585f6850585876586d6e5b50585876586d7e5b50585b5b60585f6850585b5b5c5e767e585c5c54787058584848716850585b5b2d585f685c57545b5d48587e585c517658747648534b765458486a555872587e585c5150584e76485a4c4c57585a5858554858514b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6d585c7e5b5b5d5f58737e5a585a5858487a7e5b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2f58536850585b5b2d5853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586c7e5a5048507e584b58525e705858487a7e5b787158525e705858487f585a78704858505850557748545b58772173585c517e58746a70585a48585058587e5873405a2958507e585a585b577e55405870585d5c5f6e715b70585d50585b5b2d585f685c53725b50487a7e585c5148584e767e58605858487a6e5a78715a40584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a5858487d7e5a78705858487d585a7871582b4b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c514058747648504a585e5058507e585c5e21584e767e585c5c50787058585258555458705858487d585b78705858484b5b6850585b5b5d5e767e5b615a555848295850585b5b2b5853685c5a4c785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c50584048617e502a586e587e585c5148584e767e585c5c48787058585258505450584848554a5858487d7e5a78705858487d585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258554058705c5a50585c485a71767e585c5148584e76485a71767e585c517e58747672585a585a5a2c295d58485336506e5b5b2d58536b507e5872585a58585058502b586d585a5058587e584d405a2b58507e58615b7a5048407e58605858487c585b78715a43584a5c5150585b5b29585f685058547e585c51545874764874585c7e585c5158584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6f585c7e585a5858484b5b68577e505450585b5b585d405a5a5857585872587e585c51405874767e585c51485874764857724c57585a585852585221584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6f585c5550585b5b2b5853685c5a5c7e5b70585a50585b5b6f585f6850585b5b5a5e767e585a7e5a6358507e585c5148584e767e585c5c48787058584848616850587a48706e5c57585a5858487d7e5a787158755e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c54725a566e5c5850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c51405874767e585c51485874764852584b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a2b5850715870585b5c58767850585b5b29585f685c58767850585b5b2d5853685358587e587e6c7d586e5c5a7f605458487c585a786050585358587e585a585a577e55485870585850585c2b586d7e5a50585448415a5c5e5058547e585c517e584e764874485c715b605858487d585b7870585d50585b5b635853685c537e5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b2b58536850585b5b295853685c5d435f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a605858487d7e5a787158715058407e58705858487b6e5b787058584848716850585876586a6e5a50585b5b29585f6850585b5b5c5e767e585c5c54787058515c506a5b5d48587e585c514058747648534b765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5258737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b2b58536850585b5b295853685c5a7e5c485a585c50584876587e5b5b5877502b587e585550585876586d7e5a5048507e584b58525e705858487d585b787158525e705858487c585a78704858505850557748545b58772173585c517e58746a70585a48585058587e5873405a2958507e585a585b577e55405870585d5c5f6e715b70585d50585b5b2d585f685c53725b50487a7e585c5148584e767e58605858487a6e5a78715a40584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a5858487d7e5a78705858487d585a7871582b4b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c514058747648504a585e5058507e585c5e21584e767e585c5c50787058585258555458705858487d585b78705858484b5b6850585b5b5d5e767e5b615a555848295850585b5b2b5853685c5a4c785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c50584048606e502b587e587e585c5148584e767e585c5c48787058585258505450584848554a5858487d7e5a78705858487d585a787158765b5c587e5b5a585c5258505848485360577e50585a6058585258554058705c5a50585c485a71767e585c5148584e76485a71767e585c517e58747672585a585a5a326e5b58485f36506e5b5b505e6a705b7048585058407e584d405a5e58535850585476587e4b5b58415f5f5b5c587e5b725f36577e50585058407e585a585b5058507e5860585c5058407e585a7e5a585a7e5a5c5b5c5f585a505b577e50405872585a4858535850584076587e5856587e585b587e6a7e5b4c5c58567e58585d58545550584f5b584d765858586e5a5a60585f48485c2f5858587e5b5c5c5c577e50585d585c555058407e586158495058404856605c5b505840485d70585e505854485d60585e5c506e5b5048587e5b7158565058407e585b5b555058435b5d51507e585b5b5250584c7e5b725c407870505d5058507e5b70585d50585c7e5b5c5c5b5c55505b5058435e567e58585058407658717e71584857585058575b5d5e6a485a70505d505843515d4858555a60585e484a5b685358587e58486f60587e5c5b7f6054584843585a786050585358587e585a585a577e52585870585850585c2b58767e5a50585b5b29585f685c5b5c715b705858484b5b68507e507e58615849505850485472517e29585b5b326d585850585b5b2d585f685c5e217e5871585650585b5b6e585f685c5b5c705860585d5c5b54485d5a58585058575b585b5855507e5c2b586b6e5b5058587e5873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e5861585350585f684b7e4b58505854485a4a5c5a5058547e5861585348485f295c586e7e5860585d5c5b54485d5a58585058507e58295c585c586a70584e762b586b6e5b5a60585848407e5a7871587f484b587e584a5858487b6e5b78705858484871684848587e5b705858484b5b6850585b5b5d5e767e585c517e584e764873485c57585a585848407e5a787158705e7e6e5b5a6e6a7e5860585852585221584a585b78615854505854485d4a5c5a5c5b4071584a585850584c2b587e587e5870585b505858486e48535b584c7a5c485a585c4848482b587e585550585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a50485c7e586158525e70585e5c58767850585b5b725853685358587e58486f4a586e5c5b7f7054584878585a786050585358587e585a585a577e52485870585850585c2b58697e5a50585b5b2d585f685058547e585c516e584e767e585c516f584e767e585c516c584e7648286e5c7e585c5148584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a63585c7e585a5858484a5b68577e507a50585b5b585d405a5e5a585848485c2f585b7a7e585c515f585d76585f7e57585872587e585c5e405874767e585c5e4858747648544c4c57585a585852585554584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a63585c5550585b5b745853685c5b217e585c5c4178705858484b43685058507e585c5154584e767e585a6e582e6e5c7e585a6e582e7e5c7e585c517e584e767e585c5c7e78705858484b616850585b5b5e5e767e585c516e584e7648287e5c57585a585848437e5a787158705e7e6e5b5a6e6a5a485a5858487c585b787158534b4829585058586d585b7d5f5d48587e585a7e5a515a505d50585b5b505e696b4843215b4a7e29585058587e58295c5c7873405a515a585d5058587658717e2b587e58555058587e5870585852585554584a585c5c54545a50585869586e58715b70585f50585869586e7e2a586e7e7e5b4a585e576e545850585b5b2d585f6850585b5b505e767e585a7e5a515a585c5c5a297e585c5e405874767e585c5e4858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a745850715870585b5c58767850585b5b2d585f685c58767850585b5b765853685358587e587e6c2e586e5873585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e525058705858487d585b7870585d50585b5b2d585f6850585b5b2a6e5f6850585b5b2a7e5f685c577a5b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e7e585c5c5b567e585150585b5b6148582f5858405d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f50585b5b5b2b767e585c5c5e7870585a50585b5b6f585f685058586a5857215b5058586a58572d5b50585b5b29585f6850585b5b5c5e767e585c5c54787058584848716850585b5b2d585f685c57405b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a5858554858514b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5b5d5c5873725d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a78704858505850556c6e5458506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e585c5148584e767e58605858487c585b78705858487d215b78705858487d2d5b78715d41584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e505050585b5b584d76585b605858487a4c58567e585e5829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585848487d6850585b5b5b74767e58705858487b6e5b7870585855585d7f584a585855585d7c584a5858487d585b78705858484b5b6850585b5b5d5e767e585c5c5078705858487c585b78715d4e5848295850585b5b705853685c5a50785d585c555a6e535850585b5b29585f685c58755f5d48587e585a29585b294c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b505848486148502d587e587e585c5148584e767e585c5c48787058585258505450584848554a585848407e5a787058584840585a787158745b5c587e5b5a585c5258505848485360577e50585a6058585258525058705c5a50585c485a71767e585c5148584e76485a71767e585c5e4858747672585a585a5a2c505d58485f36506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e58615b7a5048407e585c5148584e767e58605858487f215b78715a78584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585e5058507e585c5e21584e767e585c5c507870585855585d36584a5858487d585b78705858484b5b6850585b5b5d5e695b2d5758585c50295b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5e58737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a78704858505850555348587e585a7e5a5b5b767e585a58585258505c487b4f367a4d405a5b5a585850585876587e4b5b5a51502b587e487e58586c4a586e5c5b7f6054584843585a786050585358587e585a585a577e52585870585850585c2b58767e5a50585448415a5c5e50585b5b29585f685058547e585c5136584e7648747e5c7e585c5158584e76485c4a505b50585c485c6158545058587e584c5c585c586a705873405a6f585c7e585a5858484b5b68577e505450585b5b585d405a5a5857585872587e585c5e505874767e585c5e5858747648544c4c57585a585852585221584a585b5c58727e5874695e5b5c587e584b58535048547e584a585b5c58755b584148485d5a585b50585c485c6158545058587e5860585b484858485a60505a7873405a6f585c5550585b5b705853685c5b217e5b70585a50585b5b6f585f6850585b5b5a5e767e585a6e58366e5c7e585c5148584e767e585c5c487870585848486168487c5d48585b5a575848295850585b5b705853685c5a50785d585c555a6e535850585b5b29585f685c58755f5d48587e585a7e5a5d5a505d50585b5b5c5e696b4843215b4a7e29585058587e58295c5c7873405a5d5a585d50585876587e7e2b587e585550584c7e5870585852585221584a585c505840486048502e5848587e585c5148584e767e585c5c48787058585258505450584848554a585848407e5a787058584840585a787158745b5c587e5b5a585c5258505848485360577e50585a6058585258525058705c5a50585c485a71767e585c5148584e76485a71767e585c5e4858747672585a585a5a2c505d58485f36506e5b5b7258536b507e5872585a58585058502b5876585a5058587e584d405a7058507e58615b7a5048407e585c5148584e767e58605858487f215b78715a78584a5858487a585b7871584b507e5c7e584b584d5c586e7e585a585b484858485a60505a577e5221584a585850585b5b5c5e762b587e6e7e585c5c58577e50505829585a485a585848407e5a787058584840585a787158614b48295850585876586b6e5b50585c485a4a585a7872405c485a585b5c5872715860585b50585c485a4c5c5b7d5b585450585c7e584b584d5c586e7e585a585d50585f5b585b5855507e5368577e522158486a7e585c5e50587476485160585e5058507e585c5e21584e767e585c5c507870585855585d36584a5858487d585b78705858484b5b6850585b5b5d5e695b2d5758585c50295b5d48587e585c5e50587476485071765458486a555872587e585c5148584e76485a4c4c57585a585852585054507e547e585c5c4878746d5b776e5f525d48587e585a585d48484b68577e50545058547e585a7e5a5a5d405a58586a7e5b4a585a50585876586b6e5b5058487e5b715d5258737a5d585a5858487d585b78705858484b5b6850585876587e6e7e5b5b586d50585b5b7058536850585b5b7e5853685c5a405c485a585c50584876587e5b5b5877502b587e58555058587658767e5a5048507e584b58525e705858487d585b787158525e7058584843585a7870485850585055727e545b58412173585c5e4858746a70585a48585058587e5873405a7e58507e585a585b577e52505870585d5c5f6e715b705858487d585b7870585d50585b5b366e5f685c53765b50585b5b6e585f685c5b5c70584a585b5c5b54485d5a585850585f5b585b5855507e502b586b6e5b5058587e585c5c487873405a5d5a58584848582b587e7e5d4858535850585b5b7058536850585b5b7e5853685c5d5f5f5d48587e585a7e5a6f585c7e584b5853505853684b7e4b5850585c485a4a5c5d50585c7e584b585348485f295c586e7e584a585b5c5b54485d5a58585058547e584c5c585c586a705874762b586b6e5b5a60585848407e5a7871587f5058407e58705858487b6e5b78705858484871685058586a5849215b50585b5b29585f6850585b5b5c5e767e585c5c547872517e2958584873485c57585a585848407e5a787158705e7e6e5b5a6e6a5a485a5858487d585b787158534b48295850585876587e6e7058605858484b5b6878295e7f584c7657585a58585058575b5b5e762b587e6e7e5860585852585050577e50585a60585f5058507e585a7e5a6f585c7e5b5a585e5c546a5a577e505850585b5b29585f6850585b5b5c5e767e585a7e5a5d5a585c5c5a297e585c5e505874767e585c5e5858747648537e4b585058487e5b5a7e5a585c5c5a7a73405a58586a7e585a7e5a705850715870585b5c58767850585b5b29585f685c58767850585b5b725853685358587e587e6f4f5b485c507f605458487d585b7860505e5358587e5861584350487a7e5b70585a577e5221584a585e50587a2b586b7e5b487b7c69746c4321487c772a216f532c50584f5b5c5c407b487c772a216f532c5058575b505c407b50486a7e5b725c7e78705c5458295b5b606f7f74206e5071587e57585872585a485853585872585a485853585872585a485a585a487b6f4d687b5b204d584b585058535b7e6a5676737761545b5c587e5872517732507c2c7c5c40575870585a487d4a2a326a5b2d4b7e295f5058535b2f7f7f60217775515d48695b7e21567673776e7158725c5850487a545a7e6a7e58725e5d6e2f70567f5c40575b60585a48402f5f6a6c4b214b7e295f5058535b6d2f74782c7761515d48727e5b70585e48787e5b7870505a577e5558584a585e52585558584b767e5870585e5258522d584b5b4c5e725e56717b55727f5a5c5a484858715a586e535a60585a4840745a6d562d5a4a7e295b5058535b6f5756696a51285e5d48507e5872514a2d2e604a587240575b4a585a487c4e363253215a4b6e29505058435b68585f685c58767850584076586a585b5e7e6d5b707652292e7e5071587e6e515a60585a487a6b2a2c6f7a5a4b6e4b585058535b696a7f4f697e4b5e5d48407e58725e527e6b4d6c58727a575b60585e5258522d584b58485058435b29585f68535858495a60585e5058762b586a485b487d4a2a326a5b2d487b634d687b5b2050584076586a485b505857505e605c5a5d584055487a4a5b584a585f577e50585058587e584a585c50584076586b7e5b505854482c7e5c7e5a605c5a5d584c5550584076586b7e5b50584076586a485b7870585e52585221584a585e5258555c584e766d5858582f5858587e5b707e5a61585f5b584e76715a7e6e5f5a60585e50587e2b586a7e5b487d55736f53505a487c4e363253215a50584076586a7e5b50584f505e605c5a5d5854555058435b5e5e76705d4b5d5458705c5a50586e486e7e50715a5a585e48487168507e727e5b725e76584e767e5b707e5a60585f5b584148486e58507e5a5a58535c55295a505872485a71767e5d4a58535c49295a50584076586a7e5b48785a5b584e767e5b707e5a5a5d7658585a585a5c50765b5e70585e52585550584c5c5b78705c5048402f5f6a6c4b2150485054587e6a7e5b705851577e5554584c5e7461204e745b5c517732507c2c7c5a585e52585554584a585f4a5b6a71587e6e5b5a60585e52585554584c5e7e7e485f6850584076586b7e5b50584076586a6e5b78702958585d7658585a585e52585554584c5c5b78705c514840495d68502c215048505458586a585a6e58552e585c5b58412173585c5c7e7860505e5358587e5b70585b577e50405872587e58607e5a5b5c5c5b7a4c4c5c485a585e4841212b587e587e5b70585850585c7e5870585d5058487e5b70585852585058525850485c484c58507e5c2b58717e5a485853585872587e5b707e5a58582d5a58585c5a5a60585f4848582f58585854586e6a7e5b4c5c5b567e58585d58505550584f5b584d7658585a585c4848482b587e585458486a7e5b70585d5c58217e5b71586050485c7e5b7158565058407e5861584950584048737e5c71585a585e5c582d7e5b7058585c5c6a7e5b725c547a7058585c5c767e5b4a585e484b7168507e547e5870585e5058547e584a585c48485c486d585c7e5b72402f5858587e5b707e5a5e5a5c5b5829587e58295c5478615852507e547e5b727a5758586a555058435b505e7672585a585b5a29585b5841205b585a5c58582a217e584a585a4b7e4b365058585f50585c76587e587e585c5c5c7d5e7670585c5e587e505a587f2a5c7058295c407d70585d7a7058587a605c5850585f5b5b5e767158486e5b5a6e6a555e6e5873585c5c487860505b5358587e585a585a50585448637e507e584c5c48787048585a28485b5877215a485857585058547e5b5c7a5c485c5f365048587e584a585a4b7e295a50585c76587e58705b4a585d52585058507e43505d48507e5b4a585e4a7e4b5848485c495b4a585d48484b685048547e584c5c5c78705c5b5d58505558586a5550585c7e58727a7158586a7e58586d5858485f36484858715858573650585c7e5872405c7f6058585b4a585b5558585850585b5b5b514b68507e5b5b7e505a587e512061507e575b5e51407e582a507e58515471585a585b48485f6850485c5458486a555a367a5b5848573650585b5f5b5c5b5b6e505c5b5258505850485873585c5c7e7860505c53585b5b7e505c5b505858486f7e50705b484b365058487e58607258585d7a5d5c5a585c5058546958587e2a58617e7e587e4b585829587e5b4a585c484b5b6850584848696e5c7e58725c485058535b5c5c727b5048575b585a5c585829587e585a585b7870505e5058406d5858587e585a585c787029585851542f5858587e585c5c5b78705058505857515d4858555058507e582b6a715870585b5058576850485f5b5d605c585829585a485a5858507e547e5b5c5c4878747670585a58585548585848485f68507e582f5858587e585c513658415c57585a585d48485f6b5048587e586e295b5a6e6a7e587e29585a6e6a7e5b4b58484848585f484121555e70585c484a5b68535858495a295e7e7e485f5b61505c5b525850585058547e584a585a5c56405b5a616a58506e5b5b5c5e6a70584a48585058587e5870585d5c49545a50585f5b5c5e767258586d7c5848573650585c7e5b5a585d782b76715b4853585829587e5860585c4b6e4b5848412171585a585b5058535e5d48507e584a6e58585a505e5058546a585858705b297e575870585e50587d525b5c5b5b5848215f5058575b584e76715860585b48485f6850485c54587e6a585a6e6a7e5870585f4b605c585a6058585a2f725b58484b36505858765875487058607e5a5b5a505f505858765871487e585a7e5a515a505e7860505c5058487e5b4c6a7b507e485c485a585d525850585058407e5b5b5b5a5e70585d50585476587e587e5b5e762b587e587e5860585d5258505c50584b6b507e4c2b587e485550585476587e58715b5a585f5058507e5870585f4a616a705b484b585058487e584a585f5c5c50785058547e58607e5a585a585f7870505c577e50585058547e58607e5a5b5a585f7863405a5b586a7e5b5c5c58567e58585058587e585a7e5a555a505b577e507a5058587e584d405a5f5a585a5a60725850585c7e584a7e5a585c5c5178725f2d7a4a505b484b5b68577e50585058587e584a725d585a585b524854505c57295b564854585a2e48405861533658416e5a7f705458487b585c786050555358587e5a295c58577e506a5872587e587b29705e4c50584c6e4b5848485c715c5c512c5e705c4d50585e78507e5e20504b725458486a7e5b5c5e585c515c5c485c5c5b504b5b5b365b76715c6e6e5b5a2951365e72512f5e70585c48485f615071587b504b547e5c5c4c715f586a5a485a584348765a587e505a587e505d2d366e5a5d48765a587e505a587e505d2d366e5b4b5b5c587e585c5c7e5058507e5c5c5c5d7870505d50584b5b3636202e7a4b586c5058587e5c6058485c5a767e585c5151515c5e585170585f484a5b61507e4c7b487c767a4843407c50584c7b50585c7e584e507b4848544852705858484a587e5870585d50584b5b7e5458587a61586c5058507e5860585a505857525e605c535d585c5550586d5b5c5e76715c4853585877215a485a585b50586d5b555e76482a485070584a585b765a505b4b5858585858585858585858407e4b5850586a7e5a607e5a555a505e48485f6b577e506a50584f5b505150705d725171585c7a5758486e5d5a60585f484a5b60507e2c5b2d485b5e5d48507e5a607e5a555a5c524848407e5860585d48485b505e6e6e5b5a6058555058435b514e6a705a73405a555a585b4b5858585858585858555b5b76705c5b4848407e5860585d48485b505e6e6a715d5a5855484d5b6850586d5b295853685058695b585c7e7b507e29715b6e575850587a5a7f60585b4b5858585858585858495b5b4060585b4b585858585858585858585843775c5c485a585b686e6e5b5a295c585a60505d577e505850587d5b5b5e76715b60585b5058562d764c485858585858437a2a5748785070584c48585858585858585858585e505758586a5a485a585248485b545b5c587e5a705c5d50587a715b70585750487e5458486a7e5d4a5c5050587671586e57585058575b514a585d484b28505e605c5d5872587e5b295c5c7860505e505871535d48587e582f29715e725058504b725d485a585e505b755a36363636366e325d50584028587e587e5e7643215071727e5e4c525875566f7a582d58705e4c525875566f7a582a2c20497e50585058435b5b5e6a705b7058504d6e29585a6058436960505e4b4829585058715b5b5e6a705a5a585e577e50585a6e575850587e7e5b60505e4a484b585058435b5b5e6a705b607e5a585c4c5758486a5550586a7e5a607e5a555a585d7860505d577e506a505840715b60585d48485b525d4858555a605854484b75684848756c50487a7e58295c584a584b5850587d5b584e76715c705856487c40584b705c4f58295b5b585a585d7860505d4848727e58295c534a5b6a715a4853585058407e5a5c6a5c485c5e5875566f7a586058537d705c4e4841217e5a414b5b7f2a54715d295c585048547e5a5a5c515829587e5b60585d50587a76587e58705f6058537d74762b587e587e5d6058417a4a584e7b5a5c5d50587d5b5b5e76705b60585e4a4829585a6058505258505850487a7e58294c57584a585e5058542b587e587e5b725c5c78705c5e5d585c5550587e76587e58715b6e6a7e5a6058555258506a50587568507e542b58706e7e5d4a585050587d5f4848532978705050505b4c7b507e7a7e5c725c5a7d5e767e5b70585e50587d6b48485328505b53525e605c5e5058575b585c7e5758586a5548485871586e53585058407e5a5c2957585a58575058716b484853284848756a5048575b5a705c5150587e76587e58705a4c5c524a4829585829587e58295c5b78705c5d5058727e5b295c527b5a50514d6e29585a6e6a7e5d5c5c585058547e5d725174585c407b78605856487c7a584b70585448485b517a4e6a705b60585e5058286b484853284848756a4848756b4a584b5848484b5b6958507e5a725c584a5b6a7e5a2b767e5b295e5860585b68507e755b5a4e29705d295c5a7d5e695b295b206b5048695b5a705c515058727e5d295c537b5e6a705a4c5c514d584b585829587e5b295c527b5a5c515058755b584e76705a4c5c504b6e29585a6e6a5a485a5852525850585071507e5c7058517b70504f50587d6a786050534b4a585248484b68507e217e5b7243615d48585a485a584f48485f614b484b584b58585858585858585c5b5d50485c7e5b295e5875566f7a58297a7e5a5a58524d2a5057584a585248484b6b5548585848485f614b48295b5a29485b5858585858585b5848605c5b5a2948585858585858585d7e492948585858585858585d6e492948585858585858585d2d4960585e5058205e5e2948585858585858585d2d4960585350587d5b584140705d29407b5058727e5d29727b504b7e5a485a584c5d48587e5c602958585c5c6d4b6e2958505b7078504b7e7e5843767158486a7e5a70584a5058756b507e722b587e587e584a5840765a585b404829585058767e5b6058537870505d577e50585058575b7e534d6b2a5857495b5c585d485a58524848582b587e587e5a5a585248484b6b507e69555b5c587e5a5c5c5c786050504848582b587e58555058767e5a707e5a585c5c5b7870505d577e50585058575b362c496b2a5857555d4858555a6058575058716b484853284848756a5048575b5a705c5150587e76587e58705a4c5c524a4829585829587e58295c5b78705c5d5058727e5b295c527b5a50514d6e29585a6e6a7e5a725c5c787050515058407e5b7058514a616a715b7e6a5d485a585e507e7a7e5a5c29705a4c4c5c485a585148484b6b507e4076587e5b5f5d485c555a6e535850582c5b2c6e5b515b5c587e5b5c5c507a4a5c525d585c555058575b7f2a575b7f60585448485c7e5d5b6a705b70585d4a70585d48416d527a4a50525e60585e78705c544841205b7f7058525e60585f78705c5f50584b5b5a515c705a7e295848417a715b7e535850587257585a585148484b6b52585058507e2c5f5d485b5b5a705c53484858715b7058564848696e5d48585d485a585e507e695b584e76715b7058565058755b5a746e705a415b5f5d4858555058695b7f2a54715b7e6a7e5b60585778295c5a7d4c5c537b5a5c5350584f5b412a5f5b617e5b5e5b5c5b5b585a5c5250586e7e5b70585378725c537860505e4848587e5b725c584a716a705b70585e505861525e605c545d585c55484858715a7058545058547e5a4e767e5b74695b5a4e6a705b725c585058435b585c767b507e407e5b7058544a716a715d586d5b7f605c535058615b367f3636366e7d5b366f3636366e7a7e5a7058547a70505e5e297657584a58545058435b585c7a705c74695b584e76715d7e535850584f5b412a5c705f5c515e585c405c485a585d487f36363636215150582c6b4a7e295d5058575b585a585d48485b525e605c5e5d585c55505b5c7e5860585d484b2028507e4368505843636b4a584b5c50215b507e436b48485f545b5c585d485a585e48485f6b507e435b545d7658585a584b5058436b484853505d4858555a60585e4848536b507e217e5b4d7658585a585e48485f6b484a285b5260585d48485b505e637658585a584b5058206b507e435b36363636366e7a7e5d746d525d4850555058407e5d74767058605848487f3636363621517a297657584a5858484a587e5870585d505b5b68507e4c7e5b5b586c5058587e5c6058485c5a767e585c5c6e5058507e5b4a585c48405a585b515448557e53585872585a485a584c487a40584b7e4b5850586d5b5c5e76705b725c507a705c5d5058435b5a4150715a70585750587e7e5a5a58574a616a705a4a5c505829587e5a5d4c5a585a58525c50215b5048405a485a5850505875515b5c587e5b705855484b5b684d48295b5829587e5b725c5b7860505e484d582f5858587e5b705855484b5b684a6e29585a6e6e5b5a60585e505869515d48587e5a295c6e567e5840505854715b7e6a7e585a585e5058767e5b746a485270585048484b68507e7e7e5d4c295758586d5b585a5c5e505b535f5d48507e585c513251725c5b5c5a767e5d5c5c584d5a5851505871577a7e295b5829587e5a5d4c5a585a58525c50215b507e407e5a295c4878726a5c485857585058435b584e6a705b725c6e567e58585058407e5a295c4878726a5758586a555058587e5b7058544848727e5d5c5c534a5b6a48527058544848756b5048407e5a5c5c5c7870505050587d495d48547e5d5c5c534a705c5d505840715d5a585d5d4858555d5850555872587e5d5c5c584a58295850587a7e5a5c5c5c78705851505871555e605c5350586d5b5c5e767058295c537a705c575058575b5a5150715860585050487a5d485a585750587a28587e587e5d4b5a49584a505e4b7e4b5850586d5b545d76585e5a585d504840555872587e5b6058504b6e4b585058407e5a295c4878722957584857585058435b584e6a705b725c6e567e58585058407e5a295c4878726a5758586a5458486a7e585a585e48485c485270585e48485f685048435b585a585448485b545058767b5d48587e585c513251725c5b5c5a76555058587e5b7058575058436b507e407e5d5a585e505861505e61586850586e7e5b746a715d5a585148484b68507e7a7e5a4c2157584a585448485b565d4858555a605858484d587e5d5c5c4a78725c4a48485848557058585058217e5c4a5849786158685d58505550586e715b7e6a7e585c5c6e5058435b5a4e695b5a4c5c585c5a2d5550585b5b505a585a50584c7e5b5c5e586e585b635c5a2d7e5870585f5058507e5b4c767b5048725458486a7e5c60585f484b6929484b20284848756178705c545872587e58295c554a6e295848486e7e582b6a715b724858585858585858586e485a5c405829587e5e5c4858585858585858586e485250715e5a585e48485f6b507e405758586a7e5d5a2958585c5c6d4b7e4b58505b7e7e5843767e5e525e7e74705c5b5d585c5550585c7e5e52587e5e525c7158486a7e5c4a58555258506a507e407e5b725c7f7d4a505e7870585e7a2f297e5c4b5a49584a505e4b7e4b5850586d5b545d76585d6058554848206850484055505b5b5b587750715a70585f484a5b6150487e7e5a607e5a555a5c515058435b58746a705d4a585f48482068567e58585058435b584e6d5b554c5c6b50587d5b585c7e7b567e585850584b5b5a515c715b705855484b5b6850487a5d485a5851507e4c5a7f60585b744c48585858585858585d7e484e545c485a585b687e6e5b5a295e587e505a587c586a705b295e7e5474766d5858587e5a51502f58585b5b584a585d48485b5250585c7e5b2e7c714b58585858585858585d5b587670505b4b58585858585858585858584077507e5b716d5f50584f5b584e76705b605855484b5b6878295c5b4b2a535f5b5c587e5b4c5c6c567e585b50584f5b587476715b6e6a7e584c48585858585858585858585e505758586d5b7f605c53487f2a36363621515058767e5c4a58577860505f7870505e7860585d4a58295850585b5b505a585a5058405a7f6e53585058575f5d48587e5b605855484b5b68786050504848536b505857565d48587e58295c5a787e6e5b5a60585150586d5b5c5e696b507e7e55507e7d68507e547e5b5b586c5058587e5d5a58525c5a767e585c5c6e5058507e5860585c48405a585b5154485570585850586d5b5c5e767e5a5b586850585b5b545a58515058716b48485b5b585b586c5058587e5d4a585f5c5a767e585c5c7e5058507e5860585c48405d58585154485570585a5058547e5870585d4a716a715a486a7e5a295e6e5b5e7672585a58535a28485b5877217e584a58585258534c507e5c7e584c5c585058535b7e585368507e54482a585c705b5a585b7860585d5058487b507e547e5870585a505857555e60505a5c5c50785058587e584a585d7870505d577e534c5058587e5863405a5a5a585850585c7e5874762b587e487e587e6a53585a58585c565c5b5c5b58555c6e587e585a5858525850584848616b5258505878715d7058486a4d585a585850585876587e5b5b5d5e6a76587e5b685c50765b5a6e765850585b5b5a5e6a482d7e5c555a7e587e585c5c5078615a5258486a78585a585850585c7e5870725d5a5c5c585058547e584a7e5a585a7e5a5c5b5c4e58586a53585a58585c57585b5c5b58557558505a5841215d7f70585b5258504050585c76587061555b5c587e584a585b52585040577e506a5a29533650487e5a485a585c484b7161507e4f5f50584f5b5e5c407e58295c5b4b775f605d48587e584a7e5a555a505f5b5c587e5b4a585b484a5b685c58286b6b5a5c5e5a6e53585872585a485a585d5d7e545a58585c5d5a60585c484871615b5c587e584a7e5a5d5a585b52585050782f6e715b6e6e5a5a60585b5258504050585c7658714b6b6b5a5c515d585c55505840715b6e6a7e587058517f5a505a487e5b4d5058507e5b754f605d48587e5b5c5c507a4a5c5d5872587e58755857585a585d5b5c587e584a7e5a5d5c4c57587e6a7e5b5c5c487a4c4c57585a585b525850404b48295b5a60585d5b5c587e584a585b5258505050585c76587e7e7e58687d6850585c7658706e48746e5c5550584b5b5c515c5c485a585b50585c765871487e584a7e5a515b5d2b5870585b505852775c494c5a5a60585a50487e555058587e5a5b5a2e58486c5d587e5c537f605458484b5b6b507e54725858533650585f5b7f615b7c4b484b5850585876587e6e715b5a58585258505050484c7e585a7e5a5e5a58585258507a4b7e4b584841217e585a2958545c5c487a4c4c575871767e585a7e5a5e5a5c5e50585876587148715b6058585258506a50487e7e585a7e5a5f5a5c5350585b5b505e767058725c585c525c5b5058507e5871584d5c586e7e585a585a5c5829705a70585a5c58727e5a747648207e507e585a585e50587d6b5c494c5a5058587e585a7e5a5f5a58505058756b7873405a55586a7e586058585258504048485f68577e50545058587e58295c5478705858484a61685c514076587e582b58706e7e585a2958545c5c507a484b585058587e585c5c7e78715857507e507e5870585c50584f6b787058585258506a5c536a5b5a60585850585c4877585c48367e505458486a7e584b5d60587e6a71585a585d484b5b685358587e58586c7e58485c5b7f6058585258504050585876587061555b5c587e585a585852585040577e506a5a6e535850585876587e7e7e585a7e5a5d5c2157585a585b48412148417e4b585058587e585a7e5a5a5a58585258505448485f6b5058587658706e48746e5c7e584b5d60587e21555058586d585d5b5b5c515f5f5b5c587e584b5a7a584a58585258505448485f6b555858585c5f2c5f5d485c555058587e585a7e5a5a5a58585258505448485f6b5058587658706e48746e5c7e584b5a7a584a5c5a50585876587e6e7e58737658585a585b5d6e6d5b7f6e6d72585a58585258504050585876587061555b5c587e585a585852585040577e506a5a6e53585058586d585d5b5b5a515f5f5d48587e585a7e5a5c5a58585258506a4a484b585058587e585a7e5a5a5a5858525850545058587658706e48746e5c5550585876587e6e7e585a7e5a5c5c2157585a585852585054555858585c5e4c495a295f365a6e7a5850585876587e7e555c6e587e585a5858525850584848616b5258505878715d7358486a52585a58584848716b5c56545b5a6154585058587e585a7e5a585c5c5478607e5a585e76486c585c555a7e587e585c5c5078615a2d58486a4d585a585850585876587e5b5b5d5e6a76587e5b685c49725a5a6154585058587e585a7e5a585c5c5478607e5a585e76482c585c555a485b5b60505c5b5c5876785a6154585058587e585a7e5a585c5c5478607e5a585e7648716e54555c6e587e585a5858525850584848616b5258505878715d7558486c6d58485c5c7f605458484b5b6b507e4c72585857585872587e5870585c4d5829585058587658717e70586058585258507a507e43495b5c587e585a585b555858585c5e4c7e585a7e5a585a7e5a575b5c5a585c5f364b7e295b50584b5b584e76715b5a585b48485f6850485c5f50584c7e5b70585d7863405a5d5a585f5058507e5b5e6a2b587e7e7e5b4c5c547870585f484871685c55765b5048547e585a7e5a5e5a585b50585476587e587058615b4f5058587e58605858525850407873405a5e5a585d50584b685048487e584a585d78705c5b5a6e6e5b5a6e6a7e5b4c5c4878704858505848555a365370507e5b5b7e587e556a604e75402b495e715161213253752a7d322f577c2a6f2b5d7f5560362e286b782078617b2b367c4f54415f724f586e545e585d58485c5a684e7d776377296b52284043366f2e77406d7f416d7c786b68292b787d777b6a4b7a6b52732c2b5a7e712058607a7453712a28203271412f326c366b4e4f7460604c7d51737e6f6e21496f6a6b78285b43204d4c6a362b70767536686b2f205f6f2c607a50367c72695f564e7a7755724e215d587421522a6d2a4c7a367f2a716b69564d494e7674537261785773436a484d21367f7e552a20364f496354605d415d482978494a75694f5c292c7c414b5a495161324357617a7c53632b57706b4c635c614073214f5f4a76545b5848504c6a7f51754e4c735029437c6e21567d525b7e4054525e4e75737a495b484c526d436878556e72515b6e2d2b5c715072742d5a585e632a702d6d21742f326f57784a7a774d6a2b606a77327f7d4141685e6e72535c692f5d7e612829555a614055717678575a297b5e6378607b742e7a2e7569786d496c7e765f6f2b4c7552724d4d6a2e7d74514e286b7f566a2e57207c6072694c732e732d2028615560207c752d4a5c5c364f4d4c2f4376297d5e2c58585858585a636d2e7a5f7e505a5b58513663212d2170616a41776d4e286c2b6f746968285c7b55602d2a436f6b2c774a63722c7a6d2c524a694d4c4d5c60402f5f71406a5c6b49632d4f6b29575a2e526c366f617c4e686872214e32366f6d614c575d716d7d574d43694f5463577475504e5f5c7a205f4b407648327f77695b7e505a5b505f367f362e6e4c5f5a7e4b5d6e217c55687f776041736852715521285f4b766f2f7376282a58485c5a58707632495b782b4a72733221774329714a5d7e2d7a584d28207f517f6f5561736e7b782b7d2a41782b682073504a5f5a545b5848505b6b3636324c56213649207b7d554a6f29635763405c4c5d586e40574b544d5370366a2e5449714128323276697c41577a615c4b507e2c5f617a6c4f214d5c7236527769284e5a7f772e214b6329207c68617243547377414f2b2f5261724354694f637a32787e405e5d5874505e5b5e7d5f494d2c2c362a576073437050704b512d6852754a6b7253582e7e2d70505a21695e4b766e692e6c2e51292e702d78636e4c5f5a712c2a6d2f772d752c7c6f5b29555a61432b2b206c6d56325d7e2b28406054744b5656736929517e76525f576d534a4350525b7e40547b5a48724a564b7a4155717d6e6a527f7b6d494d6f7c326a6b5c56744074555c68535e4b56784a4f754d5c2a2c564d4d702a752c217355772c204f5d605470554e4d7a2a7b6b7d6d7b7d68547340295b4357414f6a7d53564d69637e687875536d5e616a2b49694e4f686e5120494d63537c6b68632f2075437a68567c776b292f782f6c4b617e505a5b5d4f6c6b696f7051712d215e2175534c696055702c7a535b6e7a56495e7469757f516d554b634c7a7b5e756049762f546d212a7d2b7177514b292f5a5c7f51632e7d4a296c4e2a552b2040407855706e2b5f7076764972515b6e2d5c50324977635c6d7b4f6168744374635771504a53585f586e545e587f7b2b206150565d716073404e515a41634c28786f75414f2f2e486c7b75697240785e5f28735b6e437277514b292f6c432f7c536373712d7d724d3249736b6a2c70405263544b5c4a522e784e774a7a57774368407456737e7c77755348636d696c7b554a507c5173604a712d7a4f50567769604c775663767f364f4f4e687c5a7e764c516b7f2a2f4e4973506e5d32525e714e405a53704872415d4829782b6b3236434d51742c6d7f5e4872525c6c5e71762954575b4840526e744372697d60296d4e715c495d612e556a555b2e365f4b4c6857782e6c2b292f5f71406a4c527f294c4f577548412e5d695b7a7875752d77566a6d6b68636f614b43297f6828732f6b53545d2d296d4f3273587e2074282b6b435f2b63507e754d58552836577f754d207f55526a4e584b5d4c74732f57706d4c75786a7d2c775e2e767574582e684b7c51583675295a7d4a365d5c6f5b547e7856414b762a5e327d576b2c283249582c4e7a7271416b7c742b362b75754a754a2b5d6f6d4d4d50414b40524e777e4a4c4d5060402c68707a53287c517456205e6a324e53777d7a7b72776d7236716f717c6d70495b746b5a5d536d5d6b567f4b71522a2b565a544b6b75405d574b75294f364c2b557e7d2b4a6171522c6b6c61607e7e7f2f4c526e732c4e5e71507a5b77204b4032517b572f4c6d36712e4c70494d7a2f6f7058726d604f2d217f2d60686b4f4e405152566c6058215228552c692e614078755a5d7f4d21767a76545552756f60562f787e545a4150504e2e4a6a7a632d684a6d51747721495051212f5170784c2e5720576975287b2d5f5b71207057575e5236687b5c774f546c57525b4f212f50602d40765f7d7c6f2b695d776a7e6e6c682e2b5b585b69206141755c487b6b2a2c70705c3249487b7d75682d5f496d285e6f7c43576d40284c72484f7d61515f6f2858405c36614f48405a4d2e745b74412f7b2a4e635c575870417c7c2b4e7c20486c706e70506c535b63717b5e7c7f7b2e6a712c4b6e6921767c72494877635351764d2d585858585850565e7e5875502e4a6a606b51584b51722c604e74632e366e2e204f73705f5d612e4f6b732977564a292b435772495a705e74415e734b4f5f6c7b56702d2b53555f775a7e6e492c287c4d29697b6c6d532f4b74616d49617a5a5876705d7a404e75557d28764e5e71507a5a6b684d2d6c4c6876545b5d2d5a5021514b7a7b5c7e6a575a482f6d612d6f606c78702b557a706951714a5f5e7f5f414d587d286b2e6f7d747c2e20405132737760405b202e63287a75635f562b435c57512e2e4e2a4069482d6f7a617049557849636d6d7449612c5573522a5d51415c504f73487258707561547e5c7a785c7f4a4b52717f7e206c20504b546f746c7b785c6961296a6f77712a635455557a2e5f525e5d7d5d736e417d6a5f6b546b747b756e687f6950755b5c704356755161506321685b763621525d405551284e2e2c5863506a7d564a407f5b294d734336685552735d4055285373497e7f4e7452572c2f694a78566d2068726f2f29362c53292f55582b4a7c5f5a7b635f2068407243324f54504d737f7b766c577048416f7a2c556f4e6f6e2d52327e5f2b7f7f5349487878726d284e32635c704149562c746a60527d205e5b5b6c402c63767c2e6a2e2b6e752d536a2a295e5f756c587b7c782e5270784d2d57757b6941747f6c7b36687e73496f5a51742f5b416f2b436f776c6a2d2b7b296b4c5a4336682877606e52783260695d5c615063216854534a75616a5b7476734c2a6f5c2c29696a685a36555d487256584f2b527a634a697e5c217f7f782e5c5c564c5428365536784b5f2d2a4e4d4143576a56205d4f5c2b686357215c756c4d736d7d5e7c5e2d71684d557e7f55545f364c4e4f5e5b56697c774f292873585f637d507f2f55725c553228767d432e574a296d6c4a542840482f4b575128742b54407d7c787c7e6071572d2d4c325f7453495b496b2e707c6963734153407b7f6d2c4b637149555f517c75777f29696e367a36534f7c7a2d4c5e55212a612a4968637f7d4d4e2f6b2041614b6f497d325e2b294b2d7e7f566f60732e5c7855726a575a482d41295a736e77555d514b4054537c522170297221525c5e4f5d7f206158787e2c2a6b54545a5363726d5770486e4f437240404d557c2a5a2b546d4f29415e615048757c2d295f5053786d4c6e57684c2d6f295a737776516328366d212d63745a7460363671634a5648294d5c2a6c77554f516c4c54687b5a50632a6c4d534c55486f6b5d4d7e7e6c764e40762b4a4a607d756c704a4e2b55294a4f6032494372717470405f6d4a724154617d437b784a7b515b504c492a6d6c7d697c5f4c4341692d2b7d71535d40686e5a546f57545220324b405b7b70634b487b48555b2f4960732149586a5e6f6f48545b5c2d696b56695c4b484c20772a566841216a365621554d747a2c786a7d5a55776b4d4e5f2d6f722a2f5b61282a2b2c51214b6961514a775f704e322a407e2f685e552d7b365f40324a217b4a7c4a5a782b215d327c542878205b367d685d56505b217a616a4b50484e4a7c582e5f207e4c4132695e7b4f525d4a2a757c69324d6043636f7656582e4d782d68207b5d502f2e6a217e285643404b7a6b5b512f2f7d2040742d4e724c40284c715d51295b587e48505c5a5b587e5b6a2b784e2c74784e2c697d5172584b744f707a774f717a7772584a745f6c7d4e5f607c485b527d4e612c585f4b767d415363435e5f2c585f4b2843415772404172584f2b4f727b744f63435e5f2c585f57717d514f60435e5f2c585f57287b744b717c485b577b2b2c72404172584b775369435e5f2c585c28717c4858757b4a2175435a21757c48586d5260587e505d5b4054517e58554d5b4052635b40505d5b40554d5b2d52635b2d505d5b2d585c2c6f7d7e5b4c78514c5848414f777d415729585c20737d585b4d4041485848415b6058514375402a4b6f7a7e5b49402a4b6f40744f60585c2c6f7d744f6d40744f60585f57757a514b757b4e53757a7e5b5c434e57757b4e53757a7e5b697b2a577f40745f63434d762f402b6175404150584d4e5f60585f57757a5858754a4d76754d4d76754c6058757a585b4d7d4e2d584a774f6c58515729435d762f4341717343415b29784e206c585f207f402a7171412b7d2840415372412b5f737a414f697a744c7e435e4f29434e5729434e487e7a744f737d41536378414375505e756c78414b69404e61697c745f29784e206c585c286f7b7e5b6c404e2d584a745f6c585c69287b585b6a7b585b5b7a5153697b585b5e7a7472584d4e5f60402b7e5848414f77585e756c437e587555735b54437e58754d5e4058404e616a7b2b57717d5e2060495f4832567369717b5e616f402b5f29434a716378416975412a487e7b70727e532b2d77505e4f2d402b4f754351547e7b4e5f2d784e28287b4a5b637d415b6e7b2a5329434e487e7a2b752f43485b297a774f75585f4b2843485b74404e616343485b527d4e2c75585f7d7543585b5c434e54584b744f70585a4f71505a4f70505a4f72505a4f5056704f5756704f4d505a4f43585f5b494c297540585a4f5056704f5756704f4d585c2c5b4d7e5b484d485b5b4d485b544828205b4d5c6e584d5c5f564b6e5b534d724058486e586e544d5063575d4c2b57637e2c585c546c4f4f4b5e554d7e5840415b6e412a406058517d754075202b547e5b5b4872575c4b4c43514a5c75524a2961574d7220484c4f534d4f5f4f4e4f2871434e745f70402b4b7543747d76784e696b7b5e286c7b2a5b617a7757297d41432a7c51752f545d5c605463482857737a2d564a6a6f585a2d58525e2c287b5e6e69585f5b287a744c7e7d7475607d514f717b5a5b747d4e2c737d5e756f7b705b73404e616a434e4871585f6d764b4c6c7a68322c51607e4d295b4858585858585858585b765c4858585b58585858584c585858585e585858585b6e585858587e5858585853585858585a7e585858586a5858585854585858585d48585858582d5858585849585858585c585858585b5c585858585058585858585858585852584b5858584a585858585c6e5858584973363636362d36363636765b5c58585b48585858584f58585858585b5858585b48485858585c585858585858585858567e4b5858584e585858585f6e58585849633636363621363636362f5b5c58585b7e585858584358585858545b5858585c48485858585458585858585858585850584a58585878585858585e6e58585858485858585d2d363636367e5b5058585b6e585858587d585858582049363636364d36363632585c7e5858517e5858585b215858585b7e5c5858585d5b5058585a584a585858295c7e58584a5b505858507e4858585b295c585858585858585856484a5858587e5858585850485858585840585858585158585858507e5858585a545858585852585858585a6e585858586e5858585872585858585d7e5858585a4c585858584858585858537e585858585858585858765c485858536e5858585a7e5858585b564c2a486341282160564e53717a2b7573412b756f7a2975734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b485858585b7e3658585d215c5858584e5b4858585c2c4d7d5d577f41635061574e53717a2b7573412a57297a744f717b4e5328437275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b48585858585d6e497e5858575b5c58585c2c4d7d5d577f41635061542b53717a2b7573412b75637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c585851483658585b6e5c4858585858585858585c58585858765c48585858364d3636292c4d7d5d577f41635061542b53717a2b7573412b20637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c585851483658585a2d5c4858585858585858585c58585858765c48585858364d36366e6e585858585858585858765b5c58585b50585858584d585858582049363636364d363636327e5c4858585f585858585b4c585858585c585858585858585858567e4b5858584e585858585f6e58585849633636363621363636362f5b5c58585b7e5858585843585858584d7557295428207f54735c2940745f63784e577f784e20637d515375404e285340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4c587d5d2158585f584a5858585d58585858587e58585852584b5858585a585858582f5b5c585858505058585b564c2a486341282160544d4f7040415769402820637d5153697b747d707d4e435340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4d75577f564e5f6a7b5e207340414b6f7a7275734b4c4f5f4b485858585b7e3658585a7e5c7e5858785b5c58585c58585858585858585858525b4858585a725858585868585858585658585858497336363621765f585858526e5858585a6e5858585d58363636366e49363636607e4c5858586d58585858557e585858496e4a58585b7e5c6e5858775b54585855584d58585d5c5c6e58582b5b545858507e4d58585b295c6e5858535b5458585b584d58585b5858585858585858585850584a58585878585858585e6e5858585d7e5858585d2d363636367e5b5058585b6e585858587d585858586e49363636215d36363632585c7e5858517e5858585b215858585b5858585858585858585852584b5858584a585858585c6e585858545d363636365836363636765b5c58585b48585858584f58585858565858585858585858585d765c4858585f7e5858585b7a5858585d50363636366049363636327e4b58585840585858585e485858585c2c4d7d5d577f41635061565e53717a2b7573412a57297a74756c432a57297a744f717b4c75734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f564c28212c404e616a7b2b57717d5e20604a4e575f4b4c4f5f58585858585b7e3658585d7e5c6e58587e5b50585858585858585b405f585858556e5858585d585858585b564c2a486341282160565e756f7a282070404157754b4858585849583258585b5c5f58585829414a7c585f7c7d6f4a68587a5f504936362132536e765858585b72585858582f585458585b587758585a7e717e5c58485c504958505a4e745858582d7f4c5f5e585858585d4c5858585b61585858587836363636212e2e3636324a6f363636585858585858585858585d363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363658585c5a586e485f5b7e7a505a7f363636363636363621525a6e6e575d7e21485c4b504d5f5b4c4e5f617e435e716a7a514b2d7f505a5c705036363636363636366e76555d5829565d61584b5c71544c5f4b40415e5b72785e616e7d5171217e504a50733636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636366e585b587e4851586e405f5858585858585858585850585854585d58585d585b5858586e584c585854585e58585d585b6e58586e587e585854585358585d585a7e58586e586a585854585458585d585d4858586e582d585854584958585d585c5858586e5b5c585854584a58585d585c6e58586e5b48585854584f58585d585f7e58586e5b7a585854584058585d585e4858586e5b76585854587b58585d58515858586e5b29585854587c58585d58516e58586e5858585855545b58585d5d587e58586e6e54585854545c58585d5d5b4858586e6e40585854545158585d5d5a5858586e6e72585854545258585d5d5a6e58586e6e6e585854545758585d4d5d7e58586e6e2158585454585858602e584858546e6e50585d54545d5858635d5b5858542b6e585858585d7c5c7e4a4f5858585858493636363636363636363636363636362c584e5858584c5858585848602c4f4f5c406d56585b5b2d5a29555868484e585c5e58557e6d514d5c577f48284b434c5c4c58585858584d5c577f4d754f574b4f5353486e58584d5c577f4f5c75574b485858585858584d5c577f482920544d5c5f4c4b4858584d5c577f4d4c20564b4f4b5b4c7572584d5c577f4d4c4f4d4c295f514b4f5458487d586c5a295c43585876585e4b72435858585858584c5858585858585858535858585858586a585858585858585858585b72585c4876435e4b725d5a7e7a58584858535a617e585858725e5a6e58585a6e585e5e485858585b72435e485b5b764a215550482d585858585858585858585b72585a7e29435e4b72585d485858587e58535d7e5858585872585d7e58585d7e5b5b2b60215558486e58487c7a6f5a614c4d58585858585b5458585858585a486e585858585858586e5858586e5848434c6e5a6e5c48585c5e7154586a4f5d6e5858585848495858585858587248585858585858584858585848585c514954586a5b5c7e5b5b2b63585551715c58585858585c485858585858535c7e5858585858585c7e58585c7e58585e7e5858585b76785e7e5b5b72735c555d717658585858785e7176585858585858585853585c515d54486a5b5f585b5b63635c555f4b7a58585858585f6e5858585858535f585858585858585f5858585f585b5b364d5c55584b4058484072605a60724f58585858585b4c58585858585a4b405858585858585b4058585b4058585d586154735429574d402a565d755b4872575c4b4c43585e7e5b5b6e5d4855366e5c5a58585058587e585a58585058587e585a58585058587e585d5058507e5870585a5058507e587e585a58585058587e585a58585058587e585a58585058587e585a58585058587e585a58585058587e585a58585058584e585c6e584d585b54585c6e584d585b54585c6e584d585b54585c6e584d585b54585c6e584d585b5458502b5873405a577e502b5873405a577e502b5873405a577e502b584d585b54585c6e584d585b54585c6e584d585a574c502848734f5a574c502848734f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c506148735f5a544c5061484d585b54585c6e584d585b54585c6e58734e5a574050287e734e5a574050287e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a544050617e735e5a54405c6e584d585b54585c6e585058487a582d5a6e5348517e5b5b285d6e553248545b58585858587e5858585854585858585c585858585b4858585858405858585851585858585a5858585858725858585852585858585a6e585858586e5858585857585858585d7e58585858215858585848585858585c485858585b50585858584d585858585f585858585b4c585858584e585858585f6e5858585b7e5858585843585858585e7e5858585b6a585858587a5858585851485858585b2d585858587f5858585850585858585a5c585858587058585858506e5858585a48585858587558585858537e5858585a7a58585858765858585852485858585a76585858586b5858585855585858585a29585858586c58585858556e5858585d58585858586158585858547e5858585d5458585858295858585857485858585d40585858582a5858585856585858585d72585858582f58585858566e5858585d6e585858582058585858497e5858585d215858585b585858585848485858585c505858585b5d585858584b585858585c4c5858585b5e585858584b6e5858585c7e5858585b53585858584a7e5858585c6a5858585b54585858584d485858585c2d5858585b49585858584c585858585f5c5858585b4a585858584c6e5858585f485858585b4f585858584f7e5858585f7a5858585b40585858584e485858585f765858585b7b5858585841585858585f295858585b7c58585858416e5858585e585858585b5b58585858487e5858585c545858585b5c585858584b485858585c405858585b51585858584a585858585c725858585b52585858584a6e5858585c6e5858585b57585858584d7e5858585c215858585b48585858584c485858585f505858585b4d585858584f585858585f4c5858585b4e585858584f6e5858585f7e5858585b43585858584e7e585858516a5858585b21585858587f48585858512d5858585b36585c51486158585558745872585c5172605858553248545b58585858587e5858585854585858585c585858585b4858585858405858585851585858585a5858585858725858585852585858585a6e585858586e5858585857585858585d7e58585858215858585848585858585c485858585b50585858584d585858585f585858585b4c585858584e585858585f6e5858585b7e5858585843585858585e7e5858585b6a585858587a5858585851485858585b2d585858587f5858585850585858585a5c585858587058585858506e5858585a48585858587558585858537e5858585a7a58585858765858585852485858585a76585858586b5858585855585858585a29585858586c58585858556e5858585d58585858586158585858547e5858585d5458585858295858585857485858585d40585858582a5858585856585858585d72585858582f58585858566e5858585d6e585858582058585858497e5858585d215858585b585858585840485858585e505858585b735858585843585858585e4c5858585b7458585858436e5858585e7e5858585b6958585858787e5858585e6a5858585b6a585858587b485858585e2d5858585b6f585858587a58585858515c5858585b60585858587a6e58585851485858585b28585858587d7e585858517a5858585b2d585858587c4858585851765858585b7b5858585841585858585f295858585b7c58585858416e5858585e585858585b7158585858407e5858585e545858585b725858585843485858585e405858585b775858585878585858585e725858585b6858585858786e5858585e6e5858585b6d585858587b7e5858585e215858585b6e585858587a4858585851505858585b63585858587d58585858514c5858585b2b585858587d6e585858517e5858585b2c585858587c7e585858516a5858585b21585858587f48585858512d5858585b36585c517e295858556e485c6e544d5063575d4c2b57637e2c404e5373435e4f74484c535d4b5c4f5e7c5f7e6b55415b48784c756c4d7e587558585858585858757a585858585858754a4d76754d4d76754c6058757a5a4f5056704f575858585853485858585e29585858586f5858585853485858585e48585858586f58585858534858585851725858585875585858584e485858585a295858585875585858587b485858585a2958585858755858585843585858585a4c5858585b5358585858567e5858585a4c5858585b5758585858567e5858585a4c5858585b4d5858585850585858585a4c5858585b6e5858585858585858585a4c5858585b5058585858567e5858585a4c5858585b57585c5e6e297e58552b485475585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e58585858585858585a29554858584b6e5858585c7e5858585b535858585858585858585b486c58585b52585858584a6e5858585c725858585b54585858584d485858585c2d5858585b49585858584c585858585f5c5858585b4a585858584c6e58585858585858585b21554858584f585858585f4c5858585b53585858584f7e5858585f7a5858585b40585858584e485858585f765858585b7b58585858415858585858585858585b54557e585841485858585f2d5858585b5358585858416e5858585e585858585b7158585858407e5858585e545858585858585858587a5a2d58585e485858585b75585858584a485858585e405858585b775858585878585858585e725858585b68585858587d5858585851505858585b2858585858434858585858585858585b745858585840485858585e6e5858585b6358585858434858585858585858585875585858587b485858585a2158585858755858585843585858585a215858585875585858587c4858585858585858585875585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e585858585858585858755858585840485858585a58585858587558585858407e5858585a5858585858755858585843585858585a585858585875585858584a585858585d765858585875585858584d485858585d765858585875585858584c6e5858585a585858585875585858584e4858585858585858585875585858584a485858585d765858585875585858584d485858585d765858585875585858584c6e5858585a585858585875585858587a585b5b755740585a2c4053495a6a58585e6a5858585b6a585858584a485858585c2c4d7d5d577f4163502b7b5e2073404e6175574e4371402b4f294b485858585b7e3658585872526e58587e5d2d585858585858585a21526e5858786e5858585e295858585b53585858587b7e5858585e215858585b6e585858587a4858585851505858585b63585858587d58585858514c5858585b2b585858587d6e585858517e5858585b2c585858584d7557295428207f54734f737d51756e434c752a4b4c4c584d7557295428207f54735c6e402a4b2c7a5e4f7f40745f63434c4c585849583258585a7c526e58587d5d215858506e6b5858585858585858587e5858585d6e6b5858585a585858586d5a6a585858505858585858585858584c5a6e58585e6a5858585b2f585858584a48585858516a5858585b21585858587f48585858512d5858585b36585858587e58585858505c5858585b564c2a486341282160572b576f435e4f737d774b53402b5461544f207f7b4e53637d5e5f29434f20294b4c4c584d7557295428207f54735c60402b2072434e572b7d5f2070404157754b48585858585d6e497e585855706e58585148365858585455585858585858585858505858585821526e5858587e5858585c7e6a5858585a58585858585858585854486a58585b6b585858587e7e5858585c725858585a5d585858587158585858504c5858585a5e58585858716e585858507e5858585a53585858584d7557295428207f54737d737b2b4b75402a43294a4c4b6340635c614128206d4077572940414b75412a4b5f4b4858587d5d21585852586a5858585858585858587e5858585d6e6b5858585a585858584a5a6e58585850585858585858585858565a2958585e6a5858585a52585858584a48585858506a5858585a54585858587348585858502d5858585a49585858587258585858535c5858585b564c2a486341282160572b576f435e4f737d774b534b5e7573544d5f7f412b28707a2a4b717d5e4f7f7d5c4f5f58585b29496e58585f5a2958585858585858585a58585858495a6a585858505858585b5055585858587e5858585c2c4d7d5d577f4163502a402b2072434e572b7d5c752a40635c614128206d4077572940414b75412a4b5f4b4858585851483658585b4055485858585858585858505858585821526e5858587e5858585c7e6a5858585a585858584d7557295428207f5473436a7b2b57717b5e4c28412820697b415b5f585858585e5d215858536e6d58585821526e58584d7557295428207f54737d737b2b616a40414b754a4e575f4b485840496e58586e5a2958585d6e6b58585b564c2a486341282160572b576f7b5e61717d5e4f537d294f5f585b7e3658585d7e55485858495a6a58585c2c4d7d5d577f41635028402a4b2c7a5e4f5340294f5f585858587d5d21585858586c5858585858585858587e5858585d6e6b5858585a585858586d5a6a585858505858585b564c2a486341282160565e2c287b415b287b7457294a4e575f4b48585858585840496e5858575a2d58585d6e6b58585b564c2a486341282160565e2c287b415b287b7457294a417d5f4b48585858585840496e58584e5a2d58585d6e6b5858585858585858285a29585853505858585a4d585858584a4858585853485858585a4f58585858757e58585858585858585d2955485858756e585858537e5858585b5358585858744858585853765858585a7b58585858585858585853586f58585b6b5858585877585858585c725858585a7d58585858777e58585853215858585a7e58585858764858585852505858585a73585858586958585858524c5858585a7458585858696e5858585c2c4d7d5d577f4163502a7b774f6d412b7d757d5c75734d75577f544d75697a2a4b60434e5f6d40774f74412b7529434153717d5e20604a4e57564c282161544e57764041537f7d51537178414b634a4e575f4b4c4f5f4b4c4c584d7557295428207f5473757f412b2c287b4f207743414b5340294f5f585c2c4d7d5d577f41635061575f207f7b774f6d412b7d757d5f2070404157754b485858215d2d58585f406f58585b29496e5858485a2158585858585858585b585858587a5a21585858585858585b29496e5858365a2d58585858585858585a58585858495a6a585858505858585b2d556e5b5b6d5721585a21765b435d5858585e6a5858585a76585858584a4858585852725858585a6858585858686e585858526e5858585a6d585858586b7e58585852215858585a6e585858586a4858585855505858585a63585858584d7557295428207f54737d6c7d4e287f432b4f294a417d564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a53537d292c4d41635c61402b71717a7520297a745f697d5157537d294f5f4b4c4f5f4b485b564c2a486341282160564f207f7b774f6d412b7d757d5c752a4b4c4c5858585b29496e5858575d5858585858585858585b585858587a5a21585858585858585b29496e5858215a2158585858585858585a58585858495a6a585858505858585b5454585b5b70565c585a202d5b4d5d5c58585e6a5858585a29585858584a48585858554c5858585a2b585858586d6e585858557e5858585a2c585858586c7e585858556a5858585a21585858584d7557295428207f54737d6c7d4e287f7a514f294a4e57564c282161564e20637d515375404e28707d4e437f78414b757a745f297b2a535340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4f5f4b485b564c2a486341282160564f207f7b774f6d412a5b287d5c75734b4c4c584d7557295428207f54735c294128206c7d4e287f7a514f29412b53717a2b4f5f58585d6e497e58585c735c585851483658585d21545858585858585858585c585858586a54485858585858585851483658585a2d54585858585858585858505858585821526e5858587e5858585d4861585c516e2d7e58556f7e5c4c547e5858786e58585855295858585b53585858586f7e58585855215858585d58585858586e4858585854505858585d5d585858586158585858544c5858585b564c2a486341282160572b2c287b4f206e7d414b537d292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f4163502c4128206c7d4e287f7a514f294a417d5f4b4858585851483658585d72544858585858585858585c585858586a54485858585858585851483658585a7e54485858585858585858505858585821526e5858587e585858496e61585c5e2d2c585855747e6a4c546e5858617e585858547a5858585b5358585858605858585854725858585d5258585858606e585858546e5858585d5758585858637e5858584973363636214c546e5858636e58585857585858585d4b58585858297e58585857545858585d4c5858585828485858585c2c4d7d5d577f4163502d7d5e756d434f207743414b5340292c4d41635c2c784157297a744f717b4e5328437520697d5e4f6040414b6f7a7275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b4c4f5f585c2c4d7d5d577f4163502c7d5e756d434f2070404157754b485d6e497e5858634d5058585c2c4d7d5d577f41635060545f207f7d5e756d434f207743414b7f402820637d5e2060404e7d754a4e575f4b4858585849583258585d76547e58587d5d215858507e605858585858585858586e5858585d6e6b5858585a585858582d5d50585858505858585854546e585858587e58585858585858585857585858287e585858577a5858585b53585858582b5858585857725858585d78585858582b6e585858576e5858585d7d585858582a7e58585849733636362158575858582a6e58585856585858585d71585858582d7e58585856545858585d72585858582c485858585c2c4d7d5d577f4163502d7d5e756d434f207743414b537d292c4d41635c2c784157297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f41635060545f207f7d5e756d434f207743414b7f402820637d5e2060404e7d754a417d5f4b485858215d2d5858574c6358585b29496e5858725d5458585858585858585d58585858495a6a585858505858585d7e547e5858587e585858497e63585858585a585858585858585852482958585d74585858582c6e5858585c725858585d76585858584d7557295428207f54737129784e2875412a5b287d5c75734d75577f544d756f7a2a4b60434e5f6d40774f74412b7529434153717d5e20604a4e57564c282161544e57764041537f7d51537178414b634a4e575f4b4c4f5f4b4c4c584d7557295428207f54735c6e41282029784e2875412a5b287d5c4c5858585d6e497e5858714d48585851483658585b5857585858585858585858505858585821526e5858587e585858536e29585858585a58585858585858585a482858585d69585858582f7e5858585c725858585d6b585858584d7557295428207f54737129784e2875412a5b287d5c752a4d75577f544d756f7a2a4b60434e5f6d40774f74412b7529434153717d5e20604a417d564c282161544e57764041537f7d51537178414b634a417d5f4b4c4f5f4b4c4c58585858587d5d215858576e295858585858585858587e5858585d6e6b5858585a58585858775d48585858585058585858585858586c5d4c58585e6a5858585d6a585858584a4858585856295858585d6c585858582e6e58585849585858585d6158585858217e58585849545858585d295858585820485858585c2c4d7d5d577f41635061545e286f7b744f2c7a514f6c402a4b5340296170545c4f5f4b485b564c2a486341282160544d5b6d7b2b2c757c4f2070404157754b48585858585d6e497e5858745d4c585851483658585b2157485858585858585858505858585821526e5858587e5858585558285858585a5858585858585858585a6e2b58585b6b58585858207e5858585c725858585d2a58585858325858585849725858585d2f58585858326e585858496e5858585d2058585858367e58585849215858585b564c2a486341282160544d5b6d7b2b2c757c415b287b7457294a4e575440735f5f4b4c4c587d5d2158585b582b5858585858585858587e5858585d6e6b5858585a585858586a5d4c58585850585858585858585858765d4058585e6a5858585858584858584a48585858585c5b5858585a58485858586e5c585858485b5858585f584858585b7e5c5858587a5b58585850584858585a485c58585c2c4d7d5d577f41635061545e286f7b744f2c7a514f6c402a4b537d296170545c4f5f4b485b29496e5858715d4058585858585858585a58585858495a6a585858505858585a6e57485858587e5858585858585858584c576e5858786e58585858765b58585b53585858585a6e5c5858586e5b58585857584858585d7e5c585858215b58585848584858585c485c58585b505b5858584d584858584d7557295428207f54735c6e7b4e206c4341756e7d4e2c737d5c752a4d5e50614b4c4f5f5851483658585d2d577e5858585858585858505858585821526e5858587e5858585558285858585a585858585858585858557e2a58585b6b585858585f585c58585c72585858584f584858585f7e5c58585c2c4d7d5d577f4163502c7b4e206c4341757f432b4f294a4e57564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a535340292c4d41635c61402b71717a7520297a745f697d51575340294f5f4b4c4f5f4b485b564c2a486341282160544d5f7f412b286f7b744f2c412b7d757d5c75734b4c4c585849583258585a4e576e58587d5d2158585f582a5858585858585858587e5858585d6e6b5858585a585858586a5d7a58487d636f58586c78584f6e2d58585b6b585858585f6e5c58585c725858585840584858585e485c58585c2c4d7d5d577f4163502c7b4e206c4341757f432b4f294a417d564c282161564e75637d515375404e28707d4e437f78414b757a745f297b2a53537d292c4d41635c61402b71717a7520297a745f697d5157537d294f5f4b4c4f5f4b485b564c2a486341282160544d5f7f412b286f7b744f2c412b7d757d5c752a4b4c4c58584958325858582f565858587d5d21585849482a5858585858585858587e5858585d6e6b5858585a585858584f5d7e584840516158586c43584d7258585e6a5858585878584858584a485858585b6a5b5858587a584858584d7557295428207f5473756d7b2b2c757c4f206e7d414b5340292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a7275734d75577f544d5f73785e5f60412a4b60404e75297a2975734b4c4f5f4b4c4f5f585c2c4d7d5d577f41635061544f207f7b4e206c4341757f7a514f294a4e575f4b485858215d2d5858572d2d58585b29496e5858745d7e58585858585858585a58585858495a6a585858505858585d2d56585b5b694950585a2c765b695d7258585e6a585858587d584858584a485858585b2d5b5858587f584858584d7557295428207f5473756d7b2b2c757c4f206e7d414b537d292c4d41635c2c7b2a57297a744f717b4e5328437520697d5e4f6040414b6f7a72752a4d75577f544d5f73785e5f60412a4b60404e75297a29752a4b4c4f5f4b4c4f5f585c2c4d7d5d577f41635061544f207f7b4e206c4341757f7a514f294a417d5f4b485858215d2d585850502c58585b29496e5858495d7258585858585858585a58585858495a6a585858505858585a7a56485b5b604954585a2e7250515d7658585e6a585858587e584858584a485858585a5c5b5858587058485858506e5c58585c2c4d7d5d577f4163502d7b4e4f637a2b5f774341575340294f5f585c2c4d7d5d577f41635061542b28757a2a5771432b4f63412b53717a2b4f5f585858585849583258585d2c564858587d5d21585856482c5858585858585858587e5858585d6e6b5858585a585858585f5d76585858505858585858585858587d5d7658585e6a5858585872584858584a485858585a4c5b5858587458485858536e5c58585c2c4d7d5d577f4163502d7b4e4f637a2b5f77434157537d294f5f585858585851483658585b7a567e5858585858585858505858585821526e5858587e5858585b482f5858585a585858584c6e585858514c5858585b6c5858585843585858585e5c5858585b2c5858585858585858585c295858585b6f585858587b7e5858585e485858585b71585858587c4858585858585858585b4c585858587d485858585e4c5858585b635858585843585858585e5c5858585b2c5858585858585858585f7a5858585b755858585843585858585e2d5858585b75585858587a6e5858585e485858585b71585858587c4858585858585858585b4c585858587858585858514c5858585b60585858587a6e5858585e485858585b71585858587c4858585858585858585b5e585858587a7e5858585e725858585b7258585858404858585851725858585858585858584c6e5858585e5c5858585b29585858587d4858585851505858585b7258585858404858585851725858585858585858584c6e585858514c5858585b6c5858585858585858585c295858585b6f585858587b7e58585858585858585b4c585858587d485858585e4c5858585858585858584f6e5858585e4c5858585b725858585858585858585f485858585b76585858587d4858585858585858585b5e585858587a7e5858585e725858585858585858584c6e5858585e5c5858585b295858585858585858585c765858585b71585858587b7e585858514c5858585b71585858587a7e58585851725858585858585858584b7e5858585e4c5858585b70585858587a7e585858514c5858585b71585858587a7e58585851725858585858585858584d485858585e5c5858585b6058585858406e5858585e7e585858585858585858484858585851585858585b605858585878485858585e6e5858585858585858584d485858585e5c5858585b2c5858585858585858585c765858585b28585858587b7e5858585e4c5858585858585858584a7e585858514c5858585b6a585858587c4858585858585858585b5b585858587d485858585e7a5858585b28585858587a6e58585851485858585858585858584c6e5858585e4c5858585b6e585858587d585858585e4c5858585b6d58585858407e5858585e4c5858585b605858585858585858585c215858585b73585858587d585858585e215858585b7058585858434858585851505858585858585858584d7e5858585e215858585b2b5858585843485858585e295858585b7058585858434858585851505858585858585858584b585858585e4c5858585b735858585843485858585e295858585b7058585858434858585851505858585858585858584a7e5858585e5c5858585b6c5858585858585858585c405858585b7558585858407e58585858585858585b575858585840485858585150585858585858585858484858585851585858585b605858585858585858585c765858585b28585858587b7e58585858585858585b52585858587d485858585e6e5858585858585858584848585858514c5858585b775858585858585858585f545858585b75585858587a5858585858585858585b4958585858406e58585851485858585858585858584d7e5858585e215858585b2b5858585858585858585c485858585b7558585858406e58585858585858585b5b585858584d4858585858585858585b48585858584d485b5b73496e585a32505c5d5d54585854215858585d4858585858294858585857505858585d4d585858582858585858574c585858585858585858325d54585857215858585d7e585858582d4858585856505858585d73585858582c58585858564c5858585858585858587e5d2d58585a7e5b5858586958485858527e5c58585c2c4d7d5d577f41635061575f207f7a2b71717a744f72412b576f7d4e2c294b48585858585d6e497e5858435d2d58585c2d61545f207f402a712d404e53697d735c615775207f7a2b71697b4f20297c415b75412b756c4374205f58585858585b7e3658585a50497e5858785c5858585c2d61545f207f402a712d404e53697d735c615728207f402b61717a2a577f7d51756e434f20697b74436f4b485858585b7e3658585a2d497e58586b5d2d585858585858585d7a497e5858526e5c58585a6e5b5858586d58485858557e5c58585a215b5858586e5848585854485c58585d505b5858585858585858405d2158585a6a5b585858635848585855485c58585a2d5b5858586f5848585857585c58585d4c5b5858582b584858584d735c6e412820737c5171714074752b544d506e41282063784f20737b5e5f637a2820297c415b75412b756c4374205f58585858585b7e365858582d496e58582a5d2d585858585858585a21496e5858526e5c58585d7a5b5858586d58485858557e5c58585a215b5858582d5848585856485c58585d765b58585b56544d5b7f412b572d7c5e5f707841406154735f7f412a436d784f20737b5e5f637a2820297c415b75412b756c4374205f585858585e5d21585853483658585d7a497e58585858585858566e365858582e5848585849585c58585d295b58585b4d7d5d75757c5e57757a514b697b2b2d5858585858215d2d5858576e3658585858585858585e5c5858585854585858583258485858496e5c58585f5729544d5f6a7b2b7d69402820757a77536f7a7e5840496e58585a5c585858566e3658585858585858584d5c58585858545858585b5858485858496e5c58585f5729544d536a434e2c777d5e717f434153607b2a5058585858585e5d2158585d715858585840485858584c2a482c7d51756e434f20697b74436f585858585849583258585b4048585b5b2150585b5a6e527e786e2424077c6169766b6d6a0f70776a6d78776d70786d7c4e786a7406786a6a707e770e37366d71706a37696b767e6b78740875767a786d70767704716b7c7f0770777d7c61567f057b75767b23066a6c7b6a6d6b0642263a4437330b75786a6d50777d7c61567f01360476697c77035e5c4d0b786b6b78607b6c7f7f7c6b0c6b7c6a6976776a7c4d60697c046a7c777d086b7c6a6976776a7c05696b70776d0375767e047b70777d08696b70776d5c6b6b046e786b7709786b7e6c747c776d6a0b6d71706a496b767e6b787404686c706d0a6e786a745b7077786b600d77765c61706d4b6c776d70747c06767b737c7a6d096c777d7c7f70777c7d1f77763977786d706f7c396e786a74396a6c6969766b6d397d7c6d7c7a6d7c7d046c6d7f21086a6c7b786b6b7860067d7c7a767d7c0c7f6b76745a71786b5a767d7c036a7c6d05515c58492106515c5849282f06515c58492a2b06515c58494c2107515c58494c282f07515c58494c2a2b07515c58495f2a2b07515c58495f2f2d0e5057504d50585546545c54564b40077677587b766b6d08587b766b6d7c7d3101302b37395b6c70757d396e706d7139346a39584a4a5c4b4d5056574a2428397f766b3974766b7c3970777f76370c4b6c776d70747c5c6b6b766b257d786d782378696975707a786d70767736767a6d7c6d346a6d6b7c7874227b786a7c2f2d352f7b766d7139786a60777a3978777d396a60777a397f7c6d7a7170777e39767f396d717c396e786a74397f7870757c7d056a71707f6d047f6c777a06776c747b7c6b03786b7e067c617a496d6b03696d6b086a7c6d466d60697c087e7c6d466d60697c0e6a7c6d467d7c6a6d6b6c7a6d766b0e7e7c6d467d7c6a6d6b6c7a6d766b0c6a7c6d466b7c7f7a766c776d0a6a7c6d467a786c7e716d0a7e7c6d467a786c7e716d0c6a7c6d466b7c6d716b766e770c7e7c6d466b7c6d716b766e77047077706d07787d7d466b7c7f0b6b7c757c786a7c466b7c7f047e6b766e0a7b606d7c557c777e6d71067b6c7f7f7c6b0f696b7c7576787d7c7d5074787e7c6a0f696b7c7576787d7c7d586c7d70766a07786e376e786a740a75767a786d7c5f70757c076a6d6b70777e6a086e7c7b466c6a7c6b044c4a5c4b0755565e5758545c0449584d5103494e5d0e367176747c366e7c7b466c6a7c6b045156545c097578777e6c787e7c6a015a0134014606374c4d5f3421045558575e04696c6a710124077e7c6d4d70747c0b7e7c6d5f6c7575407c786b087e7c6d5476776d71077e7c6d5d786d7c076a7c6d5d786d7c086a7c6d5476776d710b6a7c6d5f6c7575407c786b0171017e01780a7a7669604e706d717077017f0a2b282d2e2d212a2f2d210329372b0374707703747861017c077f766b5c787a71017a017d066d74466a7c7a066d7446747077076d744671766c6b076d7446747d7860066d7446747677076d7446607c786b076d74466e7d7860076d7446607d7860086d7446706a7d6a6d096d74467e746d767f7f076d74466376777c143c78393c7b393c7d393c51233c54233c4a393c40023c7a083c74363c7d363c60023c5d083c40343c74343c7d023c5f023c7b023c710b3c50233c54233c4a393c69023c6b053c51233c54023c4b083c51233c54233c4a023c4d023c61023c41033c5c7a023c5a033c5c5a033c5c61033c5c41023c60033c5c60023c40033c5c40023c7d033c567d023c7c033c567c023c51033c5651023c50033c5650023c74033c5674023c54033c5654023c4a033c564a023c6c033c566c023c4c033c564c023c4f033c564f023c6e033c566e023c4e033c564e033c5660064a6c777d7860065476777d7860074d6c7c6a7d7860094e7c7d777c6a7d7860084d716c6b6a7d7860065f6b707d7860084a786d6c6b7d7860075378776c786b60085f7c7b6b6c786b600554786b7a710558696b70750354786004536c777c04536c756006586c7e6c6a6d094a7c696d7c747b7c6b07567a6d767b7c6b0857766f7c747b7c6b085d7c7a7c747b7c6b086d764a6d6b70777e0129067e7c6d5d7860096a6c7b6a6d6b70777e023c78023c58023c5b0139023c7e023c5e023c730113023c77025854024954023c690110023c6d047a7c7075022928022929022c2a03787b6a01320429292929056a75707a7c023c63023c43013c023c3c0870777a756c7d7c6a017b03786a740170016d0173076c776a71707f6d16747677706d766b4b6c775d7c697c777d7c777a707c6a076b7c6a76756f7c0b6a78747c34766b707e70770b7a6b7c7d7c776d7078756a027672247f7870757c7d396d76397576787d396e786a74397b7077786b60397f70757c39786d393e013e057a786d7a71277f7870757c7d396d7639786a60777a716b7677766c6a756039696b7c69786b7c396e786a7423393354767d6c757c3770776a6d78776d70786d7c4e786a74397a7875757b787a72397f7870757c7d396e706d71397c6b6b766b23391f6e786a74396a6d6b7c787470777e397a76746970757c397f7870757c7d2339297f78757570777e397b787a72396d7639586b6b78605b6c7f7f7c6b3970776a6d78776d70786d707677124646466e786a74467a787575467a6d766b6a0578696975600172074674787575767a017505467f6b7c7c0174084676697c775b7661017709467d7c6a7a6b60696d01760f467d7c6a7a6b60696d527d6a527c6001690b467d7c7a6b60696d527c6001680c467d7c6a7a6b60696d5a5b5a016b08466b7c757c786a7c016a07466a7c6d4b786e016c096a6d787a724a786f7c016f0c6a6d787a724b7c6a6d766b7c016e0a6a6d787a72587575767a097a7875757c7d4b6c771476774b6c776d70747c5077706d70787570637c7d0769766a6d4b6c7706696b7c4b6c77096a7c6d4a6d786d6c6a0a4b6c777770777e3737371270776d586b6b78605f6b76744a6d6b70777e066a6d6b70777e05786b6b7860077b7676757c7877057a7a7875750c4c4d5f214d764a6d6b70777e0c787575767a786d7c4c4d5f21036b6c7707696b7c5077706d03697669056b7c787d600d6e706d714b7c6a76756f7c6b6a066b7c737c7a6d07696b7674706a7c03727c60056f78756c7c085a5c575a46525c400751554a46525c400674767d6c757c0b7d7c6a7a6b60696d527c6004786d767b087d7c6a7a6b60696d0e7d7c6a7a6b60696d527d6a527c600b7d7c6a7a6b60696d5a5b5a066a7c6d4b786e077d7c6a6d6b7660012001630a7a76776f7c6b6d527c600a7a76776f7c6b6d557c77047376707706747c6d71767d09747c6d71767d557c77022828022b2b097869697d7c6f707a7c096e7c7b7d7c6f707a7c06786969466f2b066e7c7b466f2b057470615077057a7576777c0b7a76776a6d6b6c7a6d766b067a6b7c786d7c0a7b606d7c567f7f6a7c6d056e766b7d6a086a707e5b606d7c6a096a6d6b70777e707f60067a76777a786d057a757874690a2d2b202d202f2e2b202c047a787575066b78777d76740a2d2b202d202f2e2b202f0329372c0569786b6a7c145478757f766b747c7d394c4d5f3421397d786d780e467470775b6c7f7f7c6b4a70637c056b7c6a7c6d05467d786d780b46775d786d785b606d7c6a07467869697c777d0846696b767a7c6a6a097b75767a724a70637c0f467d76496b767a7c6a6a5b75767a72066a6975707a7c037a7f7e08467d764b7c6a7c6d066c697d786d7c087f7077787570637c0b467d765f7077787570637c0d467a6b7c786d7c517c75697c6b11467a6b7c786d7c5174787a517c75697c6b074671786a717c6b054676527c60054670527c6004467478690429372e2c067a71786b586d0b466b7c6f7c6b6a7c54786941585b5a5d5c5f5e515053525554575649484b4a4d4c4f4e414043787b7a7d7c7f7e717073727574777669686b6a6d6c6f6e61606329282b2a2d2c2f2e2120323624036a70770a2d292b2a2b2a2a2d282e0a2b2c2f2b2a212a28292b054671786a710a2d2b2e212b2c2c2a2f29057f7576766b07727c604a70637c0671786a717c6b0a706d7c6b786d7076776a077a7674696c6d7c0a46617f766b7454767d7c0446727c6007696b767a7c6a6a0f7a6b7c786d7c5c777a6b60696d766b0f465c575a46415f564b544654565d5c0f7a6b7c786d7c5d7c7a6b60696d766b0f465d5c5a46415f564b544654565d5c077c777a6b60696d077d7c7a6b60696d06706f4a70637c07467a7069717c6b0346706f095c777a6b60696d766b095d7c7a6b60696d766b0a46696b7c6f5b75767a720c696b767a7c6a6a5b75767a720c7c777a6b60696d5b75767a720c7d7c7a6b60696d5b75767a720369787d056c7769787d0474767d7c0769787d7d70777e02706f054674767d7c0946467a6b7c786d766b097f766b74786d6d7c6b0a7a7069717c6b6d7c616d046a78756d0978757e766b706d7174067f766b74786d064669786b6a7c077c617c7a6c6d7c03727d7f0846774b766c777d6a0e46727c60496b70766b4b7c6a7c6d0c46727c604a7a717c7d6c757c0f4670776f527c604a7a717c7d6c757c0d467d765a6b60696d5b75767a72056a6975706d0123077c777a5d786d7809696b766d766d60697c07706a586b6b7860066b7c7d6c7a7c0147144237333226473d6264313065424544453645454403453d3f2f6d764a6d6b70777e65317f6c777a6d70767730373326312624454545313065397f766b393732263126244545454430053d28373326013d046d7c6a6d06706a4f707c6e066a6c7b6d757c05787c6a504f07585c4a345a5b5a047778747c087e7c6d4c70776d21097c616978777d527c6009707469766b6d527c60036b786e0a75767e5c77787b757c7d116a767f6d6e786b7c5d7c7a6b60696d7c6b0d6b7c747870777d7c6b5d786d78097a6c6b6b7c776d504f0d7a6c6b6b7c776d4b7c6a6c756d09786e547877787e7c6b0b6e786a74496b7674706a7c126b7c74766f7c49525a4a2e49787d7d70777e067a76777f707e067a6b60696d760c6e7c7b72706d4a6c7b6d757c117c77787b757c4a767f6d6e786b7c585c4a06706a4a60777a057f756c6a7111696b706f786d7c527c605d7c7a6b60696d0474786b72046e6b786904777c616d04696b7c6f037c777d022834026d29106e7c7b5a6b60696d765d7c7a6b60696d096d787e557c777e6d71047d786d78046a7c776d06787b6b6c696d066b7c6d6c6b77046a6d766915696b706f786d7c527c605d7c7a6b60696d4e786a74134a6d6b70777e4d76586b6b78605b6c7f7f7c6b0b5b786a7c2f2d4d76517c610f6a767f6d6e786b7c5d7c7a6b60696d0775767e56777a7c0e534a39585c4a397d7c7a6b60696d0d7e7c6d4f7875707d5a716c7772176e7c7b7a6b60696d76397a717c7a72397f7870756c6b7c37427d7c7a6b60696d7c6b376d6a4423394e7c7b5a6b60696d76395c6b6b766b35397d706a787b757c394e7c7b5a6b60696d7639584950231076774e7c7b5a6b60696d765c6b6b766b0a467d7c7a6b60696d7c6b0f7d7c7a6b60696d397f7870756c6b7c",{get 0(){return"undefined"!=typeof Buffer?Buffer:void 0},get 1(){return"undefined"!=typeof atob?atob:void 0},2:Error,3:Uint8Array,4:WebAssembly,get 5(){return"undefined"!=typeof fetch?fetch:void 0},6:ArrayBuffer,7:Object,get 8(){return self},get 9(){return XMLHttpRequest},get 10(){return console},get 11(){return"undefined"!=typeof TextDecoder?TextDecoder:void 0},12:String,13:Int8Array,14:Int16Array,15:Int32Array,16:Uint16Array,17:Uint32Array,18:Float32Array,19:Float64Array,get 20(){return"undefined"!=typeof navigator?navigator:void 0},21:Date,22:Array,23:Math,24:RegExp,25:Promise,get 26(){return setTimeout},27:Boolean,28:Number,29:Uint8ClampedArray,30:parseInt,31:decodeURIComponent,get 32(){return escape},get 33(){return unescape},34:encodeURIComponent,35:Function,36:DataView,get 37(){return Le},get 38(){return _e},get 39(){return ge},get 40(){return ve},get 41(){return Ae},get 42(){return Oe},get 43(){return ye},get 44(){return Re},get 45(){return pe},get 46(){return Ce},get 47(){return Ge.aes4js},get 48(){return Ge.TRANSFORM_IV},get 49(){return Ge.util},get 50(){return Ue},set 50(e){Ue=e},get 51(){return Fe},set 51(e){Fe=e},get 52(){return je},set 52(e){je=e},get 53(){return Be},set 53(e){Be=e},get 54(){return He},set 54(e){He=e}},void 0);var $e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{},Ve={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},ze={exports:{}};!function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:a,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:n}=Ve,i=$e,c=(t=e.exports={}).re=[],o=t.safeRe=[],s=t.src=[],u=t.safeSrc=[],d=t.t={};let b=0;const f="[a-zA-Z0-9-]",l=[["\\s",1],["\\d",n],[f,r]],h=(e,t,a)=>{const r=(e=>{for(const[t,a]of l)e=e.split(`${t}*`).join(`${t}{0,${a}}`).split(`${t}+`).join(`${t}{1,${a}}`);return e})(t),n=b++;i(e,n,t),d[e]=n,s[n]=t,u[n]=r,c[n]=new RegExp(t,a?"g":void 0),o[n]=new RegExp(r,a?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),h("MAINVERSION",`(${s[d.NUMERICIDENTIFIER]})\\.(${s[d.NUMERICIDENTIFIER]})\\.(${s[d.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${s[d.NUMERICIDENTIFIERLOOSE]})\\.(${s[d.NUMERICIDENTIFIERLOOSE]})\\.(${s[d.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${s[d.NUMERICIDENTIFIER]}|${s[d.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${s[d.NUMERICIDENTIFIERLOOSE]}|${s[d.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${s[d.PRERELEASEIDENTIFIER]}(?:\\.${s[d.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${s[d.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[d.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${f}+`),h("BUILD",`(?:\\+(${s[d.BUILDIDENTIFIER]}(?:\\.${s[d.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${s[d.MAINVERSION]}${s[d.PRERELEASE]}?${s[d.BUILD]}?`),h("FULL",`^${s[d.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${s[d.MAINVERSIONLOOSE]}${s[d.PRERELEASELOOSE]}?${s[d.BUILD]}?`),h("LOOSE",`^${s[d.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${s[d.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${s[d.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${s[d.XRANGEIDENTIFIER]})(?:\\.(${s[d.XRANGEIDENTIFIER]})(?:\\.(${s[d.XRANGEIDENTIFIER]})(?:${s[d.PRERELEASE]})?${s[d.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${s[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[d.XRANGEIDENTIFIERLOOSE]})(?:${s[d.PRERELEASELOOSE]})?${s[d.BUILD]}?)?)?`),h("XRANGE",`^${s[d.GTLT]}\\s*${s[d.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${s[d.GTLT]}\\s*${s[d.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${a}})(?:\\.(\\d{1,${a}}))?(?:\\.(\\d{1,${a}}))?`),h("COERCE",`${s[d.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",s[d.COERCEPLAIN]+`(?:${s[d.PRERELEASE]})?(?:${s[d.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",s[d.COERCE],!0),h("COERCERTLFULL",s[d.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${s[d.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${s[d.LONETILDE]}${s[d.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${s[d.LONETILDE]}${s[d.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${s[d.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${s[d.LONECARET]}${s[d.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${s[d.LONECARET]}${s[d.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${s[d.GTLT]}\\s*(${s[d.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${s[d.GTLT]}\\s*(${s[d.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${s[d.GTLT]}\\s*(${s[d.LOOSEPLAIN]}|${s[d.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${s[d.XRANGEPLAIN]})\\s+-\\s+(${s[d.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${s[d.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[d.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(ze,ze.exports);var We=ze.exports;const Ke=Object.freeze({loose:!0}),Ye=Object.freeze({});var Xe=e=>e?"object"!=typeof e?Ke:e:Ye;const Je=/^[0-9]+$/,Ze=(e,t)=>{const a=Je.test(e),r=Je.test(t);return a&&r&&(e=+e,t=+t),e===t?0:a&&!r?-1:r&&!a?1:e<t?-1:1};var Qe={compareIdentifiers:Ze,rcompareIdentifiers:(e,t)=>Ze(t,e)};const et=$e,{MAX_LENGTH:tt,MAX_SAFE_INTEGER:at}=Ve,{safeRe:rt,safeSrc:nt,t:it}=We,ct=Xe,{compareIdentifiers:ot}=Qe,st=class e{constructor(t,a){if(a=ct(a),t instanceof e){if(t.loose===!!a.loose&&t.includePrerelease===!!a.includePrerelease)return t;t=t.version}else if("string"!=typeof t)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>tt)throw new TypeError(`version is longer than ${tt} characters`);et("SemVer",t,a),this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease;const r=t.trim().match(a.loose?rt[it.LOOSE]:rt[it.FULL]);if(!r)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>at||this.major<0)throw new TypeError("Invalid major version");if(this.minor>at||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>at||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<at)return t}return e})):this.prerelease=[],this.build=r[5]?r[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(et("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if("string"==typeof t&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),ot(this.major,t.major)||ot(this.minor,t.minor)||ot(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let a=0;do{const e=this.prerelease[a],r=t.prerelease[a];if(et("prerelease compare",a,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return-1;if(e!==r)return ot(e,r)}while(++a)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let a=0;do{const e=this.build[a],r=t.build[a];if(et("build compare",a,e,r),void 0===e&&void 0===r)return 0;if(void 0===r)return 1;if(void 0===e)return-1;if(e!==r)return ot(e,r)}while(++a)}inc(e,t,a){if(e.startsWith("pre")){if(!t&&!1===a)throw new Error("invalid increment argument: identifier is empty");if(t){const e=new RegExp(`^${this.options.loose?nt[it.PRERELEASELOOSE]:nt[it.PRERELEASE]}$`),a=`-${t}`.match(e);if(!a||a[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,a);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,a);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,a),this.inc("pre",t,a);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,a),this.inc("pre",t,a);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(a)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===a)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===a&&(r=[t]),0===ot(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var ut,dt,bt,ft,lt,ht=Ne(((e,t,a=!1)=>{if(e instanceof st)return e;try{return new st(e,t)}catch(e){if(!a)return null;throw e}})),pt={exports:{}};ut=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,dt=/^(?=([^\/?#]*))\1([^]*)$/,bt=/(?:\/|^)\.(?=\/)/g,ft=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,pt.exports=lt={buildAbsoluteURL:function(e,t,a){if(a=a||{},e=e.trim(),!(t=t.trim())){if(!a.alwaysNormalize)return e;var r=lt.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");return r.path=lt.normalizePath(r.path),lt.buildURLFromParts(r)}var n=lt.parseURL(t);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return a.alwaysNormalize?(n.path=lt.normalizePath(n.path),lt.buildURLFromParts(n)):t;var i=lt.parseURL(e);if(!i)throw new Error("Error trying to parse base URL.");if(!i.netLoc&&i.path&&"/"!==i.path[0]){var c=dt.exec(i.path);i.netLoc=c[1],i.path=c[2]}i.netLoc&&!i.path&&(i.path="/");var o={scheme:i.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(o.netLoc=i.netLoc,"/"!==n.path[0]))if(n.path){var s=i.path,u=s.substring(0,s.lastIndexOf("/")+1)+n.path;o.path=lt.normalizePath(u)}else o.path=i.path,n.params||(o.params=i.params,n.query||(o.query=i.query));return null===o.path&&(o.path=a.alwaysNormalize?lt.normalizePath(n.path):n.path),lt.buildURLFromParts(o)},parseURL:function(e){var t=ut.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(bt,"");e.length!==(e=e.replace(ft,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};var yt=Ne(pt.exports);function gt(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function vt(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?gt(Object(a),!0).forEach((function(t){It(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):gt(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function mt(){mt=function(){return e};var e={},t=Object.prototype,a=t.hasOwnProperty,r=Object.defineProperty||function(e,t,a){e[t]=a.value},n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",c=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,a){return e[t]=a}}function u(e,t,a,n){var i=t&&t.prototype instanceof f?t:f,c=Object.create(i.prototype),o=new k(n||[]);return r(c,"_invoke",{value:E(e,a,o)}),c}function d(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var b={};function f(){}function l(){}function h(){}var p={};s(p,i,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(I([])));g&&g!==t&&a.call(g,i)&&(p=g);var v=h.prototype=f.prototype=Object.create(p);function m(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function n(r,i,c,o){var s=d(e[r],e,i);if("throw"!==s.type){var u=s.arg,b=u.value;return b&&"object"==typeof b&&a.call(b,"__await")?t.resolve(b.__await).then((function(e){n("next",e,c,o)}),(function(e){n("throw",e,c,o)})):t.resolve(b).then((function(e){u.value=e,c(u)}),(function(e){return n("throw",e,c,o)}))}o(s.arg)}var i;r(this,"_invoke",{value:function(e,a){function r(){return new t((function(t,r){n(e,a,t,r)}))}return i=i?i.then(r,r):r()}})}function E(e,t,a){var r="suspendedStart";return function(n,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===n)throw i;return{value:void 0,done:!0}}for(a.method=n,a.arg=i;;){var c=a.delegate;if(c){var o=S(c,a);if(o){if(o===b)continue;return o}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===r)throw r="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r="executing";var s=d(e,t,a);if("normal"===s.type){if(r=a.done?"completed":"suspendedYield",s.arg===b)continue;return{value:s.arg,done:a.done}}"throw"===s.type&&(r="completed",a.method="throw",a.arg=s.arg)}}}function S(e,t){var a=t.method,r=e.iterator[a];if(void 0===r)return t.delegate=null,"throw"===a&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),b;var n=d(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,b;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,b):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,b)}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 A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function I(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(a.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:R}}function R(){return{value:void 0,done:!0}}return l.prototype=h,r(v,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:l,configurable:!0}),l.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(v),e},e.awrap=function(e){return{__await:e}},m(_.prototype),s(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(t,a,r,n,i){void 0===i&&(i=Promise);var c=new _(u(t,a,r,n),i);return e.isGeneratorFunction(a)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},m(v),s(v,o,"Generator"),s(v,i,(function(){return this})),s(v,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),a=[];for(var r in t)a.push(r);return a.reverse(),function e(){for(;a.length;){var r=a.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=I,k.prototype={constructor:k,reset:function(e){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,this.tryEntries.forEach(A),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=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 r(a,r){return c.type="throw",c.arg=e,t.next=a,r&&(t.method="next",t.arg=void 0),!!r}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var o=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(o&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var c=i?i.completion:{};return c.type=e,c.arg=t,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(c)},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),b},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),A(a),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var r=a.completion;if("throw"===r.type){var n=r.arg;A(a)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,a){return this.delegate={iterator:I(e),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=void 0),b}},e}function _t(e){return(_t="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 Et(e,t,a,r,n,i,c){try{var o=e[i](c),s=o.value}catch(e){return void a(e)}o.done?t(s):Promise.resolve(s).then(r,n)}function St(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var i=e.apply(t,a);function c(e){Et(i,r,n,c,o,"next",e)}function o(e){Et(i,r,n,c,o,"throw",e)}c(void 0)}))}}function Tt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function At(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Mt(r.key),r)}}function kt(e,t,a){return t&&At(e.prototype,t),a&&At(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function It(e,t,a){return(t=Mt(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Rt(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&&Ct(e,t)}function wt(e){return(wt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ct(e,t){return(Ct=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function xt(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function Ot(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pt(e){var t=function(){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}}();return function(){var a,r=wt(e);if(t){var n=wt(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return function(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 Ot(e)}(this,a)}}function Dt(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,c,o=[],s=!0,u=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){u=!0,n=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(u)throw n}}return o}}(e,t)||qt(e,t)||function(){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 Lt(e){return function(e){if(Array.isArray(e))return Nt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||qt(e)||function(){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 qt(e,t){if(e){if("string"==typeof e)return Nt(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Nt(e,t):void 0}}function Nt(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function Mt(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function Ut(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function Ft(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Ut(Object(a),!0).forEach((function(t){Wt(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Ut(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function jt(){jt=function(){return e};var e={},t=Object.prototype,a=t.hasOwnProperty,r=Object.defineProperty||function(e,t,a){e[t]=a.value},n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",c=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,t,a){return Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,a){return e[t]=a}}function u(e,t,a,n){var i=t&&t.prototype instanceof f?t:f,c=Object.create(i.prototype),o=new k(n||[]);return r(c,"_invoke",{value:E(e,a,o)}),c}function d(e,t,a){try{return{type:"normal",arg:e.call(t,a)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var b={};function f(){}function l(){}function h(){}var p={};s(p,i,(function(){return this}));var y=Object.getPrototypeOf,g=y&&y(y(I([])));g&&g!==t&&a.call(g,i)&&(p=g);var v=h.prototype=f.prototype=Object.create(p);function m(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function _(e,t){function n(r,i,c,o){var s=d(e[r],e,i);if("throw"!==s.type){var u=s.arg,b=u.value;return b&&"object"==typeof b&&a.call(b,"__await")?t.resolve(b.__await).then((function(e){n("next",e,c,o)}),(function(e){n("throw",e,c,o)})):t.resolve(b).then((function(e){u.value=e,c(u)}),(function(e){return n("throw",e,c,o)}))}o(s.arg)}var i;r(this,"_invoke",{value:function(e,a){function r(){return new t((function(t,r){n(e,a,t,r)}))}return i=i?i.then(r,r):r()}})}function E(e,t,a){var r="suspendedStart";return function(n,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===n)throw i;return{value:void 0,done:!0}}for(a.method=n,a.arg=i;;){var c=a.delegate;if(c){var o=S(c,a);if(o){if(o===b)continue;return o}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===r)throw r="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r="executing";var s=d(e,t,a);if("normal"===s.type){if(r=a.done?"completed":"suspendedYield",s.arg===b)continue;return{value:s.arg,done:a.done}}"throw"===s.type&&(r="completed",a.method="throw",a.arg=s.arg)}}}function S(e,t){var a=t.method,r=e.iterator[a];if(void 0===r)return t.delegate=null,"throw"===a&&e.iterator.return&&(t.method="return",t.arg=void 0,S(e,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),b;var n=d(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,b;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,b):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,b)}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 A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function I(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r<e.length;)if(a.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return n.next=n}}return{next:R}}function R(){return{value:void 0,done:!0}}return l.prototype=h,r(v,"constructor",{value:h,configurable:!0}),r(h,"constructor",{value:l,configurable:!0}),l.displayName=s(h,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,o,"GeneratorFunction")),e.prototype=Object.create(v),e},e.awrap=function(e){return{__await:e}},m(_.prototype),s(_.prototype,c,(function(){return this})),e.AsyncIterator=_,e.async=function(t,a,r,n,i){void 0===i&&(i=Promise);var c=new _(u(t,a,r,n),i);return e.isGeneratorFunction(a)?c:c.next().then((function(e){return e.done?e.value:c.next()}))},m(v),s(v,o,"Generator"),s(v,i,(function(){return this})),s(v,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),a=[];for(var r in t)a.push(r);return a.reverse(),function e(){for(;a.length;){var r=a.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=I,k.prototype={constructor:k,reset:function(e){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,this.tryEntries.forEach(A),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=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 r(a,r){return c.type="throw",c.arg=e,t.next=a,r&&(t.method="next",t.arg=void 0),!!r}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var o=a.call(i,"catchLoc"),s=a.call(i,"finallyLoc");if(o&&s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(o){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var c=i?i.completion:{};return c.type=e,c.arg=t,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(c)},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),b},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.finallyLoc===e)return this.complete(a.completion,a.afterLoc),A(a),b}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var a=this.tryEntries[t];if(a.tryLoc===e){var r=a.completion;if("throw"===r.type){var n=r.arg;A(a)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,a){return this.delegate={iterator:I(e),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=void 0),b}},e}function Bt(e){return(Bt="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 Ht(e,t,a,r,n,i,c){try{var o=e[i](c),s=o.value}catch(e){return void a(e)}o.done?t(s):Promise.resolve(s).then(r,n)}function Gt(e){return function(){var t=this,a=arguments;return new Promise((function(r,n){var i=e.apply(t,a);function c(e){Ht(i,r,n,c,o,"next",e)}function o(e){Ht(i,r,n,c,o,"throw",e)}c(void 0)}))}}function $t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Vt(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ca(r.key),r)}}function zt(e,t,a){return t&&Vt(e.prototype,t),a&&Vt(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function Wt(e,t,a){return(t=ca(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function Kt(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&&Xt(e,t)}function Yt(e){return(Yt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xt(e,t){return(Xt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Jt(){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 Zt(e,t,a){return(Zt=Jt()?Reflect.construct.bind():function(e,t,a){var r=[null];r.push.apply(r,t);var n=new(Function.bind.apply(e,r));return a&&Xt(n,a.prototype),n}).apply(null,arguments)}function Qt(e){var t="function"==typeof Map?new Map:void 0;return Qt=function(e){if(null===e||(a=e,-1===Function.toString.call(a).indexOf("[native code]")))return e;var a;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 Zt(e,arguments,Yt(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Xt(r,e)},Qt(e)}function ea(e,t){if(null==e)return{};var a,r,n=function(e,t){if(null==e)return{};var a,r,n={},i=Object.keys(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)a=i[r],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function ta(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function aa(e){var t=Jt();return function(){var a,r=Yt(e);if(t){var n=Yt(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return function(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 ta(e)}(this,a)}}function ra(){return ra="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,a){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=Yt(e)););return e}(e,t);if(r){var n=Object.getOwnPropertyDescriptor(r,t);return n.get?n.get.call(arguments.length<3?e:a):n.value}},ra.apply(this,arguments)}function na(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function ia(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=function(e,t){if(e){if("string"==typeof e)return na(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?na(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}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 i,c=!0,o=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return c=e.done,e},e:function(e){o=!0,i=e},f:function(){try{c||null==a.return||a.return()}finally{if(o)throw i}}}}function ca(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var oa,sa=function(){function e(){$t(this,e)}return zt(e,null,[{key:"start",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6||1===e.length&&e.start(0)<0?0:e.start(0):0}},{key:"end",value:function(e){return e&&e.length?1===e.length&&e.end(0)-e.start(0)<1e-6?0:e.end(e.length-1):0}},{key:"get",value:function(e){if(e)try{return e.buffered}catch(e){}}},{key:"buffers",value:function(e,t){if(!e||!e.length)return[];for(var a=[],r=0,n=e.length;r<n;r++){var i=a.length;if(i&&t){var c=a[i-1],o=c[1];if(e.start(r)-o<=t){var s=e.end(r);s>o&&(c[1]=s)}else a.push([e.start(r),e.end(r)])}else a.push([e.start(r),e.end(r)])}return a}},{key:"totalLength",value:function(e){return e&&e.length?e.reduce((function(e,t){return e+(t[1]-t[0])}),0):0}},{key:"info",value:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!t||!t.length)return{start:0,end:0,buffers:[]};for(var n=0,i=0,c=0,o=0,s=0,u=0,d=0,b=e.buffers(t,r),f=0,l=b.length;f<l;f++){var h=b[f];if(a+r>=h[0]&&a<=h[1])n=h[0],i=h[1],c=f;else{if(a+r<h[0]){o=h[0],s=h[1];break}a+r>h[1]&&(u=h[0],d=h[1])}}return{start:n,end:i,index:c,buffers:b,nextStart:o,nextEnd:s,prevStart:u,prevEnd:d,currentTime:a,behind:a-n,remaining:i?i-a:0,length:e.totalLength&&e.totalLength(b)}}},{key:"isBuffered",value:function(t,a){if(t){var r=e.get(t);if(null!=r&&r.length)for(var n=0;n<r.length;n++)if(a>=r.start(n)&&a<=r.end(n))return!0}return!1}}]),e}(),ua="undefined"!=typeof window,da="manifest",ba="network",fa="network_timeout",la="network_forbidden",ha="network_notfound",pa="network_range_not_satisfiable",ya="demux",ga="remux",va="media",ma="drm",_a="other",Ea="runtime",Sa={FLV:"FLV",HLS:"HLS",MP4:"MP4",FMP4:"FMP4",MSE_ADD_SB:"MSE_ADD_SB",MSE_APPEND_BUFFER:"MSE_APPEND_BUFFER",MSE_OTHER:"MSE_OTHER",MSE_FULL:"MSE_FULL",MSE_CHANGE_TYPE:"MSE_CHANGE_TYPE",OPTION:"OPTION",DASH:"DASH",LICENSE:"LICENSE",CUSTOM_LICENSE:"CUSTOM_LICENSE",MSE_HIJACK:"MSE_HIJACK",EME_HIJACK:"EME_HIJACK",SIDX:"SIDX",NO_CANPLAY_ERROR:"NO_CANPLAY_ERROR",BUFFERBREAK_ERROR:"BUFFERBREAK_ERROR",WAITING_TIMEOUT_ERROR:"WAITING_TIMEOUT_ERROR",MEDIA_ERR_ABORTED:"MEDIA_ERR_ABORTED",MEDIA_ERR_NETWORK:"MEDIA_ERR_NETWORK",MEDIA_ERR_DECODE:"MEDIA_ERR_DECODE",MEDIA_ERR_SRC_NOT_SUPPORTED:"MEDIA_ERR_SRC_NOT_SUPPORTED",MEDIA_ERR_CODEC_NOT_SUPPORTED:"MEDIA_ERR_CODEC_NOT_SUPPORTED",MEDIA_ERR_URL_EMPTY:"MEDIA_ERR_URL_EMPTY"},Ta=(Wt(oa={},da,{HLS:1100,DASH:1200}),Wt(oa,ba,2100),Wt(oa,fa,2101),Wt(oa,la,2103),Wt(oa,ha,2104),Wt(oa,pa,2116),Wt(oa,ya,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),Wt(oa,ga,{FMP4:4100,MP4:4200}),Wt(oa,va,{MEDIA_ERR_ABORTED:5101,MEDIA_ERR_NETWORK:5102,MEDIA_ERR_DECODE:5103,MEDIA_ERR_SRC_NOT_SUPPORTED:5104,MEDIA_ERR_CODEC_NOT_SUPPORTED:5105,MEDIA_ERR_URL_EMPTY:5106,MSE_ADD_SB:5200,MSE_APPEND_BUFFER:5201,MSE_OTHER:5202,MSE_FULL:5203,MSE_HIJACK:5204,MSE_CHANGE_TYPE:5205,EME_HIJACK:5301}),Wt(oa,ma,{LICENSE:7100,CUSTOM_LICENSE:7200}),Wt(oa,_a,8e3),Wt(oa,Ea,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),oa),Aa=function(e){Kt(a,e);var t=aa(a);function a(e,r,n,i,c){var o;return $t(this,a),(o=t.call(this,c||(null==n?void 0:n.message))).errorType=e===fa?ba:e,o.originError=n,o.ext=i,o.errorCode=Ta[e][r]||Ta[e],o.errorMessage=o.message,o.errorCode||(o.errorType=_a,o.errorCode=Ta[o.errorType]),o}return zt(a,null,[{key:"create",value:function(e,t,r,n,i){return e instanceof a?e:(e instanceof Error&&(r=e,e=""),e||(e=_a),new a(e,t,r,n,i))}},{key:"network",value:function(e){var t;return new a(null!=e&&e.isTimeout?fa:ba,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(t=e.response)||void 0===t?void 0:t.status})}}]),a}(Qt(Error)),ka={DEBUG:1,LOG:2,WARN:3,ERROR:4},Ia=["Boolean","Number","String","Undefined","Null","Date","Object"],Ra=function(){function e(t,a){$t(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==a?void 0:a.logCacheLevel)||3,this.logMaxSize=(null==a?void 0:a.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return zt(e,[{key:"debug",value:function(){for(var t,a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];this.logCache.apply(this,[ka.DEBUG].concat(r)),e.disabled||(t=console).debug.apply(t,["[".concat(wa(),"]"),this._prefix].concat(r))}},{key:"log",value:function(){for(var t,a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];this.logCache.apply(this,[ka.LOG].concat(r)),e.disabled||(t=console).log.apply(t,["[".concat(wa(),"]"),this._prefix].concat(r))}},{key:"warn",value:function(){for(var t,a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];this.logCache.apply(this,[ka.WARN].concat(r)),e.disabled||(t=console).warn.apply(t,["[".concat(wa(),"]"),this._prefix].concat(r))}},{key:"error",value:function(){for(var t,a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];this.logCache.apply(this,[ka.ERROR].concat(r)),e.disabled||(t=console).error.apply(t,["[".concat(wa(),"]"),this._prefix].concat(r))}},{key:"logCache",value:function(e){if(!(e<this.logCacheLevel)){var t="";try{for(var a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];var i=r.map((function(e){return xa(e)}));t="[".concat(wa(),"]")+this._prefix+JSON.stringify(i)}catch(e){return}if(e>=this.logCacheLevel&&(this.logSize+=t.length,this.logTextArray.push(t)),this.logSize>this.logMaxSize){var c=this.logTextArray.shift();this.logSize-=c.length}}}},{key:"getLogCache",value:function(){var e=this.logTextArray.join("\n");return this.reset(),e}},{key:"reset",value:function(){this.logTextArray=[],this.logSize=0}},{key:"table",value:function(){var t;e.disabled||(console.group(this._prefix),(t=console).table.apply(t,arguments),console.groupEnd())}},{key:"setLogLevel",value:function(e){this.logCacheLevel=e}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();function wa(){return(new Date).toLocaleString()}function Ca(e){if("object"!==Bt(e))return e;var t=Object.prototype.toString.call(e).slice(8,-1);switch(t){case"Array":case"Uint8Array":case"ArrayBuffer":return t+"["+e.length+"]";case"Object":return"{}";default:return t}}function xa(e,t,a){a||(a=1),t||(t=2);var r={};if(!e||"object"!==Bt(e))return e;var n=Object.prototype.toString.call(e).slice(8,-1);if(!Ia.includes(n))return n;if(!(a>t)){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(a===t?r[i]=Ca(e[i]):"object"===Bt(e[i])?r[i]=xa(e[i],t,a+1):r[i]=e[i]);return r}}function Oa(){var e,t,a=new Promise((function(a,r){e=a,t=r}));return a.used=!1,a.resolve=function(){return a.used=!0,e.apply(void 0,arguments)},a.reject=function(){return a.used=!0,t.apply(void 0,arguments)},a}function Pa(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}Wt(Ra,"disabled",!0);var Da=function(e){try{return JSON.stringify(e)}catch(e){return""}};function La(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return ua?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(e){}}function qa(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}var Na="appendBuffer",Ma="removeBuffer",Ua="updateDuration",Fa=function(){function e(t,a){var r=this;$t(this,e),Wt(this,"media",null),Wt(this,"mediaSource",null),Wt(this,"_openPromise",Oa()),Wt(this,"_queue",Object.create(null)),Wt(this,"_sourceBuffer",Object.create(null)),Wt(this,"_mseFullFlag",{}),Wt(this,"_st",0),Wt(this,"_opst",0),Wt(this,"_logger",null),Wt(this,"_config",null),Wt(this,"_url",null),Wt(this,"_onStartStreaming",(function(){r._logger.debug("startstreaming")})),Wt(this,"_onEndStreaming",(function(){r._logger.debug("endstreaming")})),Wt(this,"_onSBUpdateEnd",(function(e){var t=r._queue[e];if(t){var a=t[0];if((null==a?void 0:a.opName)!==Ua&&t.shift(),a){var n,i,c=Pa()-r._opst;r._logger.debug("UpdateEnd(".concat(e,"/").concat(a.opName,")"),Da(function(e){var t=[];if(e instanceof TimeRanges)for(var a=0;a<e.length;a++)t.push({start:e.start(a),end:e.end(a)});return t}(null===(n=r._sourceBuffer[e])||void 0===n?void 0:n.buffered)),c,a.context),a.promise.resolve({name:a.opName,context:a.context,costtime:c});var o=null===(i=a.context)||void 0===i?void 0:i.callback;o&&"function"==typeof o&&o(a.context),r._startQueue(e)}}})),Wt(this,"_onSBUpdateError",(function(e,t){var a=r._queue[e];if(a){var n=a[0];n&&(r._logger.error("UpdateError",e,n.opName,n.context),n.promise.reject(new Aa(va,Sa.MSE_APPEND_BUFFER,t)))}})),this._config=Object.assign(e.getDefaultConfig(),a),t&&this.bindMedia(t),this._logger=new Ra("MSE"),this._config.openLog&&Ra.enable()}var t,a,r;return zt(e,[{key:"isOpened",get:function(){var e;return"open"===(null===(e=this.mediaSource)||void 0===e?void 0:e.readyState)}},{key:"hasOpTasks",get:function(){var e=this,t=!1;return Object.keys(this._queue).forEach((function(a){var r=e._queue[a];Array.isArray(r)&&(t||(t=r.length>0))})),t}},{key:"url",get:function(){return this._url}},{key:"duration",get:function(){var e;return(null===(e=this.mediaSource)||void 0===e?void 0:e.duration)||-1}},{key:"isEnded",get:function(){return!!this.mediaSource&&"ended"===this.mediaSource.readyState}},{key:"streaming",get:function(){return!qa(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(t){return t?this._mseFullFlag[t]:this._mseFullFlag[e.VIDEO]}},{key:"updateDuration",value:function(e){var t=this,a=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){var r=0;if(Object.keys(this._sourceBuffer).forEach((function(e){try{r=Math.max(t.bufferEnd(e)||0,r)}catch(e){}})),e<r)return Promise.resolve()}return this._enqueueBlockingOp((function(){t.isEnded?t._logger.debug("setDuration but ended"):t.mediaSource&&(t.mediaSource.duration=e,t._logger.debug("setDuration",e))}),Ua,{isReduceDuration:a})}},{key:"open",value:function(){var e=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var t=this.mediaSource;t.addEventListener("sourceopen",(function a(){var r=Pa()-e._st;e._logger.debug("sourceopen",r),t.removeEventListener("sourceopen",a),e._openPromise.resolve({costtime:r})})),this._openPromise=Oa()}return this._openPromise}},{key:"bindMedia",value:(r=Gt(jt().mark((function e(t){var a,r,n,i,c=this;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.mediaSource&&!this.media){e.next=3;break}return e.next=3,this.unbindMedia();case 3:if(a=La(this._config.preferMMS),t&&a){e.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=t,r=this.mediaSource=new a,n=qa(r),this._st=Pa(),i=function e(){var a=Pa()-c._st;c._logger.debug("sourceopen"),r.removeEventListener("sourceopen",e),URL.revokeObjectURL(t.src),c._openPromise.resolve({costtime:a})},r.addEventListener("sourceopen",i),n&&(r.addEventListener("startstreaming",this._onStartStreaming),r.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(r),t.src=this._url,t.disableRemotePlayback=n,e.abrupt("return",this._openPromise);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"unbindMedia",value:(a=Gt(jt().mark((function e(){var t,a,r,n=this;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),t=this.mediaSource){if(Object.keys(this._queue).forEach((function(e){var t=n._queue[e];t&&t.forEach((function(e){var t,a;return null===(t=e.promise)||void 0===t||null===(a=t.resolve)||void 0===a?void 0:a.call(t)}))})),a=!!this.media&&this.media.readyState>=1,r="open"===t.readyState,a&&r)try{t.endOfStream()}catch(e){}Object.keys(this._sourceBuffer).forEach((function(e){try{t.removeSourceBuffer(n._sourceBuffer[e])}catch(e){}})),qa(t)&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(e){}this.media=null}this.mediaSource=null,this._openPromise=Oa(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"createSource",value:function(e,t){if(!this._sourceBuffer[e]&&this.mediaSource){var a;try{a=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(t)}catch(e){throw new Aa(va,Sa.MSE_ADD_SB,e)}a.mimeType=t,a.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),a.addEventListener("error",this._onSBUpdateError.bind(this,e))}}},{key:"changeType",value:function(e,t){var a=this,r=this._sourceBuffer[e];return this.mediaSource&&r&&r.mimeType!==t?"function"!=typeof r.changeType?Promise.reject(new Aa(va,Sa.MSE_CHANGE_TYPE,new Error("changeType is not a function"))):this._enqueueOp(e,(function(){try{r.changeType(t)}catch(e){throw new Aa(va,Sa.MSE_CHANGE_TYPE,e)}r.mimeType=t,a._onSBUpdateEnd(e)}),"changeType",{mimeType:t}):Promise.resolve()}},{key:"createOrChangeSource",value:function(e,t){return this.createSource(e,t),this.changeType(e,t)}},{key:"append",value:function(e,t,a){var r=this;return t&&t.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(function(){var n;r.mediaSource&&!r.media.error&&(r._logger.debug("MSE APPEND START",a),r._opst=Pa(),null===(n=r._sourceBuffer[e])||void 0===n||n.appendBuffer(t))}),Na,a):Promise.resolve()}},{key:"remove",value:function(e,t,a,r){var n=this,i=!1;return this._mseFullFlag[e]&&(i=!0),this._enqueueOp(e,(function(){if(n.mediaSource&&!n.media.error){var i=n._sourceBuffer[e];t>=a||!i?n._onSBUpdateEnd(e):(n._opst=Pa(),n._logger.debug("MSE REMOVE START",e,t,a,r),i.remove(t,a))}}),Ma,r,i)}},{key:"clearBuffer",value:function(e,t){var a,r=this;return Object.keys(this._sourceBuffer).forEach((function(n){a=r.remove(n,e,t)})),a||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var e,t=this;return Object.keys(this._sourceBuffer).forEach((function(a){var r=t._sourceBuffer[a];e=t.remove(a,0,sa.end(sa.get(r)))})),e}},{key:"clearOpQueues",value:function(e,t){var a;this._logger.debug("MSE clearOpQueue START");var r=this._queue[e];if(t&&r)this._queue[e]=[];else if(r&&r[e]&&!(r.length<5)){var n=[];r.forEach((function(e){e.context&&e.context.isinit&&n.push(e)})),this._queue[e]=r.slice(0,2),n.length>0&&(a=this._queue[e]).push.apply(a,n)}}},{key:"endOfStream",value:function(e){var t=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var a=t.mediaSource;a&&"open"===a.readyState&&(t._logger.debug("MSE endOfStream START"),e?a.endOfStream(e):a.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(e,t){var a=this.mediaSource;e<0||t<e||null==a||!a.setLiveSeekableRange||"open"!==a.readyState||a.setLiveSeekableRange(e,t)}},{key:"getSourceBuffer",value:function(e){return this._sourceBuffer[e]}},{key:"buffered",value:function(e){return sa.get(this._sourceBuffer[e])}},{key:"bufferStart",value:function(e){return sa.start(this.buffered(e))}},{key:"bufferEnd",value:function(e){return sa.end(this.buffered(e))}},{key:"_enqueueOp",value:function(e,t,a,r,n){var i=this;if(!this.mediaSource)return Promise.resolve();var c=this._queue[e]=this._queue[e]||[],o={exec:t,promise:Oa(),opName:a,context:r};return n?(c.splice(0,0,o),this._mseFullFlag[e]=!1,this._startQueue(e)):c.push(o),this.isOpened||this.isEnded?1===c.length&&this._startQueue(e):this._openPromise.then((function(){1===c.length&&i._startQueue(e)})),o.promise}},{key:"_enqueueBlockingOp",value:(t=Gt(jt().mark((function e(t,a,r){var n,i,c=this;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.mediaSource){e.next=2;break}return e.abrupt("return",Promise.resolve());case 2:if((n=Object.keys(this._sourceBuffer)).length){e.next=5;break}return e.abrupt("return",t());case 5:return i=[],n.forEach((function(e){var t=c._queue[e],n=Oa();i.push(n),t.push({exec:function(){n.resolve()},promise:n,opName:a,context:r}),1===t.length&&c._startQueue(e)})),e.abrupt("return",Promise.all(i).then((function(){try{return t()}finally{n.forEach((function(e){var t=c._queue[e],a=c._sourceBuffer[e];null==t||t.shift(),a&&a.updating||c._startQueue(e)}))}})));case 8:case"end":return e.stop()}}),e,this)}))),function(e,a,r){return t.apply(this,arguments)})},{key:"_startQueue",value:function(e){var t=this._queue[e];if(t){var a=t[0];if(a&&!this._mseFullFlag[e])try{a.exec()}catch(i){var r,n;i&&i.message&&i.message.indexOf("SourceBuffer is full")>=0?(this._mseFullFlag[e]=!0,a.context&&"object"===Bt(a.context)&&(a.context.isFull=!0),this._logger.error("[MSE error], context,",a.context," ,name,",a.opName,",err,SourceBuffer is full"),null==a||null===(r=a.promise)||void 0===r||r.reject(new Aa(va,Sa.MSE_FULL,i))):(this._logger.error(i),null==a||null===(n=a.promise)||void 0===n||n.reject(i.constructor===Aa?i:new Aa(va,Sa.MSE_OTHER,i)),t.shift(),this._startQueue(e))}}}},{key:"setTimeoffset",value:function(e,t,a){var r=this;return this._enqueueOp(e,(function(){t<0&&(t+=.001),r._sourceBuffer[e].timestampOffset=t,r._onSBUpdateEnd(e)}),"setTimeoffset",a)}},{key:"abort",value:function(e,t){var a=this;return this.isOpened?this._enqueueOp(e,(function(){a._sourceBuffer[e].abort(),a._onSBUpdateEnd(e)}),"abort",t):Promise.resolve()}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:'video/mp4; codecs="avc1.42E01E,mp4a.40.2"',t=La();if(!t)return!1;try{return t.isTypeSupported(e)}catch(t){return this._logger.error(e,t),!1}}},{key:"isMMSOnly",value:function(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}},{key:"getDefaultConfig",value:function(){return{openLog:!1,preferMMS:!1}}}]),e}();Wt(Fa,"VIDEO","video"),Wt(Fa,"AUDIO","audio");var ja="fetch",Ba="xhr",Ha="arraybuffer",Ga="text",$a="json",Va=function(e){Kt(a,e);var t=aa(a);function a(e,r,n,i){var c;return $t(this,a),Wt(ta(c=t.call(this,i)),"retryCount",0),Wt(ta(c),"isTimeout",!1),Wt(ta(c),"loaderType",ja),Wt(ta(c),"startTime",0),Wt(ta(c),"endTime",0),Wt(ta(c),"options",{}),c.url=e,c.request=r,c.response=n,c}return zt(a)}(Qt(Error)),za=Object.prototype.toString;function Wa(e){if("[object Object]"!==za.call(e))return!1;var t=Object.getPrototypeOf(e);return null===t||t===Object.prototype}function Ka(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 Ya(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xa(e,t){if(e){if(!t)return e;var a,r=Object.keys(t).map((function(e){if(null!=(a=t[e]))return Array.isArray(a)?e+="[]":a=[a],a.map((function(t){var a,r;return a=t,"[object Date]"===za.call(a)?t=t.toISOString():null!==(r=t)&&"object"===Bt(r)&&(t=JSON.stringify(t)),"".concat(Ya(e),"=").concat(Ya(t))})).join("&")})).filter(Boolean).join("&");if(r){var n=e.indexOf("#");-1!==n&&(e=e.slice(0,n)),e+=(-1===e.indexOf("?")?"?":"&")+r}return e}}function Ja(e,t,a,r,n,i,c,o,s,u,d){return n=null!=n?parseFloat(n):null,r=parseInt(r||"0",10),Number.isNaN(r)&&(r=0),{data:e,done:t,options:{range:s,vid:u,index:o,contentLength:r,age:n,startTime:i,firstByteTime:c,endTime:Date.now(),priOptions:d},response:a}}function Za(e,t){return Math.round(8*e*1e3/t/1024)}var Qa={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",MEDIASOURCE_OPENED:"core.mediasourceopened",ANALYZE_DURATION_EXCEEDED:"core.analyzedurationexceeded",APPEND_BUFFER:"core.appendbuffer",REMOVE_BUFFER:"core.removebuffer",BUFFEREOS:"core.buffereos",KEYFRAME:"core.keyframe",CHASEFRAME:"core.chaseframe",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",DEMUXED_TRACK:"core.demuxedtrack",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"},er={exports:{}};!function(e){var t=Object.prototype.hasOwnProperty,a="~";function r(){}function n(e,t,a){this.fn=e,this.context=t,this.once=a||!1}function i(e,t,r,i,c){if("function"!=typeof r)throw new TypeError("The listener must be a function");var o=new n(r,i||e,c),s=a?a+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function c(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(a=!1)),o.prototype.eventNames=function(){var e,r,n=[];if(0===this._eventsCount)return n;for(r in e=this._events)t.call(e,r)&&n.push(a?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},o.prototype.listeners=function(e){var t=a?a+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,i=r.length,c=new Array(i);n<i;n++)c[n]=r[n].fn;return c},o.prototype.listenerCount=function(e){var t=a?a+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,n,i,c){var o=a?a+e:e;if(!this._events[o])return!1;var s,u,d=this._events[o],b=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),b){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,n),!0;case 5:return d.fn.call(d.context,t,r,n,i),!0;case 6:return d.fn.call(d.context,t,r,n,i,c),!0}for(u=1,s=new Array(b-1);u<b;u++)s[u-1]=arguments[u];d.fn.apply(d.context,s)}else{var f,l=d.length;for(u=0;u<l;u++)switch(d[u].once&&this.removeListener(e,d[u].fn,void 0,!0),b){case 1:d[u].fn.call(d[u].context);break;case 2:d[u].fn.call(d[u].context,t);break;case 3:d[u].fn.call(d[u].context,t,r);break;case 4:d[u].fn.call(d[u].context,t,r,n);break;default:if(!s)for(f=1,s=new Array(b-1);f<b;f++)s[f-1]=arguments[f];d[u].fn.apply(d[u].context,s)}}return!0},o.prototype.on=function(e,t,a){return i(this,e,t,a,!1)},o.prototype.once=function(e,t,a){return i(this,e,t,a,!0)},o.prototype.removeListener=function(e,t,r,n){var i=a?a+e:e;if(!this._events[i])return this;if(!t)return c(this,i),this;var o=this._events[i];if(o.fn)o.fn!==t||n&&!o.once||r&&o.context!==r||c(this,i);else{for(var s=0,u=[],d=o.length;s<d;s++)(o[s].fn!==t||n&&!o[s].once||r&&o[s].context!==r)&&u.push(o[s]);u.length?this._events[i]=1===u.length?u[0]:u:c(this,i)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=a?a+e:e,this._events[t]&&c(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=a,o.EventEmitter=o,e.exports=o}(er);var tr=Ne(er.exports),ar=2097152,rr=function(e){Kt(r,e);var t,a=aa(r);function r(){var e;return $t(this,r),Wt(ta(e=a.call(this)),"_abortController",null),Wt(ta(e),"_timeoutTimer",null),Wt(ta(e),"_reader",null),Wt(ta(e),"_response",null),Wt(ta(e),"_aborted",!1),Wt(ta(e),"_index",-1),Wt(ta(e),"_range",null),Wt(ta(e),"_receivedLength",0),Wt(ta(e),"_running",!1),Wt(ta(e),"_logger",null),Wt(ta(e),"_vid",""),Wt(ta(e),"_onProcessMinLen",0),Wt(ta(e),"_onCancel",null),Wt(ta(e),"_priOptions",null),e}return zt(r,[{key:"load",value:function(e){var t,a=this,r=e.url,n=e.vid,i=e.timeout,c=e.responseType,o=e.onProgress,s=e.index,u=e.onTimeout,d=e.onCancel,b=e.range,f=e.transformResponse,l=e.request,h=e.params,p=e.logger,y=e.method,g=e.headers,v=e.body,m=e.mode,_=e.credentials,E=e.cache,S=e.redirect,T=e.referrer,A=e.referrerPolicy,k=e.onProcessMinLen,I=e.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=k,this._onCancel=d,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=s,this._range=b||[0,0],this._vid=n||r,this._priOptions=I||{};var R={method:y,headers:g,body:v,mode:m,credentials:_,cache:E,redirect:S,referrer:T,referrerPolicy:A,signal:null===(t=this._abortController)||void 0===t?void 0:t.signal},w=!1;clearTimeout(this._timeoutTimer),r=Xa(r,h);var C=Ka(b);C&&(g=l?l.headers:R.headers=R.headers||(Headers?new Headers:{}),Headers&&g instanceof Headers?g.append("Range",C):g.Range=C),i&&(this._timeoutTimer=setTimeout((function(){if(w=!0,a.cancel(),u){var e=new Va(r,R,null,"timeout");e.isTimeout=!0,u(e,{index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions})}}),i));var x=Date.now();return this._logger.debug("[fetch load start], index,",s,",range,",b),new Promise((function(e,t){var n;fetch(l||r,l?void 0:R).then((n=Gt(jt().mark((function n(i){var u,d,l,h;return jt().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(clearTimeout(a._timeoutTimer),a._response=i,!a._aborted&&a._running){n.next=4;break}return n.abrupt("return");case 4:if(f&&(i=f(i,r)||i),i.ok){n.next=7;break}throw new Va(r,R,i,"bad network response");case 7:if(u=Date.now(),c!==Ga){n.next=15;break}return n.next=11,i.text();case 11:d=n.sent,a._running=!1,n.next=37;break;case 15:if(c!==$a){n.next=22;break}return n.next=18,i.json();case 18:d=n.sent,a._running=!1,n.next=37;break;case 22:if(!o){n.next=29;break}return a.resolve=e,a.reject=t,a._loadChunk(i,o,x,u),n.abrupt("return");case 29:return n.next=31,i.arrayBuffer();case 31:d=n.sent,d=new Uint8Array(d),a._running=!1,l=Date.now()-x,h=Za(d.byteLength,l),a.emit(Qa.REAL_TIME_SPEED,{speed:h,len:d.byteLength,time:l,vid:a._vid,index:a._index,range:a._range,priOptions:a._priOptions});case 37:a._logger.debug("[fetch load end], index,",s,",range,",b),e(Ja(d,!0,i,i.headers.get("Content-Length"),i.headers.get("age"),x,u,s,b,a._vid,a._priOptions));case 39:case"end":return n.stop()}}),n)}))),function(e){return n.apply(this,arguments)})).catch((function(e){var n;clearTimeout(a._timeoutTimer),a._running=!1,a._aborted&&!w||((e=e instanceof Va?e:new Va(r,R,null,null===(n=e)||void 0===n?void 0:n.message)).startTime=x,e.endTime=Date.now(),e.isTimeout=w,e.options={index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions},t(e))}))}))}},{key:"cancel",value:(t=Gt(jt().mark((function e(){return jt().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({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions});case 16:case"end":return e.stop()}}),e,this,[[5,11]])}))),function(){return t.apply(this,arguments)})},{key:"_loadChunk",value:function(e,t,a,r){var n=this;if(!e.body||!e.body.getReader){this._running=!1;var i=new Va(e.url,"",e,"onProgress of bad response.body.getReader");return i.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(i)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(ar),this._writeIdx=0);var c,o,s,u,d=this._reader=e.body.getReader(),b=(u=Gt(jt().mark((function i(){var u,f,l,h,p,y,g,v;return jt().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return o=Date.now(),i.prev=1,i.next=4,d.read();case 4:c=i.sent,s=Date.now(),i.next=13;break;case 8:return i.prev=8,i.t0=i.catch(1),s=Date.now(),n._aborted||(n._running=!1,i.t0.options={index:n._index,range:n._range,vid:n._vid,priOptions:n._priOptions},n.reject(i.t0)),i.abrupt("return");case 13:if(f=(null===(u=n._range)||void 0===u?void 0:u.length)>0?n._range[0]:0,l=f+n._receivedLength,!n._aborted){i.next=19;break}return n._running=!1,t(void 0,!1,{range:[l,l],vid:n._vid,index:n._index,startTime:o,endTime:s,st:a,firstByteTime:r,priOptions:n._priOptions},e),i.abrupt("return");case 19:h=c.value?c.value.byteLength:0,n._receivedLength+=h,n._logger.debug("【fetchLoader,onProgress call】,task,",n._range,", start,",l,", end,",f+n._receivedLength,", done,",c.done),n._onProcessMinLen>0?n._writeIdx+h>=n._onProcessMinLen||c.done?((p=new Uint8Array(n._writeIdx+h)).set(n._cache.slice(0,n._writeIdx),0),h>0&&p.set(c.value,n._writeIdx),n._writeIdx=0,n._logger.debug("【fetchLoader,onProgress enough】,done,",c.done,",len,",p.byteLength,", writeIdx,",n._writeIdx)):h>0&&n._writeIdx+h<ar?(n._cache.set(c.value,n._writeIdx),n._writeIdx+=h,n._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",n._writeIdx)):h>0&&(y=new Uint8Array(n._writeIdx+h+2048),n._logger.debug("【fetchLoader,onProgress extra start】,size,",n._writeIdx+h+2048,", datalen,",h,", writeIdx,",n._writeIdx),y.set(n._cache.slice(0,n._writeIdx),0),h>0&&y.set(c.value,n._writeIdx),n._writeIdx+=h,delete n._cache,n._cache=y,n._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",n._writeIdx)):p=c.value,(p&&p.byteLength>0||c.done)&&t(p,c.done,{range:[n._range[0]+n._receivedLength-(p?p.byteLength:0),n._range[0]+n._receivedLength],vid:n._vid,index:n._index,startTime:o,endTime:s,st:a,firstByteTime:r,priOptions:n._priOptions},e),c.done?(g=Date.now()-a,v=Za(n._receivedLength,g),n.emit(Qa.REAL_TIME_SPEED,{speed:v,len:n._receivedLength,time:g,vid:n._vid,index:n._index,range:n._range,priOptions:n._priOptions}),n._running=!1,n._logger.debug("[fetchLoader onProgress end],task,",n._range,",done,",c.done),n.resolve(Ja(c,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),a,r,n._index,n._range,n._vid,n._priOptions))):b();case 25:case"end":return i.stop()}}),i,null,[[1,8]])}))),function(){return u.apply(this,arguments)});b()}},{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)}}]),r}(tr),nr=function(e){Kt(a,e);var t=aa(a);function a(){var e;return $t(this,a),Wt(ta(e=t.call(this)),"_xhr",null),Wt(ta(e),"_aborted",!1),Wt(ta(e),"_timeoutTimer",null),Wt(ta(e),"_range",null),Wt(ta(e),"_receivedLength",0),Wt(ta(e),"_url",null),Wt(ta(e),"_onProgress",null),Wt(ta(e),"_index",-1),Wt(ta(e),"_headers",null),Wt(ta(e),"_currentChunkSizeKB",384),Wt(ta(e),"_timeout",null),Wt(ta(e),"_xhr",null),Wt(ta(e),"_withCredentials",null),Wt(ta(e),"_startTime",-1),Wt(ta(e),"_loadCompleteResolve",null),Wt(ta(e),"_loadCompleteReject",null),Wt(ta(e),"_runing",!1),Wt(ta(e),"_logger",!1),Wt(ta(e),"_vid",""),Wt(ta(e),"_responseType",void 0),Wt(ta(e),"_credentials",void 0),Wt(ta(e),"_method",void 0),Wt(ta(e),"_transformResponse",void 0),Wt(ta(e),"_firstRtt",void 0),Wt(ta(e),"_onCancel",null),Wt(ta(e),"_priOptions",null),e}return zt(a,[{key:"load",value:function(e){var t=this;clearTimeout(this._timeoutTimer),this._logger=e.logger,this._range=e.range,this._onProgress=e.onProgress,this._index=e.index,this._headers=e.headers,this._withCredentials="include"===e.credentials||"same-origin"===e.credentials,this._body=e.body||null,e.method&&(this._method=e.method),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._priOptions=e.priOptions||{},this._logger.debug("【xhrLoader task】, range",this._range),this._url=Xa(e.url,e.params);var a=Date.now();return new Promise((function(e,a){t._loadCompleteResolve=e,t._loadCompleteReject=a,t._startLoad()})).catch((function(e){if(clearTimeout(t._timeoutTimer),t._runing=!1,!t._aborted)throw(e=e instanceof Va?e:new Va(t._url,t._request)).startTime=a,e.endTime=Date.now(),e.options={index:t._index,vid:t._vid,priOptions:t._priOptions},e}))}},{key:"_startLoad",value:function(){var e=null;if(this._responseType===Ha&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var t=1024*this._currentChunkSizeKB,a=this._range[0]+this._receivedLength,r=this._range[1];t<this._range[1]-a&&(r=a+t),e=[a,r],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{this._startTime=Date.now();var a=this._xhr=new XMLHttpRequest;a.open(this._method||"GET",this._url,!0),a.responseType=this._responseType,this._timeout&&(a.timeout=this._timeout),a.withCredentials=this._withCredentials,a.onload=this._onLoad.bind(this),a.onreadystatechange=this._onReadyStatechange.bind(this),a.onerror=function(e){var a,r,n;t._running=!1;var i=new Va(t._url,t._request,null==e||null===(a=e.currentTarget)||void 0===a?void 0:a.response,"xhr.onerror.status:"+(null==e||null===(r=e.currentTarget)||void 0===r?void 0:r.status)+",statusText,"+(null==e||null===(n=e.currentTarget)||void 0===n?void 0:n.statusText));i.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},t._loadCompleteReject(i)},a.ontimeout=function(e){t.cancel();var a=new Va(t._url,t._request,{status:408},"timeout");t._onTimeout&&(a.isTimeout=!0,t._onTimeout(a,{index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions})),a.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},t._loadCompleteReject(a)};var r=this._headers||{},n=Ka(e);n&&(r.Range=n),r&&Object.keys(r).forEach((function(e){a.setRequestHeader(e,r[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),a.send(this._body)}catch(t){t.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(e){var t,a=e.target.status;if(a<200||a>299){var r=new Va(this._url,null,Ft(Ft({},e.target.response),{},{status:a}),"bad response,status:"+a);return r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)}var n,i=null,c=!1,o=(null===(t=this._range)||void 0===t?void 0:t.length)>0?this._range[0]:0;if(this._responseType===Ha){var s,u=new Uint8Array(e.target.response);if(n=o+this._receivedLength,u&&u.byteLength>0){this._receivedLength+=u.byteLength;var d=Date.now()-this._startTime,b=Za(this._receivedLength,d);this.emit(Qa.REAL_TIME_SPEED,{speed:b,len:this._receivedLength,time:d,vid:this._vid,index:this._index,range:[n,o+this._receivedLength],priOptions:this._priOptions})}i=u,c=!((null===(s=this._range)||void 0===s?void 0:s.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",n,"end ",o+this._receivedLength,",dataLen,",u?u.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",c)}else c=!0,i=e.target.response;var f={ok:a>=200&&a<300,status:a,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(f=this._transformResponse(f,this._url)||f),this._onProgress&&this._onProgress(i,c,{index:this._index,vid:this._vid,range:[n,o+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},f),c?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Ja(this._onProgress?null:i,c,f,f.headers["content-length"],f.headers.age,this._startTime,this._firstRtt,this._index,this._range,this._vid,this._priOptions))):this._startLoad()}},{key:"cancel",value:function(){if(!this._aborted)return this._aborted=!0,this._runing=!1,ra(Yt(a.prototype),"removeAllListeners",this).call(this),this._onCancel&&this._onCancel({index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions}),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,a={},r=ia(e.getAllResponseHeaders().trim().split("\r\n"));try{for(r.s();!(t=r.n()).done;){var n=t.value.split(": ");a[n[0].toLowerCase()]=n.slice(1).join(": ")}}catch(e){r.e(e)}finally{r.f()}return a}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),a}(tr),ir=["retry","retryDelay","onRetryError","transformError"],cr=function(){function e(t,a){$t(this,e),this.promise=Oa(),this.alive=!!a.onProgress,!a.logger&&(a.logger=new Ra("Loader")),this._loaderType=t,this._loader=t===ja&&"undefined"!=typeof fetch?new rr:new nr,this._config=a,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=a.retryCheckFunc,this._logger=a.logger}var t;return zt(e,[{key:"exec",value:function(){var e,t=this,a=this._config,r=a.retry,n=a.retryDelay,i=a.onRetryError,c=a.transformError,o=ea(a,ir),s=(e=Gt(jt().mark((function e(){var a,u,d;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t._loader.load(o);case 3:a=e.sent,t.promise.resolve(a),e.next=27;break;case 7:if(e.prev=7,e.t0=e.catch(0),t._loader.running=!1,t._logger.debug("[task request catch err]",e.t0),!t._canceled){e.next=13;break}return e.abrupt("return");case 13:if(e.t0.loaderType=t._loaderType,e.t0.retryCount=t._retryCount,u=e.t0,c&&(u=c(u)||u),i&&t._retryCount>0&&i(u,t._retryCount,{index:o.index,vid:o.vid,range:o.range,priOptions:o.priOptions}),t._retryCount++,d=!0,t._retryCheckFunc&&(d=t._retryCheckFunc(e.t0)),!(d&&t._retryCount<=r)){e.next=26;break}return clearTimeout(t._retryTimer),t._logger.debug("[task request setTimeout],retry",t._retryCount,",retry range,",o.range),t._retryTimer=setTimeout(s,n),e.abrupt("return");case 26:t.promise.reject(u);case 27:case"end":return e.stop()}}),e,null,[[0,7]])}))),function(){return e.apply(this,arguments)});return s(),this.promise}},{key:"cancel",value:(t=Gt(jt().mark((function e(){return jt().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 or(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];if((t=t.filter(Boolean)).length<2)return t[0];var r=new Uint8Array(t.reduce((function(e,t){return e+t.byteLength}),0)),n=0;return t.forEach((function(e){r.set(e,n),n+=e.byteLength})),r}function sr(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))}var ur=function(e){Kt(r,e);var t,a=aa(r);function r(e){var t;return $t(this,r),Wt(ta(t=a.call(this,e)),"type",ja),Wt(ta(t),"_queue",[]),Wt(ta(t),"_alive",[]),Wt(ta(t),"_currentTask",null),Wt(ta(t),"_finnalUrl",""),Wt(ta(t),"_config",void 0),t._config=Ft({loaderType:ja,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:Ga,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),t._config.loaderType!==Ba&&rr.isSupported()||(t.type=Ba),t.log=e.logger,t}return zt(r,[{key:"isFetch",value:function(){return this.type===ja}},{key:"load",value:function(e){var t=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?a=e:a.url=e||a.url||this._config.url,(a=Object.assign({},this._config,a)).params&&(a.params=Object.assign({},a.params)),a.headers&&Wa(a.headers)&&(a.headers=Object.assign({},a.headers)),a.body&&Wa(a.body)&&(a.body=Object.assign({},a.body)),a.transformRequest&&(a=a.transformRequest(a)||a),a.logger=this.log;var r=new cr(this.type,a);return r.loader.on(Qa.REAL_TIME_SPEED,(function(e){t.emit(Qa.REAL_TIME_SPEED,e)})),this._queue.push(r),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),r.promise}},{key:"cancel",value:(t=Gt(jt().mark((function e(){var t;return jt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=this._queue.map((function(e){return e.cancel()})).concat(this._alive.map((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,sr();case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_processTask",value:function(){var e=this;if(this._currentTask=this._queue.shift(),this._currentTask){this._currentTask.alive&&this._alive.push(this._currentTask);var t=this._currentTask.exec().catch((function(e){}));t&&"function"==typeof t.finally&&t.finally((function(){var t,a;null!==(t=e._currentTask)&&void 0!==t&&t.alive&&(null===(a=e._alive)||void 0===a?void 0:a.length)>0&&(e._alive=e._alive.filter((function(t){return t&&t!==e._currentTask}))),e._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return rr.isSupported()}}]),r}(tr),dr=function(){function e(){$t(this,e),Wt(this,"_prevCurrentTime",0)}return zt(e,[{key:"do",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,a=arguments.length>2?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(e){var n=e.currentTime,i=0;if(this._prevCurrentTime===n){var c=sa.info(sa.get(e),n);if(!c.buffers.length)return;a&&c.nextStart||c.nextStart&&c.nextStart-n<t?i=c.nextStart+.1:c.end&&c.end-n>r&&!e.seeking&&(i=n+.1)}this._prevCurrentTime=n,i&&n!==i&&(e.currentTime=i)}}}]),e}(),br=function(){function e(t){var a=this;$t(this,e),Wt(this,"_seiSet",new Set),this.emitter=t,t.on(Qa.SEI,(function(e){e&&a._seiSet.add(e)}))}return zt(e,[{key:"throw",value:function(e,t){var a=this;if(null!=e&&this._seiSet.size){var r=e-.2,n=e+.2,i=[];this._seiSet.forEach((function(e){e.time>=r&&e.time<=n&&i.push(e)})),i.forEach((function(e){a._seiSet.delete(e),a.emitter.emit(Qa.SEI_IN_TIME,e)})),t&&this._seiSet.forEach((function(t){t.time<e-5&&a._seiSet.delete(t)}))}}},{key:"reset",value:function(){this._seiSet.clear()}}]),e}(),fr=function(){function e(t){$t(this,e),Wt(this,"_chunkSpeed",0),Wt(this,"_chunkCache",[]),Wt(this,"_speeds",[]),Wt(this,"_totalSize",0),Wt(this,"_totalCost",0),this._opts=t||{}}return zt(e,[{key:"addRecord",value:function(e,t){e&&t&&(this._speeds.push(8e3*e/t),this._speeds=this._speeds.slice(-3))}},{key:"addChunkRecord",value:function(e,t){var a,r;if(e&&t&&!(e<((null===(a=this._opts)||void 0===a?void 0:a.skipChunkSize)||1e3))){this._totalSize+=e,this._totalCost+=t,this._chunkSpeed=8e3*e/t,this._chunkCache.push({size:e,duration:t,timestamp:performance.now()});var n=(null===(r=this._opts)||void 0===r?void 0:r.chunkCountForSpeed)||50;this._chunkCache.length>n&&(this._chunkCache=this._chunkCache.slice(-n))}}},{key:"getAvgSpeed",value:function(){var e;if(!this._chunkCache.length&&!this._speeds.length)return 0;if(this._speeds.length)return this._speeds.reduce((function(e,t){return e+t}))/this._speeds.length;var t=this._chunkCache[this._chunkCache.length-1],a=performance.now()-t.timestamp;return a>((null===(e=this._opts)||void 0===e?void 0:e.longtimeNoReceived)||3e3)&&this._chunkCache.push({size:0,duration:a,timestamp:performance.now()}),8e3*this._chunkCache.reduce((function(e,t){return e+t.size}),0)/this._chunkCache.reduce((function(e,t){return e+t.duration}),0)}},{key:"getLatestSpeed",value:function(){return this._chunkCache.length||this._speeds.length?this._speeds.length?this._speeds[this._speeds.length-1]:this._chunkSpeed:0}},{key:"getTotalSize",value:function(){return this._totalSize}},{key:"getTotalCost",value:function(){return this._totalCost}},{key:"reset",value:function(){this._chunkCache=[],this._speeds=[],this._totalSize=0,this._totalCost=0}}]),e}(),lr=function(){function e(t){$t(this,e),Wt(this,"encodeType",""),Wt(this,"audioCodec",""),Wt(this,"videoCodec",""),Wt(this,"domain",""),Wt(this,"fps",0),Wt(this,"bitrate",0),Wt(this,"width",0),Wt(this,"height",0),Wt(this,"samplerate",0),Wt(this,"channelCount",0),Wt(this,"gop",0),Wt(this,"_bitsAccumulateSize",0),Wt(this,"_bitsAccumulateDuration",0),Wt(this,"_startGopId",-1),this._timescale=t}return zt(e,[{key:"getStats",value:function(){return{encodeType:this.encodeType,audioCodec:this.audioCodec,videoCodec:this.videoCodec,domain:this.domain,fps:this.fps,bitrate:this.bitrate,width:this.width,height:this.height,samplerate:this.samplerate,channelCount:this.channelCount,gop:this.gop}}},{key:"setEncodeType",value:function(e){this.encodeType=e}},{key:"setFpsFromScriptData",value:function(e){var t,a=e.data,r=null==a||null===(t=a.onMetaData)||void 0===t?void 0:t.framerate;r&&r>0&&r<100&&(this.fps=r)}},{key:"setVideoMeta",value:function(e){if(this.width=e.width,this.height=e.height,this.videoCodec=e.codec,this.encodeType=e.codecType,e.fpsNum&&e.fpsDen){var t=e.fpsNum/e.fpsDen;t>0&&t<100&&(this.fps=t)}}},{key:"setAudioMeta",value:function(e){this.audioCodec=e.codec,this.samplerate=e.sampleRate,this.channelCount=e.channelCount}},{key:"setDomain",value:function(e){this.domain=e.split("/").slice(2,3)[0]}},{key:"updateBitrate",value:function(e){var t=this;if((!this.fps||this.fps>=100)&&e.length){var a=e.reduce((function(e,t){return e+t.duration}),0)/e.length;this.fps=Math.round(this._timescale/a)}e.forEach((function(e){-1===t._startGopId&&(t._startGopId=e.gopId),e.gopId===t._startGopId&&t.gop++,t._bitsAccumulateDuration+=e.duration/(t._timescale/1e3),t._bitsAccumulateSize+=e.units.reduce((function(e,t){return e+t.length}),0),t._bitsAccumulateDuration>=1e3&&(t.bitrate=8*t._bitsAccumulateSize,t._bitsAccumulateDuration=0,t._bitsAccumulateSize=0)}))}}]),e}(),hr=function(){function e(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;$t(this,e),Wt(this,"_core",null),Wt(this,"_samples",[]),this._core=t,this._timescale=a,this._stats=new lr(a),this._bindEvents()}return zt(e,[{key:"getStats",value:function(){var e,t,a,r,n,i,c,o,s,u,d,b=(null===(e=this._core)||void 0===e?void 0:e.media)||{},f=b.currentTime,l=void 0===f?0:f,h=b.decodeFps,p=void 0===h?0:h;return Ft(Ft({},this._stats.getStats()),{},{downloadSpeed:(null===(t=this._core)||void 0===t||null===(a=t.speedInfo)||void 0===a?void 0:a.call(t).speed)||0,avgSpeed:(null===(r=this._core)||void 0===r||null===(n=r.speedInfo)||void 0===n?void 0:n.call(r).avgSpeed)||0,totalReceivedByte:(null===(i=this._core)||void 0===i||null===(c=i.speedInfo)||void 0===c?void 0:c.call(i).totalSize)||0,totalReceivedCost:(null===(o=this._core)||void 0===o||null===(s=o.speedInfo)||void 0===s?void 0:s.call(o).totalCost)||0,currentTime:l,bufferEnd:(null===(u=this._core)||void 0===u||null===(d=u.bufferInfo())||void 0===d?void 0:d.remaining)||0,decodeFps:p})}},{key:"_bindEvents",value:function(){var e=this;this._core.on(Qa.DEMUXED_TRACK,(function(t){var a=t.videoTrack;return e._stats.updateBitrate(a.samples)})),this._core.on(Qa.FLV_SCRIPT_DATA,(function(t){e._stats.setFpsFromScriptData(t)})),this._core.on(Qa.METADATA_PARSED,(function(t){"video"===t.type?e._stats.setVideoMeta(t.track):e._stats.setAudioMeta(t.track)})),this._core.on(Qa.TTFB,(function(t){e._stats.setDomain(t.responseUrl)}))}},{key:"reset",value:function(){this._samples=[],this._stats=new lr(this._timescale)}}]),e}();function pr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yr(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Rr(r.key),r)}}function gr(e,t,a){return t&&yr(e.prototype,t),a&&yr(e,a),Object.defineProperty(e,"prototype",{writable:!1}),e}function vr(e,t,a){return(t=Rr(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function mr(e){return(mr=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _r(e,t){return(_r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function Er(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 function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Sr(e){var t=function(){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}}();return function(){var a,r=mr(e);if(t){var n=mr(this).constructor;a=Reflect.construct(r,arguments,n)}else a=r.apply(this,arguments);return Er(this,a)}}function Tr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var r,n,i,c,o=[],s=!0,u=!1;try{if(i=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;s=!1}else for(;!(s=(r=i.call(a)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){u=!0,n=e}finally{try{if(!s&&null!=a.return&&(c=a.return(),Object(c)!==c))return}finally{if(u)throw n}}return o}}(e,t)||kr(e,t)||function(){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 Ar(e){return function(e){if(Array.isArray(e))return Ir(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||kr(e)||function(){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 kr(e,t){if(e){if("string"==typeof e)return Ir(e,t);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Ir(e,t):void 0}}function Ir(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=new Array(t);a<t;a++)r[a]=e[a];return r}function Rr(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var wr="video",Cr="audio",xr="metadata",Or="av1",Pr="avc",Dr="hevc",Lr="aac",qr="g7110a",Nr="g7110m",Mr="opus",Ur="mp3",Fr="LARGE_AV_SHIFT",jr="LARGE_VIDEO_GAP",Br="LARGE_VIDEO_GAP_BETWEEN_CHUNK",Hr="LARGE_AUDIO_GAP",Gr="AUDIO_FILLED",$r="AUDIO_DROPPED",Vr=function(){function e(){pr(this,e),vr(this,"id",1),vr(this,"type",wr),vr(this,"codecType",Pr),vr(this,"pid",-1),vr(this,"hvcC",void 0),vr(this,"codec",""),vr(this,"timescale",0),vr(this,"formatTimescale",0),vr(this,"sequenceNumber",0),vr(this,"baseMediaDecodeTime",0),vr(this,"baseDts",0),vr(this,"duration",0),vr(this,"warnings",[]),vr(this,"samples",[]),vr(this,"pps",[]),vr(this,"sps",[]),vr(this,"vps",[]),vr(this,"fpsNum",0),vr(this,"fpsDen",0),vr(this,"sarRatio",[]),vr(this,"width",0),vr(this,"height",0),vr(this,"nalUnitSize",4),vr(this,"present",!1),vr(this,"isVideoEncryption",!1),vr(this,"isAudioEncryption",!1),vr(this,"isVideo",!0),vr(this,"lastKeyFrameDts",0),vr(this,"kid",null),vr(this,"pssh",null),vr(this,"ext",void 0)}return gr(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:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}},{key:"exist",value:function(){return!!/av01/.test(this.codec)||!!(this.pps.length&&this.sps.length&&this.codec)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isVideoEncryption}}]),e}(),zr=function(){function e(){pr(this,e),vr(this,"id",2),vr(this,"type",Cr),vr(this,"codecType",Lr),vr(this,"pid",-1),vr(this,"codec",""),vr(this,"container",""),vr(this,"sequenceNumber",0),vr(this,"sampleDuration",0),vr(this,"timescale",0),vr(this,"formatTimescale",0),vr(this,"baseMediaDecodeTime",0),vr(this,"duration",0),vr(this,"warnings",[]),vr(this,"samples",[]),vr(this,"baseDts",0),vr(this,"sampleSize",16),vr(this,"sampleRate",0),vr(this,"channelCount",0),vr(this,"objectType",0),vr(this,"sampleRateIndex",0),vr(this,"config",[]),vr(this,"present",!1),vr(this,"isVideoEncryption",!1),vr(this,"isAudioEncryption",!1),vr(this,"kid",null),vr(this,"ext",void 0)}return gr(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.container||this.codecType!==Lr&&this.codecType!==qr&&this.codecType!==Nr&&this.codecType!==Mr&&this.codecType!==Ur)}},{key:"hasSample",value:function(){return!!this.samples.length}},{key:"isEncryption",get:function(){return this.isAudioEncryption}},{key:"firstDts",get:function(){return this.samples.length?this.samples[0].dts:null}},{key:"firstPts",get:function(){return this.samples.length?this.samples[0].pts:null}},{key:"samplesDuration",get:function(){if(this.samples.length>0){var e=this.samples[0],t=this.samples[this.samples.length-1];return t.dts-e.dts+t.duration}return 0}}]),e}(),Wr=function(){function e(t,a,r){pr(this,e),vr(this,"flag",{}),vr(this,"keyframe",!1),vr(this,"gopId",0),vr(this,"duration",0),vr(this,"size",0),vr(this,"units",[]),vr(this,"chromaFormat",420),this.originPts=this.pts=t,this.originDts=this.dts=a,r&&(this.units=r)}return gr(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}(),Kr=gr((function e(t,a,r,n){pr(this,e),vr(this,"duration",1024),vr(this,"flag",{dependsOn:2,isNonSyncSample:0}),vr(this,"keyframe",!0),this.originPts=this.pts=this.dts=t,this.data=a,this.size=a.byteLength,this.sampleOffset=n,r&&(this.duration=r)})),Yr=function(e){!function(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&&_r(e,t)}(a,e);var t=Sr(a);function a(){return pr(this,a),t.apply(this,arguments)}return gr(a)}(gr((function e(t,a){pr(this,e),vr(this,"time",0),this.data=t,this.originPts=this.pts=a}))),Xr=function(){function e(){pr(this,e),vr(this,"id",3),vr(this,"type",xr),vr(this,"timescale",0),vr(this,"flvScriptSamples",[]),vr(this,"seiSamples",[])}return gr(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}(),Jr=function(){function e(t){pr(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]")}return gr(e,[{key:"warn",value:function(){var t;if(!e.disabled){for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];(t=console).warn.apply(t,[this._prefix].concat(r))}}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();vr(Jr,"disabled",!0);var Zr="undefined"!=typeof window,Qr=Zr&&navigator.userAgent.toLocaleLowerCase(),en=Zr&&/^((?!chrome|android).)*safari/.test(Qr),tn=Zr&&Qr.includes("firefox"),an=Zr&&Qr.includes("android"),rn=function(){function e(){pr(this,e)}return gr(e,null,[{key:"getRateIndexByRate",value:function(t){return e.FREQ.indexOf(t)}},{key:"parseADTS",value:function(t,a){for(var r=t.length,n=0;n+2<r&&(255!==t[n]||240!=(246&t[n+1]));)n++;if(!(n>=r)){var i=n,c=[],o=(60&t[n+2])>>>2,s=e.FREQ[o];if(!s)throw new Error("Invalid sampling index: ".concat(o));for(var u,d,b=1+((192&t[n+2])>>>6),f=(1&t[n+2])<<2|(192&t[n+3])>>>6,l=e._getConfig(o,f,b),h=l.config,p=l.codec,y=0,g=e.getFrameDuration(s);n+7<r;)if(255===t[n]&&240==(246&t[n+1])){if(!(d=(3&t[n+3])<<11|t[n+4]<<3|(224&t[n+5])>>5)||r-n<d)break;u=2*(1&~t[n+1]),c.push({pts:a+y*g,data:t.subarray(n+7+u,n+d)}),y++,n+=d}else n++;return{skip:i,remaining:n>=r?void 0:t.subarray(n),frames:c,samplingFrequencyIndex:o,sampleRate:s,objectType:b,channelCount:f,codec:p,config:h,originCodec:"mp4a.40.".concat(b)}}}},{key:"parseAudioSpecificConfig",value:function(t){if(t.length){var a=t[0]>>>3,r=(7&t[0])<<1|t[1]>>>7,n=(120&t[1])>>>3,i=e.FREQ[r];if(i){var c=e._getConfig(r,n,a);return{samplingFrequencyIndex:r,sampleRate:i,objectType:a,channelCount:n,config:c.config,codec:c.codec,originCodec:"mp4a.40.".concat(a)}}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,t,a){var r,n,i=[];return tn?e>=6?(r=5,n=e-3):(r=2,n=e):an?(r=2,n=e):(r=5,n=e,e>=6?n=e-3:1===t&&(r=2,n=e)),i[0]=r<<3,i[0]|=(14&e)>>1,i[1]=(1&e)<<7,i[1]|=t<<3,5===r&&(i[1]|=(14&n)>>1,i[2]=(1&n)<<7,i[2]|=8,i[3]=0),{config:i,codec:"mp4a.40.".concat(r)}}},{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}();function nn(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];t=t.filter(Boolean);var r=new Uint8Array(t.reduce((function(e,t){return e+t.byteLength}),0)),n=0;return t.forEach((function(e){r.set(e,n),n+=e.byteLength})),r}vr(rn,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var cn=Math.pow(2,32);function on(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[t]<<8)+(e[t+1]||0)}function sn(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 un(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return sn(e,t)*cn+sn(e,t+4)}function dn(e){for(var t,a="avc1.",r=0;r<3;r++)(t=e[r].toString(16)).length<2&&(t="0".concat(t)),a+=t;return a}function bn(e){if(!Array.isArray(e)){for(var t=[],a="",r=0;r<e.length;r++)r%2&&(a=e[r-1]+e[r],t.push(parseInt(a,16)),a="");return t}return e.map((function(e){return parseInt(e,16)}))}function fn(e,t){return Number(e+"."+t)}var ln=function(){function e(){pr(this,e)}return gr(e,null,[{key:"parseAnnexB",value:function(e){var t=e.byteLength-1,a=0;do{if(0!==e[t])break;a++,t--}while(t>0);a>=3&&(e=e.subarray(0,t+1));for(var r=e.length,n=2,i=0;null!==e[n]&&void 0!==e[n]&&1!==e[n];)n++;if((i=2+ ++n)>=r)return[];for(var c=[];i<r;)switch(e[i]){case 0:if(0!==e[i-1]){i+=2;break}if(0!==e[i-2]){i++;break}if(i<r-1&&1!==e[i+1]){i++;break}n!==i-2&&c.push(e.subarray(n,i-2));do{i++}while(1!==e[i]&&i<r);i=(n=i+1)+2;break;case 1:if(0!==e[i-1]||0!==e[i-2]){i+=3;break}n!==i-2&&c.push(e.subarray(n,i-2)),i=(n=i+1)+2;break;default:i+=3}return n<r&&c.push(e.subarray(n)),c}},{key:"parseAvcC",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(e.length<4)){for(var a,r=e.length,n=[],i=0;i+t<r;)if(a=sn(e,i),3===t&&(a>>>=8),i+=t,a){if(i+a>r)break;n.push(e.subarray(i,i+a)),i+=a}return n}}},{key:"parseSEI",value:function(e,t){for(var a=e.length,r=t?2:1,n=0,i=0,c="";255===e[r];)n+=255,r++;for(n+=e[r++];255===e[r];)i+=255,r++;if(i+=e[r++],5===n&&a>r+16)for(var o=0;o<16;o++)c+=e[r].toString(16),r++;return{payload:e.subarray(r,r+i),type:n,size:i,uuid:c}}},{key:"removeEPB",value:function(e){for(var t=e.byteLength,a=[],r=1;r<t-2;)0===e[r]&&0===e[r+1]&&3===e[r+2]?(a.push(r+2),r+=2):r++;if(!a.length)return e;var n=t-a.length,i=new Uint8Array(n),c=0;for(r=0;r<n;c++,r++)c===a[0]&&(c++,a.shift()),i[r]=e[c];return i}}]),e}(),hn=function(){function e(t){if(pr(this,e),vr(this,"_bytesAvailable",void 0),vr(this,"_bitsAvailable",0),vr(this,"_word",0),!t)throw new Error("ExpGolomb data params is required");this._data=t,this._bytesAvailable=t.byteLength,this._bytesAvailable&&this._loadWord()}return gr(e,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var e=this._data.byteLength-this._bytesAvailable,t=Math.min(4,this._bytesAvailable);if(0===t)throw new Error("No bytes available");var a=new Uint8Array(4);a.set(this._data.subarray(e,e+t)),this._word=new DataView(a.buffer).getUint32(0),this._bitsAvailable=8*t,this._bytesAvailable-=t}},{key:"skipBits",value:function(e){if(this._bitsAvailable>e)this._word<<=e,this._bitsAvailable-=e;else{e-=this._bitsAvailable;var t=Math.floor(e/8);e-=8*t,this._bytesAvailable-=t,this._loadWord(),this._word<<=e,this._bitsAvailable-=e}}},{key:"readBits",value:function(e){if(e>32)throw new Error("Cannot read more than 32 bits");var t=Math.min(this._bitsAvailable,e),a=this._word>>>32-t;return this._bitsAvailable-=t,this._bitsAvailable>0?this._word<<=t:this._bytesAvailable>0&&this._loadWord(),(t=e-t)>0&&this._bitsAvailable?a<<t|this.readBits(t):a}},{key:"skipLZ",value:function(){var e;for(e=0;e<this._bitsAvailable;++e)if(this._word&2147483648>>>e)return this._word<<=e,this._bitsAvailable-=e,e;return this._loadWord(),e+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var e=this.skipLZ();return this.readBits(e+1)-1}},{key:"readEG",value:function(){var e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}},{key:"readBool",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"skipScalingList",value:function(e){for(var t=8,a=8,r=0;r<e;r++)0!==a&&(a=(t+this.readEG()+256)%256),t=0===a?t:a}}]),e}(),pn=function(){function e(){pr(this,e)}return gr(e,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(t){if(!(t.length<7)){for(var a,r,n=1+(3&t[4]),i=[],c=[],o=6,s=31&t[5],u=0;u<s;u++)if(r=t[o]<<8|t[o+1],o+=2,r){var d=t.subarray(o,o+r);o+=r,i.push(d),a||(a=e.parseSPS(ln.removeEPB(d)))}var b,f=t[o];o++;for(var l=0;l<f;l++)b=t[o]<<8|t[o+1],o+=2,b&&(c.push(t.subarray(o,o+b)),o+=b);return{sps:a,spsArr:i,ppsArr:c,nalUnitSize:n}}}},{key:"parseSPS",value:function(e){var t=new hn(e);t.readUByte();var a=t.readUByte(),r=t.readUByte(),n=t.readUByte();t.skipUEG();var i=420;if(100===a||110===a||122===a||244===a||44===a||83===a||86===a||118===a||128===a||138===a||144===a){var c=t.readUEG();if(c<=3&&(i=[0,420,422,444][c]),3===c&&t.skipBits(1),t.skipUEG(),t.skipUEG(),t.skipBits(1),t.readBool())for(var o=3!==c?8:12,s=0;s<o;s++)t.readBool()&&(s<6?t.skipScalingList(16):t.skipScalingList(64))}t.skipUEG();var u=t.readUEG();if(0===u)t.readUEG();else if(1===u){t.skipBits(1),t.skipUEG(),t.skipUEG();for(var d=t.readUEG(),b=0;b<d;b++)t.skipUEG()}t.skipUEG(),t.skipBits(1);var f=t.readUEG(),l=t.readUEG(),h=t.readBits(1);0===h&&t.skipBits(1),t.skipBits(1);var p,y,g,v,m,_=0,E=0,S=0,T=0;if(t.readBool()&&(_=t.readUEG(),E=t.readUEG(),S=t.readUEG(),T=t.readUEG()),t.readBool()){if(t.readBool())switch(t.readUByte()){case 1:p=[1,1];break;case 2:p=[12,11];break;case 3:p=[10,11];break;case 4:p=[16,11];break;case 5:p=[40,33];break;case 6:p=[24,11];break;case 7:p=[20,11];break;case 8:p=[32,11];break;case 9:p=[80,33];break;case 10:p=[18,11];break;case 11:p=[15,11];break;case 12:p=[64,33];break;case 13:p=[160,99];break;case 14:p=[4,3];break;case 15:p=[3,2];break;case 16:p=[2,1];break;case 255:p=[t.readUByte()<<8|t.readUByte(),t.readUByte()<<8|t.readUByte()]}if(t.readBool()&&t.readBool(),t.readBool()&&(t.readBits(4),t.readBool()&&t.readBits(24)),t.readBool()&&(t.readUEG(),t.readUEG()),t.readBool()){var A=t.readBits(32),k=t.readBits(32);y=t.readBool(),m=(g=k)/(v=2*A)}}return{codec:dn(e.subarray(1,4)),profileIdc:a,profileCompatibility:r,levelIdc:n,chromaFormat:i,width:Math.ceil(16*(f+1)-2*(_+E)),height:(2-h)*(l+1)*16-(h?2:4)*(S+T),sarRatio:p,fpsNum:g,fpsDen:v,fps:m,fixedFrame:y}}}]),e}(),yn=function(){function e(){pr(this,e)}return gr(e,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(t.length<23)){a=a||{};for(var r,n,i,c,o,s=1+(3&t[21]),u=[],d=[],b=[],f=23,l=t[22],h=0;h<l;h++){i=63&t[f],c=t[f+1]<<8|t[f+2],f+=3;for(var p=0;p<c;p++)if(o=t[f]<<8|t[f+1],f+=2,o){switch(i){case 32:var y=t.subarray(f,f+o);r||(r=e.parseVPS(ln.removeEPB(y),a)),b.push(y);break;case 33:var g=t.subarray(f,f+o);n||(n=e.parseSPS(ln.removeEPB(g),a)),u.push(g);break;case 34:d.push(t.subarray(f,f+o))}f+=o}}return{hvcC:a,sps:n,spsArr:u,ppsArr:d,vpsArr:b,nalUnitSize:s}}}},{key:"parseVPS",value:function(t,a){a=a||{};var r=new hn(t);r.readUByte(),r.readUByte(),r.readBits(12);var n=r.readBits(3);return a.numTemporalLayers=Math.max(a.numTemporalLayers||0,n+1),r.readBits(17),e._parseProfileTierLevel(r,n,a),a}},{key:"parseSPS",value:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a=a||{};var r=new hn(t);r.readUByte(),r.readUByte(),r.readBits(4);var n=r.readBits(3);a.numTemporalLayers=Math.max(n+1,a.numTemporalLayers||0),a.temporalIdNested=r.readBits(1),e._parseProfileTierLevel(r,n,a),r.readUEG();var i=a.chromaFormatIdc=r.readUEG(),c=420;i<=3&&(c=[0,420,422,444][i]);var o=0;3===i&&(o=r.readBits(1));var s,u,d,b,f=r.readUEG(),l=r.readUEG(),h=r.readBits(1);return 1===h&&(s=r.readUEG(),u=r.readUEG(),d=r.readUEG(),b=r.readUEG()),a.bitDepthLumaMinus8=r.readUEG(),a.bitDepthChromaMinus8=r.readUEG(),1===h&&(f-=(1!==i&&2!==i||0!==o?1:2)*(u+s),l-=(1===i&&0===o?2:1)*(b+d)),{codec:"hev1.1.6.L93.B0",width:f,height:l,chromaFormat:c,hvcC:a}}},{key:"_parseProfileTierLevel",value:function(e,t,a){var r=a.generalTierFlag||0;a.generalProfileSpace=e.readBits(2),a.generalTierFlag=Math.max(e.readBits(1),r),a.generalProfileIdc=Math.max(e.readBits(5),a.generalProfileIdc||0),a.generalProfileCompatibilityFlags=e.readBits(32),a.generalConstraintIndicatorFlags=[e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8)];var n=e.readBits(8);r<a.generalTierFlag?a.generalLevelIdc=n:a.generalLevelIdc=Math.max(n,a.generalLevelIdc||0);var i=[],c=[];if(t>e.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(t));for(var o=0;o<t;o++)i[o]=e.readBits(1),c[o]=e.readBits(1);t>0&&e.readBits(2*(8-t));for(var s=0;s<t;s++)0!==i[s]&&(e.readBits(2),e.readBits(1),e.readBits(5),e.readBits(16),e.readBits(16),e.readBits(4),e.readBits(16),e.readBits(16),e.readBits(12)),0!==c[s]&&e.readBits(8)}}]),e}(),gn=9e4,vn=45e4,mn=9e4,_n=function(){function e(t,a,r,n){pr(this,e),this.videoTrack=t,this.audioTrack=a,this.metadataTrack=r,this._baseDts=-1,this._baseVideoDts=-1,this._baseAudioDts=-1,this._baseDtsInited=!1,this._audioNextPts=void 0,this._videoNextDts=void 0,this._audioTimestampBreak=!1,this._videoTimestampBreak=!1,this._lastAudioExceptionGapDot=0,this._lastAudioExceptionOverlapDot=0,this._lastAudioExceptionLargeGapDot=0,this._needForceFixLargeGap=null==n?void 0:n.forceFixLargeGap,this._largeGapThreshold=(null==n?void 0:n.largeGapThreshold)||45e4}return gr(e,[{key:"fix",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];t=Math.round(9e4*t);var n=this.videoTrack,i=this.audioTrack,c=n.samples,o=i.samples;if(c.length||o.length){var s=c[0],u=o[0],d=0;if(c.length&&o.length&&(d=s.dts-u.pts),this._baseDtsInited||this._calculateBaseDts(this.audioTrack,this.videoTrack),a&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=t,this._baseAudioDts-=t,this._baseVideoDts-=t),!r){this._videoNextDts=d>0?t+d:t,this._audioNextPts=d>0?t:t-d,this._needForceFixLargeGap&&(this._videoNextDts=0,this._audioNextPts=0);var b=s?s.dts-this._baseDts-this._videoNextDts:0,f=u?u.pts-this._baseDts-this._audioNextPts:0;Math.abs(b||f)>mn&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=t)}if(this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(i),this._fixVideo(n),this.metadataTrack.exist()){var l=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(t){t.pts=t.originPts-e._baseDts,t.time=Math.max(0,t.pts)/l}))}n.samples.length&&(n.baseMediaDecodeTime=n.samples[0].dts),i.samples.length&&(i.baseMediaDecodeTime=i.samples[0].pts*i.timescale/9e4)}}},{key:"_fixVideo",value:function(e){var t=this,a=e.samples;if(a.length){if(a.forEach((function(e){e.dts-=t._needForceFixLargeGap?t._baseVideoDts:t._baseDts,e.pts-=t._needForceFixLargeGap?t._baseVideoDts:t._baseDts})),void 0===this._videoNextDts){var r=a[0];this._videoNextDts=r.dts}var n,i,c=a.length,o=0,s=a[0],u=a[1],d=this._videoNextDts-s.dts;if(Math.abs(d)>45e3)if(e.warnings.push({type:Br,nextDts:this._videoNextDts/90,firstSampleDts:s.dts/90,nextSampleDts:((null===(n=a[1])||void 0===n?void 0:n.dts)||0)/90,sampleDuration:d/90}),s.dts+=d,s.pts+=d,u&&Math.abs(u.dts-s.dts)>mn)this._videoTimestampBreak=!0,a.forEach((function(e,t){0!==t&&(e.dts+=d,e.pts+=d)}));else for(var b=1;b<c-1;b++){var f,l=null===(f=a[b])||void 0===f?void 0:f.dts,h=a[b-1].dts;l&&l-h<0&&(a[b].dts+=d,a[b].pts+=d)}if(e.fpsNum&&e.fpsDen&&(i=e.timescale*(e.fpsDen/e.fpsNum)),i<900&&(i=0),!i){var p=e.samples[0],y=e.samples[1];i=1===c?9e3:Math.floor(y.dts-p.dts)}for(var g=0;g<c;g++){var v=a[g].dts,m=a[g+1];if((o=g<c-1?m.dts-v:a[g-1]?Math.min(v-a[g-1].dts,i):i)>mn||o<0){this._videoTimestampBreak=!0,o=this._audioTimestampBreak?i:Math.max(o,2700);var _=this._audioNextPts||0;m&&m.dts>_&&(o=i),e.warnings.push({type:jr,time:v/e.timescale,dts:v,originDts:a[g].originDts,nextDts:this._videoNextDts,sampleDuration:o,refSampleDuration:i})}a[g].duration=o,this._videoNextDts+=o}}}},{key:"_fixAudio",value:function(e){var t=this,a=e.samples;if(a.length)if(e.codecType!==Ur)a.forEach((function(e){e.pts-=t._needForceFixLargeGap?t._baseAudioDts:t._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,a,9e4);else{this.lastAudioSample&&a.unshift(this.lastAudioSample);for(var r=0;r<a.length;r++){var n=a[r];if(!a[r+1])break;n.duration=a[r+1].pts-n.pts,n.pts-=this._baseDts,n.dts=n.pts}this.lastAudioSample=a.pop()}}},{key:"_calculateBaseDts",value:function(e,t){var a=e.samples,r=t.samples;if(!a.length&&!r.length)return!1;var n=1/0,i=1/0;a.length&&(e.baseDts=n=a[0].pts,this._baseAudioDts=n),r.length&&(t.baseDts=i=r[0].dts,this._baseVideoDts=i),this._baseDts=Math.min(n,i);var c=i-n,o=!1;return Number.isFinite(c)&&Math.abs(c)>45e3&&t.warnings.push({type:Fr,videoBaseDts:i,audioBasePts:n,baseDts:this._baseDts,delta:c}),Number.isFinite(c)&&Math.abs(c)>this._largeGapThreshold*gn&&(o=!0),this._baseDtsInited||(o&&this._needForceFixLargeGap?this._needForceFixLargeGap=!0:this._needForceFixLargeGap=!1),this._baseDtsInited=!0,!0}},{key:"_resetBaseDtsWhenStreamBreaked",value:function(){if(this._baseDtsInited&&this._videoTimestampBreak&&this._audioTimestampBreak){if(!this._calculateBaseDts(this.audioTrack,this.videoTrack))return;this._baseDts-=Math.min(this._audioNextPts,this._videoNextDts),this._audioLastSample=null,this._videoLastSample=null,this._videoTimestampBreak=!1,this._audioTimestampBreak=!1}}},{key:"_doFixAudioInternal",value:function(e,t,a){e.sampleDuration||(e.sampleDuration=rn.getFrameDuration(e.timescale,a));var r=e.sampleDuration;if(void 0===this._audioNextPts){var n=t[0];this._audioNextPts=n.pts}for(var i=0;i<t.length;i++){var c=this._audioNextPts,o=t[i],s=o.pts-c;if(!this._audioTimestampBreak&&s>=3*r&&s<=gn&&!en){var u=rn.getSilentFrame(e.codec,e.channelCount)||t[0].data.subarray(),d=Math.floor(s/r);Math.abs(o.pts-this._lastAudioExceptionGapDot)>vn&&(this._lastAudioExceptionGapDot=o.pts),e.warnings.push({type:Gr,pts:o.pts/90,originPts:o.originPts,count:d,nextPts:c/90,refSampleDuration:r});for(var b=0;b<d;b++){var f=new Kr(Math.floor(c),u);f.originPts=Math.floor(this._baseDts+c),t.splice(i,0,f),this._audioNextPts+=r,i++}i--}else s<=-3*r&&s>=-9e4?(Math.abs(o.pts-this._lastAudioExceptionOverlapDot)>vn&&(this._lastAudioExceptionOverlapDot=o.pts,e.warnings.push({type:$r,pts:o.pts/90,originPts:o.originPts,nextPts:c/90,refSampleDuration:r})),t.splice(i,1),i--):(Math.abs(s)>=gn&&(this._audioTimestampBreak=!0,Math.abs(o.pts-this._lastAudioExceptionLargeGapDot)>vn&&(this._lastAudioExceptionLargeGapDot=o.pts,e.warnings.push({type:Hr,time:o.pts/1e3,pts:o.pts/90,originPts:o.originPts,nextPts:c/90,sampleDuration:s,refSampleDuration:r}))),o.dts=o.pts=c,this._audioNextPts+=r)}}}]),e}(),En=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],Sn=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Tn=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],An=[0,1,1,4],kn=null,In=function(){function e(){pr(this,e)}return gr(e,null,[{key:"isHeader",value:function(e,t){return t+1<e.length&&255===e[t]&&!(224&~e[t+1])&&!!(6&e[t+1])}},{key:"appendFrame",value:function(t,a,r,n,i){if(!(r+24>a.length)){var c=e.parseHeader(a,r);if(c&&r+c.frameLength<=a.length){var o=n+i*(9e4*c.samplesPerFrame/c.sampleRate),s={data:a.subarray(r,r+c.frameLength),pts:o,dts:o};return s.size=s.data.byteLength,t.config=[],t.channelCount=c.channelCount,t.sampleRate=c.sampleRate,tn?t.codec="mp3":t.container="audio/mpeg",t.samples.push(s),{length:c.frameLength}}}}},{key:"parseHeader",value:function(e,t){var a=e[t+1]>>3&3,r=e[t+1]>>1&3,n=e[t+2]>>4&15,i=e[t+2]>>2&3;if(1!==a&&0!==n&&15!==n&&3!==i){var c=e[t+2]>>1&1,o=e[t+3]>>6,s=1e3*En[14*(3===a?3-r:3===r?3:4)+n-1],u=Sn[3*(3===a?0:2===a?1:2)+i],d=3===o?1:2,b=Tn[a][r],f=An[r],l=8*b*f,h=Math.floor(b*s/u+c)*f;if(null===kn){var p=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);kn=p?parseInt(p[1]):0}return!!kn&&kn<=87&&2===r&&s>=224e3&&0===o&&(e[t+3]=128|e[t+3]),{sampleRate:u,channelCount:d,frameLength:h,samplesPerFrame:l}}}}]),e}(),Rn=new Jr("TsDemuxer"),wn=function(){function e(t,a,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};pr(this,e),vr(this,"_pmtId",-1),vr(this,"_remainingPacketData",null),vr(this,"_videoPesData",[]),vr(this,"_audioPesData",[]),vr(this,"_gopId",0),this.videoTrack=t||new Vr,this.audioTrack=a||new zr,this.metadataTrack=r||new Xr,this._fixer=new _n(this.videoTrack,this.audioTrack,this.metadataTrack,n)}return gr(e,[{key:"demux",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.audioTrack,n=this.videoTrack,i=this.metadataTrack;t&&(this._pmtId=-1,n.reset(),r.reset(),i.reset()),!a||t?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[]):(n.samples=[],r.samples=[],i.seiSamples=[],n.warnings=[],r.warnings=[],this._remainingPacketData&&(e=nn(this._remainingPacketData,e),this._remainingPacketData=null));var c=e.length,o=c%188;o&&(this._remainingPacketData=e.subarray(c-o),c-=o);for(var s=n.pid,u=r.pid,d=0;d<c;d+=188){if(71!==e[d])throw new Error("TS packet did not start with 0x47");var b=!!(64&e[d+1]),f=((31&e[d+1])<<8)+e[d+2],l=void 0;if((48&e[d+3])>>4>1){if((l=d+5+e[d+4])===d+188)continue}else l=d+4;switch(f){case 0:b&&(l+=e[l]+1),this._pmtId=(31&e[l+10])<<8|e[l+11];break;case this._pmtId:b&&(l+=e[l]+1);var h=l+3+((15&e[l+1])<<8|e[l+2])-4;for(l+=12+((15&e[l+10])<<8|e[l+11]);l<h;){var p=(31&e[l+1])<<8|e[l+2];switch(e[l]){case 15:r.pid=u=p;break;case 3:case 4:-1===r.pid&&(r.pid=u=p,r.codecType=Ur);break;case 27:if(-1!==s)break;n.codecType=Pr,n.pid=s=p;break;case 36:if(-1!==s)break;n.codecType=Dr,n.pid=s=p;break;default:Rn.warn("Unsupported stream. type: ".concat(e[l],", pid: ").concat(p))}l+=5+((15&e[l+3])<<8|e[l+4])}break;case s:b&&this._videoPesData.length&&this._parseVideoData(),this._videoPesData.push(e.subarray(l,d+188));break;case u:b&&this._audioPesData.length&&this._parseAudioData(),this._audioPesData.push(e.subarray(l,d+188));break;case 17:case 8191:break;default:Rn.warn("Unknown pid: ".concat(f))}}return this._parseVideoData(),this._parseAudioData(),r.formatTimescale=n.formatTimescale=n.timescale=i.timescale=9e4,r.timescale=r.sampleRate||0,{videoTrack:n,audioTrack:r,metadataTrack:i}}},{key:"fix",value:function(e,t,a){return this._fixer.fix(e,t,a),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(e,t,a,r){return this.demux(e,t,a),this.fix(r,t,a)}},{key:"_parseVideoData",value:function(){if(this._videoPesData.length){var t=e._parsePES(nn.apply(void 0,Ar(this._videoPesData)));if(t){var a=ln.parseAnnexB(t.data);a?this._createVideoSample(a,t.pts,t.dts):Rn.warn("Cannot parse avc units",t),this._videoPesData=[]}else Rn.warn("Cannot parse video pes",this._videoPesData)}}},{key:"_createVideoSample",value:function(e,t,a){var r=this;if(e.length){var n=this.videoTrack,i=n.codecType===Dr,c=new Wr(t,a);e.forEach((function(e){var a=i?e[0]>>>1&63:31&e[0];switch(a){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!i&&5!==a||i&&5===a)break;c.setToKeyframe(),r._gopId++;break;case 6:case 39:case 40:if(!i&&6!==a||i&&6===a)break;return void r.metadataTrack.seiSamples.push(new Yr(ln.parseSEI(ln.removeEPB(e),i),t));case 32:if(!i)break;if(!n.vps.length){var o=yn.parseVPS(ln.removeEPB(e),n.hvcC);n.hvcC=n.hvcC||o,n.vps=[e]}break;case 7:case 33:if(!i&&7!==a||i&&7===a)break;if(!n.sps.length){var s=ln.removeEPB(e),u=i?yn.parseSPS(s,n.hvcC):pn.parseSPS(s);n.sps=[e],n.hvcC=n.hvcC||u.hvcC,n.codec=u.codec,n.width=u.width,n.height=u.height,n.sarRatio=u.sarRatio,n.fpsNum=u.fpsNum,n.fpsDen=u.fpsDen}break;case 8:case 34:if(!i&&8!==a||i&&8===a)break;n.pps.length||(n.pps=[e]);break;case 9:case 35:break;case 38:if(i){for(var d=!1,b=2;b<e.byteLength;b++)if(255===e[b]){d=!0;break}if(!d)return}}c.units.push(e)})),c.gopId=this._gopId,this._pushVideoSample(n,c)}}},{key:"_pushVideoSample",value:function(e,t){if(t.units.length)if(null===t.pts||void 0===t.pts){Rn.warn("Video sample no pts",t);var a=e.samples[e.samples.length-1];a?(t.pts=a.pts,t.dts=a.dts):Rn.warn("Drop video sample",t)}else e.samples.push(t)}},{key:"_parseAudioData",value:function(){if(this._audioPesData.length){var t=e._parsePES(nn.apply(void 0,Ar(this._audioPesData)));if(t){switch(this.audioTrack.codecType){case Lr:this._parseAacData(t);break;case Ur:this._parseMPEG(t)}this._audioPesData=[]}else Rn.warn("Cannot parse audio pes",this._audioPesData)}}},{key:"_parseAacData",value:function(e){var t=this.audioTrack,a=e.pts;if(null==a){if(Rn.warn("AAC pes not pts",t),!t.samples.length||!t.sampleRate)return;a=t.samples[t.samples.length-1].pts+rn.getFrameDuration(t.sampleRate)}var r,n=rn.parseADTS(e.data,a);n?(t.codec=n.codec,t.channelCount=n.channelCount,t.sampleRate=n.sampleRate,t.objectType=n.objectType,t.sampleRateIndex=n.samplingFrequencyIndex,t.config=n.config,(r=t.samples).push.apply(r,Ar(n.frames.map((function(e){return new Kr(e.pts,e.data)})))),n.skip&&Rn.warn("Skip aac adts ".concat(n.skip," bits")),n.remaining&&Rn.warn("Remaining aac adts ".concat(n.remaining," bits"))):Rn.warn("Cannot parse aac adts",e)}},{key:"_parseMPEG",value:function(e){var t=e.data,a=t.length,r=0,n=0,i=e.pts;if(void 0!==i)for(;n<a;)if(In.isHeader(t,n)){var c=In.appendFrame(this.audioTrack,t,n,i,r);if(!c)break;n+=c.length,r++}else n++;else Rn.warn("[tsdemuxer]: MPEG PES unknown PTS")}}],[{key:"probe",value:function(e){return!!e.length&&71===e[0]&&71===e[188]&&71===e[376]}},{key:"_parsePES",value:function(e){var t=e[8];if(!(null==t||e.length<t+9)&&1==(e[0]<<16|e[1]<<8|e[2])){var a=(e[4]<<8)+e[5];if(!(a&&a>e.length-6)){var r,n,i=e[7];return 192&i&&(r=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&i?r-(n=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2)>54e5&&(r=n):n=r),{data:e.subarray(9+t),pts:r,dts:n}}}}}]),e}(),Cn=function(){function e(t,a,r){pr(this,e),this.dv=new DataView(t),this.start=this.offset=a||this.dv.byteOffset,this.end=r?this.start+r:this.start+this.dv.byteLength}return gr(e,[{key:"buffer",get:function(){return this.dv.buffer}},{key:"unreadLength",get:function(){return Math.max(this.end-this.offset,0)}},{key:"size",get:function(){return this.end-this.start}},{key:"readFloat",value:function(e){var t=0;switch(e){case 4:t=this.dv.getFloat32(this.offset);break;case 8:t=this.dv.getFloat64(this.offset);break;default:throw new Error("read ".concat(e,"-byte float is not supported"))}return this.offset+=e,t}},{key:"back",value:function(e){this.offset-=e}},{key:"skip",value:function(e){this.offset+=e}},{key:"readInt",value:function(e){var t=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getInt8(t);case 2:return this.dv.getInt16(t);case 4:return this.dv.getInt32(t);default:throw new Error("read ".concat(e,"-byte integers is not supported"))}}},{key:"read",value:function(e){var t=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getUint8(t);case 2:return this.dv.getUint16(t);case 3:return(this.dv.getUint16(t)<<8)+this.dv.getUint8(t+2);case 4:return this.dv.getUint32(t);default:return this.back(e-4),this.read(e-4)+this.dv.getUint32(t)*Math.pow(256,e-4)}}},{key:"write",value:function(e,t){var a=this.offset;switch(this.offset+=e,e){case 1:return this.dv.setUint8(a,t);case 2:return this.dv.setUint16(a,t);case 3:return this.dv.setUint8(a,t>>>16),this.dv.setUint16(a+1,65535&t);case 4:return this.dv.setUint32(a,t);default:throw new Error("write ".concat(e,"-byte integers is not supported"))}}},{key:"readToBuffer",value:function(e){var t;return t=this.offset||e?this.dv.buffer.slice(this.offset,e?this.offset+e:this.end):this.dv.buffer,this.offset+=t.byteLength,t}},{key:"readToUint8",value:function(e){var t=new Uint8Array(this.dv.buffer,this.offset,e||this.unreadLength);return this.offset+=t.byteLength,t}},{key:"readString",value:function(e){for(var t=0,a="";t<e;t++)a+=String.fromCharCode(this.dv.getUint8(this.offset)),this.offset++;return a}}],[{key:"fromUint8",value:function(t){return new e(t.buffer,t.byteOffset,t.byteLength)}},{key:"concatUint8s",value:function(e){var t=new Uint8Array(e.reduce((function(e,t){return e+t.byteLength}),0)),a=0;return e.forEach((function(e){t.set(e,a),a+=e.byteLength})),t}},{key:"concatUint8",value:function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];return this.concatUint8s(t)}}]),e}(),xn=function(){function e(t,a){pr(this,e),this.offset=0,this.val=t,this.size=a}return gr(e,[{key:"skip",value:function(e){this.offset+=e}},{key:"read",value:function(e){var t=this.size-this.offset-e;if(t>=0){var a=0,r=0;if(this.offset+=e,this.size>31){for(;r<e;r++)a+=Math.pow(2,r);return this.val/Math.pow(2,t)&a}for(;r<e;r++)a+=1<<r;return this.val>>>t&a}throw new Error("the number of the read operation exceeds the total length limit of bits")}}],[{key:"fromByte",value:function(t,a){return new e(t.read(a),a<<3)}}]),e}(),On=function(){function e(){pr(this,e)}return gr(e,null,[{key:"findBox",value:function(t,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=[];if(!t)return n;for(var i=0,c="",o=0;t.length>7;){if(i=sn(t),c=String.fromCharCode.apply(null,t.subarray(4,8)),o=8,1===i?(i=un(t,8),o+=8):i||(i=t.length),!a[0]||c===a[0]){var s=t.subarray(0,i);if(!(a.length<2))return e.findBox(s.subarray(o),a.slice(1),r+o);n.push({start:r,size:i,headerSize:o,type:c,data:s})}r+=i,t=t.subarray(i)}return n}},{key:"tfhd",value:function(e){return qn(e,!0,(function(e,t){e.trackId=sn(t);var a=4,r=1&e.flags,n=2&e.flags,i=8&e.flags,c=16&e.flags,o=32&e.flags;r&&(a+=4,e.baseDataOffset=sn(t,a),a+=4),n&&(e.sampleDescriptionIndex=sn(t,a),a+=4),i&&(e.defaultSampleDuration=sn(t,a),a+=4),c&&(e.defaultSampleSize=sn(t,a),a+=4),o&&(e.defaultSampleFlags=sn(t,a))}))}},{key:"sidx",value:function(e){return qn(e,!0,(function(e,t){var a=0;e.reference_ID=sn(t,a),a+=4,e.timescale=sn(t,a),a+=4,0===e.version?(e.earliest_presentation_time=sn(t,a),a+=4,e.first_offset=sn(t,a),a+=4):(e.earliest_presentation_time=un(t,a),a+=8,e.first_offset=un(t,a),a+=8),a+=2,e.references=[];var r=on(t,a);a+=2;for(var n=0;n<r;n++){var i={};e.references.push(i);var c=sn(t,a);a+=4,i.reference_type=c>>31&1,i.referenced_size=2147483647&c,i.subsegment_duration=sn(t,a),c=sn(t,a+=4),a+=4,i.starts_with_SAP=c>>31&1,i.SAP_type=c>>28&7,i.SAP_delta_time=268435455&c}}))}},{key:"moov",value:function(t){return qn(t,!1,(function(t,a,r){t.mvhd=e.mvhd(e.findBox(a,["mvhd"],r)[0]),t.trak=e.findBox(a,["trak"],r).map((function(t){return e.trak(t)})),t.pssh=e.pssh(e.findBox(a,["pssh"],r)[0])}))}},{key:"mvhd",value:function(e){return qn(e,!0,(function(e,t){var a=0;1===e.version?(e.timescale=sn(t,16),e.duration=un(t,20),a+=28):(e.timescale=sn(t,8),e.duration=sn(t,12),a+=16),e.nextTrackId=sn(t,a+76)}))}},{key:"trak",value:function(t){return qn(t,!1,(function(t,a,r){t.tkhd=e.tkhd(e.findBox(a,["tkhd"],r)[0]),t.mdia=e.mdia(e.findBox(a,["mdia"],r)[0])}))}},{key:"tkhd",value:function(e){return qn(e,!0,(function(e,t){var a=Cn.fromUint8(t);1===e.version?(a.read(8),a.read(8),e.trackId=a.read(4),a.read(4),e.duration=a.read(8)):(a.read(4),a.read(4),e.trackId=a.read(4),a.read(4),e.duration=a.read(4)),a.skip(16),e.matrix=[];for(var r=0;r<36;r++)e.matrix.push(a.read(1));a.back(36);for(var n,i=[],c=0;c<3;c++)i.push(fn(a.readInt(2),a.readInt(2))),i.push(fn(a.readInt(2),a.readInt(2))),n=a.readInt(4),i.push(fn(n>>30,1073741823&n));e.rotation=function(e){if(e.length<5)return 0;var t=Math.hypot(e[0],e[3]),a=Math.hypot(e[1],e[4]);return 0===t||0===a?0:180*Math.atan2(e[1]/a,e[0]/t)/Math.PI}(i),e.width=a.read(4),e.height=a.read(4)}))}},{key:"mdia",value:function(t){return qn(t,!1,(function(t,a,r){t.mdhd=e.mdhd(e.findBox(a,["mdhd"],r)[0]),t.hdlr=e.hdlr(e.findBox(a,["hdlr"],r)[0]),t.minf=e.minf(e.findBox(a,["minf"],r)[0])}))}},{key:"mdhd",value:function(e){return qn(e,!0,(function(e,t){var a=0;1===e.version?(e.timescale=sn(t,16),e.duration=un(t,20),a+=28):(e.timescale=sn(t,8),e.duration=sn(t,12),a+=16);var r=on(t,a);e.language=String.fromCharCode(96+(r>>10&31),96+(r>>5&31),96+(31&r))}))}},{key:"hdlr",value:function(e){return qn(e,!0,(function(e,t){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,t.subarray(4,8)))}))}},{key:"minf",value:function(t){return qn(t,!1,(function(t,a,r){t.vmhd=e.vmhd(e.findBox(a,["vmhd"],r)[0]),t.smhd=e.smhd(e.findBox(a,["smhd"],r)[0]),t.stbl=e.stbl(e.findBox(a,["stbl"],r)[0])}))}},{key:"vmhd",value:function(e){return qn(e,!0,(function(e,t){e.graphicsmode=on(t),e.opcolor=[on(t,2),on(t,4),on(t,6)]}))}},{key:"smhd",value:function(e){return qn(e,!0,(function(e,t){e.balance=on(t)}))}},{key:"stbl",value:function(t){return qn(t,!1,(function(t,a,r){var n,i,c;t.stsd=e.stsd(e.findBox(a,["stsd"],r)[0]),t.stts=e.stts(e.findBox(a,["stts"],r)[0]),t.ctts=e.ctts(e.findBox(a,["ctts"],r)[0]),t.stsc=e.stsc(e.findBox(a,["stsc"],r)[0]),t.stsz=e.stsz(e.findBox(a,["stsz"],r)[0]),t.stco=e.stco(e.findBox(a,["stco"],r)[0]),t.stco||(t.co64=e.co64(e.findBox(a,["co64"],r)[0]),t.stco=t.co64);var o=null===(n=t.stsd.entries[0])||void 0===n||null===(i=n.sinf)||void 0===i||null===(c=i.schi)||void 0===c?void 0:c.tenc.default_IV_size;t.stss=e.stss(e.findBox(a,["stss"],r)[0]),t.senc=e.senc(e.findBox(a,["senc"],r)[0],o)}))}},{key:"senc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return qn(e,!0,(function(e,a){var r=0,n=sn(a,r);r+=4,e.samples=[];for(var i=0;i<n;i++){for(var c={InitializationVector:[]},o=0;o<t;o++)c.InitializationVector[o]=a[r+o];if(r+=t,2&e.flags){c.subsamples=[];var s=on(a,r);r+=2;for(var u=0;u<s;u++){var d={};d.BytesOfClearData=on(a,r),r+=2,d.BytesOfProtectedData=sn(a,r),r+=4,c.subsamples.push(d)}}e.samples.push(c)}}))}},{key:"pssh",value:function(e){return qn(e,!0,(function(e,t){for(var a=[],r=[],n=0,i=0;i<16;i++)r.push(Nn(t[n+i]));if(n+=16,e.version>0){var c=sn(t,n);n+=4;for(var o=0;o<(""+c).length;o++)for(var s=0;s<16;s++){var u=t[n];n+=1,a.push(Nn(u))}}var d=sn(t,n);e.data_size=d,n+=4,e.kid=a,e.system_id=r,e.buffer=t}))}},{key:"stsd",value:function(t){return qn(t,!0,(function(t,a,r){t.entryCount=sn(a),t.entries=e.findBox(a.subarray(4),[],r+4).map((function(t){switch(t.type){case"av01":return e.av01(t);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 qn(t,!1,(function(t,a,r){t.channelCount=on(a,16),t.samplesize=on(a,18),t.sampleRate=sn(a,24)/65536,a=a.subarray(28),t.sinf=e.sinf(e.findBox(a,["sinf"],r)[0]),t.esds=e.esds(e.findBox(a,["esds"],r)[0])}));case"encv":return qn(t,!1,(function(t,a,r){t.width=on(a,24),t.height=on(a,26),t.horizresolution=sn(a,28),t.vertresolution=sn(a,32),a=a.subarray(78),t.sinf=e.sinf(e.findBox(a,["sinf"],r)[0]),t.avcC=e.avcC(e.findBox(a,["avcC"],r)[0]),t.hvcC=e.hvcC(e.findBox(a,["hvcC"],r)[0]),t.pasp=e.pasp(e.findBox(a,["pasp"],r)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(e){return qn(e,!1,(function(e,t){var a=6;e.default_IsEncrypted=t[a],a+=1,e.default_IV_size=t[a],a+=1,e.default_KID=[];for(var r=0;r<16;r++)e.default_KID.push(Nn(t[a])),a+=1}))}},{key:"schi",value:function(t){return qn(t,!1,(function(t,a,r){t.tenc=e.tenc(e.findBox(a,["tenc"],r)[0])}))}},{key:"sinf",value:function(t){return qn(t,!1,(function(t,a,r){t.schi=e.schi(e.findBox(a,["schi"],r)[0]),t.frma=e.frma(e.findBox(a,["frma"],r)[0])}))}},{key:"frma",value:function(e){return qn(e,!1,(function(e,t){e.data_format="";for(var a=0;a<4;a++)e.data_format+=String.fromCharCode(t[a])}))}},{key:"colr",value:function(e){return qn(e,!1,(function(t,a){var r=Cn.fromUint8(a);t.data=e.data,t.colorType=r.readString(4),"nclx"===t.colorType?(t.colorPrimaries=r.read(2),t.transferCharacteristics=r.read(2),t.matrixCoefficients=r.read(2),t.fullRangeFlag=r.read(1)>>7):"rICC"!==t.colorType&&"prof"!==t.colorType||(t.iccProfile=a.readToUint8())}))}},{key:"av01",value:function(t){return qn(t,!1,(function(t,a,r){var n=Dn(t,a),i=a.subarray(n);r+=n,t.av1C=e.av1C(e.findBox(i,["av1C"],r)[0]),t.colr=e.colr(e.findBox(i,["colr"],r)[0])}))}},{key:"av1C",value:function(e){return qn(e,!1,(function(t,a){t.data=e.data;var r,n=Cn.fromUint8(a),i=xn.fromByte(n,4);t.marker=i.read(1),t.version=i.read(7),t.seqProfile=i.read(3),t.seqLevelIdx0=i.read(5),t.seqTier0=i.read(1),t.highBitdepth=i.read(1),t.twelveBit=i.read(1),t.monochrome=i.read(1),t.chromaSubsamplingX=i.read(1),t.chromaSubsamplingY=i.read(1),t.chromaSamplePosition=i.read(2),t.reserved=i.read(3),t.initialPresentationDelayPresent=i.read(1),t.initialPresentationDelayPresent?t.initialPresentationDelayMinusOne=i.read(4):t.initialPresentationDelayMinusOne=0,t.configOBUs=n.readToUint8(),2===t.seqLevelIdx0&&1===t.highBitdepth?r=1===t.twelveBit?"12":"10":t.seqProfile<=2&&(r=1===t.highBitdepth?"10":"08"),t.codec=["av01",t.seqProfile,(t.seqLevelIdx0<10?"0"+t.seqLevelIdx0:t.seqLevelIdx0)+(t.seqTier0?"H":"M"),r].join(".")}))}},{key:"avc1",value:function(t){return qn(t,!1,(function(t,a,r){var n=Dn(t,a),i=a.subarray(n);r+=n,t.avcC=e.avcC(e.findBox(i,["avcC"],r)[0]),t.pasp=e.pasp(e.findBox(i,["pasp"],r)[0])}))}},{key:"avcC",value:function(e){return qn(e,!1,(function(t,a){t.data=e.data,t.configurationVersion=a[0],t.AVCProfileIndication=a[1],t.profileCompatibility=a[2],t.AVCLevelIndication=a[3],t.codec=dn([a[1],a[2],a[3]]),t.lengthSizeMinusOne=3&a[4],t.spsLength=31&a[5],t.sps=[];for(var r=6,n=0;n<t.spsLength;n++){var i=on(a,r);r+=2,t.sps.push(a.subarray(r,r+i)),r+=i}t.ppsLength=a[r],r+=1,t.pps=[];for(var c=0;c<t.ppsLength;c++){var o=on(a,r);r+=2,t.pps.push(a.subarray(r,r+=o)),r+=o}}))}},{key:"hvc1",value:function(t){return qn(t,!1,(function(t,a,r){var n=Dn(t,a),i=a.subarray(n);r+=n,t.hvcC=e.hvcC(e.findBox(i,["hvcC"],r)[0]),t.pasp=e.pasp(e.findBox(i,["pasp"],r)[0])}))}},{key:"hvcC",value:function(e){return qn(e,!1,(function(t,a){t.data=e.data,t.codec="hev1.1.6.L93.B0",t.configurationVersion=a[0];var r=a[1];t.generalProfileSpace=r>>6,t.generalTierFlag=(32&r)>>5,t.generalProfileIdc=31&r,t.generalProfileCompatibility=sn(a,2),t.generalConstraintIndicatorFlags=a.subarray(6,12),t.generalLevelIdc=a[12],t.avgFrameRate=on(a,19),t.numOfArrays=a[22],t.vps=[],t.sps=[],t.pps=[];for(var n=23,i=0,c=0,o=0,s=0;s<t.numOfArrays;s++){i=63&a[n],c=on(a,n+1),n+=3;for(var u,d=[],b=0;b<c;b++)o=on(a,n),n+=2,d.push(a.subarray(n,n+o)),n+=o;if(32===i)(u=t.vps).push.apply(u,d);else if(33===i){var f;(f=t.sps).push.apply(f,d)}else if(34===i){var l;(l=t.pps).push.apply(l,d)}}}))}},{key:"pasp",value:function(e){return qn(e,!1,(function(e,t){e.hSpacing=sn(t),e.vSpacing=sn(t,4)}))}},{key:"mp4a",value:function(t){return qn(t,!1,(function(t,a,r){var n=Ln(t,a);t.esds=e.esds(e.findBox(a.subarray(n),["esds"],r+n)[0])}))}},{key:"esds",value:function(e){return qn(e,!0,(function(e,t){e.codec="mp4a.";for(var a=0,r=0,n=0,i=0;t.length;){for(i=t[a=0],r=t[a+1],a+=2;128&r;)n=(127&r)<<7,r=t[a],a+=1;if(n+=127&r,3===i)t=t.subarray(a+3);else{if(4!==i){if(5===i){var c=e.config=t.subarray(a,a+n),o=(248&c[0])>>3;return 31===o&&c.length>=2&&(o=32+((7&c[0])<<3)+((224&c[1])>>5)),e.objectType=o,e.codec+=o.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)))}e.codec+=(t[a].toString(16)+".").padStart(3,"0"),t=t.subarray(a+13)}}}))}},{key:"alaw",value:function(e){return qn(e,!1,(function(e,t){Ln(e,t)}))}},{key:"stts",value:function(e){return qn(e,!0,(function(e,t){for(var a=sn(t),r=[],n=4,i=0;i<a;i++)r.push({count:sn(t,n),delta:sn(t,n+4)}),n+=8;e.entryCount=a,e.entries=r}))}},{key:"ctts",value:function(e){return qn(e,!0,(function(e,t){var a=sn(t),r=[],n=4;if(1===e.version)for(var i=0;i<a;i++)r.push({count:sn(t,n),offset:sn(t,n+4)}),n+=8;else for(var c=0;c<a;c++)r.push({count:sn(t,n),offset:-(1+~sn(t,n+4))}),n+=8;e.entryCount=a,e.entries=r}))}},{key:"stsc",value:function(e){return qn(e,!0,(function(e,t){for(var a=sn(t),r=[],n=4,i=0;i<a;i++)r.push({firstChunk:sn(t,n),samplesPerChunk:sn(t,n+4),sampleDescriptionIndex:sn(t,n+8)}),n+=12;e.entryCount=a,e.entries=r}))}},{key:"stsz",value:function(e){return qn(e,!0,(function(e,t){var a=sn(t),r=sn(t,4),n=[];if(!a)for(var i=8,c=0;c<r;c++)n.push(sn(t,i)),i+=4;e.sampleSize=a,e.sampleCount=r,e.entrySizes=n}))}},{key:"stco",value:function(e){return qn(e,!0,(function(e,t){for(var a=sn(t),r=[],n=4,i=0;i<a;i++)r.push(sn(t,n)),n+=4;e.entryCount=a,e.entries=r}))}},{key:"co64",value:function(e){return qn(e,!0,(function(e,t){for(var a=sn(t),r=[],n=4,i=0;i<a;i++)r.push(un(t,n)),n+=8;e.entryCount=a,e.entries=r}))}},{key:"stss",value:function(e){return qn(e,!0,(function(e,t){for(var a=sn(t),r=[],n=4,i=0;i<a;i++)r.push(sn(t,n)),n+=4;e.entryCount=a,e.entries=r}))}},{key:"moof",value:function(t){return qn(t,!1,(function(t,a,r){t.mfhd=e.mfhd(e.findBox(a,["mfhd"],r)[0]),t.traf=e.findBox(a,["traf"],r).map((function(t){return e.traf(t)}))}))}},{key:"mfhd",value:function(e){return qn(e,!0,(function(e,t){e.sequenceNumber=sn(t)}))}},{key:"traf",value:function(t){return qn(t,!1,(function(t,a,r){t.tfhd=e.tfhd(e.findBox(a,["tfhd"],r)[0]),t.tfdt=e.tfdt(e.findBox(a,["tfdt"],r)[0]),t.trun=e.trun(e.findBox(a,["trun"],r)[0])}))}},{key:"trun",value:function(e){return qn(e,!0,(function(e,t){var a=e.version,r=e.flags,n=t.length,i=e.sampleCount=sn(t),c=4;if(n>c&&1&r&&(e.dataOffset=-(1+~sn(t,c)),c+=4),n>c&&4&r&&(e.firstSampleFlags=sn(t,c),c+=4),e.samples=[],n>c)for(var o,s=0;s<i;s++)o={},256&r&&(o.duration=sn(t,c),c+=4),512&r&&(o.size=sn(t,c),c+=4),1024&r&&(o.flags=sn(t,c),c+=4),2048&r&&(o.cts=a?-(1+~sn(t,c+4)):sn(t,c),c+=4),e.samples.push(o)}))}},{key:"tfdt",value:function(e){return qn(e,!0,(function(e,t){1===e.version?e.baseMediaDecodeTime=un(t):e.baseMediaDecodeTime=sn(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,a){var r,n,i=e.trak;if(i&&i.length){var c=i.find((function(e){var t,a;return"vide"===(null===(t=e.mdia)||void 0===t||null===(a=t.hdlr)||void 0===a?void 0:a.handlerType)})),o=i.find((function(e){var t,a;return"soun"===(null===(t=e.mdia)||void 0===t||null===(a=t.hdlr)||void 0===a?void 0:a.handlerType)}));if(c&&t){var s,u,d,b,f,l,h,p=t;null!=(null===(s=c.tkhd)||void 0===s?void 0:s.trackId)&&(p.id=c.tkhd.trackId),p.tkhdDuration=c.tkhd.duration,p.mvhdDurtion=e.mvhd.duration,p.mvhdTimecale=e.mvhd.timescale,p.timescale=p.formatTimescale=c.mdia.mdhd.timescale,p.duration=c.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale,p.rotation=c.tkhd.rotation,p.matrix=c.tkhd.matrix;var y,g,v,m,_,E,S,T,A=c.mdia.minf.stbl.stsd.entries[0];if(p.width=A.width,p.height=A.height,A.pasp&&(p.sarRatio=[A.pasp.hSpacing,A.pasp.vSpacing]),A.av1C)p.codecType=Or,p.codec=A.av1C.codec,p.av1C=A.av1C.data,p.colr=A.colr.data;else if(A.hvcC)p.codecType=Dr,p.codec=A.hvcC.codec,p.vps=A.hvcC.vps,p.sps=A.hvcC.sps,p.pps=A.hvcC.pps,p.hvcC=A.hvcC.data;else{if(!A.avcC)throw new Error("unknown video stsd entry");p.codec=A.avcC.codec,p.sps=A.avcC.sps,p.pps=A.avcC.pps}p.present=!0,p.ext={},p.ext.stss=null===(u=c.mdia)||void 0===u||null===(d=u.minf)||void 0===d||null===(b=d.stbl)||void 0===b?void 0:b.stss,p.ext.ctts=null===(f=c.mdia)||void 0===f||null===(l=f.minf)||void 0===l||null===(h=l.stbl)||void 0===h?void 0:h.ctts,A&&"encv"===A.type&&(p.isVideoEncryption=!0,A.default_KID=null===(y=A.sinf)||void 0===y||null===(g=y.schi)||void 0===g?void 0:g.tenc.default_KID,A.default_IsEncrypted=null===(v=A.sinf)||void 0===v||null===(m=v.schi)||void 0===m?void 0:m.tenc.default_IsEncrypted,A.default_IV_size=null===(_=A.sinf)||void 0===_||null===(E=_.schi)||void 0===E?void 0:E.tenc.default_IV_size,p.videoSenc=c.mdia.minf.stbl.senc&&c.mdia.minf.stbl.senc.samples,A.data_format=null===(S=A.sinf)||void 0===S||null===(T=S.frma)||void 0===T?void 0:T.data_format,p.useEME=e.useEME,p.kidValue=e.kidValue,p.pssh=e.pssh,p.encv=A)}if(o&&a){var k,I,R,w,C,x,O,P,D,L=a;null!=(null===(k=o.tkhd)||void 0===k?void 0:k.trackId)&&(L.id=o.tkhd.trackId),L.tkhdDuration=o.tkhd.duration,L.mvhdDurtion=e.mvhd.duration,L.mvhdTimecale=e.mvhd.timescale,L.timescale=L.formatTimescale=o.mdia.mdhd.timescale,L.duration=o.mdia.mdhd.duration||L.mvhdDurtion/L.mvhdTimecale*L.timescale;var q,N,M,U,F,j,B,H,G=o.mdia.minf.stbl.stsd.entries[0];switch(L.sampleSize=G.sampleSize,L.sampleRate=G.sampleRate,L.channelCount=G.channelCount,L.present=!0,G.type){case"alaw":L.codecType=L.codec=qr,L.sampleRate=8e3;break;case"ulaw":L.codecType=L.codec=Nr,L.sampleRate=8e3;break;default:L.sampleDuration=rn.getFrameDuration(L.sampleRate,L.timescale),L.sampleRateIndex=rn.getRateIndexByRate(L.sampleRate),L.objectType=(null===(r=G.esds)||void 0===r?void 0:r.objectType)||2,G.esds&&(L.config=Array.from(G.esds.config)),L.codec=(null===(n=G.esds)||void 0===n?void 0:n.codec)||"mp4a.40.2"}L.sampleDuration=rn.getFrameDuration(L.sampleRate,L.timescale),L.objectType=(null===(I=G.esds)||void 0===I?void 0:I.objectType)||2,G.esds&&(G.esds.config?L.config=Array.from(G.esds.config):console.warn("esds config is null")),L.codec=(null===(R=G.esds)||void 0===R?void 0:R.codec)||"mp4a.40.2",L.sampleRateIndex=rn.getRateIndexByRate(L.sampleRate),L.ext={},L.ext.stss=null===(w=o.mdia)||void 0===w||null===(C=w.minf)||void 0===C||null===(x=C.stbl)||void 0===x?void 0:x.stss,L.ext.ctts=null===(O=o.mdia)||void 0===O||null===(P=O.minf)||void 0===P||null===(D=P.stbl)||void 0===D?void 0:D.ctts,L.present=!0,G&&"enca"===G.type&&(L.isAudioEncryption=!0,G.data_format=null===(q=G.sinf)||void 0===q||null===(N=q.frma)||void 0===N?void 0:N.data_format,G.default_KID=null===(M=G.sinf)||void 0===M||null===(U=M.schi)||void 0===U?void 0:U.tenc.default_KID,G.default_IsEncrypted=null===(F=G.sinf)||void 0===F||null===(j=F.schi)||void 0===j?void 0:j.tenc.default_IsEncrypted,G.default_IV_size=null===(B=G.sinf)||void 0===B||null===(H=B.schi)||void 0===H?void 0:H.tenc.default_IV_size,L.audioSenc=o.mdia.minf.stbl.senc&&o.mdia.minf.stbl.senc.samples,L.useEME=e.useEME,L.kidValue=e.kidValue,L.enca=G)}if(a&&(a.isVideoEncryption=!!t&&t.isVideoEncryption),t&&(t.isAudioEncryption=!!a&&a.isAudioEncryption),null!=t&&t.encv||null!=a&&a.enca){var $,V,z=null==t||null===($=t.encv)||void 0===$?void 0:$.default_KID,W=null==a||null===(V=a.enca)||void 0===V?void 0:V.default_KID,K=z||W?(z||W).join(""):null;t&&(t.kid=K),a&&(a.kid=K)}return t&&(t.flags=3841),a&&(a.flags=1793),{videoTrack:t,audioTrack:a}}}},{key:"evaluateDefaultDuration",value:function(e,t,a){var r,n=null==t||null===(r=t.samples)||void 0===r?void 0:r.length;return n?1024*n/t.timescale*e.timescale/a:1024}},{key:"moofToSamples",value:function(t,a,r){var n={};return t.mfhd&&(a&&(a.sequenceNumber=t.mfhd.sequenceNumber),r&&(r.sequenceNumber=t.mfhd.sequenceNumber)),t.traf.forEach((function(t){var i=t.tfhd,c=t.tfdt,o=t.trun;if(i&&o){c&&(a&&a.id===i.trackId&&(a.baseMediaDecodeTime=c.baseMediaDecodeTime),r&&r.id===i.trackId&&(r.baseMediaDecodeTime=c.baseMediaDecodeTime));var s=i.defaultSampleSize||0,u=i.defaultSampleDuration||e.evaluateDefaultDuration(a,r,o.samples.length||o.sampleCount),d=o.dataOffset||0,b=0,f=-1;if(!o.samples.length&&o.sampleCount){n[i.trackId]=[];for(var l=0;l<o.sampleCount;l++)n[i.trackId].push({offset:d,dts:b,duration:u,size:s}),b+=u,d+=s}else n[i.trackId]=o.samples.map((function(e,t){return(e={offset:d,dts:b,pts:b+(e.cts||0),duration:e.duration||u,size:e.size||s,gopId:f,keyframe:0===t||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(f++,e.gopId=f),b+=e.duration,d+=e.size,e}))}})),n}},{key:"moovToSamples",value:function(e){var t=e.trak;if(t&&t.length){var a=t.find((function(e){var t,a;return"vide"===(null===(t=e.mdia)||void 0===t||null===(a=t.hdlr)||void 0===a?void 0:a.handlerType)})),r=t.find((function(e){var t,a;return"soun"===(null===(t=e.mdia)||void 0===t||null===(a=t.hdlr)||void 0===a?void 0:a.handlerType)}));if(a||r){var n,i;if(a){var c,o,s=null===(c=a.mdia)||void 0===c||null===(o=c.minf)||void 0===o?void 0:o.stbl;if(!s)return;var u=s.stts,d=s.stsc,b=s.stsz,f=s.stco,l=s.stss,h=s.ctts;if(!(u&&d&&b&&f&&l))return;n=Pn(u,d,b,f,h,l)}if(r){var p,y,g,v=null===(p=r.mdia)||void 0===p||null===(y=p.minf)||void 0===y?void 0:y.stbl;if(!v)return;var m=null===(g=r.mdia.mdhd)||void 0===g?void 0:g.timescale,_=v.stts,E=v.stsc,S=v.stsz,T=v.stco;if(!(m&&_&&E&&S&&T))return;i=Pn(_,E,S,T)}return{videoSamples:n,audioSamples:i}}}}}]),e}();function Pn(e,t,a,r,n,i){var c,o,s,u=[],d=null==n?void 0:n.entries,b=t.entries,f=r.entries,l=a.entrySizes,h=null==i?void 0:i.entries;h&&(c={},h.forEach((function(e){c[e-1]=!0}))),d&&(o=[],d.forEach((function(e){for(var t=e.count,a=e.offset,r=0;r<t;r++)o.push(a)})));var p=-1,y=0,g=0,v=0,m=0,_=0,E=b[0].samplesPerChunk,S=b[1]?b[1].firstChunk-1:1/0;return e.entries.forEach((function(e){for(var t=e.count,r=e.delta,n=0;n<t;n++)s={dts:y,duration:r,size:l[g]||a.sampleSize,offset:f[v]+_,index:g},h&&(s.keyframe=c[g],s.keyframe&&p++,s.gopId=p),o&&g<o.length&&(s.pts=s.dts+o[g]),u.push(s),y+=r,++g<E?_+=s.size:(v++,_=0,v>=S&&(m++,S=b[m+1]?b[m+1].firstChunk-1:1/0),E+=b[m].samplesPerChunk)})),u}function Dn(e,t){return e.dataReferenceIndex=on(t,6),e.width=on(t,24),e.height=on(t,26),e.horizresolution=sn(t,28),e.vertresolution=sn(t,32),e.frameCount=on(t,40),e.depth=on(t,74),78}function Ln(e,t){return e.dataReferenceIndex=on(t,6),e.channelCount=on(t,16),e.sampleSize=on(t,18),e.sampleRate=sn(t,24)/65536,28}function qn(e,t,a){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var r={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return t&&(r.version=e.data[e.headerSize],r.flags=function(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)}(e.data,e.headerSize+1),r.headerSize+=4),a(r,e.data.subarray(r.headerSize),r.start+r.headerSize),r}}var Nn=function(){for(var e=[],t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return a.forEach((function(t){e.push(function(e,t,a){for(var r=String(0),n=0|t,i=Math.ceil(n/r.length),c=[],o=String(e);i--;)c.push(r);return c.join("").substring(0,n-o.length)+o}(Number(t).toString(16),2))})),e[0]},Mn=function(){function e(t,a,r){pr(this,e),vr(this,"__loadedMoofWraps",[]),vr(this,"__lastRemainData",null),vr(this,"__lastRemainDataStart",0),vr(this,"__nextMoofStart",-1),this.videoTrack=t||new Vr,this.audioTrack=a||new zr,this.metadataTrack=r||new Xr}return gr(e,[{key:"demuxPart",value:function(e,t,a){var r=this,n=this.videoTrack,i=this.audioTrack,c=n.exist(),o=i.exist(),s=/av01/.test(n.codec);n.samples=[],i.samples=[];var u=e,d=t;if(this.__lastRemainData){var b=this.__lastRemainDataStart+this.__lastRemainData.byteLength;if(t<=b&&t>this.__lastRemainDataStart&&t+e.byteLength>b){var f=e.subarray(this.__lastRemainData.byteLength+this.__lastRemainDataStart-t);u=nn(this.__lastRemainData,f),d=this.__lastRemainDataStart,this.__lastRemainData=null}else this.__lastRemainData=null,this.__lastRemainDataStart=0,this.__nextMoofStart=-1}if(!a){var l=On.findBox(u,["moov"])[0];if(!l)throw new Error("cannot found moov box");a=On.moov(l)}if(u){var h=d+u.byteLength;c||o||On.moovToTrack(a,n,i);var p=[];this.__nextMoofStart<0?On.findBox(u,["moof"],d).forEach((function(e){return p.push(e)})):this.__nextMoofStart>=d&&this.__nextMoofStart<=h-8&&On.findBox(u.subarray(this.__nextMoofStart-d),["moof"],this.__nextMoofStart).forEach((function(e){return p.push(e)})),p.filter((function(e){return e.size<=e.data.length})).forEach((function(e){var t=On.moof(e);r.__nextMoofStart=t.start+Math.max.apply(Math,Ar(t.traf.map((function(e){return e.trun.samples.reduce((function(e,t){return e+t.size}),e.trun.dataOffset||0)})))),r.__loadedMoofWraps.push({start:t.start,nextMoofStart:r.__nextMoofStart,moof:t}),r.__loadedMoofWraps.sort((function(e,t){return e.start-t.start}))}));var y,g=function(e,t){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!a){if(Array.isArray(e)||(a=kr(e))||t&&e&&"number"==typeof e.length){a&&(e=a);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}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 i,c=!0,o=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return c=e.done,e},e:function(e){o=!0,i=e},f:function(){try{c||null==a.return||a.return()}finally{if(o)throw i}}}}(this.__loadedMoofWraps);try{var v=function(){var e=y.value;if(e.start>h||e.nextMoofStart<d)return"continue";var t,a=e.start,c=On.moofToSamples(e.moof,n,i),o=n.baseMediaDecodeTime,b=i.baseMediaDecodeTime;Object.keys(c).forEach((function(e){n.id==e?c[e].some((function(e){var i=e.offset+=a;if(!(i<d)){if(i+e.size>h)return!0;var c=new Wr((e.pts||e.dts)+o,e.dts+o);c.duration=e.duration,c.gopId=e.gopId,e.keyframe&&c.setToKeyframe();var b=u.subarray(i-d,i-d+e.size);if(c.data=b,!s)for(var f=0,l=b.length-1;f<l;)t=sn(b,f),f+=4,c.units.push(b.subarray(f,f+t)),f+=t;r.__lastRemainDataStart=i+e.size,n.samples.push(c)}})):i.id==e&&c[e].some((function(e){var t=e.offset+a;if(!(t<d)){if(t+e.size>h)return!0;var n=u.subarray(t-d,t-d+e.size);i.samples.push(new Kr(e.dts+b,n,e.duration)),r.__lastRemainDataStart=t+e.size}}))}))};for(g.s();!(y=g.n()).done;)v()}catch(e){g.e(e)}finally{g.f()}}return this.__lastRemainDataStart>d&&this.__lastRemainDataStart<u.byteLength+d?this.__lastRemainData=u.subarray(this.__lastRemainDataStart-d):(this.__lastRemainData=u,this.__lastRemainDataStart=d),n.samples.length&&(n.baseMediaDecodeTime=n.samples[0].pts),i.samples.length&&(i.baseMediaDecodeTime=i.samples[0].pts),{videoTrack:n,audioTrack:i,metadataTrack:this.metadataTrack}}},{key:"demux",value:function(e,t){var a=this.videoTrack,r=this.audioTrack,n=a.exist(),i=r.exist();if(a.samples=[],r.samples=[],t){if(!i){var c=On.findBox(t,["moov"])[0];if(!c)throw new Error("cannot found moov box");On.moovToTrack(On.moov(c),null,r)}var o=On.findBox(t,["moof"])[0];if(o){var s=On.moofToSamples(On.moof(o),null,r)[r.id],u=r.baseMediaDecodeTime;if(s){var d=o.start;s.map((function(e){e.offset+=d;var a=t.subarray(e.offset,e.offset+e.size);r.samples.push(new Kr(e.dts+u,a,e.duration))}))}}}if(e){if(!n&&!i){var b=On.findBox(e,["moov"])[0];if(!b)throw new Error("cannot found moov box");On.moovToTrack(On.moov(b),a,r)}var f=On.findBox(e,["moof"])[0];if(f){var l,h=On.moofToSamples(On.moof(f),a,r),p=a.baseMediaDecodeTime,y=r.baseMediaDecodeTime,g=f.start;Object.keys(h).forEach((function(t){a.id==t?h[t].map((function(t){t.offset+=g;var r=new Wr((t.pts||t.dts)+p,t.dts+p);r.duration=t.duration,r.gopId=t.gopId,t.keyframe&&r.setToKeyframe();var n=e.subarray(t.offset,t.offset+t.size);r.data=n;for(var i=0,c=n.length-1;i<c;)l=sn(n,i),i+=4,r.units.push(n.subarray(i,i+l)),i+=l;a.samples.push(r)})):r.id==t&&h[t].map((function(t){t.offset+=g;var a=e.subarray(t.offset,t.offset+t.size);r.samples.push(new Kr(t.dts+y,a,t.duration))}))}))}}return{videoTrack:a,audioTrack:r,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}}],[{key:"probe",value:function(e){return On.probe(e)}}]),e}(),Un=function(){function e(){pr(this,e),this.buffer=new Uint8Array(0)}return gr(e,[{key:"write",value:function(){for(var e=this,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];a.forEach((function(t){t?e.buffer=function(e){for(var t=0,a=arguments.length,r=new Array(a>1?a-1:0),n=1;n<a;n++)r[n-1]=arguments[n];r.forEach((function(e){t+=e.length}));var i=new e(t),c=0;return r.forEach((function(e){i.set(e,c),c+=e.length})),i}(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}(),Fn=Math.pow(2,32)-1,jn=function(){function e(){pr(this,e)}return gr(e,null,[{key:"box",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];var n=8+(a=a.filter(Boolean)).reduce((function(e,t){return e+t.byteLength}),0),i=new Uint8Array(n);i[0]=n>>24&255,i[1]=n>>16&255,i[2]=n>>8&255,i[3]=255&n,i.set(e,4);var c=8;return a.forEach((function(e){i.set(e,c),c+=e.byteLength})),i}},{key:"ftyp",value:function(t){return t.find((function(e){return e.type===wr&&e.codecType===Dr}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(t){return nn(e.ftyp(t),e.moov(t))}},{key:"pssh",value:function(t){var a=new Uint8Array([1,0,0,0].concat([16,119,239,236,192,178,77,2,172,227,60,30,82,226,251,75],[0,0,0,1],bn(t.kid),[0,0,0,0]));return e.box(e.types.pssh,a)}},{key:"moov",value:function(t){if(t[0].useEME&&(t[0].encv||t[0].enca)){t[0].pssh||(t[0].pssh={kid:t[0].kid});var a=this.pssh(t[0].pssh);return e.box.apply(e,[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale),e.mvex(t)].concat(Ar(t.map((function(t){return e.trak(t)}))),[a]))}return e.box.apply(e,[e.types.moov,e.mvhd(t[0].mvhdDurtion||t[0].duration,t[0].mvhdTimecale||t[0].timescale)].concat(Ar(t.map((function(t){return e.trak(t)}))),[e.mvex(t)]))}},{key:"mvhd",value:function(t){var a=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,a>>24&255,a>>16&255,a>>8&255,255&a,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,a){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=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,a>>24&255,a>>16&255,a>>8&255,255&a,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,r>>8&255,255&r,0,0,n>>8&255,255&n,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 a=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,a>>24&255,a>>16&255,a>>8&255,255&a,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===wr?e.VMHD:e.SMHD,e.DINF,e.stbl(t))}},{key:"stbl",value:function(t){var a=[];return t&&t.ext&&t.ext.stss&&a.push(e.stss(t.ext.stss.entries)),e.box(e.types.stbl,e.stsd(t),e.STTS,a[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(t){var a;return a="audio"===t.type?t.useEME&&t.enca?e.enca(t):t.codecType===Mr?e.opus(t):e.mp4a(t):t.useEME&&t.encv?e.encv(t):t.av1C?e.av01(t):e.avc1hev1(t),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),a)}},{key:"enca",value:function(t){var a=t.enca.channelCount,r=t.enca.sampleRate,n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,a,0,16,0,0,0,0,r>>8&255,255&r,0,0]),i=e.esds(t.config),c=e.sinf(t.enca);return e.box(e.types.enca,n,i,c)}},{key:"encv",value:function(t){var a,r,n=t.sps.length>0?t.sps[0]:[],i=t.pps.length>0?t.pps[0]:[],c=t.width,o=t.height,s=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,c>>8&255,255&c,o>>8&255,255&o,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]),b=new Uint8Array((a=(r=[1,n[1],n[2],n[3],255,225,n.length>>>8&255,255&n.length]).concat.apply(r,Ar(n)).concat([1,i.length>>>8&255,255&i.length])).concat.apply(a,Ar(i))),f=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),l=e.sinf(t.encv),h=new Uint8Array([s>>24,s>>16&255,s>>8&255,255&s,u>>24,u>>16&255,u>>8&255,255&u]);return e.box(e.types.encv,d,e.box(e.types.avcC,b),e.box(e.types.btrt,f),l,e.box(e.types.pasp,h))}},{key:"schi",value:function(t){var a=new Uint8Array([]),r=e.tenc(t);return e.box(e.types.schi,a,r)}},{key:"tenc",value:function(t){var a=new Uint8Array([0,0,0,0,0,0,255&t.default_IsEncrypted,255&t.default_IV_size].concat(bn(t.default_KID)));return e.box(e.types.tenc,a)}},{key:"sinf",value:function(t){var a=new Uint8Array([]),r=new Uint8Array([t.data_format.charCodeAt(0),t.data_format.charCodeAt(1),t.data_format.charCodeAt(2),t.data_format.charCodeAt(3)]),n=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),i=e.schi(t);return e.box(e.types.sinf,a,e.box(e.types.frma,r),e.box(e.types.schm,n),i)}},{key:"av01",value:function(t){return e.box(e.types.av01,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]),t.av1C,t.colr)}},{key:"avc1hev1",value:function(t){var a=t.codecType===Dr,r=a?e.types.hvc1:e.types.avc1,n=a?e.hvcC(t):e.avcC(t),i=[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]),n];return a?i.push(e.box(e.types.fiel,new Uint8Array([1,0]))):t.sarRatio&&t.sarRatio.length>1&&i.push(e.pasp(t.sarRatio)),e.box.apply(e,[r].concat(i))}},{key:"avcC",value:function(t){var a,r,n,i=[],c=[];return t.sps.forEach((function(e){n=e.byteLength,i.push(n>>>8&255),i.push(255&n),i.push.apply(i,Ar(e))})),t.pps.forEach((function(e){n=e.byteLength,c.push(n>>>8&255),c.push(255&n),c.push.apply(c,Ar(e))})),e.box(e.types.avcC,new Uint8Array((a=(r=[1,i[3],i[4],i[5],255,224|t.sps.length]).concat.apply(r,i).concat([t.pps.length])).concat.apply(a,c)))}},{key:"hvcC",value:function(t){var a=t.hvcC;if(a instanceof ArrayBuffer||a instanceof Uint8Array)return a;var r,n=t.vps,i=t.sps,c=t.pps;if(a){var o=a.generalProfileCompatibilityFlags,s=a.generalConstraintIndicatorFlags,u=(n.length&&1)+(i.length&&1)+(c.length&&1);r=[1,a.generalProfileSpace<<6|a.generalTierFlag<<5|a.generalProfileIdc,o>>>24,o>>>16,o>>>8,o,s[0],s[1],s[2],s[3],s[4],s[5],a.generalLevelIdc,240,0,252,252|a.chromaFormatIdc,248|a.bitDepthLumaMinus8,248|a.bitDepthChromaMinus8,0,0,a.numTemporalLayers<<3|a.temporalIdNested<<2|3,u];var d=function(e){var t;r.push(e.length>>8,e.length),(t=r).push.apply(t,Ar(e))};n.length&&(r.push(160,0,n.length),n.forEach(d)),i.length&&(r.push(161,0,i.length),i.forEach(d)),c.length&&(r.push(162,0,c.length),c.forEach(d))}else r=[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(r))}},{key:"pasp",value:function(t){var a=Tr(t,2),r=a[0],n=a[1];return e.box(e.types.pasp,new Uint8Array([r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n]))}},{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 a=t.length;return e.box(e.types.esds,new Uint8Array([0,0,0,0,3,23+a,0,0,0,4,15+a,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([a]).concat(t).concat([6,1,2])))}},{key:"opus",value:function(t){var a=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]),r=t.config.length?e.dOps(t):[];return e.box(e.types.Opus,a,r)}},{key:"dOps",value:function(t){if(t.config)return t.config[4]=t.sampleRate>>>24&255,t.config[5]=t.sampleRate>>>16&255,t.config[6]=t.sampleRate>>>8&255,t.config[7]=255&t.sampleRate,e.box(e.types.dOps,t.config)}},{key:"mvex",value:function(t){return e.box.apply(e,[e.types.mvex].concat(Ar(t.map((function(t){return e.trex(t.id)})))))}},{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){return e.box.apply(e,[e.types.moof,e.mfhd(t[0].samples?t[0].samples[0].gopId:0)].concat(Ar(t.map((function(t){return e.traf(t)})))))}},{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 a=e.tfhd(t.id),r=e.tfdt(t,t.baseMediaDecodeTime),n=0;if(t.isVideo&&t.videoSenc&&t.videoSenc.forEach((function(e){n+=8,e.subsamples&&e.subsamples.length&&(n+=2,n+=6*e.subsamples.length)})),t.videoSencLength=n,t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)){if(t.isVideoEncryption){if(t.isVideo){var i=e.saiz(t),c=e.saio(t),o=e.trun1(t),s=e.senc(t);return e.box(e.types.traf,a,r,i,c,o,s)}if(t.isAudioEncryption){var u=e.sbgp(),d=e.saiz(t),b=e.saio(t),f=e.senc(t),l=e.trun1(t);return e.box(e.types.traf,a,r,u,d,b,f,l)}var h=e.sbgp(),p=e.trun1(t);return e.box(e.types.traf,a,r,h,p)}if(t.isVideo){var y=e.trun1(t);return e.box(e.types.traf,a,r,y)}var g=e.sbgp(),v=e.saiz(t),m=e.saio(t),_=e.senc(t),E=e.trun1(t);return e.box(e.types.traf,a,r,g,v,m,_,E)}var S=e.sdtp(t);return e.box(e.types.traf,a,r,S,e.trun(t.samples,S.byteLength+76))}},{key:"sdtp",value:function(t){var a=new Un;return t.samples.forEach((function(e){a.write(new Uint8Array(t.isVideo?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),a.buffer)}},{key:"trun1",value:function(t){var a=new Un,r=Un.writeUint32(t.samples.length),n=null;if(t.isVideo){var i=t.videoSencLength;n=Un.writeUint32(16*t.samples.length+i+149),!t.isVideoEncryption&&t.isAudioEncryption&&(n=Un.writeUint32(16*t.samples.length+92))}else{var c=12*t.samples.length+124;t.isAudioEncryption&&(c=12*t.samples.length+8*t.audioSenc.length+177),n=Un.writeUint32(c)}return t.samples.forEach((function(e){a.write(Un.writeUint32(e.duration)),a.write(Un.writeUint32(e.size)),a.write(Un.writeUint32(e.keyframe?33554432:65536)),t.isVideo&&a.write(Un.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,t.flags),r,n,a.buffer)}},{key:"senc",value:function(t){var a=new Un,r=t.samples.length,n=t.isVideo?16:8,i=t.isVideo?2:0,c=[],o=0;return t.isVideo?(c=t.videoSenc,o=t.videoSencLength):c=t.audioSenc,o=o||n*r,a.write(Un.writeUint32(16+o),e.types.senc,this.extension(0,i)),a.write(Un.writeUint32(r)),c.forEach((function(e){for(var t=0;t<e.InitializationVector.length;t++)a.write(new Uint8Array([e.InitializationVector[t]]));e.subsamples&&e.subsamples.length&&(a.write(Un.writeUint16(e.subsamples.length)),e.subsamples.forEach((function(e){a.write(Un.writeUint16(e.BytesOfClearData)),a.write(Un.writeUint32(e.BytesOfProtectedData))})))})),a.buffer}},{key:"saio",value:function(t){var a=12*t.samples.length+141;!t.isVideo&&t.isAudioEncryption&&(a=149);var r=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,a>>24&255,a>>16&255,a>>8&255,255&a]);return e.box(e.types.saio,r)}},{key:"saiz",value:function(t){var a=t.samples.length,r=new Uint8Array([0,0,0,0,16,a>>24&255,a>>16&255,a>>8&255,255&a]);return e.box(e.types.saiz,r)}},{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,a){var r=Math.floor(a/(Fn+1)),n=Math.floor(a%(Fn+1));return t.useEME&&(t.isVideoEncryption||t.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n]))}},{key:"trun",value:function(t,a){var r=t.length,n=12+16*r;a+=8+n;var i=new Uint8Array(n);i.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,a>>>24&255,a>>>16&255,a>>>8&255,255&a],0);for(var c=0;c<r;c++){var o=t[c],s=o.duration,u=o.size,d=o.flag,b=void 0===d?{}:d,f=o.cts,l=void 0===f?0:f;i.set([s>>>24&255,s>>>16&255,s>>>8&255,255&s,u>>>24&255,u>>>16&255,u>>>8&255,255&u,b.isLeading<<2|(null===b.dependsOn||void 0===b.dependsOn?1:b.dependsOn),b.isDependedOn<<6|b.hasRedundancy<<4|b.paddingValue<<1|(null===b.isNonSyncSample||void 0===b.isNonSyncSample?1:b.isNonSyncSample),61440&b.degradationPriority,15&b.degradationPriority,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*c)}return e.box(e.types.trun,i)}},{key:"moovMP4",value:function(t){return e.box.apply(e,[e.types.moov,e.mvhd(t[0].duration,t[0].timescale)].concat(Ar(t.map((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===wr?e.VMHD:e.SMHD,e.DINF,e.stblMP4(t))}},{key:"stblMP4",value:function(t){var a=t.ext,r=[e.stsd(t),e.stts(a.stts),e.stsc(a.stsc),e.stsz(a.stsz),e.stco(a.stco)];return a.stss.length&&r.push(e.stss(a.stss)),a.ctts.length&&r.push(e.ctts(a.ctts)),e.box.apply(e,[e.types.stbl].concat(r))}},{key:"stts",value:function(t){var a=t.length,r=new Uint8Array(8*a),n=0;return t.forEach((function(e){var t=e.value,a=e.count;r.set([a>>24,a>>16&255,a>>8&255,255&a,t>>24,t>>16&255,t>>8&255,255&t],n),n+=8})),e.box(e.types.stts,nn(new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{key:"stsc",value:function(t){var a=t.length,r=new Uint8Array(12*a),n=0;return t.forEach((function(e){var t=e.firstChunk,a=e.samplesPerChunk,i=e.sampleDescIndex;r.set([t>>24,t>>16&255,t>>8&255,255&t,a>>24,a>>16&255,a>>8&255,255&a,i>>24,i>>16&255,i>>8&255,255&i],n),n+=12})),e.box(e.types.stsc,nn(new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{key:"stsz",value:function(t){var a=t.length,r=new Uint8Array(4*a),n=0;return t.forEach((function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],n),n+=4})),e.box(e.types.stsz,nn(new Uint8Array([0,0,0,0,0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{key:"stco",value:function(t){var a=t.length,r=new Uint8Array(4*a),n=0;return t.forEach((function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],n),n+=4})),e.box(e.types.stco,nn(new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{key:"stss",value:function(t){var a=t.length,r=new Uint8Array(4*a),n=0;return t.forEach((function(e){r.set([e>>24,e>>16&255,e>>8&255,255&e],n),n+=4})),e.box(e.types.stss,nn(new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{key:"ctts",value:function(t){var a=t.length,r=new Uint8Array(8*a),n=0;return t.forEach((function(e){var t=e.value,a=e.count;r.set([a>>24,a>>16&255,a>>8&255,255&a,t>>24,t>>16&255,t>>8&255,255&t],n),n+=8})),e.box(e.types.ctts,nn(new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]),r))}},{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 a=t.timescale,r=t.samples[0].duration,n=r*t.samples.length,i=t.samples[0].sampleOffset*r,c=8;t.samples.forEach((function(e){c+=e.size}));var o=0;if(t.isVideo){var s,u=0;t.videoSenc&&(s=t.videoSenc),t.isVideo&&s.forEach((function(e){u+=8,e.subsamples&&e.subsamples.length&&(u+=2,u+=6*e.subsamples.length)})),t.videoSencLength=u,o=c+141+16*t.samples.length+u,t.useEME&&t.isAudioEncryption&&!t.isVideoEncryption&&(o=c+16*t.samples.length+84)}else o=c+116+12*t.samples.length,t.useEME&&t.isAudioEncryption&&(o=c+169+12*t.samples.length+8*t.audioSenc.length);var d=new Uint8Array([0,0,0,0,0,0,0,255&t.id,a>>24&255,a>>16&255,a>>8&255,255&a,i>>24&255,i>>16&255,i>>8&255,255&i,0,0,0,0,0,0,0,1,0,o>>16&255,o>>8&255,255&o,n>>24&255,n>>16&255,n>>8&255,255&n,144,0,0,0]);return e.box(e.types.sidx,d)}},{key:"mdat",value:function(t){return e.box(e.types.mdat,t)}}]),e}();vr(jn,"types",["Opus","dOps","av01","av1C","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"].reduce((function(e,t){return e[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)],e}),Object.create(null))),vr(jn,"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])}),vr(jn,"FTYPAVC1",jn.box(jn.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),vr(jn,"FTYPHEV1",jn.box(jn.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),vr(jn,"DINF",jn.box(jn.types.dinf,jn.box(jn.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),vr(jn,"VMHD",jn.box(jn.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),vr(jn,"SMHD",jn.box(jn.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),vr(jn,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),vr(jn,"STTS",jn.box(jn.types.stts,jn.StblTable)),vr(jn,"STSC",jn.box(jn.types.stsc,jn.StblTable)),vr(jn,"STSZ",jn.box(jn.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),vr(jn,"STCO",jn.box(jn.types.stco,jn.StblTable));var Bn=function(){function e(t,a){pr(this,e),this.name=t||"",this._prefix="[".concat(this.name,"]"),e.disabled=a}return gr(e,[{key:"debug",value:function(){var t;if(!e.disabled){for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];(t=console).debug.apply(t,[this._prefix].concat(r))}}},{key:"log",value:function(){var t;if(!e.disabled){for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];(t=console).log.apply(t,[this._prefix].concat(r))}}},{key:"warn",value:function(){var t;if(!e.disabled){for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];(t=console).warn.apply(t,[this._prefix].concat(r))}}},{key:"error",value:function(){var t;if(!e.disabled){for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];(t=console).error.apply(t,[this._prefix].concat(r))}}},{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}();vr(Bn,"disabled",!0);var Hn=function(){function e(t,a,r){pr(this,e),this.videoTrack=t,this.audioTrack=a;var n=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=n&&Number(n[1])<50,this.log=new Bn("FMP4Remuxer",!r||!r.openLog||!r.openLog)}return gr(e,[{key:"remux",value:function(){var e,t,a,r,n,i=arguments.length>0&&void 0!==arguments[0]&&arguments[0],c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.videoTrack,s=this.audioTrack,u=o.exist(),d=s.exist(),b=[];return i&&(c&&c.initMerge?(u&&b.push(this.videoTrack),d&&b.push(this.audioTrack),a=jn.initSegment(b)):(u&&(e=jn.initSegment([this.videoTrack])),d&&(t=jn.initSegment([this.audioTrack])))),u&&o.hasSample()&&(r=this._remuxVideo()),d&&s.hasSample()&&(n=this._remuxAudio()),o.samples=[],s.samples=[],{initSegment:a,videoInitSegment:e,audioInitSegment:t,videoSegment:r,audioSegment:n}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var t=e.samples,a=/av01/.test(e.codec),r=0;a?t.forEach((function(e){r+=e.data.byteLength})):t.forEach((function(e){r+=e.units.reduce((function(e,t){return e+t.byteLength}),0),r+=4*e.units.length}));var n=new Uint8Array(r);if(a)for(var i,c=0,o=t.length,s=0;c<o;c++)i=t[c],n.set(i.data,s),i.size=i.data.byteLength,s+=i.size;else for(var u,d=new DataView(n.buffer),b=function(e,a){a=t[f];var r=0;a.units.forEach((function(t){d.setUint32(e,t.byteLength),e+=4,n.set(t,e),e+=t.byteLength,r+=4+t.byteLength})),a.size=r,h=e,u=a},f=0,l=t.length,h=0;f<l;f++)b(h,u);var p=jn.mdat(n);return nn(jn.moof([e]),p)}},{key:"_remuxAudio",value:function(){var e=this.audioTrack,t=new Uint8Array(e.samples.reduce((function(e,t){return e+t.size}),0));e.samples.reduce((function(e,a){return t.set(a.data,e),e+a.size}),0);var a=jn.mdat(t);return nn(jn.moof([e]),a)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}(),Gn=function(){function e(){Tt(this,e);var t=window.crypto||window.msCrypto;this.subtle=t&&(t.subtle||t.webkitSubtle),this.externalDecryptor=null}var t,a;return kt(e,[{key:"destroy",value:function(){var e;null!==(e=this.externalDecryptor)&&void 0!==e&&e.destroy&&this.externalDecryptor.destroy()}},{key:"decrypt",value:function(e,t){if(e||t){var a=[];return e&&(a[0]=this._decryptSegment(e)),t&&(a[1]=this._decryptSegment(t)),Promise.all(a)}}},{key:"_decryptSegment",value:(a=St(mt().mark((function e(t){var a;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.data,!t.key){e.next=5;break}return e.next=4,this._decryptData(t.data,t.key,t.keyIv);case 4:a=e.sent;case 5:if(t.map){e.next=7;break}return e.abrupt("return",a);case 7:return e.abrupt("return",or(t.map,a));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"_decryptData",value:(t=St(mt().mark((function e(t,a,r){var n;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.externalDecryptor){e.next=6;break}return e.next=3,this.externalDecryptor.decrypt(t,a,r);case 3:return e.abrupt("return",e.sent);case 6:if(this.subtle){e.next=8;break}throw new Error("crypto is not defined");case 8:return e.next=10,this.subtle.importKey("raw",a,{name:"AES-CBC"},!1,["encrypt","decrypt"]);case 10:return n=e.sent,e.t0=Uint8Array,e.next=14,this.subtle.decrypt({name:"AES-CBC",iv:r},n,t);case 14:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 16:case"end":return e.stop()}}),e,this)}))),function(e,a,r){return t.apply(this,arguments)})}]),e}(),$n=vt(vt({},Qa),{},{STREAM_PARSED:"core.streamparsed",NO_AUDIO_TRACK:"core.noaudiotrack",SUBTITLE_SEGMENTS:"core.subtitlesegments",SUBTITLE_PLAYLIST:"core.subtitleplaylist",SEI_PAYLOAD_TIME:"core.seipayloadtime",APPEND_COST:"core.appendcost"}),Vn=new Ra("Transmuxer"),zn=function(){function e(t,a,r,n){Tt(this,e),It(this,"_initSegmentId",""),this.hls=t,this._demuxer=a?new Mn:new wn(null,null,null,n),this._isMP4=a,r&&(this._remuxer=new Hn(this._demuxer.videoTrack,this._demuxer.audioTrack))}return kt(e,[{key:"transmux",value:function(e,t,a,r,n,i){var c=this._demuxer;try{this._isMP4?c.demux(e,t):c.demuxAndFix(or(e,t),a,r,n)}catch(e){throw new Aa(ya,Sa.HLS,e)}var o=c.videoTrack,s=c.audioTrack,u=c.metadataTrack,d={codec:o.codec,timescale:o.timescale,firstDts:o.firstDts/o.timescale,firstPts:o.firstPts/o.timescale,duration:o.samplesDuration/o.timescale},b={codec:s.codec,timescale:s.timescale,firstDts:s.firstDts/o.timescale,firstPts:s.firstPts/o.timescale,duration:s.samplesDuration/o.timescale,container:s.container},f="".concat(o.codec,"/").concat(o.width,"/").concat(o.height,"/").concat(s.codec,"/").concat(s.config);if(f!==this._initSegmentId&&(this._initSegmentId=f,i=!0),this._fireEvents(o,s,u,a||i),this.hls.emit($n.DEMUXED_TRACK,{videoTrack:o,audioTrack:s}),!this._remuxer)return[o,s];i&&this.hls.isLive&&!this.hls.config.mseLowLatency&&(o.duration=this.hls.totalDuration*o.timescale,s.duration=this.hls.totalDuration*s.timescale);try{var l=this._remuxer.remux(i),h=l.videoInitSegment,p=l.videoSegment,y=l.audioInitSegment,g=l.audioSegment,v=or(h,p),m=or(y,g);return[v?vt(vt({},d),{},{data:v}):void 0,m?vt(vt({},b),{},{data:m}):void 0]}catch(e){throw new Aa(ga,Sa.FMP4,e)}}},{key:"_fireEvents",value:function(e,t,a,r){var n=this,i=[e,t],c="discontinuity: ".concat(r);i.forEach((function(e){var t;null!==(t=e.samples)&&void 0!==t&&t.length&&(c+="; ".concat(e.samples.length," ").concat(e.type===wr?"video":"audio"," samples, firstDts/firstPts/duration: ").concat((e.firstDts/e.timescale).toFixed(3),"/").concat((e.firstPts/e.timescale).toFixed(3),"/").concat((e.samplesDuration/e.timescale).toFixed(3))),r&&e.exist()&&n.hls.emit($n.METADATA_PARSED,{type:e.type,track:e,meta:vt({codec:e.codec,timescale:e.timescale,baseDts:e.baseDts},e.type===wr?{width:e.width,height:e.height,sarRatio:e.sarRatio}:{codec:e.codec,channelCount:e.channelCount,sampleRate:e.sampleRate})})})),Vn.debug(c),e.warnings.forEach((function(e){var t;switch(e.type){case Fr:t=$n.LARGE_AV_FIRST_FRAME_GAP_DETECT;break;case jr:t=$n.LARGE_VIDEO_DTS_GAP_DETECT;break;case Br:t=$n.MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT}t&&n.hls.emit($n.STREAM_EXCEPTION,vt(vt({},e),{},{type:t})),Vn.warn("video exception",e)})),t.warnings.forEach((function(e){var t;switch(e.type){case Hr:t=$n.LARGE_AUDIO_DTS_GAP_DETECT;break;case Gr:t=$n.AUDIO_GAP_DETECT;break;case $r:t=$n.AUDIO_OVERLAP_DETECT}t&&n.hls.emit($n.STREAM_EXCEPTION,vt(vt({},e),{},{type:t})),Vn.warn("audio exception",e)})),e.samples.forEach((function(e){e.keyframe&&n.hls.emit($n.KEYFRAME,{pts:e.pts})})),a.seiSamples.forEach((function(e){n.hls.emit($n.SEI,vt(vt({},e),{},{originPts:e.originPts/90,sei:{code:e.data.type,content:e.data.payload,dts:e.pts}}))}))}}]),e}(),Wn=["data"],Kn=["data"],Yn=new Ra("BufferService"),Xn=function(){function e(t){var a=this;Tt(this,e),It(this,"_decryptor",new Gn),It(this,"_transmuxer",null),It(this,"_mse",null),It(this,"_softVideo",null),It(this,"_sourceCreated",!1),It(this,"_needInitSegment",!0),It(this,"_directAppend",!1),this.hls=t,t.config.softDecode?this._softVideo=t.media:(this._mse=new Fa(null,{preferMMS:t.config.preferMMS}),t.config.url&&this._mse.bindMedia(t.media).then((function(e){a.hls.emit(Qa.MEDIASOURCE_OPENED,e)}))),t.config.decryptor&&(this._decryptor.externalDecryptor=t.config.decryptor)}var t,a,r,n,i,c,o,s,u,d;return kt(e,[{key:"baseDts",get:function(){var e,t,a;return null===(e=this._transmuxer)||void 0===e||null===(t=e._demuxer)||void 0===t||null===(a=t._fixer)||void 0===a?void 0:a._baseDts}},{key:"nbSb",get:function(){var e;return null!==(e=this._mse)&&void 0!==e&&e._sourceBuffer?Object.keys(this._mse._sourceBuffer).length:0}},{key:"msIsOpened",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.isOpened}},{key:"msHasOpTasks",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.hasOpTasks}},{key:"msStreaming",get:function(){var e;return null===(e=this._mse)||void 0===e?void 0:e.streaming}},{key:"updateDuration",value:(d=St(mt().mark((function e(t){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Yn.debug("update duration",t),!this._mse){e.next=9;break}if(this._mse.isOpened){e.next=5;break}return e.next=5,this._mse.open();case 5:return e.next=7,this._mse.updateDuration(t);case 7:e.next=10;break;case 9:this._softVideo&&(this._softVideo.duration=t);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"createSource",value:function(e,t,a,r){if(!this._sourceCreated){var n=e||t;if(n){if(wn.probe(n))this._transmuxer||(this._transmuxer=new zn(this.hls,!1,!this._softVideo,this.hls.config.fixerConfig));else{if(!On.probe(n))throw new Aa(_a,null,null,null,"unsupported stream");if(this._softVideo)this._transmuxer||(this._transmuxer=new zn(this.hls,!0,null,this.hls.config.fixerConfig));else{this._directAppend=!0;var i=!1;e&&!a&&On.findBox(e,["moov","trak"]).forEach((function(e){var t=On.findBox(e.data,["trak","mdia","minf","stbl","stsd"])[0];if(t){var n=On.stsd(t).entries[0];if(n)if(n.hvcC)a=n.hvcC.codec||"hev1.1.6.L93.B0";else if(n.avcC)a=n.avcC.codec;else if(n.sampleRate||n.esds){var c;r=(null===(c=n.esds)||void 0===c?void 0:c.codec)||"mp4a.40.2",i=!0}}})),t&&!r&&On.findBox(t,["moov","trak","mdia","minf","stbl","stsd"]).forEach((function(e){var t=On.stsd(e).entries[0];t&&t.esds&&(r=t.esds.codec)})),e&&!a&&(a="avc1.42e01e"),t&&!r&&(r="mp4a.40.2"),i&&(a+=", ".concat(r),r=""),this._createMseSource(a,r)}}this._softVideo&&(this._sourceCreated=!0)}}}},{key:"appendBuffer",value:(u=St(mt().mark((function e(t,a,r,n,i,c,o){var s,u,d,b,f,l,h,p,y,g,v,m,_,E,S,T=this;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=r&&r.length||null!=n&&n.length){e.next=2;break}return e.abrupt("return");case 2:if(s=function(){var e,a;null!==(e=T.hls)&&void 0!==e&&e.emit&&(null===(a=T.hls)||void 0===a||a.emit(Qa.APPEND_BUFFER,{start:t.start,end:t.end}))},!this._directAppend){e.next=8;break}return u=[],r&&u.push(this._mse.append(Fa.VIDEO,r)),n&&u.push(this._mse.append(Fa.AUDIO,n)),e.abrupt("return",Promise.all(u).then(s));case 8:if(d=this._needInitSegment||i,b=this._transmuxer.transmux(r,n,d,c,o,this._needInitSegment||i),f=Dt(b,2),l=f[0],h=f[1],n&&a&&(null==a||a.setTrackExist(!1,!0)),n&&t&&(null==t||t.setTrackExist(!0,!1)),a||null==t||t.setTrackExist(!!l,!!h),l&&!h&&this.hls.emit($n.NO_AUDIO_TRACK),!this._softVideo){e.next=20;break}this._softVideo.appendBuffer(l,h),this._needInitSegment=!1,s(),e.next=32;break;case 20:if(!this._mse){e.next=32;break}return(p=!this._sourceCreated)&&this._createMseSource(null==l?void 0:l.codec,null==h?void 0:h.codec,null==h?void 0:h.container),this._needInitSegment=!1,y=this._mse,g=[],d&&!p&&this._handleCodecChange(l,h).forEach((function(e){return g.push(e)})),l&&(v=l.data,m=xt(l,Wn),g.push(y.append(Fa.VIDEO,v,m))),h&&(_=h.data,E=xt(h,Kn),g.push(y.append(Fa.AUDIO,_,E))),(S=Promise.all(g)).then(s),e.abrupt("return",S);case 32:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n,i,c){return u.apply(this,arguments)})},{key:"removeBuffer",value:(s=St(mt().mark((function e(){var t,a,r,n=this,i=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.length>0&&void 0!==i[0]?i[0]:0,a=i.length>1&&void 0!==i[1]?i[1]:1/0,r=this.hls.media,!(!this._mse||!r||t<0||a<t||t>=this._mse.duration)){e.next=5;break}return e.abrupt("return");case 5:return e.abrupt("return",this._mse.clearBuffer(t,a).then((function(){return n.hls.emit(Qa.REMOVE_BUFFER,{start:t,end:a,removeEnd:a})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"evictBuffer",value:(o=St(mt().mark((function e(t){var a,r,n;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=this.hls.media,this._mse&&a&&t&&!(t<0)){e.next=3;break}return e.abrupt("return");case 3:if(r=a.currentTime,!((n=r-t)<=0)){e.next=7;break}return e.abrupt("return");case 7:if(!(sa.start(sa.get(a))+1>=n)){e.next=10;break}return e.abrupt("return");case 10:return e.abrupt("return",this.removeBuffer(0,n));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllBuffer",value:(c=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=2;break}return e.abrupt("return",this._mse.clearAllBuffer());case 2:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"decryptBuffer",value:function(e,t){return this._decryptor.decrypt(e,t)}},{key:"reset",value:(i=St(mt().mark((function e(){var t,a=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=a.length>0&&void 0!==a[0]&&a[0],!this._mse||t){e.next=8;break}return this._transmuxer=null,this._sourceCreated=!1,e.next=6,this._mse.unbindMedia();case 6:return e.next=8,this._mse.bindMedia(this.hls.media);case 8:this._needInitSegment=!0,this._directAppend=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"endOfStream",value:(n=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=5;break}if(!this._sourceCreated){e.next=5;break}return e.next=4,this._mse.endOfStream();case 4:this.hls.emit(Qa.BUFFEREOS);case 5:this._softVideo&&this._softVideo.endOfStream();case 6:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"setLiveSeekableRange",value:(r=St(mt().mark((function e(t,a){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._mse&&this._mse.setLiveSeekableRange(t,a);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t){return r.apply(this,arguments)})},{key:"detachMedia",value:(a=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._mse){e.next=3;break}return e.next=3,this._mse.unbindMedia();case 3:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"destroy",value:(t=St(mt().mark((function e(){var t;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(t=this._decryptor)||void 0===t||t.destroy(),e.next=3,this.detachMedia();case 3:this._decryptor=null,this._mse=null,this._softVideo=null;case 6:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_createMseSource",value:function(e,t,a){Yn.debug("create mse source, videoCodec=".concat(e,", audioCodec=").concat(t));var r=this._mse;r&&(e&&(r.createSource(Fa.VIDEO,"video/mp4;codecs=".concat(e)),this._sourceCreated=!0),t?(r.createSource(Fa.AUDIO,"audio/mp4;codecs=".concat(t)),this._sourceCreated=!0):a&&(r.createSource(Fa.AUDIO,"".concat(a,';codecs=""')),this._sourceCreated=!0),this.hls.emit(Qa.SOURCEBUFFER_CREATED))}},{key:"_handleCodecChange",value:function(e,t){var a=[],r=this._mse;return[{type:Fa.VIDEO,codecs:null==e?void 0:e.codec},{type:Fa.AUDIO,codecs:null==t?void 0:t.codec}].filter((function(e){return!!e.codecs})).forEach((function(e){var t=e.type,n=e.codecs,i=r.getSourceBuffer(t);if(i){var c=n.split(",")[0];new RegExp(c,"ig").test(i.mimeType)||a.push(r.changeType(t,"".concat(t,"/mp4;codecs=").concat(n)))}})),a}},{key:"seamlessSwitch",value:function(){this._needInitSegment=!0}},{key:"isFull",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Fa.VIDEO;return null===(e=this._mse)||void 0===e?void 0:e.isFull(t)}}]),e}(),Jn=kt((function e(){Tt(this,e),It(this,"version",0),It(this,"streams",[]),It(this,"isMaster",!0)})),Zn="AUDIO",Qn="SUBTITLE",ei={CLEAR_KEY:"org.w3.clearkey",FAIRPLAY:["urn:uuid:94ce86fb-07ff-4f43-adb8-93d2fa968ca2","com.apple.streamingkeydelivery"],WIDEVINE:["urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed","com.widevine.alpha","com.widevine"],PLAYREADY:["urn:uuid:9a04f079-9840-4286-ab92-e65be0885f95","com.microsoft.playready"]};function ti(e){for(var t=[],a=0;a<e.length;a++)Array.isArray(e[a])?t=t.concat(ti(e[a])):t.push(e[a]);return t}var ai=kt((function e(){Tt(this,e),It(this,"id",0),It(this,"url",""),It(this,"default",!1),It(this,"autoSelect",!1),It(this,"forced",!1),It(this,"group",""),It(this,"name",""),It(this,"lang",""),It(this,"segments",[]),It(this,"endSN",0)})),ri=function(e){Rt(a,e);var t=Pt(a);function a(){var e;Tt(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return It(Ot(e=t.call.apply(t,[this].concat(n))),"mediaType",Zn),It(Ot(e),"channels",0),e}return kt(a)}(ai),ni=function(e){Rt(a,e);var t=Pt(a);function a(){var e;Tt(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return It(Ot(e=t.call.apply(t,[this].concat(n))),"mediaType",Qn),e}return kt(a)}(ai),ii=kt((function e(){Tt(this,e),It(this,"id",0),It(this,"bitrate",0),It(this,"width",0),It(this,"height",0),It(this,"name",""),It(this,"url",""),It(this,"audioCodec",""),It(this,"videoCodec",""),It(this,"textCodec",""),It(this,"audioGroup",""),It(this,"audioStreams",[]),It(this,"subtitleStreams",[]),It(this,"closedCaptionsStream",[])})),ci=kt((function e(){Tt(this,e),It(this,"version",0),It(this,"url",""),It(this,"type",""),It(this,"startCC",0),It(this,"endCC",0),It(this,"startSN",0),It(this,"endSN",0),It(this,"totalDuration",0),It(this,"targetDuration",0),It(this,"partTargetDuration",0),It(this,"canSkipUntil",0),It(this,"canSkipDateRanges",!1),It(this,"skippedSegments",0),It(this,"canBlockReload",!1),It(this,"partHoldBack",0),It(this,"live",!0),It(this,"lowLatency",!1),It(this,"endPartIndex",0),It(this,"segments",[]),It(this,"dateRanges",{}),It(this,"skippedSegments",0)})),oi=function(){function e(t){Tt(this,e),It(this,"sn",0),It(this,"cc",0),It(this,"url",""),It(this,"parentUrl",""),It(this,"title",""),It(this,"start",0),It(this,"duration",0),It(this,"dataTime",""),It(this,"key",null),It(this,"byteRange",null),It(this,"isInitSegment",!1),It(this,"initSegment",null),It(this,"isLast",!1),It(this,"hasAudio",!1),It(this,"hasVideo",!1),It(this,"independent",!1),It(this,"partIndex",0),this.parentUrl=t}return kt(e,[{key:"end",get:function(){return this.start+this.duration}},{key:"setTrackExist",value:function(e,t){this.hasVideo=e,this.hasAudio=t}},{key:"setByteRange",value:function(e,t){this.byteRange=[0];var a=e.split("@");1===a.length&&t&&t.byteRange?(this.byteRange[0]=t.byteRange[1]||0,this.byteRange[0]&&(this.byteRange[0]+=1)):this.byteRange[0]=parseInt(a[1]),this.byteRange[1]=this.byteRange[0]+parseInt(a[0])-1}}]),e}(),si=function(){function e(t){Tt(this,e),It(this,"method",""),It(this,"url",""),It(this,"iv",null),It(this,"keyFormat",""),It(this,"keyFormatVersions",""),t instanceof e&&(this.method=t.method,this.url=t.url,this.keyFormat=t.keyFormat,this.keyFormatVersions=t.keyFormatVersions,t.iv&&(this.iv=new Uint8Array(t.iv)))}return kt(e,[{key:"clone",value:function(t){var a=new e(this);return null!=t&&a.setIVFromSN(t),a}},{key:"setIVFromSN",value:function(e){if(!this.iv&&"AES-128"===this.method&&"number"==typeof e&&this.url){this.iv=new Uint8Array(16);for(var t=12;t<16;t++)this.iv[t]=e>>8*(15-t)&255}}},{key:"isSegmentEncrypted",value:function(){return"AES-128"===this.method}},{key:"isValidKeySystem",value:function(){return ti([ei.CLEAR_KEY,ei.FAIRPLAY,ei.WIDEVINE,ei.PLAYREADY]).indexOf(this.keyFormat)>-1&&!!(["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)>-1)}},{key:"isSupported",value:function(){return!(!this.method||!this.isSegmentEncrypted()&&!this.isValidKeySystem())}}]),e}(),ui=function(){function e(t,a,r){Tt(this,e),this.msn=t,this.part=a,this.skip=r}return kt(e,[{key:"addDirectives",value:function(e){var t=new self.URL(e);return void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}]),e}(),di=/^#(EXT[^:]*)(?::(.*))?$/,bi=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,fi=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,li=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function hi(e){var t=e.match(di);if(t&&t[1])return[t[1].replace("EXT-X-",""),t[2]]}function pi(e){for(var t={},a=bi.exec(e);a;)t[a[1]]=a[2]||a[3],a=bi.exec(e);return t}function yi(e,t){if(!t||!e||fi.test(e))return e;var a=li.exec(t);return a?"/"===e[0]?a[1]+e:a[1]+a[2]+e:e}var gi={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function vi(e,t){var a=gi[e];if(a&&t&&t.length)for(var r=0;r<a.length;r++)for(var n=0;n<t.length;n++)if(a[r].test(t[n]))return t[n]}function mi(e,t){var a;if(t)for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&e[r]!==t[r]){a=r;break}var n=null;e.DURATION&&(n=parseFloat(e.DURATION),Number.isFinite(n)?e._endDate&&(n=(e._endDate.getTime()-e._startDate.getTime())/1e3):n=null);var i,c,o=(c={pre:!1,post:!1,once:!1},((i=e.CUE||e["X-CUE"])?i.split(/[ ,]+/):[]).reduce((function(e,t){return e[t.toLowerCase()]=!0,e}),c));return!!e.ID&&!a&&Number.isFinite(e._startDate.getTime())&&(null===n||n>=0)&&(!("YES"===e.END_ON_NEXT)||!!e.CLASS)&&(!e.CUE||!o.pre&&!o.post||o.pre!==o.post)&&(!("com.apple.hls.interstitial"===e.CLASS)||"X-ASSET-URI"in e||"X-ASSET-LIST"in e)}var _i=function(){function e(){Tt(this,e)}return kt(e,null,[{key:"parse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1?arguments[1]:void 0,r=arguments.length>2?arguments[2]:void 0;if(!t.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");var n=t.split(/[\r\n]/).map((function(e){return e.trim()})).filter(Boolean);return e.isMediaPlaylist(t)?function(e,t,a){var r=new ci;r.url=t;for(var n,i=new oi(t),c=null,o=null,s=0,u=0,d=0,b=0,f=!1,l=0;n=e[b++];)if("#"===n[0]){var h=hi(n);if(h){var p=Dt(h,2),y=p[0],g=p[1];switch(y){case"VERSION":r.version=parseInt(g);break;case"PLAYLIST-TYPE":r.type=null==g?void 0:g.toUpperCase();break;case"TARGETDURATION":r.targetDuration=parseFloat(g);break;case"PART-INF":a&&(r.lowLatency=!0);var v=pi(g);v["PART-TARGET"]&&(r.partTargetDuration=parseFloat(v["PART-TARGET"]));break;case"SERVER-CONTROL":var m=pi(g);r.canBlockReload="YES"===m["CAN-BLOCK-RELOAD"],r.partHoldBack=parseFloat(m["PART-HOLD-BACK"]||0),r.canSkipUntil=parseFloat(m["CAN-SKIP-UNTIL"]||0),r.canSkipDateRanges=r.canSkipUntil>0&&"YES"===m["CAN-SKIP-DATERANGES"];break;case"ENDLIST":f=!0;break;case"MEDIA-SEQUENCE":u=r.startSN=parseInt(g);break;case"DISCONTINUITY-SEQUENCE":d=r.startCC=parseInt(g);break;case"DISCONTINUITY":d++;break;case"BYTERANGE":i.setByteRange(g,r.segments[r.segments.length-1]);break;case"PART":if(!r.lowLatency)break;var _=pi(g);i.duration=parseFloat(_.DURATION),i.independent="YES"===_.INDEPENDENT,i.sn=u,i.cc=d,i.partIndex=l,i.start=s,i.duration=parseFloat(_.DURATION),s+=i.duration,i.url=yi(_.URI,t),o&&(i.key=o.clone(u)),c&&(i.initSegment=c),r.segments.push(i),i=new oi(t),l++;break;case"PRELOAD-HINT":var E=pi(g);if(r.preloadHint=E,"PART"===E.TYPE&&E.URI){var S=E.URI.split(".ts")[0].split("-");r.nextSN=S[3],r.nextIndex=S[S.length-1]}break;case"PROGRAM-DATE-TIME":i.dataTime=g;break;case"EXTINF":if(r.lowLatency){l=0;break}var T=Dt(g.split(","),2),A=T[0],k=T[1];i.start=s,i.duration=parseFloat(A),s+=i.duration,i.title=k;break;case"KEY":var I=pi(g);if("NONE"===I.METHOD){o=null;break}if((o=new si).method=I.METHOD,o.url=/^blob:/.test(I.URI)?I.URI:yi(I.URI,t),o.keyFormat=I.KEYFORMAT||"identity",o.keyFormatVersions=I.KEYFORMATVERSIONS,!o.isSupported())throw new Error("encrypt ".concat(I.METHOD,"/").concat(I.KEYFORMAT," is not supported"));if(I.IV){var R=I.IV.slice(2);R=(1&R.length?"0":"")+R,o.iv=new Uint8Array(R.length/2);for(var w=0,C=R.length/2;w<C;w++)o.iv[w]=parseInt(R.slice(2*w,2*w+2),16)}break;case"MAP":var x=pi(g);i.url=yi(x.URI,t),x.BYTERANGE&&i.setByteRange(x.BYTERANGE),i.isInitSegment=!0,i.sn=0,o&&(i.key=o.clone(0)),c=i,i=new oi(t);break;case"SKIP":var O=pi(g),P=parseInt(O["SKIPPED-SEGMENTS"],10);P<=Number.MAX_SAFE_INTEGER&&(r.skippedSegments+=P,u+=P);break;case"DATERANGE":var D=pi(g),L=r.dateRanges[D.ID];D._startDate=L?L._startDate:new Date(D["START-DATE"]);var q=(null==L?void 0:L._endDate)||new Date(D.END_DATE);Number.isFinite(q)&&(D._endDate=q),(mi(D,L)||r.skippedSegments)&&(r.dateRanges[D.ID]=D)}}}else{if(r.lowLatency){u++;continue}i.sn=u,i.cc=d,i.url=yi(n,t),o&&(i.key=o.clone(u)),c&&(i.initSegment=c),r.segments.push(i),i=new oi(t),u++}r.segments=r.segments.filter((function(e){return 0!==e.duration}));var N=r.segments[r.segments.length-1];return N&&(f&&(N.isLast=!0),r.endSN=N.sn,r.endPartIndex=N.partIndex),f&&(r.live=!1),r.totalDuration=s,r.endCC=d,r}(n,a,r):function(e,t){for(var a,r=new Jn,n=0,i=[],c=[];a=e[n++];){var o=hi(a);if(o){var s=Dt(o,2),u=s[0],d=s[1];if("VERSION"===u)r.version=parseInt(d);else if("MEDIA"===u&&d){var b=pi(d),f=void 0;switch(b.TYPE){case"AUDIO":f=new ri;break;case"SUBTITLES":f=new ni;break;default:f=new ai}f.url=yi(b.URI,t),f.default="YES"===b.DEFAULT,f.autoSelect="YES"===b.AUTOSELECT,f.group=b["GROUP-ID"],f.name=b.NAME,f.lang=b.LANGUAGE,b.CHANNELS&&(f.channels=Number(b.CHANNELS.split("/")[0]),Number.isNaN(f.channels)&&(f.channels=0)),"AUDIO"===b.TYPE&&b.URI&&i.push(f),"SUBTITLES"===b.TYPE&&c.push(f)}else if("STREAM-INF"===u&&d){var l=new ii,h=pi(d);if(l.bitrate=parseInt(h["AVERAGE-BANDWIDTH"]||h.BANDWIDTH),l.name=h.NAME,l.url=yi(e[n++],t),h.RESOLUTION){var p=Dt(h.RESOLUTION.split("x"),2),y=p[0],g=p[1];l.width=parseInt(y),l.height=parseInt(g)}if(h.CODECS){var v=h.CODECS.split(/[ ,]+/).filter(Boolean);l.videoCodec=vi("video",v),l.audioCodec=vi("audio",v),l.textCodec=vi("text",v)}l.audioGroup=h.AUDIO,l.subtitleGroup=h.SUBTITLES,r.streams.push(l)}}}return r.streams.forEach((function(e,t){e.id=t})),i.length&&(i.forEach((function(e,t){e.id=t})),r.streams.forEach((function(e){e.audioGroup&&(e.audioStreams=i.filter((function(t){return t.group===e.audioGroup})))}))),c.length&&(c.forEach((function(e,t){e.id=t})),r.streams.forEach((function(e){e.subtitleGroup&&(e.subtitleStreams=c.filter((function(t){return t.group===e.subtitleGroup})))}))),r}(n,a)}},{key:"isMediaPlaylist",value:function(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}]),e}(),Ei=function(){function e(t){var a=this;Tt(this,e),It(this,"_emitOnLoaded",(function(e,t){var r=e.response,n=e.options||{},i=n.firstByteTime,c=n.startTime,o=n.endTime,s=n.contentLength,u=o-c;a.hls.emit(Qa.SPEED,{time:u,byteLength:s,url:t}),a.hls.emit(Qa.LOAD_COMPLETE,{url:t,elapsed:u||0}),a.hls.emit(Qa.TTFB,{url:t,responseUrl:r.url,elapsed:i-c}),a.hls.emit(Qa.LOAD_RESPONSE_HEADERS,{headers:r.headers,url:t})})),It(this,"_onLoaderRetry",(function(e,t){a.hls.emit($n.LOAD_RETRY,{error:Aa.network(e),retryTime:t})})),this.hls=t,this._timer=null,this._useLowLatency=t.config.useLowLatency;var r=this.hls.config,n=r.retryCount,i=r.retryDelay,c=r.manifestLoadTimeout,o=r.fetchOptions;this._loader=new ur(vt(vt({},o),{},{responseType:"text",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry})),this._audioLoader=new ur(vt(vt({},o),{},{responseType:"text",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry})),this._subtitleLoader=new ur(vt(vt({},o),{},{responseType:"text",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry}))}var t;return kt(e,[{key:"load",value:(t=St(mt().mark((function e(t,a,r){var n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m,_,E,S,T;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=[this._loader.load(t)],a&&n.push(this._audioLoader.load(a)),r&&n.push(this._subtitleLoader.load(r)),e.prev=3,e.next=6,Promise.all(n);case 6:if(b=e.sent,f=Dt(b,3),l=f[0],h=f[1],p=f[2],l){e.next=13;break}return e.abrupt("return",[]);case 13:this._emitOnLoaded(l,t),i=l.data,s=l.response.url||t,a?(c=null==h?void 0:h.data,o=null==p?void 0:p.data,u=(null==h||null===(y=h.response)||void 0===y?void 0:y.url)||a,d=(null==p||null===(g=p.response)||void 0===g?void 0:g.url)||r,c&&this._emitOnLoaded(h,a),o&&this._emitOnLoaded(p,r)):(o=null==h?void 0:h.data,d=(null==h||null===(v=h.response)||void 0===v?void 0:v.url)||r,o&&this._emitOnLoaded(h,r)),e.next=22;break;case 19:throw e.prev=19,e.t0=e.catch(3),Aa.network(e.t0);case 22:if(m=this.hls.config.onPreM3U8Parse,e.prev=23,m&&(i=m(i)||i,c&&(c=m(c,!0)||c),o&&(o=m(o,!0)||o)),_=_i.parse(i,s,this._useLowLatency),!1!==(null===(T=_)||void 0===T?void 0:T.live)||!_.segments||_.segments.length){e.next=28;break}throw new Error("empty segments list");case 28:c&&(E=_i.parse(c,u,this._useLowLatency)),o&&(S=_i.parse(o,d,this._useLowLatency)),e.next=35;break;case 32:throw e.prev=32,e.t1=e.catch(23),new Aa(da,Sa.HLS,e.t1);case 35:return _&&(_.isMaster?this.hls.emit($n.HLS_MANIFEST_LOADED,{playlist:_}):(this._useLowLatency&&(_.canBlockReload?this.deliveryDirectives=new ui(_.nextSN,_.nextIndex,""):this.deliveryDirectives=null),this.hls.emit($n.HLS_LEVEL_LOADED,{playlist:_}))),e.abrupt("return",[_,E,S]);case 37:case"end":return e.stop()}}),e,this,[[3,19],[23,32]])}))),function(e,a,r){return t.apply(this,arguments)})},{key:"parseText",value:function(e,t){var a,r=this.hls.config.onPreM3U8Parse;try{var n;if(r&&(e=r(e)||e),!1===(null===(n=a=_i.parse(e,t,this._useLowLatency))||void 0===n?void 0:n.live)&&a.segments&&!a.segments.length)throw new Error("empty segments list")}catch(e){throw new Aa(da,Sa.HLS,e)}return a&&(a.isMaster?this.hls.emit($n.HLS_MANIFEST_LOADED,{playlist:a}):this.hls.emit($n.HLS_LEVEL_LOADED,{playlist:a})),[a]}},{key:"poll",value:function(e,t,a,r,n,i){var c=this;clearTimeout(this._timer),i=i||3e3;var o,s=this.hls.config.pollRetryCount,u=(o=St(mt().mark((function o(){var d,b;return mt().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return clearTimeout(c._timer),d=e,o.prev=2,c.deliveryDirectives&&(d=c.deliveryDirectives.addDirectives(e)),o.next=6,c.load(d,t,a);case 6:if((b=o.sent)[0]){o.next=9;break}return o.abrupt("return");case 9:s=c.hls.config.pollRetryCount,r(b[0],b[1],b[2]),o.next=17;break;case 13:o.prev=13,o.t0=o.catch(2),--s<=0&&n(o.t0);case 17:c._timer=setTimeout(u,i);case 18:case"end":return o.stop()}}),o,null,[[2,13]])}))),function(){return o.apply(this,arguments)});this._timer=setTimeout(u,i)}},{key:"stopPoll",value:function(){return clearTimeout(this._timer),this.cancel()}},{key:"cancel",value:function(){return Promise.all([this._loader.cancel(),this._audioLoader.cancel()])}}]),e}();function Si(e,t,a){return t>a&&(a=t),Math.min(Math.max(e,t),a)}var Ti=new Ra("playlist"),Ai=function(){function e(t,a,r){Tt(this,e),It(this,"live",void 0),It(this,"id",0),It(this,"bitrate",0),It(this,"width",0),It(this,"height",0),It(this,"name",""),It(this,"url",""),It(this,"audioCodec",""),It(this,"videoCodec",""),It(this,"textCodec",""),It(this,"startCC",0),It(this,"endCC",0),It(this,"startSN",0),It(this,"endSN",-1),It(this,"totalDuration",0),It(this,"targetDuration",0),It(this,"partTargetDuration",0),It(this,"canSkipUntil",0),It(this,"canSkipDateRanges",!1),It(this,"skippedSegments",0),It(this,"canBlockReload",!1),It(this,"partHoldBack",0),It(this,"lowLatency",!1),It(this,"endPartIndex",0),It(this,"snDiff",null),It(this,"segments",[]),It(this,"audioStreams",[]),It(this,"subtitleStreams",[]),It(this,"closedCaptions",[]),It(this,"currentAudioStream",null),It(this,"currentSubtitleStream",null),this.update(this._setLLPlaybackPoint(t),a,r)}return kt(e,[{key:"lastSegment",get:function(){return this.segments.length?this.segments[this.segments.length-1]:null}},{key:"segmentDuration",get:function(){var e;return this.targetDuration||(null===(e=this.segments[0])||void 0===e?void 0:e.duration)||0}},{key:"liveEdge",get:function(){return this.endTime},set:function(e){this.endTime=e}},{key:"endTime",get:function(){var e;return(null===(e=this.lastSegment)||void 0===e?void 0:e.end)||0},set:function(e){var t=this.lastSegment;t&&(t.duration=e-t.start)}},{key:"currentSubtitleEndSn",get:function(){var e;return(null===(e=this.currentSubtitleStream)||void 0===e?void 0:e.endSN)||0}},{key:"clearOldSegment",value:function(e,t){return this.currentAudioStream&&this._clearSegments(e,t),this._clearSegments(e,t)}},{key:"getAudioSegment",value:function(e){if(e&&this.currentAudioStream){var t=e.sn-this.snDiff;return this.currentAudioStream.segments.find((function(e){return e.sn===t}))}}},{key:"update",value:function(e,t){this.url=e.url,Array.isArray(e.segments)?(null!==this.live&&void 0!==this.live||(this.live=e.live),this._updateSegments(e,this),this.startCC=e.startCC,this.endCC=e.endCC,this.startSN=e.startSN,this.endSN=e.endSN||-1,this.totalDuration=e.totalDuration,this.targetDuration=e.targetDuration,this.live=e.live,this.lowLatency=e.lowLatency,this.canBlockReload=e.canBlockReload,this.canSkipDateRanges=e.canSkipDateRanges,this.canSkipUntil=e.canSkipUntil,this.partHoldBack=e.partHoldBack,this.partTargetDuration=e.partTargetDuration,this.skippedSegments=e.skippedSegments,this.endPartIndex=e.endPartIndex,t&&this.currentAudioStream&&Array.isArray(t.segments)&&(this._updateSegments(t,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&t.segments.length&&(this.snDiff=e.segments[0].sn-t.segments[0].sn))):(this.id=e.id,this.bitrate=e.bitrate,this.width=e.width,this.height=e.height,this.name=e.name,this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.textCodec=e.textCodec,this.audioStreams=e.audioStreams,this.subtitleStreams=e.subtitleStreams,!this.currentAudioStream&&this.audioStreams.length&&(this.currentAudioStream=this.audioStreams.find((function(e){return e.default}))||this.audioStreams[0]),!this.currentSubtitleStream&&this.subtitleStreams.length&&(this.currentSubtitleStream=this.subtitleStreams.find((function(e){return e.default}))||this.subtitleStreams[0]))}},{key:"updateSubtitle",value:function(e){var t=this;if(e&&this.currentSubtitleStream&&Array.isArray(e.segments)){var a=this._updateSegments(e,this.currentSubtitleStream),r=this.currentSubtitleStream.segments;if(r.length>100&&(this.currentSubtitleStream.segments=r.slice(100)),a)return a.map((function(e){return{sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:t.currentSubtitleStream.lang}}))}}},{key:"switchSubtitle",value:function(e){var t=this.subtitleStreams.find((function(t){return t.lang===e})),a=this.currentSubtitleStream;t&&(this.currentSubtitleStream=t,a.segments=[])}},{key:"_setLLPlaybackPoint",value:function(e){if(!e.lowLatency||!e.segments.length)return e;for(var t=e.totalDuration-e.partHoldBack,a=e.segments,r=0,n=0,i=a.length;n<i;n++)a[n].start<=t&&a[n].independent&&(r=n);var c=a.slice(r),o=0;return c.forEach((function(e){e.start=o,o=e.end})),e.segments=c,e.totalDuration=o,e.startSN=c[0].sn,e.startCC=c[0].cc,Ti.log("set ll-hls playback point: SN=".concat(e.startSN," partIndex=").concat(c[0].partIndex,", duration=").concat(o)),e}},{key:"_clearSegments",value:function(e,t){for(var a=0,r=this.segments,n=0,i=r.length;n<i;n++)if(r[n].end>=e){a=n;break}return a>t&&(a=t),a&&(this.segments=this.segments.slice(a),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(a))),t-a}},{key:"_updateSegments",value:function(e,t){var a=t.segments;if(this.live){var r,n=e.lowLatency,i=a[a.length-1],c=null!==(r=null==i?void 0:i.sn)&&void 0!==r?r:-1,o=(null==i?void 0:i.partIndex)||0,s=c<e.endSN&&e.segments.length;if(n&&(s=s||o<e.endPartIndex),s){Ti.log("update segments: endSN:".concat(c,", partIndex:").concat(o," --\x3e endSN:").concat(e.endSN,", partIndex:").concat(e.endPartIndex));var u=e.segments.findIndex((function(e){return e.sn===c&&e.partIndex===o})),d=u<0?e.segments:e.segments.slice(u+1);if(a.length&&d.length){var b=i.end,f=b;d.forEach((function(e){e.start=b,b=e.end})),Ti.log("liveEdge: ".concat(f," -> ").concat(b));var l=(null==i?void 0:i.cc)||-1;l>d[0].cc&&d.forEach((function(e){return e.cc+=l}))}return t.endSN=e.endSN,t.segments=a.concat(d),d}}else t.segments=e.segments}}]),e}(),ki=function(){function e(t){Tt(this,e),It(this,"streams",[]),It(this,"currentStream",null),It(this,"dvrWindow",0),It(this,"_segmentPointer",-1),this.hls=t}return kt(e,[{key:"lowLatency",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lowLatency}},{key:"lastSegment",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.lastSegment}},{key:"currentSegment",get:function(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer]}},{key:"nextSegment",get:function(){var e;return null===(e=this.currentSegments)||void 0===e?void 0:e[this._segmentPointer+1]}},{key:"currentSegments",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.segments}},{key:"currentSubtitleEndSn",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.currentSubtitleEndSn}},{key:"liveEdge",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.liveEdge},set:function(e){this.currentStream&&(this.currentStream.liveEdge=e)}},{key:"totalDuration",get:function(){var e;return(null===(e=this.currentStream)||void 0===e?void 0:e.totalDuration)||0}},{key:"seekRange",get:function(){var e=this.currentSegments;if(e&&e.length)return[e[0].start,e[e.length-1].end]}},{key:"nbSegments",get:function(){var e;return(null===(e=this.currentSegments)||void 0===e?void 0:e.length)||0}},{key:"isEmpty",get:function(){var e;return!(null!==(e=this.currentSegments)&&void 0!==e&&e.length)}},{key:"isLive",get:function(){var e;return null===(e=this.currentStream)||void 0===e?void 0:e.live}},{key:"hadSegmentLoaded",get:function(){return-1!==this._segmentPointer}},{key:"hasSubtitle",get:function(){var e;return!(null===(e=this.currentStream)||void 0===e||!e.currentSubtitleStream)}},{key:"getAudioSegment",value:function(e){var t;return null===(t=this.currentStream)||void 0===t?void 0:t.getAudioSegment(e)}},{key:"moveSegmentPointer",value:function(e){var t;null==e&&(e=this._segmentPointer+1),this._segmentPointer=Si(e,-1,null===(t=this.currentSegments)||void 0===t?void 0:t.length)}},{key:"reset",value:function(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}},{key:"getSegmentByIndex",value:function(e){var t;return null===(t=this.currentSegments)||void 0===t?void 0:t[e]}},{key:"setNextSegmentByIndex",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._segmentPointer=e-1}},{key:"setNextSegmentBySN",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=null===(e=this.currentSegments)||void 0===e?void 0:e.findIndex((function(e){return e.sn===t}));return-1!==a&&this.setNextSegmentByIndex(a+1),a}},{key:"findSegmentIndexByTime",value:function(e){var t=this.currentSegments;if(t){for(var a,r=0,n=t.length;r<n;r++)if(e>=(a=t[r]).start&&e<a.end)return r;var i=t[t.length-1];if(Math.abs(e-(null==i?void 0:i.end))<.2)return t.length-1}}},{key:"upsertPlaylist",value:function(e,t,a){var r=this;if(e){if(e.isMaster)this.streams.length=e.streams.length,e.streams.filter((function(e){return e.url})).forEach((function(e,t){r.streams[t]?r.streams[t].update(e):r.streams[t]=new Ai(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){var n=this.currentStream;if(n){n.update(e,t,a);var i=n.updateSubtitle(a);i&&this.hls.emit($n.SUBTITLE_SEGMENTS,{list:i})}else this.reset(),this.currentStream=this.streams[0]=new Ai(e,t,a)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce((function(e,t){return e+t.duration}),0))}}},{key:"updateSegmentsRanges",value:function(e,t){var a;(null===(a=this.currentSegments)||void 0===a?void 0:a.filter((function(t){return t.sn>=e}))).forEach((function(e){e.start=t,t=e.end}))}},{key:"switchSubtitle",value:function(e){var t;null===(t=this.currentStream)||void 0===t||t.switchSubtitle(e)}},{key:"clearOldSegment",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hls.config.maxPlaylistSize||50,t=this.currentStream;if(this.dvrWindow&&t){var a=t.endTime-this.dvrWindow;a<=0||t.segments.length<=e||(this._segmentPointer=t.clearOldSegment(a,this._segmentPointer))}}},{key:"checkSegmentTrackChange",value:function(e,t){var a=this.findSegmentIndexByTime(e),r=this.getSegmentByIndex(a);if(r&&(r.hasAudio||r.hasVideo)){if(2!==t&&r.hasAudio&&r.hasVideo)return r;if(!(r.end-e>.3)){var n=this.getSegmentByIndex(a+1);if(n&&(n.hasAudio||n.hasVideo))return n.hasAudio!==r.hasAudio||n.hasVideo!==r.hasVideo?n:void 0}}}},{key:"feedbackLiveEdge",value:function(e,t){var a;this.currentSegments&&((null===(a=this.lastSegment)||void 0===a?void 0:a.sn)===e.sn?this.liveEdge=t:this.updateSegmentsRanges(e.sn+1,t))}}]),e}(),Ii=function(){function e(t){var a=this;Tt(this,e),It(this,"error",null),It(this,"_emitOnLoaded",(function(e,t){var r=e.data,n=e.response,i=e.options||{},c=i.firstByteTime,o=i.startTime,s=i.endTime,u=i.contentLength,d=s-o;a._bandwidthService.addRecord(u||r.byteLength,d),a.hls.emit(Qa.SPEED,{time:d,byteLength:u,url:t}),a.hls.emit(Qa.LOAD_COMPLETE,{url:t,elapsed:d||0}),a.hls.emit(Qa.TTFB,{url:t,responseUrl:n.url,elapsed:c-o}),a.hls.emit(Qa.LOAD_RESPONSE_HEADERS,{headers:n.headers,url:t})})),It(this,"_onLoaderRetry",(function(e,t){a.hls.emit(Qa.LOAD_RETRY,{error:Aa.network(e),retryTime:t})})),this.hls=t,this._bandwidthService=new fr,this._mapCache={},this._keyCache={};var r=this.hls.config,n=r.retryCount,i=r.retryDelay,c=r.loadTimeout,o=r.fetchOptions;this._segmentLoader=new ur(vt(vt({},o),{},{responseType:"arraybuffer",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry})),this._audioSegmentLoader=new ur(vt(vt({},o),{},{responseType:"arraybuffer",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry})),this._keyLoader=new ur(vt(vt({},o),{},{responseType:"arraybuffer",retry:n,retryDelay:i,timeout:c,onRetryError:this._onLoaderRetry}))}var t,a;return kt(e,[{key:"speedInfo",value:function(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}},{key:"load",value:function(e,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a,n=[];return e&&(n[0]=this.loadVideoSegment(e,a)),t&&(n[1]=this.loadAudioSegment(t,r)),Promise.all(n)}},{key:"loadVideoSegment",value:function(e,t){return this._loadSegment(this._segmentLoader,e,t)}},{key:"loadAudioSegment",value:function(e,t){return this._loadSegment(this._audioSegmentLoader,e,t)}},{key:"_loadSegment",value:(a=St(mt().mark((function e(t,a,r){var n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m=this;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return d=[],this.hls.emit(Qa.LOAD_START,{url:a.url}),d[0]=t.load(a.url),r&&a.initSegment&&(f=a.initSegment.url,(i=this._mapCache[f])||(this.hls.emit(Qa.LOAD_START,{url:f}),d[1]=t.load(f).then((function(e){e&&(Object.keys(m._mapCache)>30&&(m._mapCache={}),i=m._mapCache[f]=e.data,m._emitOnLoaded(e,f))}))),(l=null===(b=a.initSegment.key)||void 0===b?void 0:b.url)&&(u=a.initSegment.key.iv,(s=this._keyCache[l])||(this.hls.emit(Qa.LOAD_START,{url:l}),d[2]=this._keyLoader.load(l).then((function(e){e&&(s=m._keyCache[l]=e.data,m._emitOnLoaded(e,l))}))))),(h=null===(n=a.key)||void 0===n?void 0:n.url)&&a.key.isSegmentEncrypted()&&(o=a.key.iv,(c=this._keyCache[h])||(this.hls.emit(Qa.LOAD_START,{url:h}),d[3]=this._keyLoader.load(h).then((function(e){e&&(c=m._keyCache[h]=e.data,m._emitOnLoaded(e,h))})))),e.next=8,Promise.all(d);case 8:if(p=e.sent,y=Dt(p,1),g=y[0]){e.next=13;break}return e.abrupt("return");case 13:return v=g.data,this._emitOnLoaded(g,a.url),e.abrupt("return",{data:v,map:i,key:c,mapKey:s,keyIv:o,mapKeyIv:u});case 16:case"end":return e.stop()}}),e,this)}))),function(e,t,r){return a.apply(this,arguments)})},{key:"reset",value:function(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}},{key:"cancel",value:(t=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([this._keyLoader.cancel(),this._segmentLoader.cancel(),this._audioSegmentLoader.cancel()]);case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}(),Ri=new Ra("hls"),wi=function(e){Rt(g,e);var t,a,r,n,i,c,o,s,u,d,b,f,l,h,p,y=Pt(g);function g(e){var t,a,r;return Tt(this,g),It(Ot(t=y.call(this)),"version",g.version),It(Ot(t),"media",null),It(Ot(t),"config",null),It(Ot(t),"_manifestLoader",null),It(Ot(t),"_segmentLoader",null),It(Ot(t),"_playlist",null),It(Ot(t),"_bufferService",null),It(Ot(t),"_gapService",null),It(Ot(t),"_seiService",null),It(Ot(t),"_stats",null),It(Ot(t),"_prevSegSn",null),It(Ot(t),"_prevSegCc",null),It(Ot(t),"_tickTimer",null),It(Ot(t),"_tickInterval",500),It(Ot(t),"_segmentProcessing",!1),It(Ot(t),"_reloadOnPlay",!1),It(Ot(t),"_switchUrlOpts",null),It(Ot(t),"_isProcessQuotaExceeded",!1),It(Ot(t),"_loadSegment",St(mt().mark((function e(){var a,r,n,i,c,o,s,u;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t._segmentProcessing&&t.media){e.next=2;break}return e.abrupt("return");case 2:if(a=t._playlist,r=a.nextSegment,n=a.lastSegment,i=Ot(t),c=i.config,o=Math.min(Math.max((null==n?void 0:n.duration)-.008||0,.016),.1),r){e.next=8;break}return e.abrupt("return");case 8:if(t.isLive){e.next=18;break}if(s=t.bufferInfo(),t.media.paused&&!t.media.currentTime&&(s=t.bufferInfo(s.nextStart||.5)),u=Math.abs(s.end-t.media.duration)<o,!(s.remaining>=c.preloadTime||u)){e.next=15;break}return t._tryEos(),e.abrupt("return");case 15:if(!c.preferMMSStreaming||t._bufferService.msStreaming){e.next=17;break}return e.abrupt("return");case 17:!t._urlSwitching&&t._prevSegSn!==r.sn-1&&s.end&&Math.abs(r.start-s.end)>1&&t._playlist.setNextSegmentByIndex(t._playlist.findSegmentIndexByTime(s.end+.1));case 18:return e.abrupt("return",t._loadSegmentDirect());case 19:case"end":return e.stop()}}),e)})))),It(Ot(t),"_onLoadeddata",(function(){t.isLive&&!t.config.mseLowLatency&&t.media.duration!==1/0&&t._bufferService.updateDuration(1/0).catch((function(e){}))})),It(Ot(t),"_onPlay",St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.media.seeking||0!==t.media.currentTime){e.next=3;break}return Ri.debug("replay currentTime 0, return"),e.abrupt("return");case 3:if(clearTimeout(t._disconnectTimer),!t._reloadOnPlay){e.next=9;break}t._reloadOnPlay=!1,t.replay(!0),e.next=12;break;case 9:return e.next=11,t._loadSegment();case 11:t._startTick();case 12:case"end":return e.stop()}}),e)})))),It(Ot(t),"_onPause",(function(){if(t.isLive){if(!t._reloadOnPlay){var e=t.config.disconnectTime;if(null==e&&(e=t._playlist.dvrWindow),!Number.isFinite(e))return;clearTimeout(t._disconnectTimer),t._disconnectTimer=setTimeout((function(){t._reloadOnPlay=!0,t._clear()}),e||0)}}else t._stopTick()})),It(Ot(t),"_onSeeking",St(mt().mark((function e(){var a,r,n,i,c,o,s;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.media){e.next=2;break}return e.abrupt("return");case 2:if(t._onCheckQuotaExceeded(),a=t.media.currentTime,!(r=t._playlist.seekRange)){e.next=10;break}if(!((n=Si(a,r[0],t.isLive?r[1]:t.media.duration))>=0&&Math.abs(a-n)>=.1)){e.next=10;break}return t.media.currentTime=n,e.abrupt("return");case 10:if(i=t._playlist.currentSegment,c=sa.info(sa.get(t.media),a,.1),!i){e.next=17;break}if(!(c.end&&Math.abs(c.end-i.end)<.2)){e.next=15;break}return e.abrupt("return");case 15:if(!t.isLive||!c.end){e.next=17;break}return e.abrupt("return");case 17:if(o=t._playlist.findSegmentIndexByTime(a),s=t._playlist.getSegmentByIndex(o),null!=o&&s&&(!t._segmentProcessing||s!==t._playlist.nextSegment)){e.next=21;break}return e.abrupt("return");case 21:return Ri.debug("seek to",a,s),t._playlist.setNextSegmentByIndex(o),t._stopTick(),e.next=26,t._segmentLoader.cancel();case 26:if(t._segmentProcessing=!1,c.end&&!t.isLive){e.next=30;break}return e.next=30,t._loadSegmentDirect(!0);case 30:t._startTick();case 31:case"end":return e.stop()}}),e)})))),It(Ot(t),"_onTimeupdate",(function(){if(t.media){var e,a=t.config;if(a.isLive&&a.maxLatency&&a.targetLatency){var r=t._playlist.liveEdge;if(!r)return;var n=r-t.media.currentTime;n>=a.maxLatency&&(Ri.debug("latency jump, currentTime:".concat(t.media.currentTime,", liveEdge:").concat(r,", latency=").concat(n)),t.media.currentTime=r-a.targetLatency)}a.seiInTime&&(null===(e=t._seiService)||void 0===e||e.throw(t.media.currentTime)),a.allowedStreamTrackChange&&!a.softDecode&&t.media.readyState&&t._checkStreamTrackChange(t.media.currentTime)}})),It(Ot(t),"_tick",(function(){if(t.media){t._startTick();var e=t.media,a=t._segmentLoader.error;t._onCheckQuotaExceeded(),t._isProcessQuotaExceeded&&(t._bufferService.isFull()||(t._isProcessQuotaExceeded=!1,t._segmentProcessing=!1)),a?(!e.readyState||t.bufferInfo(.5).remaining<1)&&(a.fatal=!0,t._emitError(Aa.network(a))):(e.readyState&&(!(r=e)||r.paused||r.ended||0===r.playbackRate||0===r.readyState?e.readyState<2&&t._gapService&&t._gapService.do(e,t.config.maxJumpDistance,!e.currentTime||t.isLive):(t._loadSegment(),t._gapService&&t._gapService.do(e,t.config.maxJumpDistance,t.isLive))),t.isLive||t._tryEos())}var r})),t.config=(r=(null==(a=e)?void 0:a.media)||document.createElement("video"),e=vt(vt({maxPlaylistSize:50,retryCount:3,retryDelay:1e3,pollRetryCount:2,loadTimeout:1e4,manifestLoadTimeout:1e4,preloadTime:30,softDecode:!1,bufferBehind:10,maxJumpDistance:3,startTime:0,useLowLatency:!0,targetLatency:10,maxLatency:20,allowedStreamTrackChange:!0,seiInTime:!1,manifestList:[],minSegmentsStartPlay:3,preferMMS:!1,preferMMSStreaming:!1,mseLowLatency:!0,fixerConfig:{forceFixLargeGap:!1,largeGapThreshold:5}},a),{},{media:r})),t.media=t.config.media,t._manifestLoader=new Ei(Ot(t)),t._segmentLoader=new Ii(Ot(t)),t._playlist=new ki(Ot(t)),t._bufferService=new Xn(Ot(t)),e.seiInTime&&(t._seiService=new br(Ot(t))),e.softDecode||(t._gapService=new dr),t._stats=new hr(Ot(t),9e4),t.media.addEventListener("loadeddata",t._onLoadeddata),t.media.addEventListener("play",t._onPlay),t.media.addEventListener("pause",t._onPause),t.media.addEventListener("seeking",t._onSeeking),t.media.addEventListener("timeupdate",t._onTimeupdate),t}return kt(g,[{key:"isLive",get:function(){return this._playlist.isLive}},{key:"streams",get:function(){return this._playlist.streams}},{key:"currentStream",get:function(){return this._playlist.currentStream}},{key:"hasSubtitle",get:function(){return this._playlist.hasSubtitle}},{key:"totalDuration",get:function(){return this._playlist.totalDuration}},{key:"baseDts",get:function(){var e;return null===(e=this._bufferService)||void 0===e?void 0:e.baseDts}},{key:"abrSwitchPoint",get:function(){var e=this._urlSwitching?this._playlist.currentSegment:this._playlist.nextSegment;return e?e.start+e.duration/2:null}},{key:"speedInfo",value:function(){return this._segmentLoader.speedInfo()}},{key:"bufferInfo",value:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return sa.info(sa.get(this.media),null===(e=this.media)||void 0===e?void 0:e.currentTime,t)}},{key:"getStats",value:function(){return this._stats.getStats()}},{key:"playbackQuality",value:function(){return function(e){if(!e)return{};if("function"==typeof e.getVideoPlaybackQuality){var t=e.getVideoPlaybackQuality();return{droppedVideoFrames:t.droppedVideoFrames||t.corruptedVideoFrames,totalVideoFrames:t.totalVideoFrames,creationTime:t.creationTime}}return{droppedVideoFrames:e.webkitDroppedFrameCount,totalVideoFrames:e.webkitDecodedFrameCount,creationTime:performance.now()}}(this.media)}},{key:"load",value:(p=St(mt().mark((function e(){var t,a,r,n=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.length>0&&void 0!==n[0]?n[0]:"",r="boolean"==typeof(a=n.length>1&&void 0!==n[1]?n[1]:{})?a:!(null==a||!a.reuseMse),"object"===_t(a)&&null!=a&&a.clearSwitchStatus&&(this._urlSwitching=!1,this._switchUrlOpts=null,this.config.startTime=void 0),t&&(this.config.url=t),t=this.config.url,e.next=8,this._reset(r);case 8:return e.next=10,this._loadData(t);case 10:this._startTick();case 11:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"_loadData",value:(h=St(mt().mark((function e(t){var a,r,n,i,c,o,s,u,d,b,f,l,h;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{t&&(t=t.trim())}catch(e){}if(t){e.next=3;break}throw this._emitError(new Aa(_a,Sa.OPTION,null,null,"m3u8 url is missing"));case 3:return e.next=5,this._loadM3U8(t);case 5:if(a=e.sent,r=this._playlist.currentStream,!this._urlSwitching){e.next=23;break}if(!this.isLive){e.next=14;break}n=this._playlist.setNextSegmentBySN(this._prevSegSn),Ri.log("segment nb=".concat(this._prevSegSn," index of ").concat(n," in the new playlist")),-1===n&&(this._prevSegCc=null,this._prevSegSn=null),e.next=23;break;case 14:if(0===r.bitrate&&null!==(i=this._switchUrlOpts)&&void 0!==i&&i.bitrate&&(r.bitrate=null===(s=this._switchUrlOpts)||void 0===s?void 0:s.bitrate),u="number"==typeof(null===(c=this._switchUrlOpts)||void 0===c?void 0:c.startTime)?null===(o=this._switchUrlOpts)||void 0===o?void 0:o.startTime:this._getSeamlessSwitchPoint(),this.config.startTime=u,d=this._playlist.findSegmentIndexByTime(u),!(b=this._playlist.getSegmentByIndex(d+1))){e.next=23;break}return f=b.start,e.next=23,this._bufferService.removeBuffer(f);case 23:if(a){e.next=25;break}return e.abrupt("return");case 25:if(!this.isLive){e.next=36;break}if(this._bufferService.setLiveSeekableRange(0,4294967295),Ri.log("totalDuration first time got:",this._playlist.totalDuration),Ri.log("nb segments got:",this._playlist.nbSegments),this.config.targetLatency<this._playlist.totalDuration&&(this.config.targetLatency=this._playlist.totalDuration,this.config.maxLatency=1.5*this.config.targetLatency),a.isMaster||this._pollM3U8(t),!(this._playlist.nbSegments<this.config.minSegmentsStartPlay)){e.next=33;break}return e.abrupt("return");case 33:return e.next=35,this._loadSegment();case 35:return e.abrupt("return");case 36:return e.next=38,this._bufferService.updateDuration(r.totalDuration);case 38:return(l=this.config.startTime)&&(null!==(h=this._switchUrlOpts)&&void 0!==h&&h.seamless||(this.media.currentTime=l),this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(l)||0)),e.next=42,this._loadSegment();case 42:case"end":return e.stop()}}),e,this)}))),function(e){return h.apply(this,arguments)})},{key:"replay",value:(l=St(mt().mark((function e(t){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.config.startTime=0,this._urlSwitching=!1,this._switchUrlOpts=null,e.next=5,this.load();case 5:return this._reloadOnPlay=!1,e.abrupt("return",this.media.play(!t));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"switchURL",value:(f=St(mt().mark((function e(t){var a,r,n,i,c,o,s,u=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=u.length>1&&void 0!==u[1]?u[1]:{},r={seamless:!1,startTime:0,bitrate:0},e.t0=_t(a),e.next="number"===e.t0?5:"boolean"===e.t0?7:"object"===e.t0?9:11;break;case 5:return a={startTime:a},e.abrupt("break",12);case 7:return a={seamless:a},e.abrupt("break",12);case 9:for(n in a)void 0!==a[n]&&null!==a[n]||delete a[n];return e.abrupt("break",12);case 11:throw"unsupported switchURL args: ".concat(a);case 12:if(a=Object.assign({},r,a),c=(i=a).seamless,o=i.startTime,this.config.url=t,this.config.startTime=o,this._switchUrlOpts=a,c){e.next=38;break}if(e.prev=18,!this.config.softDecode){e.next=23;break}e.t1=this.load(t),e.next=26;break;case 23:return e.next=25,this.load(t);case 25:e.t1=e.sent;case 26:s=e.t1,e.next=33;break;case 29:throw e.prev=29,e.t2=e.catch(18),this.emit($n.SWITCH_URL_FAILED,e.t2),e.t2;case 33:return this._reloadOnPlay=!1,s&&this.emit($n.SWITCH_URL_SUCCESS,{url:t}),e.abrupt("return",this.media.play(!0));case 38:return this._urlSwitching=!0,this.isLive||(this._prevSegSn=null,this._prevSegCc=null),this._playlist.reset(),this._bufferService.seamlessSwitch(),e.next=44,this._clear();case 44:return e.next=46,this._loadData(t);case 46:this._startTick();case 47:this._switchUrlOpts=null;case 48:case"end":return e.stop()}}),e,this,[[18,29]])}))),function(e){return f.apply(this,arguments)})},{key:"switchStream",value:(b=St(mt().mark((function e(t){var a,r,n,i,c,o=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=!(o.length>1&&void 0!==o[1])||o[1],r=this.currentStream,n=this.streams,r&&r.id!==t&&n&&!(n.length<2)){e.next=5;break}return e.abrupt("return");case 5:if(i=n.find((function(e){return e.id===t}))){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,this._clear();case 11:if(!a){e.next=14;break}return e.next=14,this._bufferService.clearAllBuffer();case 14:e.next=19;break;case 16:throw e.prev=16,e.t0=e.catch(8),this._emitError(Aa.create(e.t0));case 19:if(r.currentAudioStream&&i.audioStreams.length>2&&(c=r.currentAudioStream.id,i.currentAudioStream=i.audioStreams.find((function(e){return e.id===c}))||i.currentAudioStream),this._playlist.currentStream=i,e.prev=21,!this.isLive&&i.segments.length){e.next=25;break}return e.next=25,this._refreshM3U8();case 25:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,e.next=29,this._loadSegmentDirect();case 29:e.next=35;break;case 31:throw e.prev=31,e.t1=e.catch(21),this._playlist.currentStream=r,e.t1;case 35:return this._startTick(),e.abrupt("return",i);case 37:case"end":return e.stop()}}),e,this,[[8,16],[21,31]])}))),function(e){return b.apply(this,arguments)})},{key:"switchAudioStream",value:(d=St(mt().mark((function e(t){var a,r,n,i,c=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=!(c.length>1&&void 0!==c[1])||c[1],r=this.currentStream){e.next=4;break}return e.abrupt("return");case 4:if((n=r.currentAudioStream)&&n.id!==t&&!(r.audioStreams.length<2)){e.next=7;break}return e.abrupt("return");case 7:if(i=r.audioStreams.find((function(e){return e.id===t}))){e.next=10;break}return e.abrupt("return");case 10:return e.prev=10,e.next=13,this._clear();case 13:if(!a){e.next=16;break}return e.next=16,this._bufferService.clearAllBuffer();case 16:e.next=21;break;case 18:throw e.prev=18,e.t0=e.catch(10),this._emitError(Aa.create(e.t0));case 21:if(r.currentAudioStream=i,e.prev=22,!this.isLive&&i.segments.length){e.next=26;break}return e.next=26,this._refreshM3U8();case 26:return this._playlist.setNextSegmentByIndex(this._playlist.findSegmentIndexByTime(this.media.currentTime)||0),this._prevSegCc=null,e.next=30,this._loadSegmentDirect();case 30:e.next=36;break;case 32:throw e.prev=32,e.t1=e.catch(22),r.currentAudioStream=n,e.t1;case 36:return this._startTick(),e.abrupt("return",i);case 38:case"end":return e.stop()}}),e,this,[[10,18],[22,32]])}))),function(e){return d.apply(this,arguments)})},{key:"switchSubtitleStream",value:(u=St(mt().mark((function e(t){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._playlist.switchSubtitle(t),e.next=3,this._manifestLoader.stopPoll();case 3:return e.next=5,this._refreshM3U8();case 5:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"detachMedia",value:(s=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._bufferService){e.next=3;break}return e.next=3,this._bufferService.detachMedia();case 3:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"destroy",value:(o=St(mt().mark((function e(){var t;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.media){e.next=2;break}return e.abrupt("return");case 2:return this.removeAllListeners(),this._playlist.reset(),this._segmentLoader.reset(),null===(t=this._seiService)||void 0===t||t.reset(),this.media.removeEventListener("loadeddata",this._onLoadeddata),this.media.removeEventListener("play",this._onPlay),this.media.removeEventListener("pause",this._onPause),this.media.removeEventListener("seeking",this._onSeeking),this.media.removeEventListener("timeupdate",this._onTimeupdate),e.next=13,Promise.all([this._clear(),this._bufferService.destroy()]);case 13:this.media=null;case 14:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"_loadM3U8",value:(c=St(mt().mark((function e(t){var a,r,n,i,c,o,s;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(i=null===(r=this.config.manifestList)||void 0===r||null===(n=r.filter((function(e){return e.url===t}))[0])||void 0===n?void 0:n.manifest)){e.next=6;break}e.t0=this._manifestLoader.parseText(i,t),e.next=9;break;case 6:return e.next=8,this._manifestLoader.load(t);case 8:e.t0=e.sent;case 9:c=e.t0,o=Dt(c,1),a=o[0],e.next=17;break;case 14:throw e.prev=14,e.t1=e.catch(0),this._emitError(Aa.create(e.t1));case 17:if(a){e.next=19;break}return e.abrupt("return");case 19:if(this._playlist.upsertPlaylist(a),!a.isMaster){e.next=24;break}return null!==(s=this._playlist.currentStream.subtitleStreams)&&void 0!==s&&s.length&&this.emit($n.SUBTITLE_PLAYLIST,{list:this._playlist.currentStream.subtitleStreams}),e.next=24,this._refreshM3U8();case 24:return this.emit($n.STREAM_PARSED),e.abrupt("return",a);case 26:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e){return c.apply(this,arguments)})},{key:"_refreshM3U8",value:function(){var e,t,a=this,r=this._playlist.currentStream;if(!r||!r.url)throw this._emitError(Aa.create(null,null,new Error("m3u8 url is not defined")));var n=r.url,i=null===(e=r.currentAudioStream)||void 0===e?void 0:e.url,c=null===(t=r.currentSubtitleStream)||void 0===t?void 0:t.url;return this._manifestLoader.load(n,i,c).then((function(e){var t=Dt(e,3),r=t[0],o=t[1],s=t[2];r&&(a._playlist.upsertPlaylist(r,o,s),a.isLive&&a._pollM3U8(n,i,c))})).catch((function(e){throw a._emitError(Aa.create(e))}))}},{key:"_pollM3U8",value:function(e,t,a){var r,n,i=this,c=this._playlist.isEmpty;r=this._playlist.lowLatency?1e3*(this._playlist.currentStream.partTargetDuration||0):1e3*((null===(n=this._playlist.lastSegment)||void 0===n?void 0:n.duration)||0),this._manifestLoader.poll(e,t,a,(function(e,t,a){i._playlist.upsertPlaylist(e,t,a),i._playlist.clearOldSegment(),(e&&c&&!i._playlist.isEmpty||!i._playlist.hadSegmentLoaded&&i._playlist.nbSegments>=i.config.minSegmentsStartPlay)&&i._loadSegment(),c&&(c=i._playlist.isEmpty)}),(function(e){i._emitError(Aa.create(e))}),r)}},{key:"_loadSegmentDirect",value:(i=St(mt().mark((function e(t){var a,r,n,i,c,o;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=this._playlist.nextSegment){e.next=3;break}return e.abrupt("return");case 3:return r=!1,n=null,e.prev=5,this._segmentProcessing=!0,Ri.log("load segment, sn:".concat(a.sn,", [").concat(a.start,", ").concat(a.end,"], partIndex:").concat(a.partIndex)),e.next=10,this._reqAndBufferSegment(a,this._playlist.getAudioSegment(a));case 10:r=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(5),n=e.t0;case 16:return e.prev=16,this._segmentProcessing=!1,e.finish(16);case 19:if(!n){e.next=26;break}if(!this._bufferService.isFull()){e.next=25;break}return Ri.log("load segment, sn:".concat(a.sn,", partIndex:").concat(a.partIndex)),this._segmentProcessing=!0,this._isProcessQuotaExceeded=!0,e.abrupt("return",!1);case 25:return e.abrupt("return",this._emitError(Aa.create(n)));case 26:return r&&(c=this.bufferInfo().end,this.isLive&&!this.media.seeking&&c&&Math.abs(a.end-c)>1&&(Ri.warn("segment: ".concat(a.sn," expected end=").concat(a.end,", real end=").concat(c)),this._playlist.feedbackLiveEdge(a,c)),o=(null===(i=this._playlist.currentStream)||void 0===i?void 0:i.url)===a.parentUrl,this._urlSwitching&&!o&&(Ri.warn("pre playlist segment appended!"),this._bufferService.seamlessSwitch()),this.isLive&&this._urlSwitching&&o&&(this._urlSwitching=!1,this.emit($n.SWITCH_URL_SUCCESS,{url:this.config.url})),this._playlist.moveSegmentPointer(),a.isLast?this._end():t||this._loadSegment()),e.abrupt("return",r);case 28:case"end":return e.stop()}}),e,this,[[5,13,16,19]])}))),function(e){return i.apply(this,arguments)})},{key:"_reqAndBufferSegment",value:(n=St(mt().mark((function e(t,a){var r,n,i,c,o,s,u,d,b,f,l;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t?t.cc:a.cc,i=this._prevSegCc!==n,c=[],e.prev=3,e.next=6,this._segmentLoader.load(t,a,i);case 6:c=e.sent,e.next=14;break;case 9:throw e.prev=9,e.t0=e.catch(3),e.t0.fatal=!1,this._segmentLoader.error=e.t0,e.t0;case 14:if(c[0]){e.next=16;break}return e.abrupt("return");case 16:return e.next=18,(r=this._bufferService).decryptBuffer.apply(r,Lt(c));case 18:if(o=e.sent){e.next=21;break}return e.abrupt("return");case 21:return s=t?t.sn:a.sn,u=t?t.start:a.start,d=this._playlist.currentStream,this._bufferService.createSource(o[0],o[1],null==d?void 0:d.videoCodec,null==d?void 0:d.audioCodec),b=Date.now(),f=this._prevSegSn===s-1,this.isLive&&this._urlSwitching&&(l=this.bufferInfo().end,this._playlist.updateSegmentsRanges(s,l),Ri.warn("update the new playlist liveEdge, segment id=".concat(s,", buffer start=").concat(l,", liveEdge=").concat(this._playlist.liveEdge)),u=l),e.next=30,this._bufferService.appendBuffer(t,a,o[0],o[1],i,f,u);case 30:return this.emit($n.APPEND_COST,{elapsed:Date.now()-b,url:t.url}),e.next=33,this._bufferService.evictBuffer(this.config.bufferBehind);case 33:return this._prevSegCc=n,this._prevSegSn=s,e.abrupt("return",!0);case 36:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e,t){return n.apply(this,arguments)})},{key:"_onCheckQuotaExceeded",value:(r=St(mt().mark((function e(){var t,a,r,n,i,c;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=this.media.currentTime,a=this.media.buffered,r=!1,n=0;case 4:if(!(n<a.length)){e.next=11;break}if(!(a.start(0)>=t&&t<a.end(n))){e.next=8;break}return r=!0,e.abrupt("break",11);case 8:n++,e.next=4;break;case 11:if(!this._bufferService.isFull()){e.next=17;break}if(i=r?this.config.bufferBehind:5,!((c=this.media.currentTime)-i>0)){e.next=17;break}return e.next=17,this._bufferService.removeBuffer(0,c-i);case 17:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_checkStreamTrackChange",value:function(e){var t=this._playlist.checkSegmentTrackChange(e,this._bufferService.nbSb);t&&this.switchURL(this.config.url,t.start+.2)}},{key:"_clear",value:(a=St(mt().mark((function e(){return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return clearTimeout(this._disconnectTimer),this._stopTick(),e.next=4,Promise.all([this._segmentLoader.cancel(),this._manifestLoader.stopPoll()]);case 4:this._segmentProcessing=!1;case 5:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"_reset",value:(t=St(mt().mark((function e(){var t,a,r=arguments;return mt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=r.length>0&&void 0!==r[0]&&r[0],this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._playlist.reset(),this._segmentLoader.reset(),null===(t=this._seiService)||void 0===t||t.reset(),this._stats.reset(),e.next=11,this._clear();case 11:return e.abrupt("return",this._bufferService.reset(a));case 12:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_end",value:function(){this._clear(),this._bufferService.endOfStream(),(this.media.readyState<=2||this.media.buffered.length>1)&&this._startTick()}},{key:"_stopTick",value:function(){this._tickTimer&&clearTimeout(this._tickTimer),this._tickTimer=null}},{key:"_startTick",value:function(){this._stopTick(),this._tickTimer=setTimeout(this._tick,this._tickInterval)}},{key:"_emitError",value:function(e){var t,a,r,n,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!1===(null===(t=e.originError)||void 0===t?void 0:t.fatal)?Ri.warn(e):(Ri.table(e),Ri.error(e),Ri.error(null===(a=this.media)||void 0===a?void 0:a.error),null!==(r=this.media)&&void 0!==r&&r.readyState&&this.media.pause(),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit($n.SWITCH_URL_FAILED,e)),this.emit($n.ERROR,e),i&&this._end(),null===(n=this._seiService)||void 0===n||n.reset()),e}},{key:"_getSeamlessSwitchPoint",value:function(){var e=this.media,t=e.currentTime;if(!e.paused){var a,r=this._playlist.findSegmentIndexByTime(e.currentTime),n=this._playlist.getSegmentByIndex(r),i=null===(a=this._stats)||void 0===a?void 0:a.getStats().downloadSpeed;t+=i&&n?n.duration*this._playlist.currentStream.bitrate/i+1:5}return t}},{key:"_tryEos",value:function(){var e,t,a=this.media,r=this._playlist,n=r.nextSegment,i=r.lastSegment;if((!n||i&&sa.isBuffered(a,i.start+i.duration/2))&&a.readyState&&a.duration>0&&(null===(e=this._bufferService)||void 0===e?void 0:e.msIsOpened)&&(null===(t=this._bufferService)||void 0===t||!t.msHasOpTasks)){var c=this.bufferInfo();a.paused&&!a.currentTime&&(c=this.bufferInfo(c.nextStart||.5)),(Math.abs(c.end-a.duration)<.1||!this.isLive&&i&&c.end>=i.start+i.duration)&&this._bufferService.endOfStream()}}}],[{key:"isSupported",value:function(e){return e&&"video"!==e&&"audio"!==e?"undefined"!=typeof WebAssembly:Fa.isSupported()}},{key:"enableLogger",value:function(){Ra.enable(),Jr.enable()}},{key:"disableLogger",value:function(){Ra.disable(),Jr.disable()}}]),g}(tr);It(wi,"version","3.0.21");try{localStorage.getItem("xgd")?wi.enableLogger():wi.disableLogger()}catch(e){}var Ci=function(){function e(t,a){var r=this;Tt(this,e),It(this,"_opts",null),It(this,"_plugin",null),It(this,"_onLowDecode",(function(){var e,t,a,n,i=r._opts,c=i.media,o=i.innerDegrade;null===(e=r._plugin)||void 0===e||null===(t=e.player)||void 0===t||t.emit("lowdecode",c.degradeInfo),null===(a=r._plugin)||void 0===a||null===(n=a.player)||void 0===n||n.emit("core_event",vt(vt({},c.degradeInfo),{},{eventName:$n.LOWDECODE})),1===o&&r._degrade(c.src)})),It(this,"_degrade",(function(e){var t=r._plugin.player,a=t.video;if(!a||"MVideo"===a.TAG){var n=t.video.degradeVideo;t.video=n,a.degrade(e),e&&(t.config.url=e);var i=t.root.firstChild;"MVideo"===i.TAG&&t.root.replaceChild(n,i);var c=r._plugin.constructor.pluginName.toLowerCase();t.unRegisterPlugin(c),t.once("canplay",(function(){t.play()}))}})),It(this,"forceDegradeToVideo",(function(e){1===r._opts.innerDegrade&&r._degrade(e)})),this._opts=t,this._plugin=a,this._init()}return kt(e,[{key:"_init",value:function(){var e=this._opts,t=e.media,a=e.preloadTime,r=e.innerDegrade,n=e.isLive;t&&(n||!t.setPlayMode?(r&&t.setAttribute("innerdegrade",r),a&&t.setAttribute("preloadtime",a),this._bindEvents()):t.setPlayMode("VOD"))}},{key:"_bindEvents",value:function(){this._opts.media.addEventListener("lowdecode",this._onLowDecode)}},{key:"destroy",value:function(){var e,t;null===(e=this._opts)||void 0===e||null===(t=e.media)||void 0===t||t.removeEventListener("lowdecode",this._onLowDecode),this._plugin=null}}]),e}(),xi=["currentTime"];function Oi(e,t){var a={startTime:t.player.currentTime};switch(_t(e)){case"boolean":a.seamless=e;break;case"object":var r=e.currentTime,n=xt(e,xi);Object.assign(a,n),"number"==typeof r&&(a.startTime=r)}return a}var Pi=function(e){Rt(a,e);var t=Pt(a);function a(){var e;Tt(this,a);for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return It(Ot(e=t.call.apply(t,[this].concat(n))),"logger",Ri),It(Ot(e),"hls",null),It(Ot(e),"pluginExtension",null),It(Ot(e),"getStats",(function(){var t;return null===(t=e.hls)||void 0===t?void 0:t.getStats()})),It(Ot(e),"_onSwitchSubtitle",(function(t){var a,r=t.lang;null===(a=e.hls)||void 0===a||a.switchSubtitleStream(r)})),It(Ot(e),"_keepPauseStatus",(function(){e.player.paused&&e.player.once("canplay",(function(){e.player.pause()}))})),e}return kt(a,[{key:"core",get:function(){return this.hls}},{key:"version",get:function(){var e;return null===(e=this.hls)||void 0===e?void 0:e.version}},{key:"softDecode",get:function(){var e,t,a=null===(e=this.player)||void 0===e||null===(t=e.config)||void 0===t?void 0:t.mediaType;return!!a&&"video"!==a&&"audio"!==a&&"offscreen-video"!==a}},{key:"beforePlayerInit",value:function(){var e=this,t=this.player.config,a=this.player.media||this.player.video,r=t.hls||{};if((t.url||t.__allowHlsEmptyUrl__)&&(this.softDecode||r.preferMMS||!Fa.isMMSOnly())){this.hls&&this.hls.destroy();var n=Object.getOwnPropertyDescriptor(this.player,"switchURL");n&&!n.writable||(this.player.switchURL=function(t,a){return new Promise((function(r,n){var i=e.player,c=e.hls;if(c){var o,s,u=Oi(a,e);i.config.url=t,c.switchURL(t,u).then((function(){return r(!0)})).catch(n),!u.seamless&&null!==(o=e.player.config)&&void 0!==o&&null!==(s=o.hls)&&void 0!==s&&s.keepStatusAfterSwitch&&e._keepPauseStatus()}else n()}))});var i,c=this.player.switchURL;this.player.handleSource=!1,r.innerDegrade=r.innerDegrade||t.innerDegrade,null!==r.disconnectTime&&void 0!==r.disconnectTime||(r.disconnectTime=0),this.hls=new wi(vt({softDecode:this.softDecode,isLive:t.isLive,media:a,startTime:t.startTime,url:t.url},r)),this.softDecode||fe.BasePlugin.defineGetterOrSetter(this.player,{url:{get:function(){var t,a;return null===(t=e.hls)||void 0===t||null===(a=t.media)||void 0===a?void 0:a.src},configurable:!0}}),this.softDecode&&(this.pluginExtension=new Ci(vt({isLive:t.isLive,media:a},r),this),this.player.forceDegradeToVideo=function(){for(var t,a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return null===(t=e.pluginExtension)||void 0===t?void 0:t.forceDegradeToVideo.apply(t,r)}),t.isLive&&(null===(i=this.player)||void 0===i||i.useHooks("replay",(function(){var t;return null===(t=e.hls)||void 0===t?void 0:t.replay()}))),this.on(fe.Events.URL_CHANGE,c),this.on(fe.Events.SWITCH_SUBTITLE||"switch_subtitle",this._onSwitchSubtitle),this.on(fe.Events.DESTROY,this.destroy.bind(this)),this._transError(),this._transCoreEvent(Qa.TTFB),this._transCoreEvent(Qa.LOAD_START),this._transCoreEvent(Qa.LOAD_RESPONSE_HEADERS),this._transCoreEvent(Qa.LOAD_COMPLETE),this._transCoreEvent(Qa.LOAD_RETRY),this._transCoreEvent(Qa.SOURCEBUFFER_CREATED),this._transCoreEvent(Qa.MEDIASOURCE_OPENED),this._transCoreEvent(Qa.APPEND_BUFFER),this._transCoreEvent(Qa.REMOVE_BUFFER),this._transCoreEvent(Qa.BUFFEREOS),this._transCoreEvent(Qa.KEYFRAME),this._transCoreEvent(Qa.METADATA_PARSED),this._transCoreEvent(Qa.DEMUXED_TRACK),this._transCoreEvent(Qa.SEI),this._transCoreEvent(Qa.SEI_IN_TIME),this._transCoreEvent(Qa.SPEED),this._transCoreEvent(Qa.HLS_MANIFEST_LOADED),this._transCoreEvent(Qa.HLS_LEVEL_LOADED),this._transCoreEvent(Qa.STREAM_EXCEPTION),this._transCoreEvent(Qa.SWITCH_URL_SUCCESS),this._transCoreEvent(Qa.SWITCH_URL_FAILED),this._transCoreEvent($n.NO_AUDIO_TRACK),this._transCoreEvent($n.STREAM_PARSED),this._transCoreEvent($n.SUBTITLE_SEGMENTS),this._transCoreEvent($n.SUBTITLE_PLAYLIST),this._transCoreEvent($n.APPEND_COST),t.url&&this.hls.load(t.url,{reuseMse:!0}).catch((function(e){}))}}},{key:"destroy",value:function(){var e;this.hls&&(this.hls.destroy(),this.hls=null),null===(e=this.pluginExtension)||void 0===e||e.destroy(),this.pluginExtension=null}},{key:"_transError",value:function(){var e=this;this.hls.on($n.ERROR,(function(t){e.player&&e.player.emit(fe.Events.ERROR,new fe.Errors(e.player,t))}))}},{key:"_transCoreEvent",value:function(e){var t=this;this.hls.on(e,(function(a){t.player&&(t.player.emit("core_event",vt(vt({},a),{},{eventName:e})),e===Qa.SEI_IN_TIME&&t.hls.hasSubtitle&&t._emitSeiPaylodTime(a))}))}},{key:"_emitSeiPaylodTime",value:function(e){try{var t=JSON.parse(Array.from(e.data.payload).map((function(e){return String.fromCharCode(e)})).join("").slice(0,-1));if(!t.rtmp_dts)return;this.player.emit("core_event",{eventName:$n.SEI_PAYLOAD_TIME,time:t.rtmp_dts})}catch(e){}}}],[{key:"pluginName",get:function(){return"hls"}},{key:"isSupported",value:function(e,t){return wi.isSupported(e,t)}}]),a}(fe.BasePlugin);It(Pi,"Hls",wi),It(Pi,"EVENT",$n);const Di="4.1.13-rc.1";var Li,qi=((Li=qi||{}).GetKeyByKeyTokenFail="Get key by keyToken fail",Li),Ni=function(e){return e[e.KDS=0]="KDS",e[e.DRM=1]="DRM",e}(Ni||{});function Mi(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=window.MediaSource=window.MediaSource||(e?window.ManagedMediaSource:void 0)||window.WebKitMediaSource;return t&&"function"==typeof t.isTypeSupported}function Ui(e,t,a,r){e.once(r,(function n(){e.off(t,a),e.off(r,n)}))}var Fi={getBrowserVersion:function(){var e=navigator.userAgent;if(e.toLowerCase().indexOf("mobile")>-1)return"Unknown";function t(t){return((e.match(t)||[""])[0].match(/[\d]+/)||["0"])[0]}if(e.indexOf("Firefox")>-1)return"Firefox ".concat(t(/firefox\/[\d.]+/gi));if(e.indexOf("Edge")>-1)return"Edge ".concat(t(/edge\/[\d.]+/gi));if(e.indexOf("rv:11")>-1)return"IE 11";if(e.indexOf("Opera")>-1||e.indexOf("OPR")>-1){if(e.indexOf("Opera")>-1)return"Opera ".concat(t(/opera\/[\d.]+/gi));if(e.indexOf("OPR")>-1)return"Opera ".concat(t(/opr\/[\d.]+/gi))}else{if(e.indexOf("Chrome")>-1)return"Chrome ".concat(t(/chrome\/[\d.]+/gi));if(e.indexOf("Safari")>-1)return"Safari ".concat(t(/safari\/[\d.]+/gi));if(!(e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1))return"Unknown";if(e.indexOf("MSIE")>-1)return"IE ".concat(t(/msie [\d.]+/gi));if(e.indexOf("Trident")>-1){var a=t(/trident\/[\d.]+/gi),r=parseInt(a)+4;return"IE ".concat(r)}}},parseUrl:function(e){var t=e.split("?")[1],a={};return t&&t.split("&").forEach((function(e){var t=e.split("=");a[t[0]]=decodeURIComponent(t[1])})),a},isBase64:function(e){return/^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$/.test(e)},isRelativeURL:function(e){return/^:?\/\//i.test(e)},isMobile:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=!1;return navigator.userAgent.toLocaleLowerCase().indexOf("ipad")>-1?(navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform||!Mi(e))&&(t=!0):navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform&&!Mi(e)&&(t=!0),t},checkMediaSourceSupport:Mi,getAbsoluteURL:function(e){var t=new Image;return t.src=e,t.src},offInDestroy:Ui,on:function(e,t,a,r){if(r)e.on(t,a),Ui(e,t,a,r);else{var n=function(a){n(a),e.off(t,n)};e.on(t,n)}},once:function(e,t,a,r){if(r)e.once(t,a),Ui(e,t,a,r);else{var n=function(a){n(a),e.off(t,n)};e.once(t,n)}}};function ji(e){var t=e.url,a=e.method,r=void 0===a?"GET":a,n=e.type,i=e.timeout,c=void 0===i?1e4:i,o=e.body,s=e.xhrSetup,u=e.cache,d=void 0===u||u;return new Promise((function(e,a){var i=new window.XMLHttpRequest;if("GET"!==(r=r.toUpperCase())&&"POST"!==r)throw new Error("XHR ".concat(r," is not allowed"));if(n&&(i.responseType=n),c&&(i.timeout=c),i.onload=function(){200===i.status||206===i.status?e(i):a(i)},i.onerror=function(){a(i)},i.ontimeout=function(){a(i)},i.onabort=function(){a(i)},"GET"===r&&!d){var u=/\?/gi.test(t)?"&":"?";t+="".concat(u,"_=").concat((new Date).getTime())}if(i.open(r,"".concat(t),!0),s)try{s(i,t)}catch(e){console.error("xhr setup failure: ".concat((null==e?void 0:e.stack)||(null==e?void 0:e.message)))}switch(r){case"POST":"text"===n&&i.setRequestHeader("Content-type","application/x-www-form-urlencoded"),i.send(o);break;case"GET":i.send()}}))}var Bi=Fi.getBrowserVersion();function Hi(e){return Gi.apply(this,arguments)}function Gi(){return Gi=pe(Ce().mark((function e(t){var a,r,n,i,c=arguments;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=c.length>1&&void 0!==c[1]?c[1]:{},e.prev=1,n=a.payload?JSON.stringify(a.payload):void 0,i=/^blob:/.test(t),"IE 11"===Bi){e.next=10;break}return e.next=7,ji({url:t,type:a.type||"text",cache:i,body:n,method:a.method});case 7:r=e.sent,e.next=13;break;case 10:return e.next=12,new Promise((function(e,r){var i=new XMLHttpRequest;a.type&&(i.responseType=a.type),i.open(a.method||"get",t),i.send(n),i.onload=function(){200===i.status||206===i.status?e(i):r(i.status)}}));case 12:r=e.sent;case 13:e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),console.error("error",e.t0);case 18:return e.abrupt("return",r);case 19:case"end":return e.stop()}}),e,null,[[1,15]])}))),Gi.apply(this,arguments)}function $i(e,t){return Vi.apply(this,arguments)}function Vi(){return(Vi=pe(Ce().mark((function e(t,a){var r,n,i,c,o,s,u,d,b,f,l;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.config,n=t.isNativeMode,i=a.url,c="",e.next=5,Hi(i);case 5:if(!(o=e.sent)){e.next=28;break}if(e.prev=7,s=JSON.parse(o.responseText),"TOP"!==r.getKeyType){e.next=13;break}c=s.Result.SecretKey,e.next=23;break;case 13:if(!n){e.next=22;break}if(u=He(s.data)){e.next=17;break}throw new Error("parse key data failed");case 17:d=u.encData,b=u.key,f=u.iv,l=Fe(d,b,f),c=window.btoa(l),e.next=23;break;case 22:c=window.btoa(s.data);case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),c=Fi.isBase64(o.responseText)?o.responseText:window.btoa(o.responseText);case 28:return e.abrupt("return",c);case 29:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}function zi(e,t){return Wi.apply(this,arguments)}function Wi(){return(Wi=pe(Ce().mark((function e(t,a){var r;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=void 0,e.t0=a.system,e.next=e.t0===Ni.KDS?4:8;break;case 4:return e.next=6,$i(t,a);case 6:return r=e.sent,e.abrupt("break",9);case 8:console.error("wrong key system:",a.system);case 9:return e.abrupt("return",r);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ki(e,t){return Yi.apply(this,arguments)}function Yi(){return(Yi=pe(Ce().mark((function e(t,a){var r,n,i,c,o,s,u,d,b;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.config,n={},e.next=4,ji({url:t,xhrSetup:function(e){r.netAllowCredentials&&(e.withCredentials=!0)}});case 4:return i=e.sent,(c=i.responseText).match(/#EXT-X-KEY:(\w+=\w+)+/)&&(o=c.match(/,URI="([^"]+)"/),s=o?o[1]:"",null!=(u=Fi.parseUrl(s))&&u.ak&&("TOP"===r.getKeyType?(d=/^https?:/.test(r.playDomain)?r.playDomain:"//".concat((r.playDomain||"").replace(/^\/\//gi,"")),b=Fi.isBase64(r.keyToken)?window.atob(r.keyToken):r.keyToken,s="".concat(d,"?").concat(b,"&Source=jarvis&Ak=").concat(u.ak)):s="".concat(r.keyDomain||"","/kds/api/v3/keys?source=jarvis&ak=").concat(u.ak,"&token=").concat(r.keyToken||"")),n.keyUrl=s,n.responseText=c),e.abrupt("return",n);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xi(){Promise.withResolvers||(Promise.withResolvers=function(){var e={};return e.promise=new Promise((function(t,a){e.resolve=t,e.reject=a})),e})}var Ji=_e((function e(){ge(this,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 a=Date.now(),r=Math.max(16.7-(a-e),0),n=setTimeout(t,r);return e=a+r,n}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}]),Zi=_e((function e(){ge(this,e),this.fps=0,this.isStoped=!0,this.ticks=[],this.isSupport=!0,this.maxFps=0,this.step=this._step.bind(this),this.rafId=null}),[{key:"_step",value:function(e){var t=this.ticks;if(t.unshift(e),t.length>10){var a=t.pop();a&&(this.fps=Math.floor(1e4/(e-a)),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(){Ji.install()}}]),Qi=ec&&!function(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(e){return!0}}();function ec(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}var tc={length:Qi?localStorage.length:0,clear:function(e){try{for(var t=localStorage.length-1;t>=0;t--){var a=localStorage.key(t);0===a.indexOf(e)&&localStorage.removeItem(a)}}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:Qi},ac=_e((function e(){var t,a;ge(this,e);var r=new Promise((function(e,r){t=e,a=r}));return r.resolve=t,r.reject=a,r}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]);!function(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(n=40;n<s+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var u=s+40,d=parseInt(e.slice(u,u+4),16);for(u+=4,n=0;n<d;++n){var b=r(e,u);u+=2*b[0];for(var f=0;f<b[1];++f){var l=r(e,u);String.fromCharCode(i^l[1]),u+=2*l[0]}}t.p=null,function e(t,a,r,n,i){var o,s,u,d,b,f=-1,l=[],h=null,p=[a];for(s=Math.min(a.length,r),u=0;u<s;++u)p.push(a[u]);p.p=n;for(var y=[];;)try{switch(c[t++]){case 22:l[++f]=null;break;case 48:l[++f]=void 0;break;case 33:for(s=c[t++],u=c[t++],d=p;s>0;--s)d=d.p;l[++f]=d[u];break;case 12:for(s=l[f--],u=null;d=y.pop();)if(2===d[0]||3===d[0]){u=d;break}if(u)t=u[2],u[0]=0,y.push(u);else{if(!h)return s;t=h[1],i=h[2],p=h[3],y=h[4],l[++f]=s,h=h[0]}break;case 74:f-=o=c[t++],u=l.slice(f+1,f+o+1),s=l[f--],d=l[f--],s._u===e?(s=s._v,h=[h,t,i,p,y],t=s[0],null==d&&(d=function(){return this}()),i=d,(p=[u].concat(u)).length=Math.min(s[1],o)+1,p.p=s[2],y=[]):(b=s.apply(d,u),l[++f]=b);break;case 0:--f;break;default:throw new Error("ioe")}}catch(e){for(;(o=y.pop())&&!o[0];);if(!o){e:for(;h;){for(s=h[4];o=s.pop();)if(o[0])break e;h=h[0]}if(!h)throw e;t=h[1],i=h[2],p=h[3],y=h[4],h=h[0]}1===(s=o[0])?(t=o[2],o[0]=0,y.push(o),l[++f]=e):2===s?(t=o[2],o[0]=0,y.push(o)):(t=o[3],o[0]=2,y.push(o),l[++f]=e)}}(o,[],0,t,a)}("504B010185868188000000008b83868500000009162101004a0000300c0000",{get 0(){return Xi}},void 0);var rc=["module"],nc="danger_d_speed",ic={stall_penalty:11,switch_penalty:4,interval:1e3,startInterval:1e3,decodeUnderflowBuffer:1,decodeUnderflowMode:1,decodeUnderflowCount:1},cc=_e((function e(t,a,r,n){var i=this,c=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};ge(this,e),this._wasmPromise=new ac,this._hasDeviceInfoChanged=!0,this.uuid=(new Date).getTime().toString(36).slice(4),this._defaultMaxBitrate=0,this._underflowBitrate=0,this._minBitrate=1/0,this._isCurrentHDR=!1,this.config=t,this.segment_duration=n||5e3,this.logger=function(){for(var e=arguments.length,t=new Array(e),a=0;a<e;a++)t[a]=arguments[a];c.logger.apply(c,["abr(".concat(i.uuid,")::")].concat(t))},this.openLog=c.openLog,this.autoBitrateOpts=Object.assign({},ic,t.autoBitrateOpts),this.stall_penalty=this.autoBitrateOpts.stall_penalty,this.switch_penalty=this.autoBitrateOpts.switch_penalty,this.interval=this.autoBitrateOpts.interval;var o=t.progressTimer||1e3,s=this.autoBitrateOpts.startInterval||o;this.initInterval=.8*s,this._preloadMethod=t.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._maxDefinition=this.autoBitrateOpts.maxDefinition||null,this._underflowDefinition=this.autoBitrateOpts.underflowDefinition||null,this.updateBitrate(a),this.updateMediaInfos(r,!1)}),[{key:"_onLoadWasm",value:function(){var e=this,t=this.autoBitrateOpts.module,a=this.autoBitrateOpts;a.module;var r=we(a,rc),n=this.autoBitrateOpts.isClassic||!1;return t&&(n?this.module=new t(Re({promise:this._wasmPromise},r)):t(this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}})),this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var t=this,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._heightToDefinitionConfig=new Map,this._bitrateToDefinitionConfig=new Map,this._definitionToDefitionConfig=new Map,e?(e.dynamic_video_list.forEach((function(e){var a,r;null===(a=t._heightToDefinitionConfig)||void 0===a||a.set(e.height||e.vheight,e);var n,i=e.bandwidth||e.bitrate;i<t._minBitrate&&(t._minBitrate=i),null===(r=t._bitrateToDefinitionConfig)||void 0===r||r.set(i,e),e.definition&&(null===(n=t._definitionToDefitionConfig)||void 0===n||n.set(e.definition,e))})),this._maxDefinition&&(this._defaultMaxBitrate=this._getBitrate(this._maxDefinition)),this._underflowDefinition&&(this._underflowBitrate=this._getBitrate(this._underflowDefinition)),this.mediaInfos=e):a&&console.error("baseAbr mediaInfos null")}},{key:"_getBitrate",value:function(e){var t;return(null===(t=this._definitionToDefitionConfig)||void 0===t||null===(t=t.get(e))||void 0===t?void 0:t.bandwidth)||-1}},{key:"transformMediaInfo",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e,t=[],a=this.mediaInfos.dynamic_video_list,r=0;r<a.length;r++){var n=a[r];this._isCurrentHDR===!!n.isHDR&&t.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,definition:n.qualityType,gearName:n.gearName})}var i={v_adaptation:t},c=JSON.stringify(i);null===(e=this.module)||void 0===e||e.ccall("parseMPD","null",["string"],[c])}catch(e){}}else console.warn("mediaInfos is null")}},{key:"_getDefaultSpeed",value:function(e){var t=0,a=navigator.connection;if(a&&a.downlink)t=1024*a.downlink/8,this.logger("initSpeed connect",t);else try{t=parseFloat(tc.getItem(nc)||"")||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){var t,a;null===(t=this.module)||void 0===t||null===(a=t._setDebugModel)||void 0===a||a.call(t,e)}},{key:"updateBitrate",value:function(e){var t,a,r=this;this.bitrate=e,e>0&&(this.module?null===(t=(a=this.module).updateBitrate)||void 0===t||t.call(a,e):this.readyPromise().then((function(){var t,a;null===(t=r.module)||void 0===t||null===(a=t.updateBitrate)||void 0===a||a.call(t,e)})))}},{key:"getPreloadBitrate",value:function(){return null}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var t,a=window.devicePixelRatio||1;null===(t=this.module)||void 0===t||t._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),a,e||-1)}this._hasDeviceInfoChanged=!1}catch(e){}}},{key:"readyPromise",value:function(){return this._wasmPromise}}]);cc.SPPED_CACHE=nc;var oc=function(e){return e.ABR_CHANGE="ABR_CHANGE_A",e.ABR_UPDATE_SPEC="ABR_UPDATE_SPEC",e.START_ABR="START_ABR",e.UPDATE_AUTO_DESC="UPDATE_AUTO_DESC",e.ABR_START_PROGRESS="ABR_START_PROGRESS",e.MAX_BUFFER_CHANGE="MAX_BUFFER_CHANGE",e.NEXT_SEGMENT_PREDICT="NEXT_SEGMENT_PREDICT",e.ABR_STAT="ABR_STAT",e.ABR_DEFINITION_REAL_CHANGE="ABR_DEFINITION_REAL_CHANGE",e.ABR_LIMIT_BITRATE="ABR_LIMIT_BITRATE",e}(oc||{}),sc={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"},uc=function(e){function t(e,a,r,n,i){var c,o,s,u,d,b=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};ge(this,t),(c=ye(this,t,[a,r,n,i,b]))._bufferRange=new Map,c._sortedBufferRange=[],c._lastCheckResolutionStamp=0,c._currentDefinition=null,c._isSeeking=!1,c._waitingStartTime=0,c._stallCount=0,c._seekState=0,c._stallState=0,c._videoCurrentTime=0,c._hasStart=!1,c._isPaused=!1,c._hasAddFragment=!1,c._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},c._bitrateSet=[],c._generalInfo={},c._currentInAbr=!1,c._hasCalcTimelineLog=!1,c._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:[]}},c._tickCount=0,c._fps=30,c.startTime=performance.now(),c._prevDefinitionItem=null,c._currentItem=null,c._switchCount=0,c._switchBitrate=0,c._avgStatItems={},c._qoeArgs=[0,0,0,0],c._abrUsed=-1,c._abrAlwaysOn=1,c._preloadInfo=null,c._hasLogStartInfo=!1,c._hasExecuteAbrAlgo=!1,c._lastExecuteTimeInMs=0,c._isSegmentDrive=!1,c._prevCurrentTime=-1,c._abrChangeTimeMap={},c._underFlowDecodeCount=0,c._onSegmentPredict=function(e){if(c.isCurrentInAbr&&c._isSegmentDrive){var t=Math.floor(c.player.downloadSpeed);e.isInitSegment||"video"!==e.mediaType||c._loopAbr(t,e.start,e.fix?e.end:0,e)}},c._onPlay=function(){c._hasStart=!0,c.logger("onplay")},c._onSeeking=function(){var e,t;c._isSeeking=!0,c.player.currentTime<c._videoCurrentTime?c._seekState=-1:c._seekState=1,null===(e=c.module)||void 0===e||null===(t=e._updateSeekInfo)||void 0===t||t.call(e,c._seekState),c.logger("seekState",c._seekState)},c._onSeekEnd=function(){c._isSeeking=!1,c.checkRestart()},c._onWaiting=function(){if(!(c._isSeeking||c._waitingStartTime>0)){for(var e=c.player.video.buffered,t=c.player.currentTime,a=!0,r=0;r<e.length;r++){var n=e.start(r),i=e.end(r);if(n<=t&&t<i-(c.autoBitrateOpts.decodeUnderflowBuffer||1)&&c.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){c._underFlowDecodeCount++,a=!1;break}}var o=c._underFlowDecodeCount>=(c.autoBitrateOpts.decodeUnderflowCount||1),s=c._defaultMaxBitrate>0||c._underflowBitrate>0,u=1===c.autoBitrateOpts.decodeUnderflowMode&&c._isSegmentDrive;if(o&&(s||u)){var d=!0;if(u){var b=c._maxBitrate;c._maxBitrate=c._minBitrate,d=c._maxBitrate!==b}c.player.emit("ABR_LIMIT_BITRATE",{removed:d}),c._underflowBitrate>0&&(c._maxBitrate=c._underflowBitrate)}c._waitingStartTime=(new Date).getTime(),c._stallId=setTimeout((function(){var e,t;clearTimeout(c._stallId),c._stallCount++,c._stallState=1,null===(e=c.module)||void 0===e||null===(t=e.updateWaitingState)||void 0===t||t.call(e,a)}),200)}},c._onPlaying=function(){c._waitingStartTime=0,c._stallState=0,clearTimeout(c._stallId),c.checkRestart()},c._onTimeUpdate=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(c._sortedBufferRange&&0!==c._sortedBufferRange.length&&c._currentInAbr&&c.player){c._videoCurrentTime=c.player.currentTime;var a=Date.now();if(!(a-c._lastCheckResolutionStamp<1e3&&0!==c._lastCheckResolutionStamp)||t){c._lastCheckResolutionStamp=a;for(var r=c.player.currentTime,n=0,i=c._sortedBufferRange.length-1,o=null;n<=i;){var s=Math.floor(n+(i-n)/2),u=c._sortedBufferRange[s];if(r<u.start)i=s-1;else{if(!(r>=u.end)){o=u;break}n=s+1}}if(o){var d,b=null===(d=c._bitrateToDefinitionConfig)||void 0===d?void 0:d.get(o.bandwidth),f=null==b?void 0:b.definition;if(c._currentDefinition===f&&!t||!f)return void(f||c.logger("error definition, mpd配置与接口配置不一致"));c._currentDefinition=f,c._prevDefinitionItem=c._currentItem,c._currentFps=b.fps,c._currentItem=b,c._emitAutoDescChange(f,!1,c._currentFps,b),c._prevDefinitionItem&&c._currentDefinition&&c._prevDefinitionItem.definition!==c._currentDefinition.definition&&c._emitDefinitionRealChange(o)}}}},c._onCanPlay=function(){c._currentInAbr&&c._currentDefinition&&(c._updateId=setTimeout((function(){clearTimeout(c._updateId),c._emitAutoDescChange(c._currentDefinition,!1,c._currentFps,c._currentItem)}),0))},c._onBufferRangeUpdate=function(e){if(void 0!==e.start){null===c._currentItem&&c._onTimeUpdate(null,!0);var t=e.start;c._hasAddFragment=!0,c._bufferRange.set(t,e);var a=Pe(c._bufferRange.values());c._sortedBufferRange=a.sort((function(e,t){return e.start-t.start})),c.avgStat(sc.DOWNLOAD_BITRATE,e.bandwidth)}},c._onReplay=function(){c.checkRestart()},c._onEnded=function(){c.stop()},c._onError=function(){c.stop()},c.start=function(){if(c.logger("start"),c._isPaused=!1,!c._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());c._abr_play_info.is_hint=e?1:0}c._hasCalcTimelineLog=!0,c._loop()},c.stop=function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(c._abrAlwaysOn=-1),clearTimeout(c.timerId),c._isPaused=!0,c.logger("stop")},c.logger("constructor",a,r,n,i,c.bitrate),c.player=e,c.isOpenAutoDefi=!!c.autoBitrateOpts.isOpenAutoDefi,c._isSegmentDrive=1===c.autoBitrateOpts.abrDriveMode,c.onPlayRateChange=c._onPlayrateChange.bind(c),c._onWinSizeChange=(o=c.onWinElemSizeChange.bind(c),s=1e3,u=!1,function(){for(var e=this,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];var n=a,i=u&&!d;clearTimeout(d),d=setTimeout((function(){d=null,u||o.apply(e,n)}),s),i&&o.apply(e,n)}),c._maxDefinition=c.autoBitrateOpts.maxDefinition||null,c._maxBitrate=-1,c.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:c._onMaxBufferChange.bind(c)},{evt:"playbackrateChange",handler:c.onPlayRateChange},{evt:"replay",handler:c._onReplay},{evt:"ended",handler:c._onEnded},{evt:"error",handler:c._onError},{evt:"timeupdate",handler:c._onTimeUpdate},{evt:"addVideoBufferEnd",handler:c._onBufferRangeUpdate},{evt:"canplay",handler:c._onCanPlay},{evt:"play",handler:c._onPlay},{evt:"seeking",handler:c._onSeeking},{evt:"seeked",handler:c._onSeekEnd},{evt:"waiting",handler:c._onWaiting},{evt:"playing",handler:c._onPlaying},{evt:"video_resize",handler:c._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:c._onSegmentPredict}],c.listeners.forEach((function(e){var t=e.evt,a=e.handler;c.player.on(t,a)})),c._abrMethod=c.autoBitrateOpts.method||0,c._loopInterval=c.initInterval,Zi.install(),c._maxCacheTimeVideo=c.config.preloadTime||5,c._maxCacheTimeAudio=c._maxCacheTimeVideo;for(var f=Object.keys(sc),l=0;l<f.length;l++){var h=f[l],p=sc[h];c._avgStatItems[p]=new dc}return c}return Ae(t,e),_e(t,[{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._execDecision()}},{key:"initFps",value:function(){this.fpsDetection=new Zi,this.fpsDetection.start(),this._fps=this.fpsDetection.fps,this._hasDeviceInfoChanged=!0}},{key:"listenSize",value:function(){window.removeEventListener("resize",this._onWinSizeChange),window.addEventListener("resize",this._onWinSizeChange)}},{key:"onWinElemSizeChange",value:function(){var e,t,a=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(t=this.player)||void 0===t?void 0:t.video);if(a){var r=a.getBoundingClientRect();this._videoWidth=Math.floor(r.width),this._videoHeight=Math.floor(r.height),this._hasDeviceInfoChanged=!0}}},{key:"execTimeUpdate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._onTimeUpdate(null,e)}},{key:"_onMaxBufferChange",value:function(e){var t=e.videoCacheTime,a=e.audioCacheTime;this._maxCacheTimeAudio=a,this._maxCacheTimeVideo=t}},{key:"_emitAutoDescChange",value:function(e,t,a,r){var n;this.logger("[ABR],emitAutoDescChange, definition, ",e,",item,",r,",pre_item,",this._prevDefinitionItem),null===(n=this.player)||void 0===n||n.emit("UPDATE_AUTO_DESC",{definition:e,reset:t,fps:a,item:r,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(e){var t,a=0,r=e.start;this._abrChangeTimeMap[r]&&(this._abrChangeTimeMap[r]=0,delete this._abrChangeTimeMap[r],a=1),null===(t=this.player)||void 0===t||t.emit("ABR_DEFINITION_REAL_CHANGE",{orgDefinition:this._prevDefinitionItem.definition,orgBitrate:this._prevDefinitionItem.bitrate||this._prevDefinitionItem.bandwidth,currentDefinition:this._currentItem.definition,currentBitrate:this._currentItem.bitrate||this._currentItem.bandwidth,abrChange:a})}},{key:"_onPlayrateChange",value:function(){this.module&&this.updateBufferInfo()}},{key:"_execDecision",value:function(){if(!this.isOpenAutoDefi)return 0;var e=0;try{this.logger("exec decision"),this.updateSwitchInfo(),this.transformMediaInfo(),this.updateDeviceInfo();var t=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&t){this._abrUsed=1;var a=this._getDefaultSpeed(this.player);this._isSegmentDrive||(e=this._loopAbr(a)),this.start(),this._changeLoopInterval(),this.logger("time start progress",(new Date).getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(e){this.logger("decision error",e),this.logger("time costTime err",performance.now()-this.startTime)}return e}},{key:"_changeLoopInterval",value:function(){var e=this;this.startTimer&&(clearTimeout(this.startTimer),this.startTimer=null),this.startTimer=setTimeout((function(){e._loopInterval=e.interval,e.startTimer&&clearTimeout(e.startTimer),e.logger("interval change")}),5e3)}},{key:"_loop",value:function(){var e=this;this._isPaused||this._isSegmentDrive||(clearTimeout(this.timerId),this.timerId=setTimeout((function(){var t,a=e.player,r=e.config;if(e._hasStart&&null!==(t=r.autoBitrateOpts)&&void 0!==t&&t.stillRunWhenPaused||!a.paused||!a.config.autoplay&&!e._hasStart){var n=e._hasAddFragment?void 0:e._getDefaultSpeed(a);e._loopAbr(n)}e._loop()}),this._loopInterval))}},{key:"checkRestart",value:function(){var e;null!==(e=this.config.autoBitrateOpts)&&void 0!==e&&e.autoRestartAbr&&this._currentInAbr&&this._isPaused&&this.start()}},{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,a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=this.player.playbackRate,c=this.bufferLength;n>0&&this.player&&(c=n-this.player.video.currentTime);var o=e||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===o&&(o=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var s=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",o,"buffer:",c,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",r,"segmentBufferEnd",n),null===(t=this.module)||void 0===t||t._updateBufferInfo(i,this._maxCacheTimeAudio,this._maxCacheTimeVideo,c,this._isSegmentDrive?n:c,o,this._seekState,null===(a=this.player)||void 0===a?void 0:a.currentTime,this._stallState,s),this._seekState=0,this._eventInfo={internet_speed:o,buffer_length:c,last_bitrate:this.bitrate,play_speed:i},this.logger("playRate:",i,"buff:",c,"downloadSpeed:",o),{buffer:c,downloadSpeed:o}}},{key:"updateSwitchInfo",value:function(){var e,t,a=(new Date).getTime();this._openTimeMs=a,this._abr_play_info.start_play_time_ms=a;var r,n,i=(null===(e=this.player)||void 0===e?void 0:e.config.preloadTime)||50,c=(n=(r=a).toString(16)).length<=8?{high:0,low:r}:{high:parseInt(n.substr(0,n.length-8),16),low:parseInt(n.substr(n.length-8),16)},o=this.autoBitrateOpts.noStallCheckTime||5,s=this.openLog;this.logger("openTime:",a,"this.logger",s),null===(t=this.module)||void 0===t||t._updateSwitchInfo(c.low,c.high,o,s,this.stall_penalty,this.switch_penalty);var u=this._mediaList.video,d=u.map((function(e){var t=e.bandwidth,a=e.bitrate;return t||a}));this._bitrateSet=d.map((function(e,t){return{bitrate:e,codecs:u[t].codecs||u[t].codec_type||""}})),this._generalInfo={max_cache_time:i,bitrate_set:this._bitrateSet,segment_duration:this.segment_duration,preload_info:{},startup_info:{}}}},{key:"updatePreloadCacheInfo",value:function(e){try{this._preloadInfo=e,this.logger("update preloadInfo",e),e&&e.item_num!==e.items.length&&(this.logger("preloadInfo invalid"),this._preloadInfo=null)}catch(e){this.logger("updatePreloadCacheInfo",e),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_loopAbr",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var n=-1,i=[];if(!this.module||!this.player)return this.bitrate;try{var c,o=(new Date).getTime(),s=this.player;this.updateDeviceInfo();var u=this.updateBufferInfo(e,t,a),d=u.downloadSpeed,b=u.buffer;if(this.module.updateDropFrame&&s.video.getVideoPlaybackQuality){var f,l=s.video.getVideoPlaybackQuality(),h=l.droppedVideoFrames/l.totalVideoFrames;null===(f=this.module)||void 0===f||f.updateDropFrame(h)}n=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var p=0;p<7;p++)i.push(this.module.HEAP32[n/Int32Array.BYTES_PER_ELEMENT+p]);var y=i[0],g=1===i[1];this._eventInfo.now_bitrate=y,this._eventInfo.local_time_ms=(new Date).getTime();var v=0;if(y!==this.bitrate&&0!==y||this.autoBitrateOpts.reportVerboseAbrLog){var m=this.player.currentTime;if(this.module.getStat){var _=this.module.getStat();s.emit("ABR_STAT",Re(Re({v_time:m,diff_current_position:-1===this._prevCurrentTime?0:m-this._prevCurrentTime,net_speed:8*d,costTime:(new Date).getTime()-o,download_time:null==r?void 0:r.costTime},_),{},{gop_size:null==r?void 0:r.gopSize,audio_buffer:null==r?void 0:r.audioBuffer})),this._abrChangeTimeMap[_.download_position]=1}this._prevCurrentTime=m}if(y!==this.bitrate&&0!==y){var E=this.bitrate;v=Math.abs(E-y);for(var S=[],T=(s.media||s.video).buffered,A=0;A<T.length;A++)S.push({start:T.start(A),end:T.end(A)});var k=this._videoWidth||Number(this.config.width),I=this._videoHeight||Number(this.config.height),R=(new Date).getTime(),w={speed:"".concat(d," KB/s"),buffer_length:"".concat(b," s"),video_pos:s.currentTime,all_buffers:S,seek_state:this._seekState,stall_state:this._stallState,screen_width:k,screen_height:I,dpr:window&&window.devicePixelRatio,playbackRate:s.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?R-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=R,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(y,", prevBitrate: ").concat(E,","),"willStall: ".concat(g,", switchBitrate: ").concat(v)),this.updateBitrate(y),s.emit("ABR_CHANGE_A",E,y,g,JSON.stringify(w))}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:y,download_speed:d,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}),null===(c=this.player)||void 0===c||c.emit("ABR_LOOP"),this.onAbrLoop(d,i[2],v,i.slice(3))}catch(e){this.logger("abr error",e),console.error("loopAbr error",e)}finally{n>-1&&this.module._free(n)}return this.bitrate}},{key:"destroy",value:function(){var e,t=this;this.stop(),this.listeners.forEach((function(e){var a,r=e.evt,n=e.handler;null===(a=t.player)||void 0===a||a.off(r,n)})),this._maxBitrate=-1,this.player=null,this._heightToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bitrateToDefinitionConfig=null,this._bufferRange.clear(),this._sortedBufferRange=[],this.module=null,clearTimeout(this._stallId),clearTimeout(this._updateId),this.startTimer&&clearTimeout(this.startTimer),window.removeEventListener("resize",this._onWinSizeChange),null===(e=this.fpsDetection)||void 0===e||e.stop()}},{key:"eventInfo",get:function(){return this._eventInfo}},{key:"generalInfo",get:function(){return this._generalInfo}},{key:"bufferLength",get:function(){var e,t,a=(null===(e=this.player)||void 0===e?void 0:e.getBufferedRange())||[],r=((null===(t=this.player)||void 0===t?void 0:t.video)||{currentTime:0}).currentTime,n=a[1]-Math.max(a[0],r),i=Math.max(0,n).toFixed(2);return parseFloat(i)}},{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:"isCurrentHDR",get:function(){return this._isCurrentHDR},set:function(e){this._isCurrentHDR=e}},{key:"onAbrLoop",value:function(e){var t,a=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(sc.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(sc.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(sc.PREDICT_NETWORK_SPEED,a),this.avgStat(sc.BUFFER_LENGTH,this.bufferLength),this.avgStat(sc.QOE,this.getQoeRelValue(0)),r>0&&(this._switchCount++,this._switchBitrate+=r),this._abr_play_info.is_hint){var i=((new Date).getTime()-this.openTimeMs)/1e3;i=parseFloat(i.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([i,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([i,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([i,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([i,(null===(t=this.player)||void 0===t?void 0:t.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([i,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([i,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([i,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([i,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,t){var a=this._avgStatItems[e];a&&a.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:"updateSegmentDuration",value:function(e){var t;this.segment_duration=e,null!==(t=this.module)&&void 0!==t&&t.updateSegmentDuration&&this.module.updateSegmentDuration(e)}},{key:"getAbrVVStats",value:function(){for(var e={},t=Object.keys(sc),a=0;a<t.length;a++){var r=t[a],n=sc[r],i=this._avgStatItems[n];e[n]=i.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}}])}(cc),dc=_e((function e(){ge(this,e),this.total=0,this.count=0}),[{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)}}]);!function(e,t){function a(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var r,n=0,i=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var c=parseInt(e.slice(16,24),16),o=2*parseInt(e.slice(32,40),16);for(r=40;r<o+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var s=o+40,u=parseInt(e.slice(s,s+4),16);for(s+=4,r=0;r<u;++r){var d=a(e,s);s+=2*d[0];for(var b=0;b<d[1];++b){var f=a(e,s);String.fromCharCode(n^f[1]),s+=2*f[0]}}t.p=null,function(e,t,a,r){var n,c,o,s,u=-1,d=[],b=null,f=[t];for(c=Math.min(t.length,0),o=0;o<c;++o)f.push(t[o]);f.p=r;for(var l=[];;)try{switch(i[e++]){case 48:d[++u]=void 0;break;case 12:for(c=d[u--],o=null;s=l.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)e=o[2],o[0]=0,l.push(o);else{if(!b)return c;e=b[1],b[2],f=b[3],l=b[4],d[++u]=c,b=b[0]}break;default:throw new Error("ioe")}}catch(t){for(;(n=l.pop())&&!n[0];);if(!n){e:for(;b;){for(c=b[4];n=c.pop();)if(n[0])break e;b=b[0]}if(!b)throw t;e=b[1],b[2],f=b[3],l=b[4],b=b[0]}1===(c=n[0])?(e=n[2],n[0]=0,l.push(n),d[++u]=t):2===c?(e=n[2],n[0]=0,l.push(n)):(e=n[3],n[0]=2,l.push(n),d[++u]=t)}}(c,[],0,t)}("504B010185868188000000008b83868500000002300c0000",{});var bc=function(){try{return"undefined"!=typeof localStorage&&"setItem"in window.localStorage&&!!window.localStorage.setItem}catch(e){return!1}}()&&!function(){var e="_localstorage_support_test";try{return window.localStorage.setItem(e,"true"),window.localStorage.removeItem(e),!1}catch(e){return!0}}(),fc=function(){if(bc)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}();!function(){if(bc)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();var lc={1:"debug",2:"log",3:"warn",4:"error"};function hc(e,t,a){for(var r=lc[t],n=arguments.length,i=new Array(n>3?n-3:0),c=3;c<n;c++)i[c-3]=arguments[c];if(r&&e&&e[r])e[r].apply(e,[a].concat(i));else if(fc&&console.log){var o;(o=console).log.apply(o,["[logger]",a].concat(i))}}function pc(e,t,a){for(var r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];1===arguments.length?hc(console,2,e):hc.apply(void 0,[e,2,a||""].concat(n))}function yc(e){return"auto"===e||"自动"===e}var gc=function(){return _e((function e(t,a){var r=this;ge(this,e),this._startPlay=!1,this.bitrateMap={},this.defIdMap={},this.canplayHandler=function(){r._startPlay=!0},this.updateABRDownSpeed=function(e){e.eventName===$n.SPEED&&(r._abrInstance.updateBufferInfo(),r._abrInstance.getPreloadBitrate())},this._onAbrChange=function(e,t,a,n){var i=r._plugin,c=i.player,o=i.core,s=r.bitrateMap[e],u=r.bitrateMap[t],d=null==s?void 0:s.definition,b=u&&u.definition?u.definition:d,f=c.getBufferedRange(),l=Array.isArray(f)?f[1]:c.currentTime;null===(null==o?void 0:o.abrSwitchPoint)||d===b||!r._startPlay||c.duration>0&&c.duration-l<2?r.abrInstance.bitrate!==e&&r.abrInstance.updateBitrate(e):(r._abrSwitchHandler(u),c.emit("ABR_CHANGE",{prev:d,cur:b,prevName:s.definitionName,curName:u.definitionName,abrInfo:n}))},this._onAutoDescChange=function(e){var t=e.definition,a=e.reset,n=e.fps,i=e.item;r.updateAutoDefiDesc(t,a,n,i)};var n=t.player;this._plugin=t,this._abrSwitchHandler=a;var i=t.config.autoBitrateOpts||{};this.isPlayAutoDef=!!i.isPlayAutoDefi,this.isOpenAutoDef=!!i.isOpenAutoDefi,this.isCurrentAutoDef=this.isOpenAutoDef&&this.isPlayAutoDef,n.once("playing",this.canplayHandler)}),[{key:"abrInstance",get:function(){return this._abrInstance}},{key:"bitrate",get:function(){return this._abrInstance.bitrate},set:function(e){this._abrInstance.updateBitrate(e)}},{key:"init",value:(e=pe(Ce().mark((function e(t){var a,r,n,i,c,o=this;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isOpenAutoDef){e.next=2;break}return e.abrupt("return",{type:"FIXED"});case 2:return a=this._plugin,r=a.player,n=a.config,i=n.autoBitrateOpts||{},r.on(oc.UPDATE_AUTO_DESC,this._onAutoDescChange),r.on(oc.ABR_CHANGE,this._onAbrChange),this.bitrateMap={},this.defIdMap={},c=t.video.map((function(e){return{bandwidth:e.bitrate,height:e.height,width:e.width,codecs:e.codecs,definition:e.definition}})),"boolean"!=typeof i.autoRestartAbr&&(i.autoRestartAbr=!0),"boolean"!=typeof i.stillRunWhenPaused&&(i.stillRunWhenPaused=!0),this._abrInstance=new uc(r,n,0,{dynamic_video_list:Pe(c)},5e3,{logger:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];pc.apply(void 0,[o._plugin.logger,1,e].concat(a))},openLog:fc}),e.next=14,this._abrInstance.init(t);case 14:this._abrInstance.isCurrentInAbr=this.isCurrentAutoDef;case 15:case"end":return e.stop()}}),e,this)}))),function(t){return e.apply(this,arguments)})},{key:"execute",value:function(){var e=this._abrInstance.execute();return{bitrate:e,type:-1===e?"FIXED":"AUTO"}}},{key:"enable",value:function(){this._abrInstance.start(),this.isCurrentAutoDef=!0,this._abrInstance.isCurrentInAbr=!0,this._abrInstance.execTimeUpdate(!0)}},{key:"disable",value:function(){this._abrInstance&&(this.updateAutoDefiDesc("",!0),this.isCurrentAutoDef=!1,this._abrInstance.isCurrentInAbr=!1,this._abrInstance.stop(!0))}},{key:"isCurrentInAbr",value:function(){var e;return(null===(e=this._abrInstance)||void 0===e?void 0:e.isCurrentInAbr)||!1}},{key:"updateAutoDefiDesc",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,n=this._plugin,i=n.player,c=(n.config.autoBitrateOpts||{}).autoDefiText||"auto";this.curDefinition={definition:"自动 ".concat(e),item:r},i.emit("ABR_AUTO_DESC_CHANGE",c,t?void 0:e,a,r)}},{key:"updateAbrCacheData",value:function(){var e,t=this,a=this._plugin,r=a.player,n=a.config,i=a.playerConfig,c=n.autoBitrateOpts||{},o=(null===(e=i.definition)||void 0===e?void 0:e.list)||[],s=!1;if(o.forEach((function(e){var a=t.isAutoDefValue(e.definition);a&&(s=!0),e.bitrate&&(a||t.bitrateMap[e.bitrate]||(t.bitrateMap[e.bitrate]={url:e.url,definition:e.definition,definitionName:e.text},t.defIdMap[e.definition]={bitrate:e.bitrate,definition:e.definition}))})),this.isOpenAutoDef&&!s&&i.definition&&r.curDefinition){var u,d=c.autoDefiText||"auto",b={definition:"auto",bitrate:r.curDefinition.bitrate,text:d,url:"__auto__",selected:this.isPlayAutoDef,name:"自动",vwidth:r.curDefinition.vwidth,vheight:r.curDefinition.vheight};null===(u=i.definition)||void 0===u||u.list.push(b)}}},{key:"isAutoDefValue",value:function(e){return yc(e)}},{key:"destroy",value:function(){var e=this._plugin.player;e.off(oc.ABR_CHANGE,this._onAbrChange),e.off("playing",this.canplayHandler),e.off("core_event",this.updateABRDownSpeed),this._abrInstance&&(e.off(oc.UPDATE_AUTO_DESC,this._onAutoDescChange),this._abrInstance.destroy()),this.defIdMap={},this.bitrateMap={}}}]);var e}();function vc(e){e.root&&fe.Util.addClass(e.root,"xgplayer-is-enter")}function mc(e){e.root&&fe.Util.removeClass(e.root,"xgplayer-is-enter")}function _c(e,t,a){if(e&&t&&a){var r=Object.getOwnPropertyDescriptor(e,t);null!=r&&r.configurable?delete e[t]:r&&!r.writable||(e[t]=a)}}var Ec=function(e){var t={};function a(r){if(t[r])return t[r].exports;var n=t[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,a),n.l=!0,n.exports}return a.m=e,a.c=t,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=22)}([function(e,t,a){var r=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},function(e,t,a){var r=a(12)("wks"),n=a(13),i=a(0).Symbol,c="function"==typeof i;(e.exports=function(e){return r[e]||(r[e]=c&&i[e]||(c?i:n)("Symbol."+e))}).store=r},function(e,t,a){var r=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=r)},function(e,t,a){var r=a(4);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,a){var r="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.exports=function(e){return"object"===(void 0===e?"undefined":r(e))?null!==e:"function"==typeof e}},function(e,t,a){var r=a(6);e.exports=function(e,t,a){if(r(e),void 0===t)return e;switch(a){case 1:return function(a){return e.call(t,a)};case 2:return function(a,r){return e.call(t,a,r)};case 3:return function(a,r,n){return e.call(t,a,r,n)}}return function(){return e.apply(t,arguments)}}},function(e,t,a){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,a){e.exports=!a(15)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,a){var r={}.toString;e.exports=function(e){return r.call(e).slice(8,-1)}},function(e,t,a){var r=a(3),n=a(26),i=a(27),c=Object.defineProperty;t.f=a(7)?Object.defineProperty:function(e,t,a){if(r(e),t=i(t,!0),r(a),n)try{return c(e,t,a)}catch(e){}if("get"in a||"set"in a)throw TypeError("Accessors not supported!");return"value"in a&&(e[t]=a.value),e}},function(e,t,a){e.exports=!1},function(e,t,a){var r=a(8),n=a(1)("toStringTag"),i="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,a,c;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(a=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),n))?a:i?r(t):"Object"==(c=r(t))&&"function"==typeof t.callee?"Arguments":c}},function(e,t,a){var r=a(2),n=a(0),i=n["__core-js_shared__"]||(n["__core-js_shared__"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})("versions",[]).push({version:r.version,mode:a(10)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,t,a){var r=0,n=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+n).toString(36))}},function(e,t,a){var r=a(9),n=a(28);e.exports=a(7)?function(e,t,a){return r.f(e,t,n(1,a))}:function(e,t,a){return e[t]=a,e}},function(e,t,a){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,a){var r=a(4),n=a(0).document,i=r(n)&&r(n.createElement);e.exports=function(e){return i?n.createElement(e):{}}},function(e,t,a){var r=a(0),n=a(14),i=a(18),c=a(13)("src"),o=a(29),s=(""+o).split("toString");a(2).inspectSource=function(e){return o.call(e)},(e.exports=function(e,t,a,o){var u="function"==typeof a;u&&(i(a,"name")||n(a,"name",t)),e[t]!==a&&(u&&(i(a,c)||n(a,c,e[t]?""+e[t]:s.join(String(t)))),e===r?e[t]=a:o?e[t]?e[t]=a:n(e,t,a):(delete e[t],n(e,t,a)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[c]||o.call(this)}))},function(e,t,a){var r={}.hasOwnProperty;e.exports=function(e,t){return r.call(e,t)}},function(e,t,a){e.exports={}},function(e,t,a){var r,n,i,c=a(5),o=a(38),s=a(39),u=a(16),d=a(0),b=d.process,f=d.setImmediate,l=d.clearImmediate,h=d.MessageChannel,p=d.Dispatch,y=0,g={},v=function(){var e=+this;if(g.hasOwnProperty(e)){var t=g[e];delete g[e],t()}},m=function(e){v.call(e.data)};f&&l||(f=function(e){for(var t=[],a=1;arguments.length>a;)t.push(arguments[a++]);return g[++y]=function(){o("function"==typeof e?e:Function(e),t)},r(y),y},l=function(e){delete g[e]},"process"==a(8)(b)?r=function(e){b.nextTick(c(v,e,1))}:p&&p.now?r=function(e){p.now(c(v,e,1))}:h?(i=(n=new h).port2,n.port1.onmessage=m,r=c(i.postMessage,i,1)):d.addEventListener&&"function"==typeof postMessage&&!d.importScripts?(r=function(e){d.postMessage(e+"","*")},d.addEventListener("message",m,!1)):r="onreadystatechange"in u("script")?function(e){s.appendChild(u("script")).onreadystatechange=function(){s.removeChild(this),v.call(e)}}:function(e){setTimeout(c(v,e,1),0)}),e.exports={set:f,clear:l}},function(e,t,a){var r=a(6);function n(e){var t,a;this.promise=new e((function(e,r){if(void 0!==t||void 0!==a)throw TypeError("Bad Promise constructor");t=e,a=r})),this.resolve=r(t),this.reject=r(a)}e.exports.f=function(e){return new n(e)}},function(e,t,a){e.exports=a(23)},function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),a(24);var r,n=(r=a(48))&&r.__esModule?r:{default:r};t.default={url:n.default},e.exports=t.default},function(e,t,a){var r,n,i,c,o=a(10),s=a(0),u=a(5),d=a(11),b=a(25),f=a(4),l=a(6),h=a(30),p=a(31),y=a(37),g=a(20).set,v=a(40)(),m=a(21),_=a(41),E=a(42),S=a(43),T=s.TypeError,A=s.process,k=A&&A.versions,I=k&&k.v8||"",R=s.Promise,w="process"==d(A),C=function(){},x=n=m.f,O=!!function(){try{var e=R.resolve(1),t=(e.constructor={})[a(1)("species")]=function(e){e(C,C)};return(w||"function"==typeof PromiseRejectionEvent)&&e.then(C)instanceof t&&0!==I.indexOf("6.6")&&-1===E.indexOf("Chrome/66")}catch(e){}}(),P=function(e){var t;return!(!f(e)||"function"!=typeof(t=e.then))&&t},D=function(e,t){if(!e._n){e._n=!0;var a=e._c;v((function(){for(var r=e._v,n=1==e._s,i=0,c=function(t){var a,i,c,o=n?t.ok:t.fail,s=t.resolve,u=t.reject,d=t.domain;try{o?(n||(2==e._h&&N(e),e._h=1),!0===o?a=r:(d&&d.enter(),a=o(r),d&&(d.exit(),c=!0)),a===t.promise?u(T("Promise-chain cycle")):(i=P(a))?i.call(a,s,u):s(a)):u(r)}catch(e){d&&!c&&d.exit(),u(e)}};a.length>i;)c(a[i++]);e._c=[],e._n=!1,t&&!e._h&&L(e)}))}},L=function(e){g.call(s,(function(){var t,a,r,n=e._v,i=q(e);if(i&&(t=_((function(){w?A.emit("unhandledRejection",n,e):(a=s.onunhandledrejection)?a({promise:e,reason:n}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",n)})),e._h=w||q(e)?2:1),e._a=void 0,i&&t.e)throw t.v}))},q=function(e){return 1!==e._h&&0===(e._a||e._c).length},N=function(e){g.call(s,(function(){var t;w?A.emit("rejectionHandled",e):(t=s.onrejectionhandled)&&t({promise:e,reason:e._v})}))},M=function(e){var t=this;t._d||(t._d=!0,(t=t._w||t)._v=e,t._s=2,t._a||(t._a=t._c.slice()),D(t,!0))},U=function e(t){var a,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===t)throw T("Promise can't be resolved itself");(a=P(t))?v((function(){var n={_w:r,_d:!1};try{a.call(t,u(e,n,1),u(M,n,1))}catch(e){M.call(n,e)}})):(r._v=t,r._s=1,D(r,!1))}catch(e){M.call({_w:r,_d:!1},e)}}};O||(R=function(e){h(this,R,"Promise","_h"),l(e),r.call(this);try{e(u(U,this,1),u(M,this,1))}catch(e){M.call(this,e)}},(r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=a(44)(R.prototype,{then:function(e,t){var a=x(y(this,R));return a.ok="function"!=typeof e||e,a.fail="function"==typeof t&&t,a.domain=w?A.domain:void 0,this._c.push(a),this._a&&this._a.push(a),this._s&&D(this,!1),a.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=u(U,e,1),this.reject=u(M,e,1)},m.f=x=function(e){return e===R||e===c?new i(e):n(e)}),b(b.G+b.W+b.F*!O,{Promise:R}),a(45)(R,"Promise"),a(46)("Promise"),c=a(2).Promise,b(b.S+b.F*!O,"Promise",{reject:function(e){var t=x(this);return(0,t.reject)(e),t.promise}}),b(b.S+b.F*(o||!O),"Promise",{resolve:function(e){return S(o&&this===c?R:this,e)}}),b(b.S+b.F*!(O&&a(47)((function(e){R.all(e).catch(C)}))),"Promise",{all:function(e){var t=this,a=x(t),r=a.resolve,n=a.reject,i=_((function(){var a=[],i=0,c=1;p(e,!1,(function(e){var o=i++,s=!1;a.push(void 0),c++,t.resolve(e).then((function(e){s||(s=!0,a[o]=e,--c||r(a))}),n)})),--c||r(a)}));return i.e&&n(i.v),a.promise},race:function(e){var t=this,a=x(t),r=a.reject,n=_((function(){p(e,!1,(function(e){t.resolve(e).then(a.resolve,r)}))}));return n.e&&r(n.v),a.promise}})},function(e,t,a){var r=a(0),n=a(2),i=a(14),c=a(17),o=a(5),s=function e(t,a,s){var u,d,b,f,l=t&e.F,h=t&e.G,p=t&e.P,y=t&e.B,g=h?r:t&e.S?r[a]||(r[a]={}):(r[a]||{}).prototype,v=h?n:n[a]||(n[a]={}),m=v.prototype||(v.prototype={});for(u in h&&(s=a),s)b=((d=!l&&g&&void 0!==g[u])?g:s)[u],f=y&&d?o(b,r):p&&"function"==typeof b?o(Function.call,b):b,g&&c(g,u,b,t&e.U),v[u]!=b&&i(v,u,f),p&&m[u]!=b&&(m[u]=b)};r.core=n,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,a){e.exports=!a(7)&&!a(15)((function(){return 7!=Object.defineProperty(a(16)("div"),"a",{get:function(){return 7}}).a}))},function(e,t,a){var r=a(4);e.exports=function(e,t){if(!r(e))return e;var a,n;if(t&&"function"==typeof(a=e.toString)&&!r(n=a.call(e)))return n;if("function"==typeof(a=e.valueOf)&&!r(n=a.call(e)))return n;if(!t&&"function"==typeof(a=e.toString)&&!r(n=a.call(e)))return n;throw TypeError("Can't convert object to primitive value")}},function(e,t,a){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,a){e.exports=a(12)("native-function-to-string",Function.toString)},function(e,t,a){e.exports=function(e,t,a,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(a+": incorrect invocation!");return e}},function(e,t,a){var r=a(5),n=a(32),i=a(33),c=a(3),o=a(34),s=a(36),u={},d={},b=e.exports=function(e,t,a,b,f){var l,h,p,y,g=f?function(){return e}:s(e),v=r(a,b,t?2:1),m=0;if("function"!=typeof g)throw TypeError(e+" is not iterable!");if(i(g)){for(l=o(e.length);l>m;m++)if((y=t?v(c(h=e[m])[0],h[1]):v(e[m]))===u||y===d)return y}else for(p=g.call(e);!(h=p.next()).done;)if((y=n(p,v,h.value,t))===u||y===d)return y};b.BREAK=u,b.RETURN=d},function(e,t,a){var r=a(3);e.exports=function(e,t,a,n){try{return n?t(r(a)[0],a[1]):t(a)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},function(e,t,a){var r=a(19),n=a(1)("iterator"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[n]===e)}},function(e,t,a){var r=a(35),n=Math.min;e.exports=function(e){return e>0?n(r(e),9007199254740991):0}},function(e,t,a){var r=Math.ceil,n=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?n:r)(e)}},function(e,t,a){var r=a(11),n=a(1)("iterator"),i=a(19);e.exports=a(2).getIteratorMethod=function(e){if(null!=e)return e[n]||e["@@iterator"]||i[r(e)]}},function(e,t,a){var r=a(3),n=a(6),i=a(1)("species");e.exports=function(e,t){var a,c=r(e).constructor;return void 0===c||null==(a=r(c)[i])?t:n(a)}},function(e,t,a){e.exports=function(e,t,a){var r=void 0===a;switch(t.length){case 0:return r?e():e.call(a);case 1:return r?e(t[0]):e.call(a,t[0]);case 2:return r?e(t[0],t[1]):e.call(a,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(a,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(a,t[0],t[1],t[2],t[3])}return e.apply(a,t)}},function(e,t,a){var r=a(0).document;e.exports=r&&r.documentElement},function(e,t,a){var r=a(0),n=a(20).set,i=r.MutationObserver||r.WebKitMutationObserver,c=r.process,o=r.Promise,s="process"==a(8)(c);e.exports=function(){var e,t,a,u=function(){var r,n;for(s&&(r=c.domain)&&r.exit();e;){n=e.fn,e=e.next;try{n()}catch(r){throw e?a():t=void 0,r}}t=void 0,r&&r.enter()};if(s)a=function(){c.nextTick(u)};else if(!i||r.navigator&&r.navigator.standalone)if(o&&o.resolve){var d=o.resolve(void 0);a=function(){d.then(u)}}else a=function(){n.call(r,u)};else{var b=!0,f=document.createTextNode("");new i(u).observe(f,{characterData:!0}),a=function(){f.data=b=!b}}return function(r){var n={fn:r,next:void 0};t&&(t.next=n),e||(e=n,a()),t=n}}},function(e,t,a){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,a){var r=a(0).navigator;e.exports=r&&r.userAgent||""},function(e,t,a){var r=a(3),n=a(4),i=a(21);e.exports=function(e,t){if(r(e),n(t)&&t.constructor===e)return t;var a=i.f(e);return(0,a.resolve)(t),a.promise}},function(e,t,a){var r=a(17);e.exports=function(e,t,a){for(var n in t)r(e,n,t[n],a);return e}},function(e,t,a){var r=a(9).f,n=a(18),i=a(1)("toStringTag");e.exports=function(e,t,a){e&&!n(e=a?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},function(e,t,a){var r=a(0),n=a(9),i=a(7),c=a(1)("species");e.exports=function(e){var t=r[e];i&&t&&!t[c]&&n.f(t,c,{configurable:!0,get:function(){return this}})}},function(e,t,a){var r=a(1)("iterator"),n=!1;try{var i=[7][r]();i.return=function(){n=!0},Array.from(i,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!n)return!1;var a=!1;try{var i=[7],c=i[r]();c.next=function(){return{done:a=!0}},i[r]=function(){return c},e(i)}catch(e){}return a}},function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0});var r="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};t.default=function(e,t,a){if(e&&t){var n=void 0;try{n=(0,i.getUri)(e,t,a)}catch(e){return Promise.reject(e.message)}return new c.default({type:"json",method:"GET",url:n}).then((function(e){return e&&e.response?"string"==typeof e.response?JSON.parse(e.response).Result:"object"===r(e.response)?e.response.Result:e.response:e}))}return Promise.reject("vid, host and token can't be empty")};var n,i=a(49),c=(n=a(51))&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.getUri=function(e,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{e=JSON.parse((0,r.decode)(e))}catch(e){throw new Error("base64 decode error: "+e.message)}var n=[];for(var i in a)n.push(i+"="+a[i]);var c=(/^http/.test(t)?t:"//"+t)+"?"+e.GetPlayInfoToken+"&ssl=true";return n.length>0&&(c+="&"+n.join("&")),c};var r=a(50)},function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.decode=function(e){var t,a,r,n,i,c,o,s=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];for(c=e.length,i=0,o="";i<c;){do{t=s[255&e.charCodeAt(i++)]}while(i<c&&-1===t);if(-1===t)break;do{a=s[255&e.charCodeAt(i++)]}while(i<c&&-1===a);if(-1===a)break;o+=String.fromCharCode(t<<2|(48&a)>>4);do{if(61==(r=255&e.charCodeAt(i++)))return o;r=s[r]}while(i<c&&-1===r);if(-1===r)break;o+=String.fromCharCode((15&a)<<4|(60&r)>>2);do{if(61==(n=255&e.charCodeAt(i++)))return o;n=s[n]}while(i<c&&-1===n);if(-1===n)break;o+=String.fromCharCode((3&r)<<6|n)}return o}},function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.default=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.url,r=t.method,n=void 0===r?"GET":r,i=(t.type,t.data),c=void 0===i?{}:i,o=t.headers,s=void 0===o?{}:o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),new Promise((function(e,t){var r=new window.XMLHttpRequest,i=n.toUpperCase(),o=[];for(var u in c)o.push(u+"="+c[u]);if("GET"!==i)throw new Error("xhr "+i+" is not supported");for(var d in r.open(i,""+a,!0),r.responseType="",s)r.setRequestHeader(d,""+s[d]);r.send(),r.onload=function(){200===r.status||206===r.status?e(r):t(r)},r.onerror=function(){t(r)},r.ontimeout=function(){t(r)}}))},e.exports=t.default}]),Sc=Ne(Ec);function Tc(e,t){return Ac.apply(this,arguments)}function Ac(){return(Ac=pe(Ce().mark((function e(t,a){return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){pc("service request: ".concat(a,", ").concat(t)),Sc.url(t,a).then((function(t){var a=[],r=(null==t?void 0:t.Data)||t;pc("service response: ".concat(r?JSON.stringify({Status:r.Status,vid:r.VideoID}):void 0)),null!=r&&r.PlayInfoList&&r.PlayInfoList.length>0?(a=r.PlayInfoList,e({videoList:a,vid:r.VideoID,rawData:t})):(console.error("HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN."),e({videoList:[],rawData:t}))}))})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kc(e){if(e.sort((function(e,t){return t.Bitrate-e.Bitrate})),e[0].Bitrate){var t=0;e.every((function(a,r){return e[0].Bitrate===a.Bitrate&&(t=r,!0)})),t>0&&e.splice(t)}return e}function Ic(e,t,a){var r=a||[];if(e.sort((function(e,t){return t.Bitrate-e.Bitrate})),e[0].Bitrate){var n=0;e.every((function(t,a){return e[0].Bitrate===t.Bitrate&&(n=a,!0)})),n>0&&e.splice(n)}e.forEach((function(e){var t,a,n={name:e.Definition||"标清",definition:e.Definition,url:e.MainPlayUrl||e.src||"",backupUrl:e.BackupPlayUrl,bitrate:e.Bitrate,size:e.Size,kid:e.PlayAuthID,codec:e.Codec,width:e.Width,height:e.Height,playAuth:e.PlayAuth,drmType:e.DrmType},i=function(e,t){for(var a=0;a<t.length;a++)if(e.Definition.toLocaleLowerCase()===t[a].definition.toLocaleLowerCase())return a;return-1}(e,r);i>=0?(t=n,(a=r[i])||(a=t),Object.keys(t).map((function(e){a[e]=t[e]}))):r.push(n)}));var i=-1;if(t)for(var c=0;c<e.length;c++)e[c].Definition.toLocaleLowerCase()===t.toLocaleLowerCase()&&(i=c);return i<0&&(i=0),a[i]&&(a[i].selected=!0),{index:i,list:r}}var Rc=_e((function e(t,a){ge(this,e),this.timeID=void 0,this.func=t,this.frequency=a}),[{key:"repeat",value:function(){var e=this,t=this.func,a=this.frequency;t&&a&&(this.timeID=setTimeout((function(){t(),e.repeat()}),a))}},{key:"cancel",value:function(){this.timeID&&(clearTimeout(this.timeID),this.timeID=void 0)}}]);function wc(e,t,a){function r(e,t){var a=parseInt(e.slice(t,t+2),16);return a>>>7==0?[1,a]:a>>>6==2?(a=(63&a)<<8,[2,a+=parseInt(e.slice(t+2,t+4),16)]):(a=(63&a)<<16,[3,a+=parseInt(e.slice(t+2,t+6),16)])}var n,i=0,c=[],o=[];for(n=0;n<4;++n)i+=(3&parseInt(e.slice(8+2*n,10+2*n),16))<<2*n;var s=parseInt(e.slice(16,24),16),u=2*parseInt(e.slice(32,40),16);for(n=40;n<u+40;n+=2)c.push(parseInt(e.slice(n,n+2),16));var d=u+40,b=parseInt(e.slice(d,d+4),16);for(d+=4,n=0;n<b;++n){var f=r(e,d);d+=2*f[0];for(var l="",h=0;h<f[1];++h){var p=r(e,d);l+=String.fromCharCode(i^p[1]),d+=2*p[0]}o.push(l)}return t.p=null,function e(t,a,r,n,i){var s,u,d,b,f,l=-1,h=[],p=[0,null],y=null,g=[a];for(u=Math.min(a.length,r),d=0;d<u;++d)g.push(a[d]);g.p=n;for(var v=[];;)try{switch(c[t++]){case 76:s=c[t++],h[++l]=s<<24>>24;break;case 7:s=((s=((s=c[t++])<<8)+c[t++])<<8)+c[t++],h[++l]=(s<<8)+c[t++];break;case 63:s=(c[t]<<8)+c[t+1],t+=2,h[++l]=o[s];break;case 48:h[++l]=void 0;break;case 72:h[++l]=i;break;case 57:s=(c[t]<<8)+c[t+1],t+=2,l=l-s+1,u=h.slice(l,l+s),h[l]=u;break;case 39:h[++l]={};break;case 61:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],d=h[l--],h[l][u]=d;break;case 33:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;h[++l]=b[d];break;case 42:s=(c[t]<<8)+c[t+1],t+=2,u=o[s],h[l]=h[l][u];break;case 70:u=h[l--],h[l]=h[l][u];break;case 60:for(u=c[t++],d=c[t++],b=g;u>0;--u)b=b.p;b[d]=h[l--];break;case 25:u=h[l--],h[l]+=u;break;case 15:u=h[l--],h[l]=h[l]===u;break;case 13:u=h[l--],h[l]=h[l]!==u;break;case 62:u=h[l--],h[l]=h[l]>u;break;case 35:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?--l:t+=s;break;case 31:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,h[l]?t+=s:--l;break;case 23:s=c[t++],u=h[l--],(d=function e(){var t=e._v;return(0,e._u)(t[0],arguments,t[1],t[2],this)})._v=[u,s,g],d._u=e,h[++l]=d;break;case 45:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])[1]=t+s;break;case 5:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=v[v.length-1])&&!u[1]?(u[0]=3,u.push(t)):v.push([1,0,t]),t+=s;break;case 26:if(d=(u=v.pop())[0],b=p[0],1===d)t=u[1];else if(0===d)if(0===b)t=u[1];else{if(1!==b)throw p[1];if(!y)return p[1];t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=p[1],p=[0,null],y=y[0]}else t=u[2],u[0]=0,v.push(u);break;case 12:for(u=h[l--],d=null;b=v.pop();)if(2===b[0]||3===b[0]){d=b;break}if(d)p=[1,u],t=d[2],d[0]=0,v.push(d);else{if(!y)return u;t=y[1],i=y[2],g=y[3],v=y[4],h[++l]=u,p=[0,null],y=y[0]}break;case 74:l-=s=c[t++],d=h.slice(l+1,l+s+1),u=h[l--],b=h[l--],u._u===e?(u=u._v,y=[y,t,i,g,v],t=u[0],null==b&&(b=function(){return this}()),i=b,(g=[d].concat(d)).length=Math.min(u[1],s)+1,g.p=u[2],v=[]):(f=u.apply(b,d),h[++l]=f);break;case 47:for(s=c[t++],b=[void 0],f=s;f>0;--f)b[f]=h[l--];d=h[l--],f=new(u=Function.bind.apply(d,b)),h[++l]=f;break;case 44:t+=2+(s=(s=(c[t]<<8)+c[t+1])<<16>>16);break;case 54:s=(s=(c[t]<<8)+c[t+1])<<16>>16,t+=2,(u=h[l--])||(t+=s);break;case 0:--l;break;case 46:u=h[l],h[++l]=u;break;default:throw new Error("ioe")}}catch(e){for(p=[0,null];(s=v.pop())&&!s[0];);if(!s){e:for(;y;){for(u=y[4];s=u.pop();)if(s[0])break e;y=y[0]}if(!y)throw e;t=y[1],i=y[2],g=y[3],v=y[4],y=y[0]}1===(u=s[0])?(t=s[2],s[0]=0,v.push(s),h[++l]=e):2===u?(t=s[2],s[0]=0,v.push(s),p=[3,e]):(t=s[3],s[0]=2,v.push(s),h[++l]=e)}}(s,[],0,t,a)}var Cc=["eventName"],xc=null,Oc=null,Pc=function(){function e(){var t,a,r,n,i,c;ge(this,e);for(var o=arguments.length,s=new Array(o),u=0;u<o;u++)s[u]=arguments[u];return(t=ye(this,e,[].concat(s))).abrService=null,t._currentPlaySessionId=-1,xc||(xc=t.player._startInit),Oc||(Oc=t.player.playNext),fe.BasePlugin.defineGetterOrSetter(t.player,(a=t,{downloadSpeed:{get:function(){return a.core.speedInfo().speed/8e3},configurable:!0},historyAvspeed:{get:function(){return a.core.speedInfo().avgSpeed/8e3},configurable:!0},abrInstance:{get:function(){var e;return null===(e=a.abrService)||void 0===e?void 0:e.abrInstance},configurable:!0},logCache:{get:function(){if(a.logger)return a.logger.getLogCache()},configurable:!0},currentDefinitionFromPlayer:{get:function(){var e;return null!=a&&null!==(e=a.abrService)&&void 0!==e&&e.isCurrentInAbr()?a.abrService.curDefinition:a.player.curDefinition},configurable:!0}})),fe.BasePlugin.defineMethod(t.player,(n=(r=t).player,i=r.playerConfig,null!=(c=Object.getOwnPropertyDescriptor(n,"switchURL"))&&c.configurable&&delete n.switchURL,{playNext:function(e){var t;r._currentPlaySessionId++;var a=r._currentPlaySessionId,c=n.paused;n.pause(),n.hasStart=!1,n.curDefinition=null,["url","vid","kid","playAuthToken","keyToken","startTime","secretKey"].forEach((function(e){r.config[e]=void 0})),i.url=void 0,i.definition&&(i.definition={list:[]}),Object.keys(e).map((function(t){t.toLocaleLowerCase()===r.pluginName.toLocaleLowerCase()?"Object"===fe.Util.typeOf(e[t])&&Object.keys(e[t]).map((function(a){r.config[a]=e[t][a]})):i[t]=e[t]})),i.autoplay="boolean"==typeof e.autoplay?e.autoplay:!c,r.getUrlTime=(new Date).getTime()/1e3,null===(t=r.abrService)||void 0===t||t.destroy(),r.abrService=null,r.isNativeMode?r.start(void 0,{playSessionId:a}):new Promise((function(e){r.hls?e(void 0):setTimeout((function(){e(void 0)}),0)})).then((function(){r.isPlaySessionValid(a)&&r.hls.detachMedia().then((function(){r.isPlaySessionValid(a)&&r.start(void 0,{playSessionId:a})}))}))},_startInit:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a={};fe.Util.isNotNull(t.playSessionId)?a.playSessionId=t.playSessionId:r._currentPlaySessionId>0&&(a.playSessionId=r._currentPlaySessionId),r.start("",a)},switchURL:function(e,t){return pe(Ce().mark((function a(){var n,i,c,o,s,u,d;return Ce().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(n=r.player,i=r.hls,c=r.isNativeMode,o=n.paused,s=Oi(t,r),u=++r._currentPlaySessionId,!i&&!c){a.next=11;break}return n.config.url=e,s.seamless||(vc(n),c&&((d=n.media||n.video).removeAttribute("src"),d.load(),s.startTime>0&&(n.currentTime=s.startTime))),a.next=9,r.start(e,{switchUrlArgs:s,playSessionId:u});case 9:if(r.isPlaySessionValid(u)){a.next=11;break}return a.abrupt("return");case 11:return a.abrupt("return",new Promise((function(e){var t=function(){mc(n),o?n.once("playing",(function(){n.pause(),e()})):e()};s.seamless?e():(fe.Sniffer.os.isAndroid?n.once("timeupdate",(function(){t()})):n.once("canplay",(function(){t()})),c&&!o&&n.play())})));case 12:case"end":return a.stop()}}),a)})))()},changeDefinition:function(e,t){var a,n,i,c,o,s,u,d,b,f,l,h=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=r.player,y=r.playerConfig,g=r.abrService,v=r.isNativeMode,m=p.config.definition,_="自动"===(null===(a=e)||void 0===a?void 0:a.definition)||"auto"===(null===(n=e)||void 0===n?void 0:n.definition);if(!t&&p.curDefinition&&(t=p.curDefinition),Array.isArray(null==m?void 0:m.list)&&m.list.forEach((function(t){var a,r;h?!yc(t.definition)&&(null===(a=e)||void 0===a?void 0:a.bitrate)===t.bitrate&&p.curDefinition&&(p.curDefinition.bitrate=t.bitrate,"number"==typeof t.height&&"number"==typeof t.width&&(p.curDefinition.height=t.height,p.curDefinition.width=t.width)):(null===(r=e)||void 0===r?void 0:r.definition)===t.definition&&(p.curDefinition=t)})),null!==(i=e)&&void 0!==i&&i.bitrate&&"number"!=typeof e.bitrate&&(e.bitrate=parseInt(e.bitrate,10)||0),!h&&!_){var E,S=null===(E=y.definition)||void 0===E?void 0:E.list;if(S&&(!e.bitrate||!e.uri||!e.size||!e.duration))for(var T=0;T<S.length;T++)if(e.definition===S[T].definition){var A;e.bitrate=S[T].bitrate,e.uri=S[T].uri||(null===(A=t)||void 0===A?void 0:A.uri),e.size=S[T].size,e.duration=S[T].duration||y.duration;break}}if(h?r.log("[switchBitrate:ABR] switch bitrate to ".concat(e.definition,", ").concat(null===(s=t)||void 0===s?void 0:s.bitrate,"->").concat(e.bitrate),r.core.abrSwitchPoint,_):(p.emit(fe.Events.DEFINITION_CHANGE,{from:t,to:e}),_&&p.curDefinition&&yc(null===(d=e=p.curDefinition)||void 0===d?void 0:d.definition)&&"number"==typeof(null===(b=t)||void 0===b?void 0:b.bitrate)&&t.bitrate>0&&(e.bitrate=null===(f=t)||void 0===f?void 0:f.bitrate),_?(null==g||g.enable(),g&&"number"==typeof(null===(l=t)||void 0===l?void 0:l.bitrate)&&t.bitrate>0&&(g.bitrate=t.bitrate)):null==g||g.disable(),r.log("[switchBitrate:CBS] switch bitrate to ".concat(e.definition,", ").concat(null===(u=t)||void 0===u?void 0:u.bitrate,"->").concat(e.bitrate))),!(!h&&_||h&&!r.core.abrSwitchPoint||h&&(null===(c=e)||void 0===c?void 0:c.bitrate)===(null===(o=t)||void 0===o?void 0:o.bitrate)))if(p.hasStart){h||(p.curDefinition=e);var k=h?r.core.abrSwitchPoint:p.currentTime,I=p.getBufferedRange(),R=Array.isArray(I)?I[1]:-1;r.log("beforeSwitchURL: ".concat(e.url,", isAbrSwitch: ").concat(h,", targetTime: ").concat(k),"duration: ".concat(p.duration,", bufferEnd: ").concat(R));var w=p.switchURL(e.url,Re({seamless:!v&&(!1!==(null==m?void 0:m.seamless)&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported||h),currentTime:k},e));w&&w.then?w.then((function(){h||p.emit(fe.Events.AFTER_DEFINITION_CHANGE,{from:t,to:e})})):h||p.emit(fe.Events.AFTER_DEFINITION_CHANGE,{from:t,to:e})}else p.config.url=e.url}})),t}return Ae(e,Pi),_e(e,[{key:"versionNum",get:function(){return Pc.semver.major}},{key:"beforePlayerInit",value:function(){var t=this;this.log("beforePlayerInit"),this.player;var a=this.playerConfig,r=this.config,n=Fi.isMobile(r.preferMMS);this.isNativeMode=!(!n&&(void 0===r.useHls||r.useHls)),this.getUrlTime=(new Date).getTime()/1e3,this.hlsOpts=r.hlsOpts||{},this.hlsTimer=new Rc((function(){t._detectExpires()}),r.checkExpireInterval),a.hls||(a.hls={}),a.hls.preferMMS=!!r.preferMMS,a.hls.preferMMSStreaming=!!r.preferMMSStreaming,a.hls.fetchOptions||(a.hls.fetchOptions={}),r.netAllowCredentials&&(a.hls.fetchOptions.credentials="include"),r.maxBufferLength>0&&(a.hls.preloadTime=r.maxBufferLength),this.isNativeMode||a.hls.decryptor||(a.hls.decryptor=new Ue({enableSoftwareAES:!!this.hlsOpts.enableSoftwareAES})),!this.isNativeMode&&this._mseEnvValid()&&(a.url&&(r.url=a.url,a.url=""),a.__allowHlsEmptyUrl__=!0,Oe(e,"beforePlayerInit",this,3)([])),this._bindEvents()}},{key:"_bindEvents",value:function(){var e=this,t=this.config,a=this.player;this.isNativeMode||a.once("playing",(function(){var e=a.media||a.video,t=!1,r=e.querySelector("track");r&&("hidden"===r.track.mode&&(t=!0),r.track.mode="hidden",e.removeChild(r)),a.config.textTrack&&a.config.textTrack.length>0&&a.config.textTrack.some((function(a){if(a.src&&a.label&&a.default){var r=document.createElement("track");return r.src=a.src,r.kind=a.kind,r.label=a.label,r.srclang=a.srclang,r.default=!0,e.appendChild(r),t&&(r.track.mode="hidden"),!0}}))})),t.checkHlsOffline&&Fi.on(this,"timeupdate",(function(){e._checkOffline()}),"destroy"),Fi.on(a,"loadeddata",(function(){var t,a;e.isNativeMode||(null!==(t=e.abrService)&&void 0!==t&&t.isCurrentInAbr()&&e.abrService.enable(),null===(a=e.abrService)||void 0===a||a.execute())}),"destroy"),Fi.on(a,"error",(function(){var t;null===(t=e.hlsTimer)||void 0===t||t.cancel()}),"destroy"),Fi.on(a,"core_event",(function(t){var r=t.eventName,n=we(t,Cc);switch(r){case $n.STREAM_PARSED:var i,c,o=null===(i=e.core)||void 0===i?void 0:i.currentStream;o&&!o.bitrate&&null!==(c=a.curDefinition)&&void 0!==c&&c.bitrate&&(o.bitrate=a.curDefinition.bitrate);break;case $n.APPEND_BUFFER:var s,u;(null===(s=e.core)||void 0===s?void 0:s.currentStream)&&a.emit("addVideoBufferEnd",{start:n.start,end:n.end,bandwidth:null===(u=a.curDefinition)||void 0===u?void 0:u.bitrate})}}),"destroy")}},{key:"destroy",value:function(){var t;Oe(e,"destroy",this,3)([]),this.hlsTimer&&(this.hlsTimer.cancel(),this.hlsTimer=void 0),_c(this.player,"_startInit",xc),_c(this.player,"playNext",Oc),this._playOriginalUrl=null,null===(t=this._secretKey)||void 0===t||t.destroy()}},{key:"log",value:function(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];pc.apply(void 0,[this.logger,2,e].concat(a))}},{key:"_mseEnvValid",value:function(){var e=this.player,t=this.config,a=!1;return Ge.checkMSEValid(t.preferMMS)?a=!0:e.emit("error",{msg:"MediaSource or SourceBuffer hijack",errorCode:-9995}),a}},{key:"start",value:(c=pe(Ce().mark((function e(){var t,a,r,n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m,_,E=arguments;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=E.length>0&&void 0!==E[0]?E[0]:"",n=E.length>1&&void 0!==E[1]?E[1]:{},this.log("_start"),i=this.player,c=n.playSessionId,(o=/^blob:/i.test(r))||(this._playOriginalUrl=null),e.prev=7,r){e.next=20;break}return e.next=11,this._getRawManifest({playSessionId:c});case 11:if(s=e.sent,this.isPlaySessionValid(c)){e.next=14;break}return e.abrupt("return");case 14:if(null!=s&&s.url){e.next=16;break}throw new Error("no service url");case 16:r=s.url,this._rawManifestInfo=s,e.next=21;break;case 20:this._rawManifestInfo&&(this._rawManifestInfo.url=r,this._rawManifestInfo.videoList=this._rawManifestInfo.videoList||i.definitionList||[]);case 21:if(u={playSessionId:c},!this._rawManifestInfo){e.next=36;break}if(d=this._rawManifestInfo,b=d.url,f=d.vid,l=d.videoList,!Array.isArray(l)){e.next=36;break}h=0;case 26:if(!(h<l.length)){e.next=36;break}if((p=l[h]).url!==b){e.next=33;break}return u.vid=f,u.kid=p.kid,u.playAuth=p.playAuth,e.abrupt("break",36);case 33:h++,e.next=26;break;case 36:if(o){e.next=44;break}return this._playOriginalUrl=i.config.url=r,e.next=40,this._getTransformManifestUrl(r,u);case 40:if(y=e.sent,this.isPlaySessionValid(c)&&y){e.next=43;break}return e.abrupt("return");case 43:i.config.url=y.url;case 44:e.next=53;break;case 46:return e.prev=46,e.t0=e.catch(7),g=e.t0.message||e.t0.name||"url transform error",v=e.t0.stack||"",m=e.t0.code||-9996,g===qi.GetKeyByKeyTokenFail&&(m=-9991),e.abrupt("return",i.emit("error",{errorCode:m,msg:g,errorStack:v}));case 53:if(this.isPlaySessionValid(c)){e.next=55;break}return e.abrupt("return");case 55:r=this.player.config.url,this.isNativeMode||(n.switchUrlArgs?(this.log("hls switchUrl: ".concat(r)),this.hls.switchURL(r,n.switchUrlArgs)):(this.log("hls load: ".concat(r)),this.hls.load(r,{clearSwitchStatus:!0}))),null!==(t=n.switchUrlArgs)&&void 0!==t&&t.seamless||null===(_=xc)||void 0===_||_.call(this.player,r,{playSessionId:c}),null===(a=this.hlsTimer)||void 0===a||a.repeat();case 59:case"end":return e.stop()}}),e,this,[[7,46]])}))),function(){return c.apply(this,arguments)})},{key:"_getRawManifest",value:(i=pe(Ce().mark((function e(t){var a,r,n,i,c,o,s,u,d,b,f,l,h,p,y;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("getRawManifest()"),r=t.playSessionId,n=this.config,i=this.playerConfig,c=n.vid,o=n.playAuthToken,s=n.playDomain,u=n.testUrl,d=n.testUrlExpire,b=n.autoBitrateOpts,f={url:n.url||i.url,playAuthToken:o,vid:c,playDomain:s,testUrl:u,testUrlExpire:d},l=(null===(a=i.definition)||void 0===a?void 0:a.list)||[],h=(null==b?void 0:b.isOpenAutoDefi)&&Array.isArray(l)&&l.filter((function(e){return yc(e.definition)})).length>0,!this.isNativeMode&&h&&(p=this._initAbrDefinition())&&(f.url=p.url),!f.url){e.next=20;break}if(this.log("directUrl: ".concat(f.url)),this.emit&&this.emit("can_start"),!(l.length>0)){e.next=17;break}return e.next=14,this._initAbrService(l.filter((function(e){return!yc(e.definition)})));case 14:if(this.isPlaySessionValid(r)){e.next=16;break}return e.abrupt("return",null);case 16:this._emitResourceReady(l);case 17:return e.abrupt("return",{url:f.url});case 20:if(!o&&!f.vid){e.next=31;break}return e.prev=21,e.next=24,this._playByToken(o,s,{playSessionId:r});case 24:return y=e.sent,e.abrupt("return",y);case 28:throw e.prev=28,e.t0=e.catch(21),new Error("playByToken error: ".concat(e.t0.message));case 31:return e.abrupt("return",null);case 32:case"end":return e.stop()}}),e,this,[[21,28]])}))),function(e){return i.apply(this,arguments)})},{key:"_initAbrService",value:(n=pe(Ce().mark((function e(t){var a,r,n,i,c,o,s=this;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=this.player,r=this.playerConfig,n=this.config,!this.isNativeMode&&n.autoBitrateOpts&&n.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return",!1);case 3:return this.abrService||(this.log("new ABRService()"),this.abrService=new gc(this,(function(e){for(var t,n=(null===(t=r.definition)||void 0===t?void 0:t.list)||[],i=0,c=0;c<n.length;c++)if(e.definition===n[c].definition){i=c;break}var o=n.filter((function(e){var t;return e.bitrate===(null===(t=a.curDefinition)||void 0===t?void 0:t.bitrate)&&!yc(e.definition)}))[0],u=n[i];s.log("changeDefinition: ".concat((null==o?void 0:o.definition)||(null==o?void 0:o.text)," -> ").concat(u.definition||u.text)),a.changeDefinition(u,o,!0)}))),this.log("abrService init"),e.next=7,this.abrService.init({video:t.map((function(e){return{width:e.width||0,height:e.height||0,bitrate:e.bitrate||0,codecs:e.codec||"",definition:e.definition}}))});case 7:return this.abrService&&(o=null===(i=r.definition)||void 0===i?void 0:i.list,Array.isArray(o)&&o.length>0&&this.abrService.updateAbrCacheData(),null!==(c=a.curDefinition)&&void 0!==c&&c.bitrate&&(this.abrService.bitrate=a.curDefinition.bitrate)),e.abrupt("return",!0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_initAbrDefinition",value:function(){var e,t,a=this.player,r=this.playerConfig,n=this.config,i=(null===(e=r.definition)||void 0===e?void 0:e.list)||[],c=r.definition&&void 0!==Le(r.definition.defaultDefinition)?r.definition.defaultDefinition:r.defaultDefinition,o=!(null===(t=n.autoBitrateOpts)||void 0===t||!t.isPlayAutoDefi),s=null;if(i.length>0){var u=i.filter((function(e){return!yc(e.definition)}));s=u.length>0?u.filter((function(e){return e.definition===c}))[0]||u[0]:null,a.curDefinition&&!o||(a.curDefinition=i.filter((function(e){return o?yc(e.definition):e.definition===c}))[0]||null),a.curDefinition.vwidth||Object.assign(a.curDefinition,this._getDefinitionItem(a.curDefinition.definition)),s&&!a.curDefinition.bitrate&&(a.curDefinition.bitrate=s.bitrate)}if(o)for(var d=0;d<i.length;d++){var b=i[d];b.selected=yc(b.definition)}return s}},{key:"_getDefinitionItem",value:function(e){var t=this.playerConfig;if(!t.definition||!t.definition.list)return null;for(var a=0;a<t.definition.list.length;a++){var r=t.definition.list[a];if(r.definition===e)return r}return null}},{key:"_playByToken",value:(r=pe(Ce().mark((function e(t,a,r){var n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m,_,E=this;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=this.player,i=this.config,c=r.playSessionId,e.next=4,Tc(t,a);case 4:if(o=e.sent,s=o.vid,u=o.videoList,d=o.rawData,this.isPlaySessionValid(c)){e.next=10;break}return e.abrupt("return",null);case 10:if(this.emit&&this.emit("get_play_info",d),!(u&&u.length>0&&(u[0].MainPlayUrl||u[0].src))){e.next=31;break}return kc(u),this.getUrlTime=(new Date).getTime()/1e3,b=n.config.definition,f=(null==b?void 0:b.defaultDefinition)||n.config.defaultDefinition,u[0].UrlExpire&&(this.urlExpireTimestamp=i.testUrlExpire||u[0].UrlExpire),l=Ic(u,f,(null==b?void 0:b.list)||[]),e.next=20,this._initAbrService(l.list);case 20:if(p=e.sent,this.isPlaySessionValid(c)){e.next=23;break}return e.abrupt("return",null);case 23:return p?(h=(null===(g=n.config.definition)||void 0===g?void 0:g.list)||[],y=h.filter((function(e){var t;return e.bitrate===(null===(t=E.abrService)||void 0===t?void 0:t.bitrate)}))[0]):(h=l.list,y=h[l.index],n.curDefinition=y),"private_encrypt_upgrade"===y.drmType&&(i.secretKey=y.playAuth),v=y.url,this._emitResourceReady(h),this.emit&&this.emit("can_start"),e.abrupt("return",{url:v,vid:s,videoList:l.list});case 31:throw m=(d||{ResponseMetadata:{Error:{CodeN:0,Message:""},RequestId:""}}).ResponseMetadata,this.emit&&this.emit("playInterfaceInfo",{code:m.Error.CodeN,message:m.Error.Message,logid:m.RequestId}),_={msg:"HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN.",errorCode:-9998},this.emit&&this.emit("error",_),_;case 37:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return r.apply(this,arguments)})},{key:"_getTransformManifestUrl",value:(a=pe(Ce().mark((function e(t){var a,r,n=arguments;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.length>1&&void 0!==n[1]?n[1]:{},e.next=3,this._loadSource(t,a);case 3:if(r=e.sent,this.isPlaySessionValid(a.playSessionId)){e.next=6;break}return e.abrupt("return",null);case 6:if(r){e.next=8;break}return e.abrupt("return",null);case 8:if("string"!=typeof r){e.next=12;break}return e.abrupt("return",{url:r});case 12:return e.abrupt("return",new Promise((function(e){var t=new FileReader;t.onload=function(){e({url:t.result})},t.readAsDataURL(r)})));case 13:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"_processRetData",value:function(e){if(e.sort((function(e,t){return t.Bitrate-e.Bitrate})),e[0].Bitrate){var t=0;e.every((function(a,r){return e[0].Bitrate===a.Bitrate&&(t=r,!0)})),t>0&&e.splice(t)}}},{key:"_checkOffline",value:function(){var e,t,a=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(t=this.player)||void 0===t?void 0:t.video);this.hls&&a&&!a.videoHeight?(this.hls.hlsOfflineCount=void 0===this.hls.hlsOfflineCount?1:this.hls.hlsOfflineCount+1,this.hls.hlsOfflineCount>3&&(this.pause(),this.emit&&this.emit("error",{msg:"OFFLINE",errorCode:-9997}),this.onError())):this.hls&&(this.hls.hlsOfflineCount=0)}},{key:"pause",value:function(){throw new Error("Method not implemented.")}},{key:"onError",value:function(){throw new Error("Method not implemented.")}},{key:"_detectExpires",value:function(){var e=this,t=this.config,a=this.player;a&&!a.ended&&(t.expireDetectType.indexOf("getUrlTime")>-1&&this.getUrlTime&&a.duration&&(new Date).getTime()/1e3>this.getUrlTime+3300+a.duration&&(this.getUrlTime=0,this._emitExpireEvent()),t.expireDetectType.indexOf("xhrStatus")>-1&&this._playOriginalUrl&&Math.random()<1/7.5&&ji({url:this._playOriginalUrl,xhrSetup:function(e){t.netAllowCredentials&&(e.withCredentials=!0)}}).catch((function(t){t&&void 0!==t.status&&(e.hlsExpireCount=void 0===e.hlsExpireCount?1:e.hlsExpireCount+1,e.hlsExpireCount>3&&(e.hlsExpireCount=0,e._emitExpireEvent()))})),t.expireDetectType.indexOf("urlExpire")>-1&&this.urlExpireTimestamp&&(new Date).getTime()/1e3>=this.urlExpireTimestamp&&(this.urlExpireTimestamp=5e9,this._emitExpireEvent()))}},{key:"_emitExpireEvent",value:function(){var e=this.player,t=(new Date).getTime()/1e3;this.emitExpireTimestamp?t-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=t,e.emit("MEDIA_EXPIRED")):(this.emitExpireTimestamp=t,e.emit("MEDIA_EXPIRED"))}},{key:"_updateM3U8",value:function e(t,a,r){return wc("504B0101858681880000005f8b8386850000024f21020b3f001d2f012e2a001e2100044a013600203f00192e2a0011210002210003193f001f4a022e2a00112100044a010c2c00293f00192e2a0011210002210003193f001f4a022e2a00112102062e2a00202101072100044a024a010c300c482a00003c0001482a00012a00023f00030d23000a21010a2101012a00040f36000f2101022e2a00052101094a013c01090500433c000c2101023f0006461f00072101023f0007461f00072101023f0008463c00032100032f003c00022100022e2a00092101094a01002100022e2a000a4a003c00021a2d0016210103210109390001273f000b3d000c2f023c00021a2101042e2a000d2100024a013c00042101082e2a000e21010b3f000f2f013f00102e2a00112100043f00124a024a023c01082101052e2a00132100012a00012a00144a013600152101052e2a00152100012a00012a00144a012c00092100012a00012a00143c00052100052e2a001621010b3f00172f014a011f00033900003c00062100053600272100062a00184c013e3600153f00192e2a00112100064c01463f001a4a022c00033f00192c00033f00193c00072101082e2a000e21010b3f001b3f001c2f02070000000017044a023c01080500433c000d2101023f0006461f00072101023f0007461f00072101023f0008463c00092100092f003c00082100082e2a00092101084a01002100082e2a000a4a003c00081a2d0016210103210108390001273f00213d000c2f023c00081a2101052e2a00224a003c000a21000a3600072100080c2c00132101042e2a000d2100084a013c000b21000b0c300c002306697578607c6b067a76777f707e0a7e7c6d527c604d60697c034d564903525d4a04786d767b0b5b75767b5b6c70757d7c6b114e7c7b52706d5b75767b5b6c70757d7c6b0e5476635b75767b5b6c70757d7c6b067869697c777d077e7c6d5b75767b096d7c616d36716d7475046d60697c0f7a6b7c786d7c567b737c7a6d4c4b55076b7c6975787a7c0e354c4b50243b3142473b4432303b06354c4b50243b067a76777a786d013b0d706a4b7c75786d706f7c4c4b55036c6b750e7e7c6d587b6a76756c6d7c4c4b550574786d7a71203131716d6d6965716d6d696a302326453645363732304536456e324537456e3206757c777e6d710001363f313a5c414d50575f233031457d32453726457d6229352b296430312623353126234247456b654577443330312623456b6545773033303137333126383a3030017e1431716d6d6965716d6d696a302645232645364536046d7c6a6d023513107b6c70757d587b6a76756c6d7c4c4b551578696975707a786d70767736613474697c7e4c4b5508706a54767b70757c",{get 0(){return e},get 1(){return Ni},get 2(){return window},get 3(){return Blob},get 4(){return URL},get 5(){return Fi},get 6(){return yt},7:arguments,8:t,9:a,10:r,11:RegExp},this)}},{key:"_loadSource",value:(t=pe(Ce().mark((function e(t){var a,r,n,i,c,o,s,u,d,b,f,l,h,p,y,g,v,m,_,E,S,T,A,k,I=arguments;return Ce().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=I.length>1&&void 0!==I[1]?I[1]:{},r=this.player,n=this.config,i=a.kid||n.kid,c=a.vid||n.vid,o=a.playSessionId,s=a.playAuth||n.secretKey,this.log("loadSource: ".concat(t,", Kid: ").concat(i,", vid: ").concat(c,", secretKey: ").concat(s)),e.next=9,Ki(t,this);case 9:if(u=e.sent,this.isPlaySessionValid(o)){e.next=12;break}return e.abrupt("return",null);case 12:if(null!=u&&u.keyUrl&&null!=u&&u.responseText){e.next=15;break}return this.log("loadSource with normal url: ".concat(r.config.url)),e.abrupt("return",r.config.url);case 15:if(d=u.keyUrl,b=u.responseText,f=n.getLicenseUrl,l=n.drmType,h=n.drmKeyToken,p=n.playDomain,y=n.sessionId,!n.keyValue){e.next=21;break}g=this._updateM3U8(b,n.keyValue),e.next=65;break;case 21:if(!(f&&i||i&&h&&p||s)){e.next=51;break}if(this._secretKey=new Ge.XGSecretKey({getLicenseUrl:f,vid:c,useUnionInfoDRM:n.useUnionInfoDRM,playDomain:p,drmType:l,drmKeyToken:h,drm:n.drm,keyValue:n.keyValue,kid:i,useEME:!1,secretKey:s,keyTokenExpiredDuration:n.keyTokenExpiredDuration,sessionId:y}),e.prev=23,!this.isNativeMode){e.next=33;break}return e.next=27,this._secretKey.getLicense();case 27:if(m=e.sent,this.isPlaySessionValid(o)){e.next=30;break}return e.abrupt("return",null);case 30:v=(null==m?void 0:m.keyValue)||m,e.next=42;break;case 33:return e.next=35,this._secretKey.getLicenseSecret();case 35:if(_=e.sent,this.isPlaySessionValid(o)){e.next=38;break}return e.abrupt("return",null);case 38:E=null==_?void 0:_.secretKey,S=null==_?void 0:_.decryptKey,T=S&&Ge.util.ArrayBufferToString(S),v="".concat(Ni.DRM,"-").concat(E,"_").concat(T);case 42:e.next=48;break;case 44:throw e.prev=44,e.t0=e.catch(23),this.logger.error("getLicense, err: (".concat((null===e.t0||void 0===e.t0||null===(A=e.t0.error)||void 0===A?void 0:A.message)||(null===e.t0||void 0===e.t0?void 0:e.t0.message),")")),(null===e.t0||void 0===e.t0?void 0:e.t0.error)||e.t0||new Error("SecretKey failure without msg");case 48:g=this._updateM3U8(b,v,Ni.DRM),e.next=65;break;case 51:if(!n.keyToken||!("TOP"===n.getKeyType?n.playDomain:n.keyDomain)){e.next=64;break}return e.next=54,zi(this,{system:Ni.KDS,url:d});case 54:if(k=e.sent,this.isPlaySessionValid(o)){e.next=57;break}return e.abrupt("return",null);case 57:if(!k){e.next=61;break}g=this._updateM3U8(b,k,Ni.KDS),e.next=62;break;case 61:throw new Error(qi.GetKeyByKeyTokenFail);case 62:e.next=65;break;case 64:throw new Error("There is no available ways for encrypt hls to generate manifest url");case 65:return this.log("loadSource by key and return: ".concat(g)),e.abrupt("return",g);case 67:case"end":return e.stop()}}),e,this,[[23,44]])}))),function(e){return wc("504B010185868188000000008b8386850000000e2101002e2a0000482101014a020c0001057869697560",{get 0(){return t},1:arguments,2:e},this)})},{key:"_emitResourceReady",value:function(e){var t=this.player,a=this.abrService;(null!=a&&a.isPlayAutoDef||!e.some((function(e){return!!e.selected})))&&e.forEach((function(e){var r;e.selected=null!=a&&a.isPlayAutoDef?a.isAutoDefValue(e.definition):e.definition===(null===(r=t.curDefinition)||void 0===r?void 0:r.definition)})),t.emit("resourceReady",e)}},{key:"isPlaySessionValid",value:function(e){return void 0===e&&-1===this._currentPlaySessionId||this._currentPlaySessionId===e}}],[{key:"pluginName",get:function(){return"EncryptHlsPlugin"}},{key:"defaultConfig",get:function(){return{expireDetectType:[],hlsOpts:{},checkExpireInterval:400,type:"",playAuthToken:"",vid:"",checkHlsOffline:!1,getLicenseUrl:"",preferMMS:!1}}},{key:"version",get:function(){return Di}},{key:"semver",get:function(){var e=ht(Di)||{},t=e.major,a=e.minor,r=e.patch;return{version:Di,major:t,minor:a,patch:r}}}]);var t,a,r,n,i,c}(),Dc=Pc;return Dc.updateUnionInfo=Ge.XGSecretKey.updateUnionInfo,Dc.generateEncryptInfo=Ge.XGSecretKey.generateEncryptInfo,Dc.isSupported=function(e){e=(e||navigator.userAgent).toLocaleLowerCase();var t=/(iphone)/.test(e)||/(ipad)/.test(e),a=/(android)/.test(e),r=/(windows phone)/.test(e),n=!(t||a||r),i=/(quark)/.test(e);if(n||a){var c=function(){return"undefined"!=typeof MediaSource?MediaSource:arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&void 0!==self.ManagedMediaSource?self.ManagedMediaSource:void 0!==self.WebKitMediaSource?self.WebKitMediaSource:void 0}(!0);return!(null==c||!c.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))}return!!t&&!i&&!/iphone os 11_[2-4]\D/gi.test(e)},Dc}(requireEs_array_concat(),requireEs_array_filter(),requireEs_array_indexOf(),requireEs_array_iterator(),requireEs_array_map(),requireEs_array_sort(),requireEs_array_splice(),requireEs_object_assign(),requireEs_object_toString(),requireEs_promise(),requireEs_regexp_exec(),requireEs_string_iterator(),requireEs_string_match(),requireEs_string_repeat(),requireEs_string_replace(),requireWeb_domCollections_forEach(),requireWeb_domCollections_iterator(),requireWeb_url(),requireWeb_url_toJson(),requireWeb_urlSearchParams(),requireEs_array_copyWithin(),requireEs_array_includes(),requireEs_array_join(),requireEs_array_lastIndexOf(),requireEs_array_reduce(),requireEs_array_slice(),requireEs_arrayBuffer_constructor(),requireEs_arrayBuffer_slice(),requireEs_number_constructor(),requireEs_parseInt(),requireEs_regexp_constructor(),requireEs_regexp_toString(),requireEs_string_includes(),requireEs_string_startsWith(),requireEs_typedArray_float32Array(),requireEs_typedArray_float64Array(),requireEs_typedArray_int8Array(),requireEs_typedArray_int16Array(),requireEs_typedArray_int32Array(),requireEs_typedArray_uint8Array(),requireEs_typedArray_uint8ClampedArray(),requireEs_typedArray_uint16Array(),requireEs_typedArray_uint32Array(),requireEs_typedArray_copyWithin(),requireEs_typedArray_every(),requireEs_typedArray_fill(),requireEs_typedArray_filter(),requireEs_typedArray_find(),requireEs_typedArray_findIndex(),requireEs_typedArray_forEach(),requireEs_typedArray_includes(),requireEs_typedArray_indexOf(),requireEs_typedArray_iterator(),requireEs_typedArray_join(),requireEs_typedArray_lastIndexOf(),requireEs_typedArray_map(),requireEs_typedArray_reduce(),requireEs_typedArray_reduceRight(),requireEs_typedArray_reverse(),requireEs_typedArray_set(),requireEs_typedArray_slice(),requireEs_typedArray_some(),requireEs_typedArray_sort(),requireEs_typedArray_subarray(),requireEs_typedArray_toLocaleString(),requireEs_typedArray_toString(),require$$66,requireEs_date_toJson(),requireEs_object_keys(),requireEs_object_getOwnPropertyDescriptor(),requireEs_map(),requireEs_number_toFixed(),requireEs_parseFloat(),requireEsnext_map_deleteAll(),requireEsnext_map_every(),requireEsnext_map_filter(),requireEsnext_map_find(),requireEsnext_map_findKey(),requireEsnext_map_includes(),requireEsnext_map_keyOf(),requireEsnext_map_mapKeys(),requireEsnext_map_mapValues(),requireEsnext_map_merge(),requireEsnext_map_reduce(),requireEsnext_map_some(),requireEsnext_map_update());var index_minExports=index_min.exports,EncryptHlsPlugin=getDefaultExportFromCjs(index_minExports);export{EncryptHlsPlugin as default};