@volcengine/veplayer 1.14.1-rc.2 → 1.14.1-rc.3
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.
- package/index.min.js +2 -2
- package/package.json +1 -1
- package/plugin/hlsEncrypt.js +2 -2
package/plugin/hlsEncrypt.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
// Built @
|
|
2
|
-
!function(e,c){"object"==typeof exports&&"undefined"!=typeof module?module.exports=c(require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.sort.js"),require("core-js/modules/es.array.splice.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.string.match.js"),require("core-js/modules/es.string.repeat.js"),require("core-js/modules/es.string.replace.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url.to-json.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array.copy-within.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.number.constructor.js"),require("core-js/modules/es.parse-int.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.typed-array.float32-array.js"),require("core-js/modules/es.typed-array.float64-array.js"),require("core-js/modules/es.typed-array.int8-array.js"),require("core-js/modules/es.typed-array.int16-array.js"),require("core-js/modules/es.typed-array.int32-array.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.uint8-clamped-array.js"),require("core-js/modules/es.typed-array.uint16-array.js"),require("core-js/modules/es.typed-array.uint32-array.js"),require("core-js/modules/es.typed-array.copy-within.js"),require("core-js/modules/es.typed-array.every.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.filter.js"),require("core-js/modules/es.typed-array.find.js"),require("core-js/modules/es.typed-array.find-index.js"),require("core-js/modules/es.typed-array.for-each.js"),require("core-js/modules/es.typed-array.includes.js"),require("core-js/modules/es.typed-array.index-of.js"),require("core-js/modules/es.typed-array.iterator.js"),require("core-js/modules/es.typed-array.join.js"),require("core-js/modules/es.typed-array.last-index-of.js"),require("core-js/modules/es.typed-array.map.js"),require("core-js/modules/es.typed-array.reduce.js"),require("core-js/modules/es.typed-array.reduce-right.js"),require("core-js/modules/es.typed-array.reverse.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.slice.js"),require("core-js/modules/es.typed-array.some.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.subarray.js"),require("core-js/modules/es.typed-array.to-locale-string.js"),require("core-js/modules/es.typed-array.to-string.js"),require("xgplayer"),require("core-js/modules/es.date.to-json.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.number.to-fixed.js"),require("core-js/modules/es.parse-float.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js")):"function"==typeof define&&define.amd?define(["core-js/modules/es.array.concat.js","core-js/modules/es.array.filter.js","core-js/modules/es.array.index-of.js","core-js/modules/es.array.iterator.js","core-js/modules/es.array.map.js","core-js/modules/es.array.sort.js","core-js/modules/es.array.splice.js","core-js/modules/es.object.assign.js","core-js/modules/es.object.to-string.js","core-js/modules/es.promise.js","core-js/modules/es.regexp.exec.js","core-js/modules/es.string.iterator.js","core-js/modules/es.string.match.js","core-js/modules/es.string.repeat.js","core-js/modules/es.string.replace.js","core-js/modules/web.dom-collections.for-each.js","core-js/modules/web.dom-collections.iterator.js","core-js/modules/web.url.js","core-js/modules/web.url.to-json.js","core-js/modules/web.url-search-params.js","core-js/modules/es.array.copy-within.js","core-js/modules/es.array.includes.js","core-js/modules/es.array.join.js","core-js/modules/es.array.last-index-of.js","core-js/modules/es.array.reduce.js","core-js/modules/es.array.slice.js","core-js/modules/es.array-buffer.constructor.js","core-js/modules/es.array-buffer.slice.js","core-js/modules/es.number.constructor.js","core-js/modules/es.parse-int.js","core-js/modules/es.regexp.constructor.js","core-js/modules/es.regexp.to-string.js","core-js/modules/es.string.includes.js","core-js/modules/es.string.starts-with.js","core-js/modules/es.typed-array.float32-array.js","core-js/modules/es.typed-array.float64-array.js","core-js/modules/es.typed-array.int8-array.js","core-js/modules/es.typed-array.int16-array.js","core-js/modules/es.typed-array.int32-array.js","core-js/modules/es.typed-array.uint8-array.js","core-js/modules/es.typed-array.uint8-clamped-array.js","core-js/modules/es.typed-array.uint16-array.js","core-js/modules/es.typed-array.uint32-array.js","core-js/modules/es.typed-array.copy-within.js","core-js/modules/es.typed-array.every.js","core-js/modules/es.typed-array.fill.js","core-js/modules/es.typed-array.filter.js","core-js/modules/es.typed-array.find.js","core-js/modules/es.typed-array.find-index.js","core-js/modules/es.typed-array.for-each.js","core-js/modules/es.typed-array.includes.js","core-js/modules/es.typed-array.index-of.js","core-js/modules/es.typed-array.iterator.js","core-js/modules/es.typed-array.join.js","core-js/modules/es.typed-array.last-index-of.js","core-js/modules/es.typed-array.map.js","core-js/modules/es.typed-array.reduce.js","core-js/modules/es.typed-array.reduce-right.js","core-js/modules/es.typed-array.reverse.js","core-js/modules/es.typed-array.set.js","core-js/modules/es.typed-array.slice.js","core-js/modules/es.typed-array.some.js","core-js/modules/es.typed-array.sort.js","core-js/modules/es.typed-array.subarray.js","core-js/modules/es.typed-array.to-locale-string.js","core-js/modules/es.typed-array.to-string.js","xgplayer","core-js/modules/es.date.to-json.js","core-js/modules/es.object.keys.js","core-js/modules/es.object.get-own-property-descriptor.js","core-js/modules/es.map.js","core-js/modules/es.number.to-fixed.js","core-js/modules/es.parse-float.js","core-js/modules/esnext.map.delete-all.js","core-js/modules/esnext.map.every.js","core-js/modules/esnext.map.filter.js","core-js/modules/esnext.map.find.js","core-js/modules/esnext.map.find-key.js","core-js/modules/esnext.map.includes.js","core-js/modules/esnext.map.key-of.js","core-js/modules/esnext.map.map-keys.js","core-js/modules/esnext.map.map-values.js","core-js/modules/esnext.map.merge.js","core-js/modules/esnext.map.reduce.js","core-js/modules/esnext.map.some.js","core-js/modules/esnext.map.update.js"],c):(e="undefined"!=typeof globalThis?globalThis:e||self).EncryptHlsPlugin=c(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,e.Player)}(this,(function(e,c,t,a,r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T,A,I,D,O,R,L,C,P,j,M,B,U,N,F,G,V,q,z,H,K,$,W,Y,X,Q,J,Z,ee,ce,te,ae,re,ne,ie,de,oe,se,fe,be,ue){"use strict";function le(e,c){(null==c||c>e.length)&&(c=e.length);for(var t=0,a=Array(c);t<c;t++)a[t]=e[t];return a}function he(e,c,t,a,r,n,i){try{var d=e[n](i),o=d.value}catch(s){return void t(s)}d.done?c(o):Promise.resolve(o).then(a,r)}function pe(e){return function(){var c=this,t=arguments;return new Promise((function(a,r){var n=e.apply(c,t);function i(e){he(n,a,r,i,d,"next",e)}function d(e){he(n,a,r,i,d,"throw",e)}i(void 0)}))}}function ve(e,c,t){return c=Se(c),function(e,c){if(c&&("object"==typeof c||"function"==typeof c))return c;if(void 0!==c)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,xe()?Reflect.construct(c,t||[],Se(e).constructor):c.apply(e,t))}function ye(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}function me(e,c,t){if(xe())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,c);var r=new(e.bind.apply(e,a));return t&&Oe(r,t.prototype),r}function ge(e,c){for(var t=0;t<c.length;t++){var a=c[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,Ce(a.key),a)}}function _e(e,c,t){return c&&ge(e.prototype,c),t&&ge(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ke(e,c,t){return(c=Ce(c))in e?Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[c]=t,e}function Ee(){return Ee="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,c,t){var a=function(e,c){for(;!{}.hasOwnProperty.call(e,c)&&null!==(e=Se(e)););return e}(e,c);if(a){var r=Object.getOwnPropertyDescriptor(a,c);return r.get?r.get.call(arguments.length<3?e:t):r.value}},Ee.apply(null,arguments)}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function we(e,c){if("function"!=typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(c&&c.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),c&&Oe(e,c)}function xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(c){}return(xe=function(){return!!e})()}function Te(e,c){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);c&&(a=a.filter((function(c){return Object.getOwnPropertyDescriptor(e,c).enumerable}))),t.push.apply(t,a)}return t}function Ae(e){for(var c=1;c<arguments.length;c++){var t=null!=arguments[c]?arguments[c]:{};c%2?Te(Object(t),!0).forEach((function(c){ke(e,c,t[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Te(Object(t)).forEach((function(c){Object.defineProperty(e,c,Object.getOwnPropertyDescriptor(t,c))}))}return e}function Ie(e,c){if(null==e)return{};var t,a,r=function(e,c){if(null==e)return{};var t={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==c.indexOf(a))continue;t[a]=e[a]}return t}(e,c);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)t=n[a],-1===c.indexOf(t)&&{}.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function De(){De=function(){return c};var e,c={},t=Object.prototype,a=t.hasOwnProperty,r=Object.defineProperty||function(e,c,t){e[c]=t.value},n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",d=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,c,t){return Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[c]}try{s({},"")}catch(L){s=function(e,c,t){return e[c]=t}}function f(e,c,t,a){var n=c&&c.prototype instanceof y?c:y,i=Object.create(n.prototype),d=new O(a||[]);return r(i,"_invoke",{value:T(e,t,d)}),i}function b(e,c,t){try{return{type:"normal",arg:e.call(c,t)}}catch(a){return{type:"throw",arg:a}}}c.wrap=f;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};s(_,i,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==t&&a.call(E,i)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(c){s(e,c,(function(e){return this._invoke(c,e)}))}))}function x(e,c){function t(r,n,i,d){var o=b(e[r],e,n);if("throw"!==o.type){var s=o.arg,f=s.value;return f&&"object"==typeof f&&a.call(f,"__await")?c.resolve(f.__await).then((function(e){t("next",e,i,d)}),(function(e){t("throw",e,i,d)})):c.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return t("throw",e,i,d)}))}d(o.arg)}var n;r(this,"_invoke",{value:function(e,a){function r(){return new c((function(c,r){t(e,a,c,r)}))}return n=n?n.then(r,r):r()}})}function T(c,t,a){var r=u;return function(n,i){if(r===h)throw Error("Generator is already running");if(r===p){if("throw"===n)throw i;return{value:e,done:!0}}for(a.method=n,a.arg=i;;){var d=a.delegate;if(d){var o=A(d,a);if(o){if(o===v)continue;return o}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(r===u)throw r=p,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r=h;var s=b(c,t,a);if("normal"===s.type){if(r=a.done?p:l,s.arg===v)continue;return{value:s.arg,done:a.done}}"throw"===s.type&&(r=p,a.method="throw",a.arg=s.arg)}}}function A(c,t){var a=t.method,r=c.iterator[a];if(r===e)return t.delegate=null,"throw"===a&&c.iterator.return&&(t.method="return",t.arg=e,A(c,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),v;var n=b(r,c.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,v;var i=n.arg;return i?i.done?(t[c.resultName]=i.value,t.next=c.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,v):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function I(e){var c={tryLoc:e[0]};1 in e&&(c.catchLoc=e[1]),2 in e&&(c.finallyLoc=e[2],c.afterLoc=e[3]),this.tryEntries.push(c)}function D(e){var c=e.completion||{};c.type="normal",delete c.arg,e.completion=c}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(c){if(c||""===c){var t=c[i];if(t)return t.call(c);if("function"==typeof c.next)return c;if(!isNaN(c.length)){var r=-1,n=function t(){for(;++r<c.length;)if(a.call(c,r))return t.value=c[r],t.done=!1,t;return t.value=e,t.done=!0,t};return n.next=n}}throw new TypeError(typeof c+" is not iterable")}return m.prototype=g,r(S,"constructor",{value:g,configurable:!0}),r(g,"constructor",{value:m,configurable:!0}),m.displayName=s(g,o,"GeneratorFunction"),c.isGeneratorFunction=function(e){var c="function"==typeof e&&e.constructor;return!!c&&(c===m||"GeneratorFunction"===(c.displayName||c.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,s(e,o,"GeneratorFunction")),e.prototype=Object.create(S),e},c.awrap=function(e){return{__await:e}},w(x.prototype),s(x.prototype,d,(function(){return this})),c.AsyncIterator=x,c.async=function(e,t,a,r,n){void 0===n&&(n=Promise);var i=new x(f(e,t,a,r),n);return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},w(S),s(S,o,"Generator"),s(S,i,(function(){return this})),s(S,"toString",(function(){return"[object Generator]"})),c.keys=function(e){var c=Object(e),t=[];for(var a in c)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in c)return e.value=a,e.done=!1,e}return e.done=!0,e}},c.values=R,O.prototype={constructor:O,reset:function(c){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(D),!c)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(c){if(this.done)throw c;var t=this;function r(a,r){return d.type="throw",d.arg=c,t.next=a,r&&(t.method="next",t.arg=e),!!r}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],d=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 Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,c){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var n=r;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=c&&c<=n.finallyLoc&&(n=null);var i=n?n.completion:{};return i.type=e,i.arg=c,n?(this.method="next",this.next=n.finallyLoc,v):this.complete(i)},complete:function(e,c){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&&c&&(this.next=c),v},finish:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),D(t),v}},catch:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var r=a.arg;D(t)}return r}}throw Error("illegal catch attempt")},delegateYield:function(c,t,a){return this.delegate={iterator:R(c),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=e),v}},c}function Oe(e,c){return(Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,c){return e.__proto__=c,e})(e,c)}function Re(e,c,t,a){var r=Ee(Se(1&a?e.prototype:e),c,t);return 2&a&&"function"==typeof r?function(e){return r.apply(t,e)}:r}function Le(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,c){if(e){if("string"==typeof e)return le(e,c);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?le(e,c):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 Ce(e){var c=function(e,c){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,c||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(e)}(e,"string");return"symbol"==typeof c?c:c+""}function Pe(e){return(Pe="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 je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Me(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Be={exports:{}};(function(e){var c="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==je?je:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a=function(e){return e&&e.Math==Math&&e},r=a("object"==typeof globalThis&&globalThis)||a("object"==typeof window&&window)||a("object"==typeof self&&self)||a("object"==typeof c&&c)||function(){return this}()||Function("return this")(),n={},i=function(e){try{return!!e()}catch(nv){return!0}},d=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),o={},s={}.propertyIsEnumerable,f=Object.getOwnPropertyDescriptor,b=f&&!s.call({1:2},1);o.f=b?function(e){var c=f(this,e);return!!c&&c.enumerable}:s;var u=function(e,c){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:c}},l={}.toString,h=function(e){return l.call(e).slice(8,-1)},p=h,v="".split,y=i((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?v.call(e,""):Object(e)}:Object,m=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},g=y,_=m,k=function(e){return g(_(e))},E=function(e){return"object"==typeof e?null!==e:"function"==typeof e},S=E,w=function(e,c){if(!S(e))return e;var t,a;if(c&&"function"==typeof(t=e.toString)&&!S(a=t.call(e)))return a;if("function"==typeof(t=e.valueOf)&&!S(a=t.call(e)))return a;if(!c&&"function"==typeof(t=e.toString)&&!S(a=t.call(e)))return a;throw TypeError("Can't convert object to primitive value")},x=m,T=function(e){return Object(x(e))},A=T,I={}.hasOwnProperty,D=function(e,c){return I.call(A(e),c)},O=E,R=r.document,L=O(R)&&O(R.createElement),C=function(e){return L?R.createElement(e):{}},P=C,j=!d&&!i((function(){return 7!=Object.defineProperty(P("div"),"a",{get:function(){return 7}}).a})),M=d,B=o,U=u,N=k,F=w,G=D,V=j,q=Object.getOwnPropertyDescriptor;n.f=M?q:function(e,c){if(e=N(e),c=F(c,!0),V)try{return q(e,c)}catch(t){}if(G(e,c))return U(!B.f.call(e,c),e[c])};var z={},H=E,K=function(e){if(!H(e))throw TypeError(String(e)+" is not an object");return e},$=d,W=j,Y=K,X=w,Q=Object.defineProperty;z.f=$?Q:function(e,c,t){if(Y(e),c=X(c,!0),Y(t),W)try{return Q(e,c,t)}catch(a){}if("get"in t||"set"in t)throw TypeError("Accessors not supported");return"value"in t&&(e[c]=t.value),e};var J=z,Z=u,ee=d?function(e,c,t){return J.f(e,c,Z(1,t))}:function(e,c,t){return e[c]=t,e},ce={exports:{}},te=r,ae=ee,re=function(e,c){try{ae(te,e,c)}catch(t){te[e]=c}return c},ne=re,ie="__core-js_shared__",de=r[ie]||ne(ie,{}),oe=de,se=Function.toString;"function"!=typeof oe.inspectSource&&(oe.inspectSource=function(e){return se.call(e)});var fe=oe.inspectSource,be=fe,ue=r.WeakMap,le="function"==typeof ue&&/native code/.test(be(ue)),he={exports:{}},pe=de;(he.exports=function(e,c){return pe[e]||(pe[e]=void 0!==c?c:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var ve,ye,me,ge=he.exports,_e=0,ke=Math.random(),Ee=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++_e+ke).toString(36)},Se=Ee,we=ge("keys"),xe=function(e){return we[e]||(we[e]=Se(e))},Te={},Ae=le,Ie=E,De=ee,Oe=D,Re=de,Le=xe,Ce=Te,Pe="Object already initialized",Me=r.WeakMap;if(Ae||Re.state){var Be=Re.state||(Re.state=new Me),Ue=Be.get,Ne=Be.has,Fe=Be.set;ve=function(e,c){if(Ne.call(Be,e))throw new TypeError(Pe);return c.facade=e,Fe.call(Be,e,c),c},ye=function(e){return Ue.call(Be,e)||{}},me=function(e){return Ne.call(Be,e)}}else{var Ge=Le("state");Ce[Ge]=!0,ve=function(e,c){if(Oe(e,Ge))throw new TypeError(Pe);return c.facade=e,De(e,Ge,c),c},ye=function(e){return Oe(e,Ge)?e[Ge]:{}},me=function(e){return Oe(e,Ge)}}var Ve={set:ve,get:ye,has:me,enforce:function(e){return me(e)?ye(e):ve(e,{})},getterFor:function(e){return function(c){var t;if(!Ie(c)||(t=ye(c)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return t}}},qe=r,ze=ee,He=D,Ke=re,$e=fe,We=Ve.get,Ye=Ve.enforce,Xe=String(String).split("String");(ce.exports=function(e,c,t,a){var r,n=!!a&&!!a.unsafe,i=!!a&&!!a.enumerable,d=!!a&&!!a.noTargetGet;"function"==typeof t&&("string"!=typeof c||He(t,"name")||ze(t,"name",c),(r=Ye(t)).source||(r.source=Xe.join("string"==typeof c?c:""))),e!==qe?(n?!d&&e[c]&&(i=!0):delete e[c],i?e[c]=t:ze(e,c,t)):i?e[c]=t:Ke(c,t)})(Function.prototype,"toString",(function(){return"function"==typeof this&&We(this).source||$e(this)}));var Qe=ce.exports,Je=r,Ze=r,ec=function(e){return"function"==typeof e?e:void 0},cc=function(e,c){return arguments.length<2?ec(Je[e])||ec(Ze[e]):Je[e]&&Je[e][c]||Ze[e]&&Ze[e][c]},tc={},ac=Math.ceil,rc=Math.floor,nc=function(e){return isNaN(e=+e)?0:(e>0?rc:ac)(e)},ic=nc,dc=Math.min,oc=function(e){return e>0?dc(ic(e),9007199254740991):0},sc=nc,fc=Math.max,bc=Math.min,uc=function(e,c){var t=sc(e);return t<0?fc(t+c,0):bc(t,c)},lc=k,hc=oc,pc=uc,vc=function(e){return function(c,t,a){var r,n=lc(c),i=hc(n.length),d=pc(a,i);if(e&&t!=t){for(;i>d;)if((r=n[d++])!=r)return!0}else for(;i>d;d++)if((e||d in n)&&n[d]===t)return e||d||0;return!e&&-1}},yc={includes:vc(!0),indexOf:vc(!1)},mc=D,gc=k,_c=yc.indexOf,kc=Te,Ec=function(e,c){var t,a=gc(e),r=0,n=[];for(t in a)!mc(kc,t)&&mc(a,t)&&n.push(t);for(;c.length>r;)mc(a,t=c[r++])&&(~_c(n,t)||n.push(t));return n},Sc=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],wc=Ec,xc=Sc.concat("length","prototype");tc.f=Object.getOwnPropertyNames||function(e){return wc(e,xc)};var Tc={};Tc.f=Object.getOwnPropertySymbols;var Ac=tc,Ic=Tc,Dc=K,Oc=cc("Reflect","ownKeys")||function(e){var c=Ac.f(Dc(e)),t=Ic.f;return t?c.concat(t(e)):c},Rc=D,Lc=Oc,Cc=n,Pc=z,jc=i,Mc=/#|\.prototype\./,Bc=function(e,c){var t=Nc[Uc(e)];return t==Gc||t!=Fc&&("function"==typeof c?jc(c):!!c)},Uc=Bc.normalize=function(e){return String(e).replace(Mc,".").toLowerCase()},Nc=Bc.data={},Fc=Bc.NATIVE="N",Gc=Bc.POLYFILL="P",Vc=Bc,qc=r,zc=n.f,Hc=ee,Kc=Qe,$c=re,Wc=function(e,c){for(var t=Lc(c),a=Pc.f,r=Cc.f,n=0;n<t.length;n++){var i=t[n];Rc(e,i)||a(e,i,r(c,i))}},Yc=Vc,Xc=function(e,c){var t,a,r,n,i,d=e.target,o=e.global,s=e.stat;if(t=o?qc:s?qc[d]||$c(d,{}):(qc[d]||{}).prototype)for(a in c){if(n=c[a],r=e.noTargetGet?(i=zc(t,a))&&i.value:t[a],!Yc(o?a:d+(s?".":"#")+a,e.forced)&&void 0!==r){if(typeof n==typeof r)continue;Wc(n,r)}(e.sham||r&&r.sham)&&Hc(n,"sham",!0),Kc(t,a,n,e)}};function Qc(e,c,t,a,r,n,i){try{var d=e[n](i),o=d.value}catch(s){return void t(s)}d.done?c(o):Promise.resolve(o).then(a,r)}function Jc(e){return function(){var c=this,t=arguments;return new Promise((function(a,r){var n=e.apply(c,t);function i(e){Qc(n,a,r,i,d,"next",e)}function d(e){Qc(n,a,r,i,d,"throw",e)}i(void 0)}))}}function Zc(e,c,t){return c=rt(c),function(e,c){if(c&&("object"==typeof c||"function"==typeof c))return c;if(void 0!==c)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,it()?Reflect.construct(c,t||[],rt(e).constructor):c.apply(e,t))}function et(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}function ct(e,c){for(var t=0;t<c.length;t++){var a=c[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,st(a.key),a)}}function tt(e,c,t){return c&&ct(e.prototype,c),t&&ct(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function at(e,c,t){return(c=st(c))in e?Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[c]=t,e}function rt(e){return(rt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nt(e,c){if("function"!=typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(c&&c.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),c&&ot(e,c)}function it(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(nv){}return(it=function(){return!!e})()}function dt(){dt=function(){return c};var e,c={},t=Object.prototype,a=t.hasOwnProperty,r=Object.defineProperty||function(e,c,t){e[c]=t.value},n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",d=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function s(e,c,t){return Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[c]}try{s({},"")}catch(L){s=function(e,c,t){return e[c]=t}}function f(e,c,t,a){var n=c&&c.prototype instanceof y?c:y,i=Object.create(n.prototype),d=new O(a||[]);return r(i,"_invoke",{value:T(e,t,d)}),i}function b(e,c,t){try{return{type:"normal",arg:e.call(c,t)}}catch(a){return{type:"throw",arg:a}}}c.wrap=f;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};s(_,i,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==t&&a.call(E,i)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(c){s(e,c,(function(e){return this._invoke(c,e)}))}))}function x(e,c){function t(r,n,i,d){var o=b(e[r],e,n);if("throw"!==o.type){var s=o.arg,f=s.value;return f&&"object"==typeof f&&a.call(f,"__await")?c.resolve(f.__await).then((function(e){t("next",e,i,d)}),(function(e){t("throw",e,i,d)})):c.resolve(f).then((function(e){s.value=e,i(s)}),(function(e){return t("throw",e,i,d)}))}d(o.arg)}var n;r(this,"_invoke",{value:function(e,a){function r(){return new c((function(c,r){t(e,a,c,r)}))}return n=n?n.then(r,r):r()}})}function T(c,t,a){var r=u;return function(n,i){if(r===h)throw Error("Generator is already running");if(r===p){if("throw"===n)throw i;return{value:e,done:!0}}for(a.method=n,a.arg=i;;){var d=a.delegate;if(d){var o=A(d,a);if(o){if(o===v)continue;return o}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if(r===u)throw r=p,a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);r=h;var s=b(c,t,a);if("normal"===s.type){if(r=a.done?p:l,s.arg===v)continue;return{value:s.arg,done:a.done}}"throw"===s.type&&(r=p,a.method="throw",a.arg=s.arg)}}}function A(c,t){var a=t.method,r=c.iterator[a];if(r===e)return t.delegate=null,"throw"===a&&c.iterator.return&&(t.method="return",t.arg=e,A(c,t),"throw"===t.method)||"return"!==a&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+a+"' method")),v;var n=b(r,c.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,v;var i=n.arg;return i?i.done?(t[c.resultName]=i.value,t.next=c.nextLoc,"return"!==t.method&&(t.method="next",t.arg=e),t.delegate=null,v):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,v)}function I(e){var c={tryLoc:e[0]};1 in e&&(c.catchLoc=e[1]),2 in e&&(c.finallyLoc=e[2],c.afterLoc=e[3]),this.tryEntries.push(c)}function D(e){var c=e.completion||{};c.type="normal",delete c.arg,e.completion=c}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(c){if(c||""===c){var t=c[i];if(t)return t.call(c);if("function"==typeof c.next)return c;if(!isNaN(c.length)){var r=-1,n=function t(){for(;++r<c.length;)if(a.call(c,r))return t.value=c[r],t.done=!1,t;return t.value=e,t.done=!0,t};return n.next=n}}throw new TypeError(typeof c+" is not iterable")}return m.prototype=g,r(S,"constructor",{value:g,configurable:!0}),r(g,"constructor",{value:m,configurable:!0}),m.displayName=s(g,o,"GeneratorFunction"),c.isGeneratorFunction=function(e){var c="function"==typeof e&&e.constructor;return!!c&&(c===m||"GeneratorFunction"===(c.displayName||c.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,s(e,o,"GeneratorFunction")),e.prototype=Object.create(S),e},c.awrap=function(e){return{__await:e}},w(x.prototype),s(x.prototype,d,(function(){return this})),c.AsyncIterator=x,c.async=function(e,t,a,r,n){void 0===n&&(n=Promise);var i=new x(f(e,t,a,r),n);return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},w(S),s(S,o,"Generator"),s(S,i,(function(){return this})),s(S,"toString",(function(){return"[object Generator]"})),c.keys=function(e){var c=Object(e),t=[];for(var a in c)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in c)return e.value=a,e.done=!1,e}return e.done=!0,e}},c.values=R,O.prototype={constructor:O,reset:function(c){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(D),!c)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(c){if(this.done)throw c;var t=this;function r(a,r){return d.type="throw",d.arg=c,t.next=a,r&&(t.method="next",t.arg=e),!!r}for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n],d=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 Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,c){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var n=r;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=c&&c<=n.finallyLoc&&(n=null);var i=n?n.completion:{};return i.type=e,i.arg=c,n?(this.method="next",this.next=n.finallyLoc,v):this.complete(i)},complete:function(e,c){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&&c&&(this.next=c),v},finish:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),D(t),v}},catch:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var r=a.arg;D(t)}return r}}throw Error("illegal catch attempt")},delegateYield:function(c,t,a){return this.delegate={iterator:R(c),resultName:t,nextLoc:a},"next"===this.method&&(this.arg=e),v}},c}function ot(e,c){return(ot=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,c){return e.__proto__=c,e})(e,c)}function st(e){var c=function(e,c){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,c||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(e)}(e,"string");return"symbol"==typeof c?c:c+""}function ft(e){return(ft="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 bt(e){var c="function"==typeof Map?new Map:void 0;return bt=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(c){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!==c){if(c.has(e))return c.get(e);c.set(e,t)}function t(){return function(e,c,t){if(it())return Reflect.construct.apply(null,arguments);var a=[null];a.push.apply(a,c);var r=new(e.bind.apply(e,a));return t&&ot(r,t.prototype),r}(e,arguments,rt(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),ot(t,e)},bt(e)}Xc({global:!0},{globalThis:r});var ut,lt,ht=h,pt=Array.isArray||function(e){return"Array"==ht(e)},vt=w,yt=z,mt=u,gt=function(e,c,t){var a=vt(c);a in e?yt.f(e,a,mt(0,t)):e[a]=t},_t=cc("navigator","userAgent")||"",kt=_t,Et=r.process,St=Et&&Et.versions,wt=St&&St.v8;wt?lt=(ut=wt.split("."))[0]<4?1:ut[0]+ut[1]:kt&&(!(ut=kt.match(/Edge\/(\d+)/))||ut[1]>=74)&&(ut=kt.match(/Chrome\/(\d+)/))&&(lt=ut[1]);var xt=lt&&+lt,Tt=xt,At=i,It=!!Object.getOwnPropertySymbols&&!At((function(){return!String(Symbol())||!Symbol.sham&&Tt&&Tt<41})),Dt=It&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ot=r,Rt=D,Lt=Ee,Ct=It,Pt=Dt,jt=ge("wks"),Mt=Ot.Symbol,Bt=Pt?Mt:Mt&&Mt.withoutSetter||Lt,Ut=function(e){return Rt(jt,e)&&(Ct||"string"==typeof jt[e])||(Ct&&Rt(Mt,e)?jt[e]=Mt[e]:jt[e]=Bt("Symbol."+e)),jt[e]},Nt=E,Ft=pt,Gt=Ut("species"),Vt=function(e,c){var t;return Ft(e)&&("function"!=typeof(t=e.constructor)||t!==Array&&!Ft(t.prototype)?Nt(t)&&null===(t=t[Gt])&&(t=void 0):t=void 0),new(void 0===t?Array:t)(0===c?0:c)},qt=i,zt=xt,Ht=Ut("species"),Kt=function(e){return zt>=51||!qt((function(){var c=[];return(c.constructor={})[Ht]=function(){return{foo:1}},1!==c[e](Boolean).foo}))},$t=Xc,Wt=i,Yt=pt,Xt=E,Qt=T,Jt=oc,Zt=gt,ea=Vt,ca=Kt,ta=xt,aa=Ut("isConcatSpreadable"),ra=9007199254740991,na="Maximum allowed index exceeded",ia=ta>=51||!Wt((function(){var e=[];return e[aa]=!1,e.concat()[0]!==e})),da=ca("concat"),oa=function(e){if(!Xt(e))return!1;var c=e[aa];return void 0!==c?!!c:Yt(e)};$t({target:"Array",proto:!0,forced:!ia||!da},{concat:function(e){var c,t,a,r,n,i=Qt(this),d=ea(i,0),o=0;for(c=-1,a=arguments.length;c<a;c++)if(oa(n=-1===c?i:arguments[c])){if(o+(r=Jt(n.length))>ra)throw TypeError(na);for(t=0;t<r;t++,o++)t in n&&Zt(d,o,n[t])}else{if(o>=ra)throw TypeError(na);Zt(d,o++,n)}return d.length=o,d}});var sa,fa=Ec,ba=Sc,ua=Object.keys||function(e){return fa(e,ba)},la=z,ha=K,pa=ua,va=d?Object.defineProperties:function(e,c){ha(e);for(var t,a=pa(c),r=a.length,n=0;r>n;)la.f(e,t=a[n++],c[t]);return e},ya=cc("document","documentElement"),ma=K,ga=va,_a=Sc,ka=Te,Ea=ya,Sa=C,wa="prototype",xa="script",Ta=xe("IE_PROTO"),Aa=function(){},Ia=function(e){return"<"+xa+">"+e+"</"+xa+">"},Da=function(){try{sa=document.domain&&new ActiveXObject("htmlfile")}catch(r){}var e,c,t;Da=sa?function(e){e.write(Ia("")),e.close();var c=e.parentWindow.Object;return e=null,c}(sa):(c=Sa("iframe"),t="java"+xa+":",c.style.display="none",Ea.appendChild(c),c.src=String(t),(e=c.contentWindow.document).open(),e.write(Ia("document.F=Object")),e.close(),e.F);for(var a=_a.length;a--;)delete Da[wa][_a[a]];return Da()};ka[Ta]=!0;var Oa=Object.create||function(e,c){var t;return null!==e?(Aa[wa]=ma(e),t=new Aa,Aa[wa]=null,t[Ta]=e):t=Da(),void 0===c?t:ga(t,c)},Ra=Oa,La=z,Ca=Ut("unscopables"),Pa=Array.prototype;null==Pa[Ca]&&La.f(Pa,Ca,{configurable:!0,value:Ra(null)});var ja,Ma,Ba,Ua={},Na=!i((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Fa=D,Ga=T,Va=Na,qa=xe("IE_PROTO"),za=Object.prototype,Ha=Va?Object.getPrototypeOf:function(e){return e=Ga(e),Fa(e,qa)?e[qa]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?za:null},Ka=i,$a=Ha,Wa=ee,Ya=D,Xa=Ut("iterator"),Qa=!1;[].keys&&("next"in(Ba=[].keys())?(Ma=$a($a(Ba)))!==Object.prototype&&(ja=Ma):Qa=!0),(null==ja||Ka((function(){var e={};return ja[Xa].call(e)!==e})))&&(ja={}),Ya(ja,Xa)||Wa(ja,Xa,(function(){return this}));var Ja={IteratorPrototype:ja,BUGGY_SAFARI_ITERATORS:Qa},Za=z.f,er=D,cr=Ut("toStringTag"),tr=function(e,c,t){e&&!er(e=t?e:e.prototype,cr)&&Za(e,cr,{configurable:!0,value:c})},ar=Ja.IteratorPrototype,rr=Oa,nr=u,ir=tr,dr=Ua,or=function(){return this},sr=E,fr=K,br=function(e){if(!sr(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},ur=Object.setPrototypeOf||("__proto__"in{}?function(){var e,c=!1,t={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(t,[]),c=t instanceof Array}catch(a){}return function(t,a){return fr(t),br(a),c?e.call(t,a):t.__proto__=a,t}}():void 0),lr=Xc,hr=function(e,c,t){var a=c+" Iterator";return e.prototype=rr(ar,{next:nr(1,t)}),ir(e,a,!1),dr[a]=or,e},pr=Ha,vr=ur,yr=tr,mr=ee,gr=Qe,_r=Ua,kr=Ja.IteratorPrototype,Er=Ja.BUGGY_SAFARI_ITERATORS,Sr=Ut("iterator"),wr="keys",xr="values",Tr="entries",Ar=function(){return this},Ir=function(e,c,t,a,r,n,i){hr(t,c,a);var d,o,s,f=function(e){if(e===r&&p)return p;if(!Er&&e in l)return l[e];switch(e){case wr:case xr:case Tr:return function(){return new t(this,e)}}return function(){return new t(this)}},b=c+" Iterator",u=!1,l=e.prototype,h=l[Sr]||l["@@iterator"]||r&&l[r],p=!Er&&h||f(r),v="Array"==c&&l.entries||h;if(v&&(d=pr(v.call(new e)),kr!==Object.prototype&&d.next&&(pr(d)!==kr&&(vr?vr(d,kr):"function"!=typeof d[Sr]&&mr(d,Sr,Ar)),yr(d,b,!0))),r==xr&&h&&h.name!==xr&&(u=!0,p=function(){return h.call(this)}),l[Sr]!==p&&mr(l,Sr,p),_r[c]=p,r)if(o={values:f(xr),keys:n?p:f(wr),entries:f(Tr)},i)for(s in o)(Er||u||!(s in l))&&gr(l,s,o[s]);else lr({target:c,proto:!0,forced:Er||u},o);return o},Dr=k,Or=function(e){Pa[Ca][e]=!0},Rr=Ua,Lr=Ve,Cr=Ir,Pr="Array Iterator",jr=Lr.set,Mr=Lr.getterFor(Pr),Br=Cr(Array,"Array",(function(e,c){jr(this,{type:Pr,target:Dr(e),index:0,kind:c})}),(function(){var e=Mr(this),c=e.target,t=e.kind,a=e.index++;return!c||a>=c.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:a,done:!1}:"values"==t?{value:c[a],done:!1}:{value:[a,c[a]],done:!1}}),"values");Rr.Arguments=Rr.Array,Or("keys"),Or("values"),Or("entries");var Ur="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Nr=Qe,Fr=function(e,c,t){for(var a in c)Nr(e,a,c[a],t);return e},Gr=function(e,c,t){if(!(e instanceof c))throw TypeError("Incorrect "+(t?t+" ":"")+"invocation");return e},Vr=nc,qr=oc,zr=function(e){if(void 0===e)return 0;var c=Vr(e),t=qr(c);if(c!==t)throw RangeError("Wrong length or index");return t},Hr=Math.abs,Kr=Math.pow,$r=Math.floor,Wr=Math.log,Yr=Math.LN2,Xr=T,Qr=uc,Jr=oc,Zr=function(e){for(var c=Xr(this),t=Jr(c.length),a=arguments.length,r=Qr(a>1?arguments[1]:void 0,t),n=a>2?arguments[2]:void 0,i=void 0===n?t:Qr(n,t);i>r;)c[r++]=e;return c},en=r,cn=d,tn=Ur,an=ee,rn=Fr,nn=i,dn=Gr,on=nc,sn=oc,fn=zr,bn={pack:function(e,c,t){var a,r,n,i=new Array(t),d=8*t-c-1,o=(1<<d)-1,s=o>>1,f=23===c?Kr(2,-24)-Kr(2,-77):0,b=e<0||0===e&&1/e<0?1:0,u=0;for((e=Hr(e))!=e||e===1/0?(r=e!=e?1:0,a=o):(a=$r(Wr(e)/Yr),e*(n=Kr(2,-a))<1&&(a--,n*=2),(e+=a+s>=1?f/n:f*Kr(2,1-s))*n>=2&&(a++,n/=2),a+s>=o?(r=0,a=o):a+s>=1?(r=(e*n-1)*Kr(2,c),a+=s):(r=e*Kr(2,s-1)*Kr(2,c),a=0));c>=8;i[u++]=255&r,r/=256,c-=8);for(a=a<<c|r,d+=c;d>0;i[u++]=255&a,a/=256,d-=8);return i[--u]|=128*b,i},unpack:function(e,c){var t,a=e.length,r=8*a-c-1,n=(1<<r)-1,i=n>>1,d=r-7,o=a-1,s=e[o--],f=127&s;for(s>>=7;d>0;f=256*f+e[o],o--,d-=8);for(t=f&(1<<-d)-1,f>>=-d,d+=c;d>0;t=256*t+e[o],o--,d-=8);if(0===f)f=1-i;else{if(f===n)return t?NaN:s?-1/0:1/0;t+=Kr(2,c),f-=i}return(s?-1:1)*t*Kr(2,f-c)}},un=Ha,ln=ur,hn=tc.f,pn=z.f,vn=Zr,yn=tr,mn=Ve.get,gn=Ve.set,_n="ArrayBuffer",kn="DataView",En="prototype",Sn="Wrong index",wn=en[_n],xn=wn,Tn=en[kn],An=Tn&&Tn[En],In=Object.prototype,Dn=en.RangeError,On=bn.pack,Rn=bn.unpack,Ln=function(e){return[255&e]},Cn=function(e){return[255&e,e>>8&255]},Pn=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},jn=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},Mn=function(e){return On(e,23,4)},Bn=function(e){return On(e,52,8)},Un=function(e,c){pn(e[En],c,{get:function(){return mn(this)[c]}})},Nn=function(e,c,t,a){var r=fn(t),n=mn(e);if(r+c>n.byteLength)throw Dn(Sn);var i=mn(n.buffer).bytes,d=r+n.byteOffset,o=i.slice(d,d+c);return a?o:o.reverse()},Fn=function(e,c,t,a,r,n){var i=fn(t),d=mn(e);if(i+c>d.byteLength)throw Dn(Sn);for(var o=mn(d.buffer).bytes,s=i+d.byteOffset,f=a(+r),b=0;b<c;b++)o[s+b]=f[n?b:c-b-1]};if(tn){if(!nn((function(){wn(1)}))||!nn((function(){new wn(-1)}))||nn((function(){return new wn,new wn(1.5),new wn(NaN),wn.name!=_n}))){for(var Gn,Vn=(xn=function(e){return dn(this,xn),new wn(fn(e))})[En]=wn[En],qn=hn(wn),zn=0;qn.length>zn;)(Gn=qn[zn++])in xn||an(xn,Gn,wn[Gn]);Vn.constructor=xn}ln&&un(An)!==In&&ln(An,In);var Hn=new Tn(new xn(2)),Kn=An.setInt8;Hn.setInt8(0,2147483648),Hn.setInt8(1,2147483649),!Hn.getInt8(0)&&Hn.getInt8(1)||rn(An,{setInt8:function(e,c){Kn.call(this,e,c<<24>>24)},setUint8:function(e,c){Kn.call(this,e,c<<24>>24)}},{unsafe:!0})}else xn=function(e){dn(this,xn,_n);var c=fn(e);gn(this,{bytes:vn.call(new Array(c),0),byteLength:c}),cn||(this.byteLength=c)},Tn=function(e,c,t){dn(this,Tn,kn),dn(e,xn,kn);var a=mn(e).byteLength,r=on(c);if(r<0||r>a)throw Dn("Wrong offset");if(r+(t=void 0===t?a-r:sn(t))>a)throw Dn("Wrong length");gn(this,{buffer:e,byteLength:t,byteOffset:r}),cn||(this.buffer=e,this.byteLength=t,this.byteOffset=r)},cn&&(Un(xn,"byteLength"),Un(Tn,"buffer"),Un(Tn,"byteLength"),Un(Tn,"byteOffset")),rn(Tn[En],{getInt8:function(e){return Nn(this,1,e)[0]<<24>>24},getUint8:function(e){return Nn(this,1,e)[0]},getInt16:function(e){var c=Nn(this,2,e,arguments.length>1?arguments[1]:void 0);return(c[1]<<8|c[0])<<16>>16},getUint16:function(e){var c=Nn(this,2,e,arguments.length>1?arguments[1]:void 0);return c[1]<<8|c[0]},getInt32:function(e){return jn(Nn(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return jn(Nn(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return Rn(Nn(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return Rn(Nn(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,c){Fn(this,1,e,Ln,c)},setUint8:function(e,c){Fn(this,1,e,Ln,c)},setInt16:function(e,c){Fn(this,2,e,Cn,c,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,c){Fn(this,2,e,Cn,c,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,c){Fn(this,4,e,Pn,c,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,c){Fn(this,4,e,Pn,c,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,c){Fn(this,4,e,Mn,c,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,c){Fn(this,8,e,Bn,c,arguments.length>2?arguments[2]:void 0)}});yn(xn,_n),yn(Tn,kn);var $n={ArrayBuffer:xn,DataView:Tn},Wn=cc,Yn=z,Xn=d,Qn=Ut("species"),Jn=function(e){var c=Wn(e),t=Yn.f;Xn&&c&&!c[Qn]&&t(c,Qn,{configurable:!0,get:function(){return this}})},Zn=Jn,ei="ArrayBuffer",ci=$n[ei];Xc({global:!0,forced:r[ei]!==ci},{ArrayBuffer:ci}),Zn(ei);var ti=T,ai=ua;Xc({target:"Object",stat:!0,forced:i((function(){ai(1)}))},{keys:function(e){return ai(ti(e))}});var ri={};ri[Ut("toStringTag")]="z";var ni="[object z]"===String(ri),ii=ni,di=h,oi=Ut("toStringTag"),si="Arguments"==di(function(){return arguments}()),fi=ii?di:function(e){var c,t,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,c){try{return e[c]}catch(t){}}(c=Object(e),oi))?t:si?di(c):"Object"==(a=di(c))&&"function"==typeof c.callee?"Arguments":a},bi=fi,ui=ni?{}.toString:function(){return"[object "+bi(this)+"]"};ni||Qe(Object.prototype,"toString",ui,{unsafe:!0});var li=r.Promise,hi=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},pi=Ua,vi=Ut("iterator"),yi=Array.prototype,mi=function(e){return void 0!==e&&(pi.Array===e||yi[vi]===e)},gi=hi,_i=function(e,c,t){if(gi(e),void 0===c)return e;switch(t){case 0:return function(){return e.call(c)};case 1:return function(t){return e.call(c,t)};case 2:return function(t,a){return e.call(c,t,a)};case 3:return function(t,a,r){return e.call(c,t,a,r)}}return function(){return e.apply(c,arguments)}},ki=fi,Ei=Ua,Si=Ut("iterator"),wi=function(e){if(null!=e)return e[Si]||e["@@iterator"]||Ei[ki(e)]},xi=K,Ti=K,Ai=mi,Ii=oc,Di=_i,Oi=wi,Ri=function(e){var c=e.return;if(void 0!==c)return xi(c.call(e)).value},Li=function(e,c){this.stopped=e,this.result=c},Ci=function(e,c,t){var a,r,n,i,d,o,s,f=t&&t.that,b=!(!t||!t.AS_ENTRIES),u=!(!t||!t.IS_ITERATOR),l=!(!t||!t.INTERRUPTED),h=Di(c,f,1+b+l),p=function(e){return a&&Ri(a),new Li(!0,e)},v=function(e){return b?(Ti(e),l?h(e[0],e[1],p):h(e[0],e[1])):l?h(e,p):h(e)};if(u)a=e;else{if("function"!=typeof(r=Oi(e)))throw TypeError("Target is not iterable");if(Ai(r)){for(n=0,i=Ii(e.length);i>n;n++)if((d=v(e[n]))&&d instanceof Li)return d;return new Li(!1)}a=r.call(e)}for(o=a.next;!(s=o.call(a)).done;){try{d=v(s.value)}catch(y){throw Ri(a),y}if("object"==typeof d&&d&&d instanceof Li)return d}return new Li(!1)},Pi=Ut("iterator"),ji=!1;try{var Mi=0,Bi={next:function(){return{done:!!Mi++}},return:function(){ji=!0}};Bi[Pi]=function(){return this},Array.from(Bi,(function(){throw 2}))}catch(ag){}var Ui,Ni,Fi,Gi=function(e,c){if(!c&&!ji)return!1;var t=!1;try{var a={};a[Pi]=function(){return{next:function(){return{done:t=!0}}}},e(a)}catch(ag){}return t},Vi=K,qi=hi,zi=Ut("species"),Hi=function(e,c){var t,a=Vi(e).constructor;return void 0===a||null==(t=Vi(a)[zi])?c:qi(t)},Ki=/(?:iphone|ipod|ipad).*applewebkit/i.test(_t),$i="process"==h(r.process),Wi=r,Yi=i,Xi=_i,Qi=ya,Ji=C,Zi=Ki,ed=$i,cd=Wi.location,td=Wi.setImmediate,ad=Wi.clearImmediate,rd=Wi.process,nd=Wi.MessageChannel,id=Wi.Dispatch,dd=0,od={},sd="onreadystatechange",fd=function(e){if(od.hasOwnProperty(e)){var c=od[e];delete od[e],c()}},bd=function(e){return function(){fd(e)}},ud=function(e){fd(e.data)},ld=function(e){Wi.postMessage(e+"",cd.protocol+"//"+cd.host)};td&&ad||(td=function(e){for(var c=[],t=1;arguments.length>t;)c.push(arguments[t++]);return od[++dd]=function(){("function"==typeof e?e:Function(e)).apply(void 0,c)},Ui(dd),dd},ad=function(e){delete od[e]},ed?Ui=function(e){rd.nextTick(bd(e))}:id&&id.now?Ui=function(e){id.now(bd(e))}:nd&&!Zi?(Fi=(Ni=new nd).port2,Ni.port1.onmessage=ud,Ui=Xi(Fi.postMessage,Fi,1)):Wi.addEventListener&&"function"==typeof postMessage&&!Wi.importScripts&&cd&&"file:"!==cd.protocol&&!Yi(ld)?(Ui=ld,Wi.addEventListener("message",ud,!1)):Ui=sd in Ji("script")?function(e){Qi.appendChild(Ji("script"))[sd]=function(){Qi.removeChild(this),fd(e)}}:function(e){setTimeout(bd(e),0)});var hd,pd,vd,yd,md,gd,_d,kd,Ed={set:td,clear:ad},Sd=/web0s(?!.*chrome)/i.test(_t),wd=r,xd=n.f,Td=Ed.set,Ad=Ki,Id=Sd,Dd=$i,Od=wd.MutationObserver||wd.WebKitMutationObserver,Rd=wd.document,Ld=wd.process,Cd=wd.Promise,Pd=xd(wd,"queueMicrotask"),jd=Pd&&Pd.value;jd||(hd=function(){var e,c;for(Dd&&(e=Ld.domain)&&e.exit();pd;){c=pd.fn,pd=pd.next;try{c()}catch(ag){throw pd?yd():vd=void 0,ag}}vd=void 0,e&&e.enter()},Ad||Dd||Id||!Od||!Rd?Cd&&Cd.resolve?((_d=Cd.resolve(void 0)).constructor=Cd,kd=_d.then,yd=function(){kd.call(_d,hd)}):yd=Dd?function(){Ld.nextTick(hd)}:function(){Td.call(wd,hd)}:(md=!0,gd=Rd.createTextNode(""),new Od(hd).observe(gd,{characterData:!0}),yd=function(){gd.data=md=!md}));var Md=jd||function(e){var c={fn:e,next:void 0};vd&&(vd.next=c),pd||(pd=c,yd()),vd=c},Bd={},Ud=hi,Nd=function(e){var c,t;this.promise=new e((function(e,a){if(void 0!==c||void 0!==t)throw TypeError("Bad Promise constructor");c=e,t=a})),this.resolve=Ud(c),this.reject=Ud(t)};Bd.f=function(e){return new Nd(e)};var Fd,Gd,Vd,qd,zd=K,Hd=E,Kd=Bd,$d=r,Wd="object"==typeof window,Yd=Xc,Xd=r,Qd=cc,Jd=li,Zd=Qe,eo=Fr,co=ur,to=tr,ao=Jn,ro=E,no=hi,io=Gr,oo=fe,so=Ci,fo=Gi,bo=Hi,uo=Ed.set,lo=Md,ho=function(e,c){if(zd(e),Hd(c)&&c.constructor===e)return c;var t=Kd.f(e);return(0,t.resolve)(c),t.promise},po=function(e,c){var t=$d.console;t&&t.error&&(1===arguments.length?t.error(e):t.error(e,c))},vo=Bd,yo=function(e){try{return{error:!1,value:e()}}catch(ag){return{error:!0,value:ag}}},mo=Ve,go=Vc,_o=Wd,ko=$i,Eo=xt,So=Ut("species"),wo="Promise",xo=mo.get,To=mo.set,Ao=mo.getterFor(wo),Io=Jd&&Jd.prototype,Do=Jd,Oo=Io,Ro=Xd.TypeError,Lo=Xd.document,Co=Xd.process,Po=vo.f,jo=Po,Mo=!!(Lo&&Lo.createEvent&&Xd.dispatchEvent),Bo="function"==typeof PromiseRejectionEvent,Uo="unhandledrejection",No=!1,Fo=go(wo,(function(){var e=oo(Do)!==String(Do);if(!e&&66===Eo)return!0;if(Eo>=51&&/native code/.test(Do))return!1;var c=new Do((function(e){e(1)})),t=function(e){e((function(){}),(function(){}))};return(c.constructor={})[So]=t,!(No=c.then((function(){}))instanceof t)||!e&&_o&&!Bo})),Go=Fo||!fo((function(e){Do.all(e).catch((function(){}))})),Vo=function(e){var c;return!(!ro(e)||"function"!=typeof(c=e.then))&&c},qo=function(e,c){if(!e.notified){e.notified=!0;var t=e.reactions;lo((function(){for(var a=e.value,r=1==e.state,n=0;t.length>n;){var i,d,o,s=t[n++],f=r?s.ok:s.fail,b=s.resolve,u=s.reject,l=s.domain;try{f?(r||(2===e.rejection&&$o(e),e.rejection=1),!0===f?i=a:(l&&l.enter(),i=f(a),l&&(l.exit(),o=!0)),i===s.promise?u(Ro("Promise-chain cycle")):(d=Vo(i))?d.call(i,b,u):b(i)):u(a)}catch(ag){l&&!o&&l.exit(),u(ag)}}e.reactions=[],e.notified=!1,c&&!e.rejection&&Ho(e)}))}},zo=function(e,c,t){var a,r;Mo?((a=Lo.createEvent("Event")).promise=c,a.reason=t,a.initEvent(e,!1,!0),Xd.dispatchEvent(a)):a={promise:c,reason:t},!Bo&&(r=Xd["on"+e])?r(a):e===Uo&&po("Unhandled promise rejection",t)},Ho=function(e){uo.call(Xd,(function(){var c,t=e.facade,a=e.value;if(Ko(e)&&(c=yo((function(){ko?Co.emit("unhandledRejection",a,t):zo(Uo,t,a)})),e.rejection=ko||Ko(e)?2:1,c.error))throw c.value}))},Ko=function(e){return 1!==e.rejection&&!e.parent},$o=function(e){uo.call(Xd,(function(){var c=e.facade;ko?Co.emit("rejectionHandled",c):zo("rejectionhandled",c,e.value)}))},Wo=function(e,c,t){return function(a){e(c,a,t)}},Yo=function(e,c,t){e.done||(e.done=!0,t&&(e=t),e.value=c,e.state=2,qo(e,!0))},Xo=function(e,c,t){if(!e.done){e.done=!0,t&&(e=t);try{if(e.facade===c)throw Ro("Promise can't be resolved itself");var a=Vo(c);a?lo((function(){var t={done:!1};try{a.call(c,Wo(Xo,t,e),Wo(Yo,t,e))}catch(ag){Yo(t,ag,e)}})):(e.value=c,e.state=1,qo(e,!1))}catch(ag){Yo({done:!1},ag,e)}}};if(Fo&&(Oo=(Do=function(e){io(this,Do,wo),no(e),Fd.call(this);var c=xo(this);try{e(Wo(Xo,c),Wo(Yo,c))}catch(ag){Yo(c,ag)}}).prototype,(Fd=function(e){To(this,{type:wo,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=eo(Oo,{then:function(e,c){var t=Ao(this),a=Po(bo(this,Do));return a.ok="function"!=typeof e||e,a.fail="function"==typeof c&&c,a.domain=ko?Co.domain:void 0,t.parent=!0,t.reactions.push(a),0!=t.state&&qo(t,!1),a.promise},catch:function(e){return this.then(void 0,e)}}),Gd=function(){var e=new Fd,c=xo(e);this.promise=e,this.resolve=Wo(Xo,c),this.reject=Wo(Yo,c)},vo.f=Po=function(e){return e===Do||e===Vd?new Gd(e):jo(e)},"function"==typeof Jd&&Io!==Object.prototype)){qd=Io.then,No||(Zd(Io,"then",(function(e,c){var t=this;return new Do((function(e,c){qd.call(t,e,c)})).then(e,c)}),{unsafe:!0}),Zd(Io,"catch",Oo.catch,{unsafe:!0}));try{delete Io.constructor}catch(ag){}co&&co(Io,Oo)}Yd({global:!0,wrap:!0,forced:Fo},{Promise:Do}),to(Do,wo,!1),ao(wo),Vd=Qd(wo),Yd({target:wo,stat:!0,forced:Fo},{reject:function(e){var c=Po(this);return c.reject.call(void 0,e),c.promise}}),Yd({target:wo,stat:!0,forced:Fo},{resolve:function(e){return ho(this,e)}}),Yd({target:wo,stat:!0,forced:Go},{all:function(e){var c=this,t=Po(c),a=t.resolve,r=t.reject,n=yo((function(){var t=no(c.resolve),n=[],i=0,d=1;so(e,(function(e){var o=i++,s=!1;n.push(void 0),d++,t.call(c,e).then((function(e){s||(s=!0,n[o]=e,--d||a(n))}),r)})),--d||a(n)}));return n.error&&r(n.value),t.promise},race:function(e){var c=this,t=Po(c),a=t.reject,r=yo((function(){var r=no(c.resolve);so(e,(function(e){r.call(c,e).then(t.resolve,a)}))}));return r.error&&a(r.value),t.promise}});var Qo=K,Jo=function(){var e=Qo(this),c="";return e.global&&(c+="g"),e.ignoreCase&&(c+="i"),e.multiline&&(c+="m"),e.dotAll&&(c+="s"),e.unicode&&(c+="u"),e.sticky&&(c+="y"),c},Zo=Qe,es=K,cs=i,ts=Jo,as="toString",rs=RegExp.prototype,ns=rs[as],is=cs((function(){return"/a/b"!=ns.call({source:"a",flags:"b"})})),ds=ns.name!=as;(is||ds)&&Zo(RegExp.prototype,as,(function(){var e=es(this),c=String(e.source),t=e.flags;return"/"+c+"/"+String(void 0===t&&e instanceof RegExp&&!("flags"in rs)?ts.call(e):t)}),{unsafe:!0});var os,ss={exports:{}},fs=Ur,bs=d,us=r,ls=E,hs=D,ps=fi,vs=ee,ys=Qe,ms=z.f,gs=Ha,_s=ur,ks=Ut,Es=Ee,Ss=us.Int8Array,ws=Ss&&Ss.prototype,xs=us.Uint8ClampedArray,Ts=xs&&xs.prototype,As=Ss&&gs(Ss),Is=ws&&gs(ws),Ds=Object.prototype,Os=Ds.isPrototypeOf,Rs=ks("toStringTag"),Ls=Es("TYPED_ARRAY_TAG"),Cs=fs&&!!_s&&"Opera"!==ps(us.opera),Ps=!1,js={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Ms={BigInt64Array:8,BigUint64Array:8},Bs=function(e){if(!ls(e))return!1;var c=ps(e);return hs(js,c)||hs(Ms,c)};for(os in js)us[os]||(Cs=!1);if((!Cs||"function"!=typeof As||As===Function.prototype)&&(As=function(){throw TypeError("Incorrect invocation")},Cs))for(os in js)us[os]&&_s(us[os],As);if((!Cs||!Is||Is===Ds)&&(Is=As.prototype,Cs))for(os in js)us[os]&&_s(us[os].prototype,Is);if(Cs&&gs(Ts)!==Is&&_s(Ts,Is),bs&&!hs(Is,Rs))for(os in Ps=!0,ms(Is,Rs,{get:function(){return ls(this)?this[Ls]:void 0}}),js)us[os]&&vs(us[os],Ls,os);var Us={NATIVE_ARRAY_BUFFER_VIEWS:Cs,TYPED_ARRAY_TAG:Ps&&Ls,aTypedArray:function(e){if(Bs(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_s){if(Os.call(As,e))return e}else for(var c in js)if(hs(js,os)){var t=us[c];if(t&&(e===t||Os.call(t,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,c,t){if(bs){if(t)for(var a in js){var r=us[a];if(r&&hs(r.prototype,e))try{delete r.prototype[e]}catch(ag){}}Is[e]&&!t||ys(Is,e,t?c:Cs&&ws[e]||c)}},exportTypedArrayStaticMethod:function(e,c,t){var a,r;if(bs){if(_s){if(t)for(a in js)if((r=us[a])&&hs(r,e))try{delete r[e]}catch(ag){}if(As[e]&&!t)return;try{return ys(As,e,t?c:Cs&&As[e]||c)}catch(ag){}}for(a in js)!(r=us[a])||r[e]&&!t||ys(r,e,c)}},isView:function(e){if(!ls(e))return!1;var c=ps(e);return"DataView"===c||hs(js,c)||hs(Ms,c)},isTypedArray:Bs,TypedArray:As,TypedArrayPrototype:Is},Ns=r,Fs=i,Gs=Gi,Vs=Us.NATIVE_ARRAY_BUFFER_VIEWS,qs=Ns.ArrayBuffer,zs=Ns.Int8Array,Hs=!Vs||!Fs((function(){zs(1)}))||!Fs((function(){new zs(-1)}))||!Gs((function(e){new zs,new zs(null),new zs(1.5),new zs(e)}),!0)||Fs((function(){return 1!==new zs(new qs(2),1,void 0).length})),Ks=nc,$s=function(e){var c=Ks(e);if(c<0)throw RangeError("The argument can't be less than 0");return c},Ws=function(e,c){var t=$s(e);if(t%c)throw RangeError("Wrong offset");return t},Ys=T,Xs=oc,Qs=wi,Js=mi,Zs=_i,ef=Us.aTypedArrayConstructor,cf=_i,tf=y,af=T,rf=oc,nf=Vt,df=[].push,of=function(e){var c=1==e,t=2==e,a=3==e,r=4==e,n=6==e,i=7==e,d=5==e||n;return function(o,s,f,b){for(var u,l,h=af(o),p=tf(h),v=cf(s,f,3),y=rf(p.length),m=0,g=b||nf,_=c?g(o,y):t||i?g(o,0):void 0;y>m;m++)if((d||m in p)&&(l=v(u=p[m],m,h),e))if(c)_[m]=l;else if(l)switch(e){case 3:return!0;case 5:return u;case 6:return m;case 2:df.call(_,u)}else switch(e){case 4:return!1;case 7:df.call(_,u)}return n?-1:a||r?r:_}},sf={forEach:of(0),map:of(1),filter:of(2),some:of(3),every:of(4),find:of(5),findIndex:of(6),filterOut:of(7)},ff=E,bf=ur,uf=function(e,c,t){var a,r;return bf&&"function"==typeof(a=c.constructor)&&a!==t&&ff(r=a.prototype)&&r!==t.prototype&&bf(e,r),e},lf=Xc,hf=r,pf=d,vf=Hs,yf=Us,mf=$n,gf=Gr,_f=u,kf=ee,Ef=oc,Sf=zr,wf=Ws,xf=w,Tf=D,Af=fi,If=E,Df=Oa,Of=ur,Rf=tc.f,Lf=function(e){var c,t,a,r,n,i,d=Ys(e),o=arguments.length,s=o>1?arguments[1]:void 0,f=void 0!==s,b=Qs(d);if(null!=b&&!Js(b))for(i=(n=b.call(d)).next,d=[];!(r=i.call(n)).done;)d.push(r.value);for(f&&o>2&&(s=Zs(s,arguments[2],2)),t=Xs(d.length),a=new(ef(this))(t),c=0;t>c;c++)a[c]=f?s(d[c],c):d[c];return a},Cf=sf.forEach,Pf=Jn,jf=z,Mf=n,Bf=uf,Uf=Ve.get,Nf=Ve.set,Ff=jf.f,Gf=Mf.f,Vf=Math.round,qf=hf.RangeError,zf=mf.ArrayBuffer,Hf=mf.DataView,Kf=yf.NATIVE_ARRAY_BUFFER_VIEWS,$f=yf.TYPED_ARRAY_TAG,Wf=yf.TypedArray,Yf=yf.TypedArrayPrototype,Xf=yf.aTypedArrayConstructor,Qf=yf.isTypedArray,Jf="BYTES_PER_ELEMENT",Zf="Wrong length",eb=function(e,c){for(var t=0,a=c.length,r=new(Xf(e))(a);a>t;)r[t]=c[t++];return r},cb=function(e,c){Ff(e,c,{get:function(){return Uf(this)[c]}})},tb=function(e){var c;return e instanceof zf||"ArrayBuffer"==(c=Af(e))||"SharedArrayBuffer"==c},ab=function(e,c){return Qf(e)&&"symbol"!=typeof c&&c in e&&String(+c)==String(c)},rb=function(e,c){return ab(e,c=xf(c,!0))?_f(2,e[c]):Gf(e,c)},nb=function(e,c,t){return!(ab(e,c=xf(c,!0))&&If(t)&&Tf(t,"value"))||Tf(t,"get")||Tf(t,"set")||t.configurable||Tf(t,"writable")&&!t.writable||Tf(t,"enumerable")&&!t.enumerable?Ff(e,c,t):(e[c]=t.value,e)};pf?(Kf||(Mf.f=rb,jf.f=nb,cb(Yf,"buffer"),cb(Yf,"byteOffset"),cb(Yf,"byteLength"),cb(Yf,"length")),lf({target:"Object",stat:!0,forced:!Kf},{getOwnPropertyDescriptor:rb,defineProperty:nb}),ss.exports=function(e,c,t){var a=e.match(/\d+$/)[0]/8,r=e+(t?"Clamped":"")+"Array",n="get"+e,i="set"+e,d=hf[r],o=d,s=o&&o.prototype,f={},b=function(e,c){Ff(e,c,{get:function(){return e=c,(t=Uf(this)).view[n](e*a+t.byteOffset,!0);var e,t},set:function(e){return r=c,n=e,d=Uf(this),t&&(n=(n=Vf(n))<0?0:n>255?255:255&n),void d.view[i](r*a+d.byteOffset,n,!0);var r,n,d},enumerable:!0})};Kf?vf&&(o=c((function(e,c,t,n){return gf(e,o,r),Bf(If(c)?tb(c)?void 0!==n?new d(c,wf(t,a),n):void 0!==t?new d(c,wf(t,a)):new d(c):Qf(c)?eb(o,c):Lf.call(o,c):new d(Sf(c)),e,o)})),Of&&Of(o,Wf),Cf(Rf(d),(function(e){e in o||kf(o,e,d[e])})),o.prototype=s):(o=c((function(e,c,t,n){gf(e,o,r);var i,d,s,f=0,u=0;if(If(c)){if(!tb(c))return Qf(c)?eb(o,c):Lf.call(o,c);i=c,u=wf(t,a);var l=c.byteLength;if(void 0===n){if(l%a)throw qf(Zf);if((d=l-u)<0)throw qf(Zf)}else if((d=Ef(n)*a)+u>l)throw qf(Zf);s=d/a}else s=Sf(c),i=new zf(d=s*a);for(Nf(e,{buffer:i,byteOffset:u,byteLength:d,length:s,view:new Hf(i)});f<s;)b(e,f++)})),Of&&Of(o,Wf),s=o.prototype=Df(Yf)),s.constructor!==o&&kf(s,"constructor",o),$f&&kf(s,$f,r),f[r]=o,lf({global:!0,forced:o!=d,sham:!Kf},f),Jf in o||kf(o,Jf,a),Jf in s||kf(s,Jf,a),Pf(r)}):ss.exports=function(){};var ib=ss.exports;ib("Uint8",(function(e){return function(c,t,a){return e(this,c,t,a)}})),ib("Uint16",(function(e){return function(c,t,a){return e(this,c,t,a)}}));var db=T,ob=uc,sb=oc,fb=Math.min,bb=[].copyWithin||function(e,c){var t=db(this),a=sb(t.length),r=ob(e,a),n=ob(c,a),i=arguments.length>2?arguments[2]:void 0,d=fb((void 0===i?a:ob(i,a))-n,a-r),o=1;for(n<r&&r<n+d&&(o=-1,n+=d-1,r+=d-1);d-- >0;)n in t?t[r]=t[n]:delete t[r],r+=o,n+=o;return t},ub=bb,lb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("copyWithin",(function(e,c){return ub.call(lb(this),e,c,arguments.length>2?arguments[2]:void 0)}));var hb=sf.every,pb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("every",(function(e){return hb(pb(this),e,arguments.length>1?arguments[1]:void 0)}));var vb=Zr,yb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("fill",(function(e){return vb.apply(yb(this),arguments)}));var mb=Us.aTypedArrayConstructor,gb=Hi,_b=sf.filter,kb=function(e,c){for(var t=gb(e,e.constructor),a=0,r=c.length,n=new(mb(t))(r);r>a;)n[a]=c[a++];return n},Eb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("filter",(function(e){var c=_b(Eb(this),e,arguments.length>1?arguments[1]:void 0);return kb(this,c)}));var Sb=sf.find,wb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("find",(function(e){return Sb(wb(this),e,arguments.length>1?arguments[1]:void 0)}));var xb=sf.findIndex,Tb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("findIndex",(function(e){return xb(Tb(this),e,arguments.length>1?arguments[1]:void 0)}));var Ab=sf.forEach,Ib=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("forEach",(function(e){Ab(Ib(this),e,arguments.length>1?arguments[1]:void 0)}));var Db=yc.includes,Ob=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("includes",(function(e){return Db(Ob(this),e,arguments.length>1?arguments[1]:void 0)}));var Rb=yc.indexOf,Lb=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("indexOf",(function(e){return Rb(Lb(this),e,arguments.length>1?arguments[1]:void 0)}));var Cb=r,Pb=Us,jb=Br,Mb=Ut("iterator"),Bb=Cb.Uint8Array,Ub=jb.values,Nb=jb.keys,Fb=jb.entries,Gb=Pb.aTypedArray,Vb=Pb.exportTypedArrayMethod,qb=Bb&&Bb.prototype[Mb],zb=!!qb&&("values"==qb.name||null==qb.name),Hb=function(){return Ub.call(Gb(this))};Vb("entries",(function(){return Fb.call(Gb(this))})),Vb("keys",(function(){return Nb.call(Gb(this))})),Vb("values",Hb,!zb),Vb(Mb,Hb,!zb);var Kb=Us.aTypedArray,$b=[].join;(0,Us.exportTypedArrayMethod)("join",(function(e){return $b.apply(Kb(this),arguments)}));var Wb=i,Yb=function(e,c){var t=[][e];return!!t&&Wb((function(){t.call(null,c||function(){throw 1},1)}))},Xb=k,Qb=nc,Jb=oc,Zb=Yb,eu=Math.min,cu=[].lastIndexOf,tu=!!cu&&1/[1].lastIndexOf(1,-0)<0,au=Zb("lastIndexOf"),ru=tu||!au?function(e){if(tu)return cu.apply(this,arguments)||0;var c=Xb(this),t=Jb(c.length),a=t-1;for(arguments.length>1&&(a=eu(a,Qb(arguments[1]))),a<0&&(a=t+a);a>=0;a--)if(a in c&&c[a]===e)return a||0;return-1}:cu,nu=ru,iu=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("lastIndexOf",(function(e){return nu.apply(iu(this),arguments)}));var du=sf.map,ou=Hi,su=Us.aTypedArray,fu=Us.aTypedArrayConstructor;(0,Us.exportTypedArrayMethod)("map",(function(e){return du(su(this),e,arguments.length>1?arguments[1]:void 0,(function(e,c){return new(fu(ou(e,e.constructor)))(c)}))}));var bu=hi,uu=T,lu=y,hu=oc,pu=function(e){return function(c,t,a,r){bu(t);var n=uu(c),i=lu(n),d=hu(n.length),o=e?d-1:0,s=e?-1:1;if(a<2)for(;;){if(o in i){r=i[o],o+=s;break}if(o+=s,e?o<0:d<=o)throw TypeError("Reduce of empty array with no initial value")}for(;e?o>=0:d>o;o+=s)o in i&&(r=t(r,i[o],o,n));return r}},vu={left:pu(!1),right:pu(!0)},yu=vu.left,mu=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("reduce",(function(e){return yu(mu(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var gu=vu.right,_u=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("reduceRight",(function(e){return gu(_u(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var ku=Us.aTypedArray,Eu=Us.exportTypedArrayMethod,Su=Math.floor;Eu("reverse",(function(){for(var e,c=this,t=ku(c).length,a=Su(t/2),r=0;r<a;)e=c[r],c[r++]=c[--t],c[t]=e;return c}));var wu=oc,xu=Ws,Tu=T,Au=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("set",(function(e){Au(this);var c=xu(arguments.length>1?arguments[1]:void 0,1),t=this.length,a=Tu(e),r=wu(a.length),n=0;if(r+c>t)throw RangeError("Wrong length");for(;n<r;)this[c+n]=a[n++]}),i((function(){new Int8Array(1).set({})})));var Iu=Hi,Du=Us.aTypedArray,Ou=Us.aTypedArrayConstructor,Ru=[].slice;(0,Us.exportTypedArrayMethod)("slice",(function(e,c){for(var t=Ru.call(Du(this),e,c),a=Iu(this,this.constructor),r=0,n=t.length,i=new(Ou(a))(n);n>r;)i[r]=t[r++];return i}),i((function(){new Int8Array(1).slice()})));var Lu=sf.some,Cu=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("some",(function(e){return Lu(Cu(this),e,arguments.length>1?arguments[1]:void 0)}));var Pu=Us.aTypedArray,ju=[].sort;(0,Us.exportTypedArrayMethod)("sort",(function(e){return ju.call(Pu(this),e)}));var Mu=oc,Bu=uc,Uu=Hi,Nu=Us.aTypedArray;(0,Us.exportTypedArrayMethod)("subarray",(function(e,c){var t=Nu(this),a=t.length,r=Bu(e,a);return new(Uu(t,t.constructor))(t.buffer,t.byteOffset+r*t.BYTES_PER_ELEMENT,Mu((void 0===c?a:Bu(c,a))-r))}));var Fu=Us,Gu=i,Vu=r.Int8Array,qu=Fu.aTypedArray,zu=Fu.exportTypedArrayMethod,Hu=[].toLocaleString,Ku=[].slice,$u=!!Vu&&Gu((function(){Hu.call(new Vu(1))}));zu("toLocaleString",(function(){return Hu.apply($u?Ku.call(qu(this)):qu(this),arguments)}),Gu((function(){return[1,2].toLocaleString()!=new Vu([1,2]).toLocaleString()}))||!Gu((function(){Vu.prototype.toLocaleString.call([1,2])})));var Wu=Us.exportTypedArrayMethod,Yu=i,Xu=r.Uint8Array,Qu=Xu&&Xu.prototype||{},Ju=[].toString,Zu=[].join;Yu((function(){Ju.call({})}))&&(Ju=function(){return Zu.call(this)});var el=Qu.toString!=Ju;Wu("toString",Ju,el);var cl={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},tl=sf.forEach,al=Yb("forEach")?[].forEach:function(e){return tl(this,e,arguments.length>1?arguments[1]:void 0)},rl=r,nl=cl,il=al,dl=ee;for(var ol in nl){var sl=rl[ol],fl=sl&&sl.prototype;if(fl&&fl.forEach!==il)try{dl(fl,"forEach",il)}catch(ag){fl.forEach=il}}var bl=r,ul=cl,ll=Br,hl=ee,pl=Ut,vl=pl("iterator"),yl=pl("toStringTag"),ml=ll.values;for(var gl in ul){var _l=bl[gl],kl=_l&&_l.prototype;if(kl){if(kl[vl]!==ml)try{hl(kl,vl,ml)}catch(ag){kl[vl]=ml}if(kl[yl]||hl(kl,yl,gl),ul[gl])for(var El in ll)if(kl[El]!==ll[El])try{hl(kl,El,ll[El])}catch(ag){kl[El]=ll[El]}}}var Sl={exports:{}};!function(e){var c=Object.prototype.hasOwnProperty,t="~";function a(){}function r(e,c,t){this.fn=e,this.context=c,this.once=t||!1}function n(e,c,a,n,i){if("function"!=typeof a)throw new TypeError("The listener must be a function");var d=new r(a,n||e,i),o=t?t+c:c;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],d]:e._events[o].push(d):(e._events[o]=d,e._eventsCount++),e}function i(e,c){0==--e._eventsCount?e._events=new a:delete e._events[c]}function d(){this._events=new a,this._eventsCount=0}Object.create&&(a.prototype=Object.create(null),(new a).__proto__||(t=!1)),d.prototype.eventNames=function(){var e,a,r=[];if(0===this._eventsCount)return r;for(a in e=this._events)c.call(e,a)&&r.push(t?a.slice(1):a);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},d.prototype.listeners=function(e){var c=t?t+e:e,a=this._events[c];if(!a)return[];if(a.fn)return[a.fn];for(var r=0,n=a.length,i=new Array(n);r<n;r++)i[r]=a[r].fn;return i},d.prototype.listenerCount=function(e){var c=t?t+e:e,a=this._events[c];return a?a.fn?1:a.length:0},d.prototype.emit=function(e,c,a,r,n,i){var d=t?t+e:e;if(!this._events[d])return!1;var o,s,f=this._events[d],b=arguments.length;if(f.fn){switch(f.once&&this.removeListener(e,f.fn,void 0,!0),b){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,c),!0;case 3:return f.fn.call(f.context,c,a),!0;case 4:return f.fn.call(f.context,c,a,r),!0;case 5:return f.fn.call(f.context,c,a,r,n),!0;case 6:return f.fn.call(f.context,c,a,r,n,i),!0}for(s=1,o=new Array(b-1);s<b;s++)o[s-1]=arguments[s];f.fn.apply(f.context,o)}else{var u,l=f.length;for(s=0;s<l;s++)switch(f[s].once&&this.removeListener(e,f[s].fn,void 0,!0),b){case 1:f[s].fn.call(f[s].context);break;case 2:f[s].fn.call(f[s].context,c);break;case 3:f[s].fn.call(f[s].context,c,a);break;case 4:f[s].fn.call(f[s].context,c,a,r);break;default:if(!o)for(u=1,o=new Array(b-1);u<b;u++)o[u-1]=arguments[u];f[s].fn.apply(f[s].context,o)}}return!0},d.prototype.on=function(e,c,t){return n(this,e,c,t,!1)},d.prototype.once=function(e,c,t){return n(this,e,c,t,!0)},d.prototype.removeListener=function(e,c,a,r){var n=t?t+e:e;if(!this._events[n])return this;if(!c)return i(this,n),this;var d=this._events[n];if(d.fn)d.fn!==c||r&&!d.once||a&&d.context!==a||i(this,n);else{for(var o=0,s=[],f=d.length;o<f;o++)(d[o].fn!==c||r&&!d[o].once||a&&d[o].context!==a)&&s.push(d[o]);s.length?this._events[n]=1===s.length?s[0]:s:i(this,n)}return this},d.prototype.removeAllListeners=function(e){var c;return e?(c=t?t+e:e,this._events[c]&&i(this,c)):(this._events=new a,this._eventsCount=0),this},d.prototype.off=d.prototype.removeListener,d.prototype.addListener=d.prototype.on,d.prefixed=t,d.EventEmitter=d,e.exports=d}(Sl);var wl=t(Sl.exports),xl=Xc,Tl=k,Al=[].join,Il=y!=Object,Dl=Yb("join",",");xl({target:"Array",proto:!0,forced:Il||!Dl},{join:function(e){return Al.call(Tl(this),void 0===e?",":e)}});var Ol=sf.map;Xc({target:"Array",proto:!0,forced:!Kt("map")},{map:function(e){return Ol(this,e,arguments.length>1?arguments[1]:void 0)}});var Rl=Xc,Ll=E,Cl=pt,Pl=uc,jl=oc,Ml=k,Bl=gt,Ul=Ut,Nl=Kt("slice"),Fl=Ul("species"),Gl=[].slice,Vl=Math.max;Rl({target:"Array",proto:!0,forced:!Nl},{slice:function(e,c){var t,a,r,n=Ml(this),i=jl(n.length),d=Pl(e,i),o=Pl(void 0===c?i:c,i);if(Cl(n)&&("function"!=typeof(t=n.constructor)||t!==Array&&!Cl(t.prototype)?Ll(t)&&null===(t=t[Fl])&&(t=void 0):t=void 0,t===Array||void 0===t))return Gl.call(n,d,o);for(a=new(void 0===t?Array:t)(Vl(o-d,0)),r=0;d<o;d++,r++)d in n&&Bl(a,r,n[d]);return a.length=r,a}});var ql=m,zl="[\t\n\v\f\r \u2028\u2029\ufeff]",Hl=RegExp("^"+zl+zl+"*"),Kl=RegExp(zl+zl+"*$"),$l=function(e){return function(c){var t=String(ql(c));return 1&e&&(t=t.replace(Hl,"")),2&e&&(t=t.replace(Kl,"")),t}},Wl={start:$l(1),end:$l(2),trim:$l(3)},Yl=d,Xl=r,Ql=Vc,Jl=Qe,Zl=D,eh=h,ch=uf,th=w,ah=i,rh=Oa,nh=tc.f,ih=n.f,dh=z.f,oh=Wl.trim,sh="Number",fh=Xl[sh],bh=fh.prototype,uh=eh(rh(bh))==sh,lh=function(e){var c,t,a,r,n,i,d,o,s=th(e,!1);if("string"==typeof s&&s.length>2)if(43===(c=(s=oh(s)).charCodeAt(0))||45===c){if(88===(t=s.charCodeAt(2))||120===t)return NaN}else if(48===c){switch(s.charCodeAt(1)){case 66:case 98:a=2,r=49;break;case 79:case 111:a=8,r=55;break;default:return+s}for(i=(n=s.slice(2)).length,d=0;d<i;d++)if((o=n.charCodeAt(d))<48||o>r)return NaN;return parseInt(n,a)}return+s};if(Ql(sh,!fh(" 0o1")||!fh("0b1")||fh("+0x1"))){for(var hh,ph=function(e){var c=arguments.length<1?0:e,t=this;return t instanceof ph&&(uh?ah((function(){bh.valueOf.call(t)})):eh(t)!=sh)?ch(new fh(lh(c)),t,ph):lh(c)},vh=Yl?nh(fh):"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(","),yh=0;vh.length>yh;yh++)Zl(fh,hh=vh[yh])&&!Zl(ph,hh)&&dh(ph,hh,ih(fh,hh));ph.prototype=bh,bh.constructor=ph,Jl(Xl,sh,ph)}var mh={},gh=i;function _h(e,c){return RegExp(e,c)}mh.UNSUPPORTED_Y=gh((function(){var e=_h("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),mh.BROKEN_CARET=gh((function(){var e=_h("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var kh,Eh,Sh=Jo,wh=mh,xh=ge,Th=RegExp.prototype.exec,Ah=xh("native-string-replace",String.prototype.replace),Ih=Th,Dh=(kh=/a/,Eh=/b*/g,Th.call(kh,"a"),Th.call(Eh,"a"),0!==kh.lastIndex||0!==Eh.lastIndex),Oh=wh.UNSUPPORTED_Y||wh.BROKEN_CARET,Rh=void 0!==/()??/.exec("")[1];(Dh||Rh||Oh)&&(Ih=function(e){var c,t,a,r,n=this,i=Oh&&n.sticky,d=Sh.call(n),o=n.source,s=0,f=e;return i&&(-1===(d=d.replace("y","")).indexOf("g")&&(d+="g"),f=String(e).slice(n.lastIndex),n.lastIndex>0&&(!n.multiline||n.multiline&&"\n"!==e[n.lastIndex-1])&&(o="(?: "+o+")",f=" "+f,s++),t=new RegExp("^(?:"+o+")",d)),Rh&&(t=new RegExp("^"+o+"$(?!\\s)",d)),Dh&&(c=n.lastIndex),a=Th.call(i?t:n,f),i?a?(a.input=a.input.slice(s),a[0]=a[0].slice(s),a.index=n.lastIndex,n.lastIndex+=a[0].length):n.lastIndex=0:Dh&&a&&(n.lastIndex=n.global?a.index+a[0].length:c),Rh&&a&&a.length>1&&Ah.call(a[0],t,(function(){for(r=1;r<arguments.length-2;r++)void 0===arguments[r]&&(a[r]=void 0)})),a});var Lh=Ih;Xc({target:"RegExp",proto:!0,forced:/./.exec!==Lh},{exec:Lh});var Ch=Qe,Ph=Lh,jh=i,Mh=Ut,Bh=ee,Uh=Mh("species"),Nh=RegExp.prototype,Fh=!jh((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Gh="$0"==="a".replace(/./,"$0"),Vh=Mh("replace"),qh=!!/./[Vh]&&""===/./[Vh]("a","$0"),zh=!jh((function(){var e=/(?:)/,c=e.exec;e.exec=function(){return c.apply(this,arguments)};var t="ab".split(e);return 2!==t.length||"a"!==t[0]||"b"!==t[1]})),Hh=function(e,c,t,a){var r=Mh(e),n=!jh((function(){var c={};return c[r]=function(){return 7},7!=""[e](c)})),i=n&&!jh((function(){var c=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[Uh]=function(){return t},t.flags="",t[r]=/./[r]),t.exec=function(){return c=!0,null},t[r](""),!c}));if(!n||!i||"replace"===e&&(!Fh||!Gh||qh)||"split"===e&&!zh){var d=/./[r],o=t(r,""[e],(function(e,c,t,a,r){var i=c.exec;return i===Ph||i===Nh.exec?n&&!r?{done:!0,value:d.call(c,t,a)}:{done:!0,value:e.call(t,c,a)}:{done:!1}}),{REPLACE_KEEPS_$0:Gh,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:qh}),s=o[0],f=o[1];Ch(String.prototype,e,s),Ch(Nh,r,2==c?function(e,c){return f.call(e,this,c)}:function(e){return f.call(e,this)})}a&&Bh(Nh[r],"sham",!0)},Kh=nc,$h=m,Wh=function(e){return function(c,t){var a,r,n=String($h(c)),i=Kh(t),d=n.length;return i<0||i>=d?e?"":void 0:(a=n.charCodeAt(i))<55296||a>56319||i+1===d||(r=n.charCodeAt(i+1))<56320||r>57343?e?n.charAt(i):a:e?n.slice(i,i+2):r-56320+(a-55296<<10)+65536}},Yh={codeAt:Wh(!1),charAt:Wh(!0)},Xh=Yh.charAt,Qh=function(e,c,t){return c+(t?Xh(e,c).length:1)},Jh=h,Zh=Lh,ep=function(e,c){var t=e.exec;if("function"==typeof t){var a=t.call(e,c);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==Jh(e))throw TypeError("RegExp#exec called on incompatible receiver");return Zh.call(e,c)},cp=K,tp=oc,ap=m,rp=Qh,np=ep;Hh("match",1,(function(e,c,t){return[function(c){var t=ap(this),a=null==c?void 0:c[e];return void 0!==a?a.call(c,t):new RegExp(c)[e](String(t))},function(e){var a=t(c,e,this);if(a.done)return a.value;var r=cp(e),n=String(this);if(!r.global)return np(r,n);var i=r.unicode;r.lastIndex=0;for(var d,o=[],s=0;null!==(d=np(r,n));){var f=String(d[0]);o[s]=f,""===f&&(r.lastIndex=rp(n,tp(r.lastIndex),i)),s++}return 0===s?null:o}]}));var ip=T,dp=Math.floor,op="".replace,sp=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,fp=/\$([$&'`]|\d{1,2})/g,bp=Hh,up=K,lp=oc,hp=nc,pp=m,vp=Qh,yp=function(e,c,t,a,r,n){var i=t+e.length,d=a.length,o=fp;return void 0!==r&&(r=ip(r),o=sp),op.call(n,o,(function(n,o){var s;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return c.slice(0,t);case"'":return c.slice(i);case"<":s=r[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>d){var b=dp(f/10);return 0===b?n:b<=d?void 0===a[b-1]?o.charAt(1):a[b-1]+o.charAt(1):n}s=a[f-1]}return void 0===s?"":s}))},mp=ep,gp=Math.max,_p=Math.min;bp("replace",2,(function(e,c,t,a){var r=a.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,n=a.REPLACE_KEEPS_$0,i=r?"$":"$0";return[function(t,a){var r=pp(this),n=null==t?void 0:t[e];return void 0!==n?n.call(t,r,a):c.call(String(r),t,a)},function(e,a){if(!r&&n||"string"==typeof a&&-1===a.indexOf(i)){var d=t(c,e,this,a);if(d.done)return d.value}var o=up(e),s=String(this),f="function"==typeof a;f||(a=String(a));var b=o.global;if(b){var u=o.unicode;o.lastIndex=0}for(var l=[];;){var h=mp(o,s);if(null===h)break;if(l.push(h),!b)break;""===String(h[0])&&(o.lastIndex=vp(s,lp(o.lastIndex),u))}for(var p,v="",y=0,m=0;m<l.length;m++){h=l[m];for(var g=String(h[0]),_=gp(_p(hp(h.index),s.length),0),k=[],E=1;E<h.length;E++)k.push(void 0===(p=h[E])?p:String(p));var S=h.groups;if(f){var w=[g].concat(k,_,s);void 0!==S&&w.push(S);var x=String(a.apply(void 0,w))}else x=yp(g,s,_,k,S,a);_>=y&&(v+=s.slice(y,_)+x,y=_+g.length)}return v+s.slice(y)}]}));var kp=Us.aTypedArrayConstructor;(0,Us.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,c=arguments.length,t=new(kp(this))(c);c>e;)t[e]=arguments[e++];return t}),Hs);var Ep=function(e){var c=0;for(c=0;0!==e;c++)e&=e-1;return c};function Sp(e,c){return e^c}function wp(e,c,t){var a=e+Ep(c)+t;return String.fromCharCode(255&a)}function xp(e,c,t){var a=e-Ep(c)-t;return String.fromCharCode(255&a)}function Tp(e){for(var c,t=e.length,a=0;a<t&&a!==t-1;a+=2)c=e[a],e[a]=e[a+1],e[a+1]=c;return e}function Ap(e,c){var t=85,a=250;Tp(e);for(var r=0;r<e.length;r++){var n=e[r].charCodeAt(0),i=0===c?wp:xp;r%2==1?t=n=Sp(t,i(n+a,r,21).charCodeAt(0)):a=n=Sp(a,i(n+t,r,21).charCodeAt(0)),e[r]=String.fromCharCode(n)}return Tp(e),e}function Ip(e,c){var t,a=function(e,c){var t,a=(e[0].charCodeAt(0)^e[1].charCodeAt(0)^e[2].charCodeAt(0))-"0".charCodeAt(0),r=c-a-1,n=new Array(a);for(t=a;t>0;t--)n[a-t]=String.fromCharCode(e[c-a-2].charCodeAt(0)^e[c-a-1].charCodeAt(0)^e[c-t].charCodeAt(0));return{convertKey:e.substring(1,r+1).split(""),convertLen:r,method:n.join(""),methodLen:a}}(e,c=c||e.length),r=a.convertKey,n=a.convertLen,i=a.method,d="11"===i||"appdevice"===i||"app_v2"===i?0:1;switch(i){case"11":case"22":case"appdevice":case"webdevice":r=function(e,c,t){for(var a,r=85,n=250,i=0;i<c;i++){var d=e[i].charCodeAt(0);i%2==1?(a=r^d,r=d):(a=n^d,n=d),e[i]=0===t?xp(a,i,21):wp(a,i,21)}return e}(r,n,d);break;case"app_v2":case"web_v2":r=function(e,c,t){c=c||e.length;var a=85,r=250;Tp(e);for(var n=0;n<c;n++){var i=e[n].charCodeAt(0),d=void 0,o=void 0;n%2==1?(o=Sp(a,i),a=i,d=r):(o=Sp(r,i),r=i,d=a);var s=(0===t?xp:wp)(o,n,21).charCodeAt(0)-d;s<0&&(s+=256),e[n]=String.fromCharCode(s)}return Tp(e),e}(r,n,d)}var o=n-((t=r[0])>="0"&&t<="9"?t.charCodeAt(0)-"0".charCodeAt(0):t>="a"&&t<="z"?t.charCodeAt(0)-"a".charCodeAt(0)+10:255)-1,s=new Array(o+1);s[o]="";var f=0;for(f=0;f<o;f++)s[f]=r[f+1];return s.join("")}var Dp=tt((function e(){var c,t;et(this,e);var a=new Promise((function(e,a){c=e,t=a}));return a.resolve=function(e){c(e),a.state="fulfilled"},a.reject=function(e){t(e),a.state="rejected",a.isBreak="DESTROYED"===e},a.state="pending",a}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]);function Op(e){var c=e||{},t=c.url,a=c.method,r=void 0===a?"GET":a,n=c.type,i=void 0===n?"arraybuffer":n,d=c.data,o=void 0===d?{}:d;return new Promise((function(e,c){var a=new window.XMLHttpRequest,n=r.toUpperCase(),d=[];if(Object.keys(o).map((function(e){d.push("k=".concat(o[e]))})),"GET"===n){var s="";s=t.indexOf("?")<0?"".concat(t,"?").concat(d.join("&")):(null==d?void 0:d.length)>0?"".concat(t,"&").concat(d.join("&")):t,a.open(n,s),i&&(a.responseType=i),a.send()}else{if("POST"!==n)throw new Error("xhr ".concat(n," is not supported"));a.open(n,t,!0),i&&(a.responseType=i),a.setRequestHeader("Content-Type","application/json"),a.send(JSON.stringify(o))}a.onload=function(){200===a.status||206===a.status?e(a):c(a)},a.onerror=function(){c(a)}}))}var Rp,Lp,Cp,Pp,jp,Mp,Bp,Up,Np=d,Fp=z.f,Gp=Function.prototype,Vp=Gp.toString,qp=/^\s*function ([^ (]*)/,zp="name";function Hp(e){return Kp.apply(this,arguments)}function Kp(){return Kp=Jc(dt().mark((function e(c){var t,a,r=arguments;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=!(r.length>1&&void 0!==r[1])||r[1],a=r.length>2&&void 0!==r[2]?r[2]:["encrypt","decrypt"],e.abrupt("return",new Promise((function(e,r){var n;"undefined"!=typeof crypto&&null!==(n=crypto)&&void 0!==n&&n.subtle?crypto.subtle.generateKey(c,t,a).then((function(c){e(c)})).catch((function(e){r(e)})):r(new Error(Lp.WebCryptoNotSupport.msg))})));case 3:case"end":return e.stop()}}),e)}))),Kp.apply(this,arguments)}function $p(){if("object"!==("undefined"==typeof crypto?"undefined":ft(crypto))||"[object crypto]"!==Object.prototype.toString.call(crypto).toLowerCase()||void 0===crypto.subtle)throw new Cp(Lp.WebCryptoNotSupport.code,Lp.WebCryptoNotSupport.msg);return!0}function Wp(e){for(var c=window.atob(e),t=new Uint8Array(c.length),a=0;a<c.length;a++)t[a]=c.charCodeAt(a);return t.buffer}function Yp(e){return Xp.apply(this,arguments)}function Xp(){return(Xp=Jc(dt().mark((function e(c){var t,a,r,n,i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.data,a=c.privateKey,r=Wp(t),$p(),e.prev=3,e.next=6,crypto.subtle.decrypt({name:"RSA-OAEP"},a,r);case 6:n=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Cp(Lp.PrivateKeyDecryptFail.code,"".concat(Lp.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 i=(new TextDecoder).decode(n),e.abrupt("return",i);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function Qp(e){for(var c="",t=0;t<e.length;t+=16e3){var a=e.subarray(t,t+16e3);c+=String.fromCharCode.apply(null,a)}return c}Np&&!(zp in Gp)&&Fp(Gp,zp,{configurable:!0,get:function(){try{return Vp.call(this).match(qp)[1]}catch(ag){return""}}}),function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=[0,null],v=null,y=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)y.push(t[f]);y.p=r;for(var m=[];;)try{switch(i[c++]){case 42:h[++l]=!1;break;case 70:h[++l]=null;break;case 36:o=i[c++],h[++l]=o<<24>>24;break;case 26:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=o<<16>>16;break;case 14:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 69:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 21:h[++l]=void 0;break;case 5:h[++l]=n;break;case 60:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 46:h[++l]={};break;case 6:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 0:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;h[++l]=b[f];break;case 37:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 58:s=h[l--],h[l]=h[l][s];break;case 65:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;b[f]=h[l--];break;case 59:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],b=h[l--],f[s]=b;break;case 75:s=h[l--],f=h[l--],b=h[l--],f[s]=b;break;case 55:for(s=i[c++],f=i[c++],b=y,b=y;s>0;--s)b=b.p;h[++l]=b,h[++l]=f;break;case 41:s=h[l--],h[l]-=s;break;case 74:s=h[l--],b=(f=h[l--])[s]++,h[++l]=b;break;case 35:s=h[l--],h[l]=h[l]===s;break;case 40:s=h[l--],h[l]=h[l]<s;break;case 44:s=h[l--],h[l]=h[l]>s;break;case 8:h[l]=!h[l];break;case 34:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 48:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 71:s=h[l--],(f=h[l--])[s]=h[l];break;case 12:s=h[l--],h[l]=h[l]instanceof s;break;case 25:h[l]=void 0;break;case 47:h[l]=typeof h[l];break;case 13:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,y],f._u=e,h[++l]=f;break;case 10:o=i[c++],s=h[l--],(b=[f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)}]).p=y,f._v=[s,o,b],f._u=e,h[++l]=f;break;case 62:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])[1]=c+o;break;case 67:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])&&!s[1]?(s[0]=3,s.push(c)):m.push([1,0,c]),c+=o;break;case 22:throw s=h[l--];case 19:if(f=(s=m.pop())[0],b=p[0],1===f)c=s[1];else if(0===f)if(0===b)c=s[1];else{if(1!==b)throw p[1];if(!v)return p[1];c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else c=s[2],s[0]=0,m.push(s);break;case 32:for(s=h[l--],f=null;b=m.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)p=[1,s],c=f[2],f[0]=0,m.push(f);else{if(!v)return s;c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=s,p=[0,null],v=v[0]}break;case 66:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,v=[v,c,n,y,m],c=s[0],null==b&&(b=function(){return this}()),n=b,(y=[f].concat(f)).length=Math.min(s[1],o)+1,y.p=s[2],m=[]):(u=s.apply(b,f),h[++l]=u);break;case 1:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 11:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 68:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 50:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,s=h[l--],h[l]===s&&(--l,c+=o);break;case 72:--l;break;case 54:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(o=m.pop())&&!o[0];);if(!o){e:for(;v;){for(s=v[4];o=s.pop();)if(o[0])break e;v=v[0]}if(!v)throw g;c=v[1],n=v[2],y=v[3],m=v[4],v=v[0]}1===(s=o[0])?(c=o[2],o[0]=0,m.push(o),h[++l]=g):2===s?(c=o[2],o[0]=0,m.push(o),p=[3,g]):(c=o[3],o[0]=2,m.push(o),h[++l]=g)}}(o,[],0,c,t)}("504B0101463b639d0000055c9e623846000005f64500000000014500014b4500020000014500034b4500040000014500054b000001200e000000430d024100024600020c0000020000014202484600020f0000024201204600030e050001024202484600030d050001020000023c000142034100030000010000033b0006000003200002110100410004460002122e45000c06000d45000e06000f0000030600102e4500110600124500130600142e0000010600153c00003625001600000242010600173c000106001806001942013625001a0e000000da0d014201362500240e0000015e0d00420148000004200000014623300007000001240019234400062400190b000600000125001b4100020000022f45001c2344000f0003013625001d000002420141000200000244002100000225001e0001013a0001023a4100030001043625001f0000034201480b00204600031b4500200001014500210001024500224205480001043625002342004815204600031b45002000010145002100010245002442054800010436250023420048152000010236250025050000004202204600020a460002084200362500260e000001b80a06420142014101020001023625002505000000420220460004084200362500270e000001cf0a0100010042022024014401680000012500280000014500294724003200322405320080240832008f2409320093240c3200b9240d3200bd240f3200d22416320116241732012145002a32011b480b012100020130000345002b41020100020244000b24090000013b00280b01040002012200030002032200030002040844000b24080000013b00280b00e624050000013b00284600061700020100020300020442032000000125002c41020224090000013b00280b00ba00060045002d010116000205450004230844000b240d0000013b00280b009b240c0000013b00284600061900020200020642022000000125002c41020200020244000b240f0000013b00280b006c00060045002e0101164600061046000602000202420142014102070002030844000b24160000013b00280b003f2e2e06002f41020800020700020825002f0002034b0000013625003045003100020842022000000136250030450031000207420220000001362500324200200bfe93152000010336250025050000004202204600020a460002084200362500260e000003760a02420142014101030001033625002505000000420220460004084200362500270e0000038d0a01000100420220240144009a000001250028000001450029472400320019240232003e2404320058240632006c45002a320066480b006c00020108300004000202080844000b24020000013b00280b00520000013625003045003100020142022024040000013b0028460006132e00020106001900020225003306003342012000000125002c41020100000136250030450031000201420220000001362500324200200bff611520430004410002133e00740002032f450034234400064500340b00094600020900020342014500352322000b0002032500362f4500372344004400020325003800020436250039240024612473246d2401240024002400420801014100010000010002032500380c44001300020325003a000001010100020325003a0c20132a200001014623440022430004410006133e001800020522000e0002053625003b45003c420108084101011300000025003d41000300020600000324012c4400090000032401290b0002240001014100042401410005000005000003284400190000000000053a0000040000052401294b3700054a480bffdd00010122000600020725003e2200250002073700024725003e3625002500000245003f0000013c000236250016000004420142024815200e0000006e0d034101170e000001800d064101180e0000018e0d004100020e0000033e0d024101190e0000034c0d004100030e0000042e0d0041011a0e000004ae0d0141011b46410001460e000000000d010001143000012e42014101142e2e1a1c210600064500070600080600092e1a1c2206000645000a06000806000b410115460e000000220d014600010b0001004201420141011615200040100d0a1f101a1f0c1a211b101d0c070e0a102d2a3f303a3f2c3a213b303d2c272e2a0f0e0c17081f0a1b211b101d0c070e0a0f2e2c37283f2a3b213b303d2c272e2a170e0c17081f0a1b211b101d0c070e0a210b0e190c1f1a1b172e2c37283f2a3b213b303d2c272e2a212b2e392c3f3a3b041d111a1b25291b1c5e1d0c070e0a11190c1f0e16075e3f2e375e170d5e10110a5e0d0b0e0e110c0a1b1a03130d1913291b1c3d0c070e0a1130110a2d0b0e0e110c0a1d3a1b1d0c070e0a1711105e1c075e2c2d3f53313f3b2e5e181f17121b1a152e0c17081f0a1b351b073a1b1d0c070e0a381f171204140d1110040a070e1b042e312d2a06131b0a16111a030b0c12024c4c081a0c13210a070e1b034c504e07081b0c0d1711100308171a061d11101d1f0a0415171a0d0f12171d1b100d1b210c1b0f0b1b0d0a041a1f0a1f040a161b10080c1b0d0e11100d1b060d0a0c171019050e1f0c0d1b0d0e121f072112171d1b100d1b0d070c1b0d1112081b1b191b0a2d1b1d0c1b0a351b073c0735171a5e1b101a525e08171a5205525e15171a0d0c1b0d0e11100d1b5e100b1212060c1b141b1d0a051d1f0a1d16051f0e0e120704131f0c1504090c1f0e04101b060a040e0c1b08031b101a00040d1b100a350d16110b121a5e0e0c1108171a1b5e0d1b1d0c1b0a351b075e110c5e08171a525e151b07371a5e1f101a5e12171d1b100d1b2b0c1218191b0a351b07281f120b1b445e0d155e170d5e1b130e0a07091d121b1f0c351b070d061f1c0c0b0e0a060c1b0a0b0c10040d0a110e0a0e0c17081f0a1b351b07090b101a1b1817101b1a06111c141b1d0a0b17100d0a1f100a171f0a1b08180b101d0a1711100633111a0b121b0211180837100d0a1f101d1b07191b0a370a1b130c0d1b1d0c1b0a151b0712111906121b10190a16031211190d2526392d1b1d0c1b0a151b0723",{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 dt},get 9(){return ft},get 10(){return Jc},get 11(){return bt},get 12(){return nt},get 13(){return Zc},get 14(){return et},get 15(){return tt},get 16(){return Ip},get 17(){return Dp},get 18(){return Op},get 19(){return Yp},get 20(){return Rp},set 20(e){Rp=e},get 21(){return Lp},set 21(e){Lp=e},get 22(){return Cp},set 22(e){Cp=e},get 23(){return Pp},set 23(e){Pp=e},get 24(){return jp},set 24(e){jp=e},get 25(){return Mp},set 25(e){Mp=e},get 26(){return Bp},set 26(e){Bp=e},get 27(){return Up},set 27(e){Up=e}},void 0);var Jp,Zp,ev,cv,tv,av,rv,nv,iv=(Jp="vodTimestampSalt",Zp=function(e){return e.split("").map((function(e){return e.charCodeAt(0)}))},ev=function(e){return"0".concat(Number(e).toString(16)).substr(-2)},cv=function(e){return Zp(Jp).reduce((function(e,c){return e^c}),e)},function(e){return e.split("").map(Zp).map(cv).map(ev).join("")}),dv=(rv="vodTimestampSalt",nv=function(e){return(c=rv,c.split("").map((function(e){return e.charCodeAt(0)}))).reduce((function(e,c){return e^c}),e);var c},function(e){return e.match(/.{1,2}/g).map((function(e){return parseInt(e,16)})).map(nv).map((function(e){return String.fromCharCode(e)})).join("")}),ov={str2hex:function(e){if(""===e)return"";for(var c=[],t=0;t<e.length;t++)c.push(e.charCodeAt(t));return c},Base64ToHex:function(e){var c=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=window.atob(e.replace(/-/g,"+").replace(/_/g,"/"));if(c){for(var a=[],r=0;r<t.length;r++)a.push(t.charCodeAt(r));return new Uint8Array(a).buffer}for(var n="",i=0;i<t.length;i++)n+="0".concat(t.charCodeAt(i).toString(16)).substr(-2);return n},checkUnionInfoExpired:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;if(0===c.indexOf(e)){var a=parseInt(dv(c.slice(e.length))),r=(new Date).getTime()-a;if(r>0&&r<=1e3*t)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(iv((new Date).getTime().toString()))},StringToArrayBuffer:function(e){for(var c=new ArrayBuffer(e.length),t=new Uint8Array(c),a=0;a<e.length;a++)t[a]=e.charCodeAt(a);return c},ArrayBufferToString:function(e){var c=[];e=ArrayBuffer.isView(e)?e:new Uint8Array(e);for(var t,a=0;a<e.length;a++)t=e[a],c.push(String.fromCharCode(t));return c.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:Qp,fromHex:function(e){for(var c=new Uint8Array(e.length/2),t=0;t<e.length;t+=2)c[t/2]=window.parseInt(e.substr(t,2),16);return c},toUTF8:function(e){for(var c=encodeURIComponent(e),t=unescape(c),a=new Uint8Array(t.length),r=0;r<t.length;++r)a[r]=t.charCodeAt(r);return a.buffer},toBase64:function(e,c){var t=Qp(e);c=void 0===c||c;var a=window.btoa(t).replace(/\+/g,"-").replace(/\//g,"_");return c?a:a.replace(/=*$/,"")}};e.EVENT_EME=void 0,function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=null,v=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)v.push(t[f]);v.p=r;for(var y=[];;)try{switch(i[c++]){case 42:h[++l]=!1;break;case 70:h[++l]=null;break;case 36:o=i[c++],h[++l]=o<<24>>24;break;case 26:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=o<<16>>16;break;case 14:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 69:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 21:h[++l]=void 0;break;case 5:h[++l]=n;break;case 60:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 46:h[++l]={};break;case 6:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 0:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;h[++l]=b[f];break;case 37:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 58:s=h[l--],h[l]=h[l][s];break;case 65:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;b[f]=h[l--];break;case 59:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],b=h[l--],f[s]=b;break;case 75:s=h[l--],f=h[l--],b=h[l--],f[s]=b;break;case 55:for(s=i[c++],f=i[c++],b=v,b=v;s>0;--s)b=b.p;h[++l]=b,h[++l]=f;break;case 74:s=h[l--],b=(f=h[l--])[s]++,h[++l]=b;break;case 35:s=h[l--],h[l]=h[l]===s;break;case 33:s=h[l--],h[l]=h[l]!==s;break;case 8:h[l]=!h[l];break;case 34:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 48:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 71:s=h[l--],(f=h[l--])[s]=h[l];break;case 25:h[l]=void 0;break;case 76:s=h[l--],b=delete(f=h[l--])[s],h[++l]=b;break;case 13:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,v],f._u=e,h[++l]=f;break;case 10:o=i[c++],s=h[l--],(b=[f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)}]).p=v,f._v=[s,o,b],f._u=e,h[++l]=f;break;case 22:throw s=h[l--];case 32:for(s=h[l--],f=null;b=y.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)c=f[2],f[0]=0,y.push(f);else{if(!p)return s;c=p[1],n=p[2],v=p[3],y=p[4],h[++l]=s,p=p[0]}break;case 66:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,p=[p,c,n,v,y],c=s[0],null==b&&(b=function(){return this}()),n=b,(v=[f].concat(f)).length=Math.min(s[1],o)+1,v.p=s[2],y=[]):(u=s.apply(b,f),h[++l]=u);break;case 1:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 11:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 68:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 72:--l;break;case 54:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(m){for(;(o=y.pop())&&!o[0];);if(!o){e:for(;p;){for(s=p[4];o=s.pop();)if(o[0])break e;p=p[0]}if(!p)throw m;c=p[1],n=p[2],v=p[3],y=p[4],p=p[0]}1===(s=o[0])?(c=o[2],o[0]=0,y.push(o),h[++l]=m):2===s?(c=o[2],o[0]=0,y.push(o)):(c=o[3],o[0]=2,y.push(o),h[++l]=m)}}(o,[],0,c,t)}("504B0101463b639d00000fbc9e62384600000ff24500010000014500024b4500030000014500044b4500050000014500054b4500060000014500064b000001200e0000012d0d014100024600020f000002000001420248460002110000022e45002d06002f0e000008be0a020600332e45003406002f0e0000097f0a010600332e45003506002f0e00000a120a000600332e45002906002f0e00000a500a010600332e45002406002f0e00000a700a010600332e45004b06002f0e00000b6a0a000600332e45001a06002f0e00000b6c0a030600332e45005206002f0e00000c020a010600332e45005306002f0e00000c140a010600332e45005606002f0e00000cb60a010600332e45002506002f0e00000ce40a010600332e45007a06002f0e00000f100a010600332e45008206002f0e00000fad0a000600333c000d4202204600031205000102420248460003100500010242024100024500070000023b00082e0000023b00092400190000023b000a0003150000023b0000460000023b000b24000000023b000c00030001003625000d42003625000e242442010000023b000f0e000001c90d010000023b002c3c00000000023b001b0000023625002d0000014201480000023625002e45000300000225002c4202480000022000010241000200000225000b41000300010241000400000308440002152000010225000845001023440033450011410005000401362500122e4500133c0001060014420141000600040200041436250015000006420101014100070b054f000102250008450016234400b945001741000500000122000b00040200000125001801013000990004022400240024002443247024732473246824002400240024001a00ed1a00ef1a008b1a00a924791a00d6244a1a00ce1a00a31a00c824271a00dc1a00d5241d24211a00ed240024002400242324082401241224102433243324332433243324332433243324332433243324332400240024002400241a240a2469246e2474246524722474247224752473247424222401242a3c004301014100070b04890001022500084500192344047c45001741000500000122000b000402000001250018010130045f0004022400240024022426247024732473246824002400240024001a009a24041a00f024791a0098244024421a00861a00ab1a00921a00e6245b1a00e01a0088245f1a00952400240024022406240624022400240024012400240124001a00fc2401243c24002457240024522400244d24002448240024452400244124002444240024452400245224002420240024782400246d2400246c2400246e240024732400243d24002422240024682400247424002474240024702400243a2400242f2400242f240024732400246324002468240024652400246d24002461240024732400242e2400246d2400246924002463240024722400246f240024732400246f24002466240024742400242e240024632400246f2400246d2400242f24002444240024522400244d2400242f240024322400243024002430240024372400242f24002430240024332400242f240024502400246c24002461240024792400245224002465240024612400246424002479240024482400246524002461240024642400246524002472240024222400242024002476240024652400247224002473240024692400246f2400246e2400243d24002422240024342400242e240024302400242e240024302400242e24002430240024222400243e2400243c240024442400244124002454240024412400243e2400243c24002450240024522400244f24002454240024452400244324002454240024492400244e240024462400244f2400243e2400243c2400244b24002445240024592400244c240024452400244e2400243e24002431240024362400243c2400242f2400244b24002445240024592400244c240024452400244e2400243e2400243c240024412400244c2400244724002449240024442400243e2400244124002445240024532400244324002454240024522400243c2400242f240024412400244c2400244724002449240024442400243e2400243c2400242f24002450240024522400244f24002454240024452400244324002454240024492400244e240024462400244f2400243e2400243c2400244b24002449240024442400243e2400244d2400247a2400244d2400247a2400244d2400247a2400244d2400247a2400244d2400247a2400244d2400247a2400244d2400247a2400244d2400247a2400244124002441240024412400244124002441240024412400243d2400243d2400243c2400242f2400244b24002449240024442400243e2400243c240024432400244824002445240024432400244b24002453240024552400244d2400243e24002441240024312400243524002442240024592400245724002444240024342400247124002473240024492400243d2400243c2400242f240024432400244824002445240024432400244b24002453240024552400244d2400243e2400243c2400242f240024442400244124002454240024412400243e2400243c2400242f24002457240024522400244d2400244824002445240024412400244424002445240024522400243e24003c022601014100070000043625001a00000300000425000800000425001b42033625001c0e000007b90d000e000008a20d0042023625001c0e000008af0d000e000008b10d00420248152000010325001d370001474623300007000001240019234400062400190b00090000013625001e42004100020000020844000900050345001f010116000103250020362500210000024201480001042500084500102344002900040100010425000f3a410003000002362500224500230001043625002400000342014202480b00550001042500084500162344001f000002362500224500230001042500253625002600010442014202480b00290001042500084500192344001c00000236250022450023000104250025362500260001044201420248000002362500270001050001072500284202200001043625002945002a42012015200001043625002945002b420120000001462122000700000124001921220006000001250030440015450010053b00080000012500300003010525000f4b00000146212200070000012400192122000600000125003044000a450010053b00080b005b000001462122000700000124001921220006000001250031440014450016053b0008000001250031053b00090b002c000001462122000700000124001921220006000001250032440011450019053b0008000001250032053b00090000022200080000020545000047481520052500000004152344007f052500084500102322000e0003010525000f3a37000247462122000700000224001921220008000002052500003a4400290003010525000f3a052500003a0003010525000f3a0000014b0003010525000f3a0004154c480b002505250009052500003a440019052500090004153a052500090000014b052500090004154c48000001053b000015202e4500114500363c00020600372e4500380600393c000106003a2e45003b0600392e45003c0600392e45003d0600393c000306003e3c0001053b001b15200004043625000145003f00000142024805362500404500010000014202481520054100020e00000a7c0d01203c00004100023c0000410003000505362500090001014201362500410e00000aea0d014201482e0000020600094100040005013625001200000442014100050000012500473625004800051436250049000005420142013625001c0e00000b5b0d000e00000b5d0d0042024815200002010000013a4100020006143625004200000142014100030006143625004200000242014100042e450043060044000614362500450000032a4202060000000614362500450000042a42020600464100050001023625002100000542014800010336250021000005250000420148152015200002023625002945004a4201201520054100040525000a30000600000125001d4400110525000a3000090004063625004c4200200004073625004d00000200000342023625001c0e00000bd10d010e00000bdb0d0042023625001c0e00000be80d010e00000bf50d004202053b000a0525000a200000013625004e4200200001043625002945004f4201200001013625005000000142012000010436250029450051420120000001053b000b3c00000000013b0020152045005441000200040825005544008f0536250056000001420141000300040825005501004100040000043625005700000345005842024100050000054400150000053625005900000245005a420224003a0b0001464100060000064400150000063625005900000245005b420224003a0b0001464100070000074400150000073625005900000245005c420224003a0b00014641000800000844000246200000012000040925005d3625005e46000402000001010142024100024600040a4600040b00000242014201410003000003200541000200040c01004100030000033625005f450060052500092500614202480e00000d1d0d000000033b00780000033625007942004815200001032500622404234401160001012500234100010001032500634100020001022500084500192344003300050136250064000103250063420141000245000736250065000002250066450067420236250065000002250068420141000200000208440043000102362500404500062e4500073625006500010225000925006145006942023625006500010325006a45006b42023625006500010325006c420106006d420248152000050c01004100030001012500470000033b006e45006f0000033b00702a0000033b00710000033625005f45007246000509000002420142024800010225000845001923440010000003362500734500744500584202480e00000e410d000000033b0078000003362500790001023625007a000001420142014815200001032500622404234400c100010325006a1a00c82144003d000202362500404500062e4500073625006500010245007542023625006500010325006a45006b42023625006500010325006c420106006d4202481520000202362500404500052e00020225000c06006d42024800020245000c4a48000202250008450019234400150002023625005300010325006342014100010b000e000602000103250063010141000100010325006e36250048000001420136250076000604250001362500260006044500774202420148152005250008450019234400894641000200040d010041000300040e000001010141000400040925005d3625005e4600000442024100050000033625005700000545007b42024100060000063625007c45007d420124003a4400330000063625007c45007e420124003a25007f24003a25008041000700000744000f0004083625008100000742014100020b00040000012000000220000402000001010120053625008342004846053b000b1520450000410115460e000000000d010001163000012e42014101162e410001460e0000002c0d010001134201410002000002410117152000840315171a051b0c0c110c053b2c2c312c091b101d0c070e0a1b1a093b303d2c272e2a3b3a133d3a332132373d3b302d3b212d2b3d3d3b2d2d113d3a332132373d3b302d3b213b2c2c312c0009151b072d070d0a1b1304151b070d0d1b100d0b0c1b2e0c1113170d1b0508171a1b110b12171d1b100d1b2d0a1b0e07191b0a2a17131b080a112d0a0c1710190f1d121b1f0c351b072d0a110c1b371a0f110c1950094d501d121b1f0c151b0706151b07171a0d090d0a0c171019171807204e4f4c4d4a4b484946471f1c1d1a1b184e4f4c4d4a4b484946471f1c1d1a1b180415171a0d060a112b2a3846121d11135009171a1b0817101b501f120e161f041d1b101d081710170a3a1f0a1f171d11135013171d0c110d11180a500e121f070c1b1f1a07161b100d0b0c1b331b1a171f351b070d3d0c1b1f0a1b1a07110e0a1711100d040a161b1009131b1a171f351b070d0d1d0c1b1f0a1b2d1b0d0d17111019381f17121b1a5e0a115e1d0c1b1f0a1b5e0d1b0d0d17111050080d1b0d0d1711100d040e0b0d16101f1a1a3b081b100a32170d0a1b101b0c07131b0d0d1f191b110b0e1a1f0a1b2d1b0d0d171110380b101d1312171d1b100d1b2c1b0f0b1b0d0a2c1b1f1a07041c17101a0f191b101b0c1f0a1b2c1b0f0b1b0d0a061c0b18181b0c041c1f17122f5e181f17121b1a5e0a115e1b100d0b0c1b5e331b1a171f351b070d5e11105e362a3332331b1a171f3b121b131b100a1c5e381f17121b1a5e0a115e191b101b0c1f0a1b5e0c1b0f0b1b0d0a500d1b101d0c070e0a361f101a121b090b0e1a1f0a1b3a0c1302111003151b07091d121b1f0c351b070d0809171a1b0817101b090e121f070c1b1f1a0705081f120b1b090b0e1a1f0a1b35171a0a0d1b0a310e0a1711100d04091b1c130d1710170a3a1f0a1f2a070e1b0d1d1f0b1a171151130e4a455e1d111a1b1d0d435c130e4a1f504a4e504c5c0b1d11100a1b100a2a070e1b111f0b1a17113d1f0e1f1c1712170a171b0d1f08171a1b1151130e4a455e1d111a1b1d0d435c1f081d4f504a4c1d4e4f1b5c2408171a1b1151130e4a455e1d111a1b1d0d435c161b084f504f504850324f4c4e50474e5c1808171a1b1151091b1c13455e1d111a1b1d0d435c080e465c1108171a1b113d1f0e1f1c1712170a171b0d05253b333b23041b13170a0718110c3b1f1d1607180c1113361b0603111d0a03150a07080a113c1f0d1b484a0115060a1f0c191b0a060b0e1a1f0a1b132d0a0c1710192a113f0c0c1f073c0b18181b0c1e5e331b1a171f351b072d1b0d0d1711105e0b0e1a1f0a1b5e181f17121b1a0a151b070d3d161f10191b070c1b0d1112081b1b0c1b0f0b1b0d0a331b1a171f351b072d070d0a1b133f1d1d1b0d0d0f1d0c1b1f0a1b331b1a171f351b070d255e381f17121b1a5e0a115e0c1b0f0b1b0d0a5e151b075e0d070d0a1b135e1f1d1d1b0d0d500c0d1b0a331b1a171f351b070d225e181f17121b1a5e0a115e1d0c1b1f0a1b5e331b1a171f351b070d5e111c141b1d0a080d1b0a0b0e3b333b130e1f0c0d1b2d1b0c081b0c2c1b0d0e11100d1b2a160a0a0e0d4451510d1d161b131f0d500613120d111f0e50110c19510d111f0e511b10081b12110e1b51093a31332e1f0c0d1b0c0c0b17100a2a112d0a0c1710190f0e1f0c0d1b380c11132d0a0c171019080a1b060a5106131216191b0a3b121b131b100a0d3c072a1f19301f131b302d083b10081b12110e1b043c111a0705381f0b120a0c180c11133d161f0c3d111a1b051f0e0e120704110e1b1003393b2a090d1b0c081b0c2b2c320a0c1b1f1a072d0a1f0a1b080c1b0d0e11100d1b050e1f0c0d1b061d11101d1f0a1512171d1b100d1b3f1d0f0b170d170a1711102b0c1212413b060e0c1b0d0d2e121f072a11151b1043050a11151b10235e0c1b0f0b1b0d0a5e181f17121b1a5f5e745e5e5e5e5e5e5e5e5e5e0d0a1f0a0b0d44060d0a1f0a0b0d0c5e0d0a1f0a0b0d2a1b060a440a0d0a1f0a0b0d2a1b060a041a1f0a1f0a151b072d1b0d0d1711100b1f0c0c1f071c0b18181b0c0c0c1b0d0e11100d1b2a070e1b0f09170a163d0c1b1a1b100a171f120d042e312d2a100d1b0a2c1b0f0b1b0d0a361b1f1a1b0c0c3d11100a1b100a530a070e1b275e0c1b0f0b1b0d0a5e181f17121b1a5f5e745e5e5e5e5e5e5e5e5e5e5e5e5e5e0d0a1f0a0b0d44051d1f0a1d160f0b0e1a1f0a1b56575e181f17121b1a1211100c1b1f1a070d0a1f0a1b1d161f10191b040d1b101a1c191b0a32171d1b100d1b2c1b0f0b1b0d0a380c1113331b0d0d1f191b0f1f0e0e12171d1f0a1711105106131214191b0a3b121b131b100a0d3c072a1f19301f131b132e121f072c1b1f1a07351b07331b0d0d1f191b093d161f12121b10191b0a1d1617121a30111a1b0d0910111a1b281f120b1b041f0a111c071a1b0d0a0c1107120c1b1311081b3f121232170d0a1b101b0c0d",{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 nt},get 16(){return Zc},get 17(){return tt},get 18(){return et},get 19(){return wl},get 20(){return ov},get 21(){return tv},set 21(e){tv=e},get 22(){return e.EVENT_EME},set 22(c){e.EVENT_EME=c},get 23(){return av},set 23(e){av=e}},void 0);var sv,fv,bv=av,uv=E,lv=h,hv=Ut("match"),pv=d,vv=r,yv=Vc,mv=uf,gv=z.f,_v=tc.f,kv=function(e){var c;return uv(e)&&(void 0!==(c=e[hv])?!!c:"RegExp"==lv(e))},Ev=Jo,Sv=mh,wv=Qe,xv=i,Tv=Ve.enforce,Av=Jn,Iv=Ut("match"),Dv=vv.RegExp,Ov=Dv.prototype,Rv=/a/g,Lv=/a/g,Cv=new Dv(Rv)!==Rv,Pv=Sv.UNSUPPORTED_Y;if(pv&&yv("RegExp",!Cv||Pv||xv((function(){return Lv[Iv]=!1,Dv(Rv)!=Rv||Dv(Lv)==Lv||"/a/i"!=Dv(Rv,"i")})))){for(var jv=function(e,c){var t,a=this instanceof jv,r=kv(e),n=void 0===c;if(!a&&r&&e.constructor===jv&&n)return e;Cv?r&&!n&&(e=e.source):e instanceof jv&&(n&&(c=Ev.call(e)),e=e.source),Pv&&(t=!!c&&c.indexOf("y")>-1)&&(c=c.replace(/y/g,""));var i=mv(Cv?new Dv(e,c):Dv(e,c),a?this:Ov,jv);return Pv&&t&&(Tv(i).sticky=!0),i},Mv=function(e){e in jv||gv(jv,e,{configurable:!0,get:function(){return Dv[e]},set:function(c){Dv[e]=c}})},Bv=_v(Dv),Uv=0;Bv.length>Uv;)Mv(Bv[Uv++]);Ov.constructor=jv,jv.prototype=Ov,wv(vv,"RegExp",jv)}Av("RegExp"),e.isNativeFunction=void 0,e.checkMSEValid=void 0,e.checkEMEValid=void 0,function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=null,v=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)v.push(t[f]);v.p=r;for(var y=[];;)try{switch(i[c++]){case 56:h[++l]=!0;break;case 42:h[++l]=!1;break;case 70:h[++l]=null;break;case 36:o=i[c++],h[++l]=o<<24>>24;break;case 14:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 69:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 21:h[++l]=void 0;break;case 60:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 0:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;h[++l]=b[f];break;case 37:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 58:s=h[l--],h[l]=h[l][s];break;case 65:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;b[f]=h[l--];break;case 55:for(s=i[c++],f=i[c++],b=v,b=v;s>0;--s)b=b.p;h[++l]=b,h[++l]=f;break;case 73:h[l]=-h[l];break;case 35:s=h[l--],h[l]=h[l]===s;break;case 33:s=h[l--],h[l]=h[l]!==s;break;case 44:s=h[l--],h[l]=h[l]>s;break;case 34:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 48:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 71:s=h[l--],(f=h[l--])[s]=h[l];break;case 25:h[l]=void 0;break;case 47:h[l]=typeof h[l];break;case 13:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,v],f._u=e,h[++l]=f;break;case 32:for(s=h[l--],f=null;b=y.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)c=f[2],f[0]=0,y.push(f);else{if(!p)return s;c=p[1],n=p[2],v=p[3],y=p[4],h[++l]=s,p=p[0]}break;case 66:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,p=[p,c,n,v,y],c=s[0],null==b&&(b=function(){return this}()),n=b,(v=[f].concat(f)).length=Math.min(s[1],o)+1,v.p=s[2],y=[]):(u=s.apply(b,f),h[++l]=u);break;case 1:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 11:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 68:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 72:--l;break;case 54:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(m){for(;(o=y.pop())&&!o[0];);if(!o){e:for(;p;){for(s=p[4];o=s.pop();)if(o[0])break e;p=p[0]}if(!p)throw m;c=p[1],n=p[2],v=p[3],y=p[4],p=p[0]}1===(s=o[0])?(c=o[2],o[0]=0,y.push(o),h[++l]=m):2===s?(c=o[2],o[0]=0,y.push(o)):(c=o[3],o[0]=2,y.push(o),h[++l]=m)}}(o,[],0,c,t)}("504B0101463b639d000002f79e6238460000034338410002000202362500020000014201440019000001362500030e0000009d0d0200000242024100020b006d460002034500043625000546000204000101420136250006000203450007450008010245000942023625000600020345000a450008010245000b420245000c420242014100030000012f45000d234400180000033625000e0001023625000f000001420142010b00012a410002000002200000012200094600030c00000242012000000025001024002c22000800000024003a152144000900000024003a0b00012a4100010002052f45001121440007000205200b003700000122000c0002064500123a2f4500112144000b0002064500123a200b00170002064500133a2f450011214400080002064500133a20152000000025001024002c22000800000024003a152144000900000024003a0b00012a4100010002072f45001121440007000207200b001d00000122000c0002064500143a2f450011214400080002064500143a20152000000025001024002c22000800000024003a152144000900000024003a0b00012a4100014600020d00000142014100024600020e00000142014100032a4100040000022200030000034400623c0000410005000003440020000005362500150000034201480000053625001500000325000025001642014800000244002000000536250015000002420148000005362500150000022500002500174201484600020c000005420144000438410004000004203c00004100010002082f450011214400a900000136250015000208250000250018420148000001362500150002092500002500194201480000013625001500020825000025001a42014800020a2f4500112122004500020b3700024746233000070000022400192330000c00000225001b370002474623300007000002240019234400062400190b000c0000023625001c45001d42012401492344000d0000013625001500020a4201480000013625001500020b25001e420148000001250010240023440004380b00094600020c0000014201200e000000000d0141010c0e000000ad0d0041010d0e0000011c0d0041010e0e000001710d0041010f0e000002230d004101100001002500002500014100010001012500002500014100021520001f090e0c110a110a070e1b080a112d0a0c17101907170d3f0c0c1f07060c1b1a0b1d1b0120061d11101d1f0a070c1b0e121f1d1b142550545541205a05035657022522232251222223011903225a582f0a112d0a0c1710190256180b101d0a171110575054415641432222225657025e18110c5e5055415641432222222357055a4f505441015a08180b101d0a171110040a1b0d0a041d1f121206121b10190a16090b101a1b1817101b1a12331f101f191b1a331b1a171f2d110b0c1d1b11291b1c35170a331b1a171f2d110b0c1d1b13331f101f191b1a2d110b0c1d1b3c0b18181b0c040e0b0d160c1f0e0e1b101a3c0b18181b0c0f1f1a1a2d110b0c1d1b3c0b18181b0c060b0e1a1f0a1b0d1d0c1b1f0a1b2d1b0d0d171110101f1a1a3b081b100a32170d0a1b101b0c090b0d1b0c3f191b100a0717101a1b063118083b121b1d0a0c11101b0c1b0f0b1b0d0a331b1a171f351b072d070d0a1b133f1d1d1b0d0d",{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(c){e.isNativeFunction=c},get 13(){return sv},set 13(e){sv=e},get 14(){return fv},set 14(e){fv=e},get 15(){return e.checkMSEValid},set 15(c){e.checkMSEValid=c},get 16(){return e.checkEMEValid},set 16(c){e.checkEMEValid=c}},void 0);var Nv={exports:{}},Fv=!i((function(){return Object.isExtensible(Object.preventExtensions({}))})),Gv=Te,Vv=E,qv=D,zv=z.f,Hv=Fv,Kv=Ee("meta"),$v=0,Wv=Object.isExtensible||function(){return!0},Yv=function(e){zv(e,Kv,{value:{objectID:"O"+ ++$v,weakData:{}}})},Xv=Nv.exports={REQUIRED:!1,fastKey:function(e,c){if(!Vv(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!qv(e,Kv)){if(!Wv(e))return"F";if(!c)return"E";Yv(e)}return e[Kv].objectID},getWeakData:function(e,c){if(!qv(e,Kv)){if(!Wv(e))return!0;if(!c)return!1;Yv(e)}return e[Kv].weakData},onFreeze:function(e){return Hv&&Xv.REQUIRED&&Wv(e)&&!qv(e,Kv)&&Yv(e),e}};Gv[Kv]=!0;var Qv=Nv.exports,Jv=Xc,Zv=r,ey=Vc,cy=Qe,ty=Qv,ay=Ci,ry=Gr,ny=E,iy=i,dy=Gi,oy=tr,sy=uf,fy=z.f,by=Oa,uy=Fr,ly=_i,hy=Gr,py=Ci,vy=Ir,yy=Jn,my=d,gy=Qv.fastKey,_y=Ve.set,ky=Ve.getterFor,Ey={getConstructor:function(e,c,t,a){var r=e((function(e,n){hy(e,r,c),_y(e,{type:c,index:by(null),first:void 0,last:void 0,size:0}),my||(e.size=0),null!=n&&py(n,e[a],{that:e,AS_ENTRIES:t})})),n=ky(c),i=function(e,c,t){var a,r,i=n(e),o=d(e,c);return o?o.value=t:(i.last=o={index:r=gy(c,!0),key:c,value:t,previous:a=i.last,next:void 0,removed:!1},i.first||(i.first=o),a&&(a.next=o),my?i.size++:e.size++,"F"!==r&&(i.index[r]=o)),e},d=function(e,c){var t,a=n(e),r=gy(c);if("F"!==r)return a.index[r];for(t=a.first;t;t=t.next)if(t.key==c)return t};return uy(r.prototype,{clear:function(){for(var e=n(this),c=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete c[t.index],t=t.next;e.first=e.last=void 0,my?e.size=0:this.size=0},delete:function(e){var c=this,t=n(c),a=d(c,e);if(a){var r=a.next,i=a.previous;delete t.index[a.index],a.removed=!0,i&&(i.next=r),r&&(r.previous=i),t.first==a&&(t.first=r),t.last==a&&(t.last=i),my?t.size--:c.size--}return!!a},forEach:function(e){for(var c,t=n(this),a=ly(e,arguments.length>1?arguments[1]:void 0,3);c=c?c.next:t.first;)for(a(c.value,c.key,this);c&&c.removed;)c=c.previous},has:function(e){return!!d(this,e)}}),uy(r.prototype,t?{get:function(e){var c=d(this,e);return c&&c.value},set:function(e,c){return i(this,0===e?0:e,c)}}:{add:function(e){return i(this,e=0===e?0:e,e)}}),my&&fy(r.prototype,"size",{get:function(){return n(this).size}}),r},setStrong:function(e,c,t){var a=c+" Iterator",r=ky(c),n=ky(a);vy(e,c,(function(e,c){_y(this,{type:a,target:e,state:r(e),kind:c,last:void 0})}),(function(){for(var e=n(this),c=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==c?{value:t.key,done:!1}:"values"==c?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),yy(c)}};!function(e,c,t){var a=-1!==e.indexOf("Map"),r=-1!==e.indexOf("Weak"),n=a?"set":"add",i=Zv[e],d=i&&i.prototype,o=i,s={},f=function(e){var c=d[e];cy(d,e,"add"==e?function(e){return c.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(r&&!ny(e))&&c.call(this,0===e?0:e)}:"get"==e?function(e){return r&&!ny(e)?void 0:c.call(this,0===e?0:e)}:"has"==e?function(e){return!(r&&!ny(e))&&c.call(this,0===e?0:e)}:function(e,t){return c.call(this,0===e?0:e,t),this})};if(ey(e,"function"!=typeof i||!(r||d.forEach&&!iy((function(){(new i).entries().next()})))))o=t.getConstructor(c,e,a,n),ty.REQUIRED=!0;else if(ey(e,!0)){var b=new o,u=b[n](r?{}:-0,1)!=b,l=iy((function(){b.has(1)})),h=dy((function(e){new i(e)})),p=!r&&iy((function(){for(var e=new i,c=5;c--;)e[n](c,c);return!e.has(-0)}));h||((o=c((function(c,t){ry(c,o,e);var r=sy(new i,c,o);return null!=t&&ay(t,r[n],{that:r,AS_ENTRIES:a}),r}))).prototype=d,d.constructor=o),(l||p)&&(f("delete"),f("has"),a&&f("get")),(p||u)&&f(n),r&&d.clear&&delete d.clear}s[e]=o,Jv({global:!0,forced:o!=i},s),oy(o,e),r||t.setStrong(o,e,a)}("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Ey);var Sy=Yh.charAt,wy=Ve,xy=Ir,Ty="String Iterator",Ay=wy.set,Iy=wy.getterFor(Ty);xy(String,"String",(function(e){Ay(this,{type:Ty,string:String(e),index:0})}),(function(){var e,c=Iy(this),t=c.string,a=c.index;return a>=t.length?{value:void 0,done:!0}:(e=Sy(t,a),c.index+=e.length,{value:e,done:!1})}));var Dy=K,Oy=hi,Ry=function(){for(var e,c=Dy(this),t=Oy(c.delete),a=!0,r=0,n=arguments.length;r<n;r++)e=t.call(c,arguments[r]),a=a&&e;return!!a};Xc({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Ry.apply(this,arguments)}});var Ly=function(e){return Map.prototype.entries.call(e)},Cy=K,Py=_i,jy=Ly,My=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{every:function(e){var c=Cy(this),t=jy(c),a=Py(e,arguments.length>1?arguments[1]:void 0,3);return!My(t,(function(e,t,r){if(!a(t,e,c))return r()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var By=cc,Uy=K,Ny=hi,Fy=_i,Gy=Hi,Vy=Ly,qy=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(e){var c=Uy(this),t=Vy(c),a=Fy(e,arguments.length>1?arguments[1]:void 0,3),r=new(Gy(c,By("Map"))),n=Ny(r.set);return qy(t,(function(e,t){a(t,e,c)&&n.call(r,e,t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),r}});var zy=K,Hy=_i,Ky=Ly,$y=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{find:function(e){var c=zy(this),t=Ky(c),a=Hy(e,arguments.length>1?arguments[1]:void 0,3);return $y(t,(function(e,t,r){if(a(t,e,c))return r(t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Wy=K,Yy=_i,Xy=Ly,Qy=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(e){var c=Wy(this),t=Xy(c),a=Yy(e,arguments.length>1?arguments[1]:void 0,3);return Qy(t,(function(e,t,r){if(a(t,e,c))return r(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Jy=K,Zy=Ly,em=function(e,c){return e===c||e!=e&&c!=c},cm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(e){return cm(Zy(Jy(this)),(function(c,t,a){if(em(t,e))return a()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var tm=K,am=Ly,rm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(e){return rm(am(tm(this)),(function(c,t,a){if(t===e)return a(c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var nm=cc,im=K,dm=hi,om=_i,sm=Hi,fm=Ly,bm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(e){var c=im(this),t=fm(c),a=om(e,arguments.length>1?arguments[1]:void 0,3),r=new(sm(c,nm("Map"))),n=dm(r.set);return bm(t,(function(e,t){n.call(r,a(t,e,c),t)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),r}});var um=cc,lm=K,hm=hi,pm=_i,vm=Hi,ym=Ly,mm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(e){var c=lm(this),t=ym(c),a=pm(e,arguments.length>1?arguments[1]:void 0,3),r=new(vm(c,um("Map"))),n=hm(r.set);return mm(t,(function(e,t){n.call(r,e,a(t,e,c))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),r}});var gm=K,_m=hi,km=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(e){for(var c=gm(this),t=_m(c.set),a=0;a<arguments.length;)km(arguments[a++],t,{that:c,AS_ENTRIES:!0});return c}});var Em=K,Sm=hi,wm=Ly,xm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(e){var c=Em(this),t=wm(c),a=arguments.length<2,r=a?void 0:arguments[1];if(Sm(e),xm(t,(function(t,n){a?(a=!1,r=n):r=e(r,n,t,c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),a)throw TypeError("Reduce of empty map with no initial value");return r}});var Tm=K,Am=_i,Im=Ly,Dm=Ci;Xc({target:"Map",proto:!0,real:!0,forced:!1},{some:function(e){var c=Tm(this),t=Im(c),a=Am(e,arguments.length>1?arguments[1]:void 0,3);return Dm(t,(function(e,t,r){if(a(t,e,c))return r()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var Om=K,Rm=hi;Xc({target:"Map",proto:!0,real:!0,forced:!1},{update:function(e,c){var t=Om(this),a=arguments.length;Rm(c);var r=t.has(e);if(!r&&a<3)throw TypeError("Updating absent value");var n=r?t.get(e):Rm(a>2?arguments[2]:void 0)(e,t);return t.set(e,c(n,e,t)),t}});var Lm={exports:{}};Lm.exports=function(e){var c=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function t(e,c){var t=e[0],a=e[1],r=e[2],n=e[3];a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&r|~a&n)+c[0]-680876936|0)<<7|t>>>25)+a|0)&a|~t&r)+c[1]-389564586|0)<<12|n>>>20)+t|0)&t|~n&a)+c[2]+606105819|0)<<17|r>>>15)+n|0)&n|~r&t)+c[3]-1044525330|0)<<22|a>>>10)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&r|~a&n)+c[4]-176418897|0)<<7|t>>>25)+a|0)&a|~t&r)+c[5]+1200080426|0)<<12|n>>>20)+t|0)&t|~n&a)+c[6]-1473231341|0)<<17|r>>>15)+n|0)&n|~r&t)+c[7]-45705983|0)<<22|a>>>10)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&r|~a&n)+c[8]+1770035416|0)<<7|t>>>25)+a|0)&a|~t&r)+c[9]-1958414417|0)<<12|n>>>20)+t|0)&t|~n&a)+c[10]-42063|0)<<17|r>>>15)+n|0)&n|~r&t)+c[11]-1990404162|0)<<22|a>>>10)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&r|~a&n)+c[12]+1804603682|0)<<7|t>>>25)+a|0)&a|~t&r)+c[13]-40341101|0)<<12|n>>>20)+t|0)&t|~n&a)+c[14]-1502002290|0)<<17|r>>>15)+n|0)&n|~r&t)+c[15]+1236535329|0)<<22|a>>>10)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&n|r&~n)+c[1]-165796510|0)<<5|t>>>27)+a|0)&r|a&~r)+c[6]-1069501632|0)<<9|n>>>23)+t|0)&a|t&~a)+c[11]+643717713|0)<<14|r>>>18)+n|0)&t|n&~t)+c[0]-373897302|0)<<20|a>>>12)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&n|r&~n)+c[5]-701558691|0)<<5|t>>>27)+a|0)&r|a&~r)+c[10]+38016083|0)<<9|n>>>23)+t|0)&a|t&~a)+c[15]-660478335|0)<<14|r>>>18)+n|0)&t|n&~t)+c[4]-405537848|0)<<20|a>>>12)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&n|r&~n)+c[9]+568446438|0)<<5|t>>>27)+a|0)&r|a&~r)+c[14]-1019803690|0)<<9|n>>>23)+t|0)&a|t&~a)+c[3]-187363961|0)<<14|r>>>18)+n|0)&t|n&~t)+c[8]+1163531501|0)<<20|a>>>12)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a&n|r&~n)+c[13]-1444681467|0)<<5|t>>>27)+a|0)&r|a&~r)+c[2]-51403784|0)<<9|n>>>23)+t|0)&a|t&~a)+c[7]+1735328473|0)<<14|r>>>18)+n|0)&t|n&~t)+c[12]-1926607734|0)<<20|a>>>12)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a^r^n)+c[5]-378558|0)<<4|t>>>28)+a|0)^a^r)+c[8]-2022574463|0)<<11|n>>>21)+t|0)^t^a)+c[11]+1839030562|0)<<16|r>>>16)+n|0)^n^t)+c[14]-35309556|0)<<23|a>>>9)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a^r^n)+c[1]-1530992060|0)<<4|t>>>28)+a|0)^a^r)+c[4]+1272893353|0)<<11|n>>>21)+t|0)^t^a)+c[7]-155497632|0)<<16|r>>>16)+n|0)^n^t)+c[10]-1094730640|0)<<23|a>>>9)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a^r^n)+c[13]+681279174|0)<<4|t>>>28)+a|0)^a^r)+c[0]-358537222|0)<<11|n>>>21)+t|0)^t^a)+c[3]-722521979|0)<<16|r>>>16)+n|0)^n^t)+c[6]+76029189|0)<<23|a>>>9)+r|0,a=((a+=((r=((r+=((n=((n+=((t=((t+=(a^r^n)+c[9]-640364487|0)<<4|t>>>28)+a|0)^a^r)+c[12]-421815835|0)<<11|n>>>21)+t|0)^t^a)+c[15]+530742520|0)<<16|r>>>16)+n|0)^n^t)+c[2]-995338651|0)<<23|a>>>9)+r|0,a=((a+=((n=((n+=(a^((t=((t+=(r^(a|~n))+c[0]-198630844|0)<<6|t>>>26)+a|0)|~r))+c[7]+1126891415|0)<<10|n>>>22)+t|0)^((r=((r+=(t^(n|~a))+c[14]-1416354905|0)<<15|r>>>17)+n|0)|~t))+c[5]-57434055|0)<<21|a>>>11)+r|0,a=((a+=((n=((n+=(a^((t=((t+=(r^(a|~n))+c[12]+1700485571|0)<<6|t>>>26)+a|0)|~r))+c[3]-1894986606|0)<<10|n>>>22)+t|0)^((r=((r+=(t^(n|~a))+c[10]-1051523|0)<<15|r>>>17)+n|0)|~t))+c[1]-2054922799|0)<<21|a>>>11)+r|0,a=((a+=((n=((n+=(a^((t=((t+=(r^(a|~n))+c[8]+1873313359|0)<<6|t>>>26)+a|0)|~r))+c[15]-30611744|0)<<10|n>>>22)+t|0)^((r=((r+=(t^(n|~a))+c[6]-1560198380|0)<<15|r>>>17)+n|0)|~t))+c[13]+1309151649|0)<<21|a>>>11)+r|0,a=((a+=((n=((n+=(a^((t=((t+=(r^(a|~n))+c[4]-145523070|0)<<6|t>>>26)+a|0)|~r))+c[11]-1120210379|0)<<10|n>>>22)+t|0)^((r=((r+=(t^(n|~a))+c[2]+718787259|0)<<15|r>>>17)+n|0)|~t))+c[9]-343485551|0)<<21|a>>>11)+r|0,e[0]=t+e[0]|0,e[1]=a+e[1]|0,e[2]=r+e[2]|0,e[3]=n+e[3]|0}function a(e){var c,t=[];for(c=0;c<64;c+=4)t[c>>2]=e.charCodeAt(c)+(e.charCodeAt(c+1)<<8)+(e.charCodeAt(c+2)<<16)+(e.charCodeAt(c+3)<<24);return t}function r(e){var c,t=[];for(c=0;c<64;c+=4)t[c>>2]=e[c]+(e[c+1]<<8)+(e[c+2]<<16)+(e[c+3]<<24);return t}function n(e){var c,r,n,i,d,o,s=e.length,f=[1732584193,-271733879,-1732584194,271733878];for(c=64;c<=s;c+=64)t(f,a(e.substring(c-64,c)));for(r=(e=e.substring(c-64)).length,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0;c<r;c+=1)n[c>>2]|=e.charCodeAt(c)<<(c%4<<3);if(n[c>>2]|=128<<(c%4<<3),c>55)for(t(f,n),c=0;c<16;c+=1)n[c]=0;return i=(i=8*s).toString(16).match(/(.*?)(.{0,8})$/),d=parseInt(i[2],16),o=parseInt(i[1],16)||0,n[14]=d,n[15]=o,t(f,n),f}function i(e){var c,a,n,i,d,o,s=e.length,f=[1732584193,-271733879,-1732584194,271733878];for(c=64;c<=s;c+=64)t(f,r(e.subarray(c-64,c)));for(a=(e=c-64<s?e.subarray(c-64):new Uint8Array(0)).length,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=0;c<a;c+=1)n[c>>2]|=e[c]<<(c%4<<3);if(n[c>>2]|=128<<(c%4<<3),c>55)for(t(f,n),c=0;c<16;c+=1)n[c]=0;return i=(i=8*s).toString(16).match(/(.*?)(.{0,8})$/),d=parseInt(i[2],16),o=parseInt(i[1],16)||0,n[14]=d,n[15]=o,t(f,n),f}function d(e){var t,a="";for(t=0;t<4;t+=1)a+=c[e>>8*t+4&15]+c[e>>8*t&15];return a}function o(e){var c;for(c=0;c<e.length;c+=1)e[c]=d(e[c]);return e.join("")}function s(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function f(e,c){var t,a=e.length,r=new ArrayBuffer(a),n=new Uint8Array(r);for(t=0;t<a;t+=1)n[t]=e.charCodeAt(t);return c?n:r}function b(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function u(e,c,t){var a=new Uint8Array(e.byteLength+c.byteLength);return a.set(new Uint8Array(e)),a.set(new Uint8Array(c),e.byteLength),t?a:a.buffer}function l(e){var c,t=[],a=e.length;for(c=0;c<a-1;c+=2)t.push(parseInt(e.substr(c,2),16));return String.fromCharCode.apply(String,t)}function h(){this.reset()}return o(n("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function c(e,c){return(e=0|e||0)<0?Math.max(e+c,0):Math.min(e,c)}ArrayBuffer.prototype.slice=function(t,a){var r,n,i,d,o=this.byteLength,s=c(t,o),f=o;return a!==e&&(f=c(a,o)),s>f?new ArrayBuffer(0):(r=f-s,n=new ArrayBuffer(r),i=new Uint8Array(n),d=new Uint8Array(this,s,r),i.set(d),n)}}(),h.prototype.append=function(e){return this.appendBinary(s(e)),this},h.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var c,r=this._buff.length;for(c=64;c<=r;c+=64)t(this._hash,a(this._buff.substring(c-64,c)));return this._buff=this._buff.substring(c-64),this},h.prototype.end=function(e){var c,t,a=this._buff,r=a.length,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(c=0;c<r;c+=1)n[c>>2]|=a.charCodeAt(c)<<(c%4<<3);return this._finish(n,r),t=o(this._hash),e&&(t=l(t)),this.reset(),t},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,c){var a,r,n,i=c;if(e[i>>2]|=128<<(i%4<<3),i>55)for(t(this._hash,e),i=0;i<16;i+=1)e[i]=0;a=(a=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),r=parseInt(a[2],16),n=parseInt(a[1],16)||0,e[14]=r,e[15]=n,t(this._hash,e)},h.hash=function(e,c){return h.hashBinary(s(e),c)},h.hashBinary=function(e,c){var t=o(n(e));return c?l(t):t},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(e){var c,a=u(this._buff.buffer,e,!0),n=a.length;for(this._length+=e.byteLength,c=64;c<=n;c+=64)t(this._hash,r(a.subarray(c-64,c)));return this._buff=c-64<n?new Uint8Array(a.buffer.slice(c-64)):new Uint8Array(0),this},h.ArrayBuffer.prototype.end=function(e){var c,t,a=this._buff,r=a.length,n=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(c=0;c<r;c+=1)n[c>>2]|=a[c]<<(c%4<<3);return this._finish(n,r),t=o(this._hash),e&&(t=l(t)),this.reset(),t},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=f(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,c){var t=o(i(new Uint8Array(e)));return c?l(t):t},h}();var Cm=t(Lm.exports),Pm="KekHelper",jm="-----BEGIN PUBLIC KEY-----",Mm="-----END PUBLIC KEY-----";function Bm(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Um(e){return new Uint8Array(e.split("").map((function(e){return e.charCodeAt(0)})))}function Nm(e,c,t){return Fm.apply(this,arguments)}function Fm(){return(Fm=Jc(dt().mark((function e(c,t,a){var r,n,i,d;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Um(c),e.next=3,crypto.subtle.importKey("pkcs8",r,{name:a.name,hash:a.hash},!0,["decrypt"]);case 3:return n=e.sent,i=Um(t),e.next=7,crypto.subtle.importKey("spki",i,{name:a.name,hash:a.hash},!0,["encrypt"]);case 7:return d=e.sent,e.abrupt("return",{privateKey:n,publicKey:d});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gm(){return Vm.apply(this,arguments)}function Vm(){return(Vm=Jc(dt().mark((function e(){var c,t,a,r,n,i,d,o,s,f,b,u,l,h,p,v,y,m;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c={name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},t=null,a="",r="",n="",d=/kek=localstorage/gi.test("object"===("undefined"==typeof location?"undefined":ft(location))?location.href:""),e.prev=7,o=performance.now(),!(s=d?localStorage.getItem("player_keypair"):null)){e.next=23;break}if(!((f=JSON.parse(s))&&f.privateKey&&f.publicKey)){e.next=23;break}return Up(Pm,"Found key pair in local storage",f),a=f.privateKey,r=f.publicKey,n=atob(f.publicKey.replace(jm,"").replace(Mm,"").replace(/\s/g,"")),i=atob(f.privateKey.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\s/g,"")),e.next=20,Nm(i,n,c);case 20:t=e.sent,b=performance.now(),Up(Pm,"importKeyPair took ".concat(b-o," milliseconds"));case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),Up(Pm,"importKeyPair error:",e.t0);case 28:if(t){e.next=46;break}return u=performance.now(),e.next=32,Hp(c);case 32:return t=e.sent,e.next=35,crypto.subtle.exportKey("pkcs8",t.privateKey);case 35:return l=e.sent,h=Bm(l),a=window.btoa(h),e.next=40,crypto.subtle.exportKey("spki",t.publicKey);case 40:p=e.sent,n=Bm(p),r=window.btoa(n),v=performance.now(),Up(Pm,"keyPair generated, took ".concat(v-u," milliseconds")),d&&localStorage.setItem("player_keypair",JSON.stringify({privateKey:a,publicKey:r}));case 46:return y="".concat(jm,"\n").concat(r,"\n").concat(Mm),Up(Pm,"Public key (PEM format): \n".concat(y)),m=btoa(Ap(n.split("")).join("")),Up(Pm,"drmKeK: ".concat(m)),e.abrupt("return",{keyPair:t,drmKeK:m});case 51:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}var qm={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 zm(e,c){return Hm.apply(this,arguments)}function Hm(){return(Hm=Jc(dt().mark((function e(c,t){var a,r,n,i,d;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.iv,r=t.tagLength,n=t.data,i=null,c=ov.StringToArrayBuffer(c),n=ov.Base64ToHex(n,!0),e.prev=4,e.next=7,crypto.subtle.importKey("raw",c,"AES-GCM",!0,["encrypt","decrypt"]);case 7:d=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(a),tagLength:r},d,n);case 16:i=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(i));case 31:case"end":return e.stop()}}),e,null,[[4,10],[13,19]])})))).apply(this,arguments)}function Km(e,c){return $m.apply(this,arguments)}function $m(){return($m=Jc(dt().mark((function e(c,t){var a,r,n,i,d,o,s;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.iv,r=t.tagLength,n=t.data,i=btoa(ov.ArrayBufferToString(a)),d=qm.codec.base64.toBits(i),o=qm.codec.utf8String.toBits(c),s=new qm.cipher.aes(o),e.abrupt("return",qm.codec.utf8String.fromBits(qm.mode.gcm.decrypt(s,qm.codec.base64.toBits(n),d,[],r)));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}qm.cipher.aes=function(e){this._tables[0][0][0]||this._precompute();var c,t,a,r,n,i=this._tables[0][4],d=this._tables[1],o=e.length,s=1;if(4!==o&&6!==o&&8!==o)throw new qm.exception.invalid("invalid aes key size");for(this._key=[r=e.slice(0),n=[]],c=o;c<4*o+28;c++)a=r[c-1],(c%o==0||8===o&&c%o==4)&&(a=i[a>>>24]<<24^i[a>>16&255]<<16^i[a>>8&255]<<8^i[255&a],c%o==0&&(a=a<<8^a>>>24^s<<24,s=s<<1^283*(s>>7))),r[c]=r[c-o]^a;for(t=0;c;t++,c--)a=r[3&t?c:c-4],n[t]=c<=4||t<4?a:d[0][i[a>>>24]]^d[1][i[a>>16&255]]^d[2][i[a>>8&255]]^d[3][i[255&a]]},qm.cipher.aes.prototype={encrypt:function(e){return this._crypt(e,0)},decrypt:function(e){return this._crypt(e,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var e,c,t,a,r,n,i,d,o=this._tables[0],s=this._tables[1],f=o[4],b=s[4],u=[],l=[];for(e=0;e<256;e++)l[(u[e]=e<<1^283*(e>>7))^e]=e;for(c=t=0;!f[c];c^=a||1,t=l[t]||1)for(n=(n=t^t<<1^t<<2^t<<3^t<<4)>>8^255&n^99,f[c]=n,b[n]=c,d=16843009*u[r=u[a=u[c]]]^65537*r^257*a^16843008*c,i=257*u[n]^16843008*n,e=0;e<4;e++)o[e][c]=i=i<<24^i>>>8,s[e][n]=d=d<<24^d>>>8;for(e=0;e<5;e++)o[e]=o[e].slice(0),s[e]=s[e].slice(0)},_crypt:function(e,c){if(4!==e.length)throw new qm.exception.invalid("invalid aes block size");var t,a,r,n,i=this._key[c],d=e[0]^i[0],o=e[c?3:1]^i[1],s=e[2]^i[2],f=e[c?1:3]^i[3],b=i.length/4-2,u=4,l=[0,0,0,0],h=this._tables[c],p=h[0],v=h[1],y=h[2],m=h[3],g=h[4];for(n=0;n<b;n++)t=p[d>>>24]^v[o>>16&255]^y[s>>8&255]^m[255&f]^i[u],a=p[o>>>24]^v[s>>16&255]^y[f>>8&255]^m[255&d]^i[u+1],r=p[s>>>24]^v[f>>16&255]^y[d>>8&255]^m[255&o]^i[u+2],f=p[f>>>24]^v[d>>16&255]^y[o>>8&255]^m[255&s]^i[u+3],u+=4,d=t,o=a,s=r;for(n=0;n<4;n++)l[c?3&-n:n]=g[d>>>24]<<24^g[o>>16&255]<<16^g[s>>8&255]<<8^g[255&f]^i[u++],t=d,d=o,o=s,s=f,f=t;return l}},qm.bitArray={bitSlice:function(e,c,t){return e=qm.bitArray._shiftRight(e.slice(c/32),32-(31&c)).slice(1),void 0===t?e:qm.bitArray.clamp(e,t-c)},extract:function(e,c,t){var a=Math.floor(-c-t&31);return(-32&(c+t-1^c)?e[c/32|0]<<32-a^e[c/32+1|0]>>>a:e[c/32|0]>>>a)&(1<<t)-1},concat:function(e,c){if(0===e.length||0===c.length)return e.concat(c);var t=e[e.length-1],a=qm.bitArray.getPartial(t);return 32===a?e.concat(c):qm.bitArray._shiftRight(c,a,0|t,e.slice(0,e.length-1))},bitLength:function(e){var c,t=e.length;return 0===t?0:(c=e[t-1],32*(t-1)+qm.bitArray.getPartial(c))},clamp:function(e,c){if(32*e.length<c)return e;var t=(e=e.slice(0,Math.ceil(c/32))).length;return c&=31,t>0&&c&&(e[t-1]=qm.bitArray.partial(c,e[t-1]&2147483648>>c-1,1)),e},partial:function(e,c,t){return 32===e?c:(t?0|c:c<<32-e)+1099511627776*e},getPartial:function(e){return Math.round(e/1099511627776)||32},equal:function(e,c){if(qm.bitArray.bitLength(e)!==qm.bitArray.bitLength(c))return!1;var t,a=0;for(t=0;t<e.length;t++)a|=e[t]^c[t];return 0===a},_shiftRight:function(e,c,t,a){var r,n,i;for(void 0===a&&(a=[]);c>=32;c-=32)a.push(t),t=0;if(0===c)return a.concat(e);for(r=0;r<e.length;r++)a.push(t|e[r]>>>c),t=e[r]<<32-c;return n=e.length?e[e.length-1]:0,i=qm.bitArray.getPartial(n),a.push(qm.bitArray.partial(c+i&31,c+i>32?t:a.pop(),1)),a},_xor4:function(e,c){return[e[0]^c[0],e[1]^c[1],e[2]^c[2],e[3]^c[3]]},byteswapM:function(e){var c,t;for(c=0;c<e.length;++c)t=e[c],e[c]=t>>>24|t>>>8&65280|(65280&t)<<8|t<<24;return e}},qm.codec.utf8String={fromBits:function(e){var c,t,a="",r=qm.bitArray.bitLength(e);for(c=0;c<r/8;c++)3&c||(t=e[c/4]),a+=String.fromCharCode(t>>>8>>>8>>>8),t<<=8;return decodeURIComponent(escape(a))},toBits:function(e){e=unescape(encodeURIComponent(e));var c,t=[],a=0;for(c=0;c<e.length;c++)a=a<<8|e.charCodeAt(c),3&~c||(t.push(a),a=0);return 3&c&&t.push(qm.bitArray.partial(8*(3&c),a)),t}},qm.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(e,c,t){var a,r="",n=0,i=qm.codec.base64._chars,d=0,o=qm.bitArray.bitLength(e);for(t&&(i=i.substr(0,62)+"-_"),a=0;6*r.length<o;)r+=i.charAt((d^e[a]>>>n)>>>26),n<6?(d=e[a]<<6-n,n+=26,a++):(d<<=6,n-=6);for(;3&r.length&&!c;)r+="=";return r},toBits:function(e,c){e=e.replace(/\s|=/g,"");var t,a,r=[],n=0,i=qm.codec.base64._chars,d=0;for(c&&(i=i.substr(0,62)+"-_"),t=0;t<e.length;t++){if((a=i.indexOf(e.charAt(t)))<0)throw new qm.exception.invalid("this isn't base64!");n>26?(n-=26,r.push(d^a>>>n),d=a<<32-n):d^=a<<32-(n+=6)}return 56&n&&r.push(qm.bitArray.partial(56&n,d,1)),r}},qm.codec.base64url={fromBits:function(e){return qm.codec.base64.fromBits(e,1,1)},toBits:function(e){return qm.codec.base64.toBits(e,1)}},qm.mode.gcm={name:"gcm",encrypt:function(e,c,t,a,r){var n,i=c.slice(0),d=qm.bitArray;return r=r||128,a=a||[],n=qm.mode.gcm._ctrMode(!0,e,i,a,t,r),d.concat(n.data,n.tag)},decrypt:function(e,c,t,a,r){var n,i,d=c.slice(0),o=qm.bitArray,s=o.bitLength(d);if(a=a||[],(r=r||128)<=s?(i=o.bitSlice(d,s-r),d=o.bitSlice(d,0,s-r)):(i=d,d=[]),n=qm.mode.gcm._ctrMode(!1,e,d,a,t,r),!o.equal(n.tag,i))throw new qm.exception.corrupt("gcm: tag doesn't match");return n.data},_galoisMultiply:function(e,c){var t,a,r,n,i,d=qm.bitArray._xor4;for(r=[0,0,0,0],n=c.slice(0),t=0;t<128;t++){for(!!(e[Math.floor(t/32)]&1<<31-t%32)&&(r=d(r,n)),i=!!(1&n[3]),a=3;a>0;a--)n[a]=n[a]>>>1|(1&n[a-1])<<31;n[0]=n[0]>>>1,i&&(n[0]=n[0]^225<<24)}return r},_ghash:function(e,c,t){var a,r,n=t.length;for(a=c.slice(0),r=0;r<n;r+=4)a[0]^=4294967295&t[r],a[1]^=4294967295&t[r+1],a[2]^=4294967295&t[r+2],a[3]^=4294967295&t[r+3],a=qm.mode.gcm._galoisMultiply(a,e);return a},_ctrMode:function(e,c,t,a,r,n){var i,d,o,s,f,b,u,l,h,p,v,y,m=qm.bitArray;for(h=t.length,p=m.bitLength(t),v=m.bitLength(a),y=m.bitLength(r),i=c.encrypt([0,0,0,0]),96===y?(d=r.slice(0),d=m.concat(d,[1])):(d=qm.mode.gcm._ghash(i,[0,0,0,0],r),d=qm.mode.gcm._ghash(i,d,[0,0,Math.floor(y/4294967296),4294967295&y])),o=qm.mode.gcm._ghash(i,[0,0,0,0],a),b=d.slice(0),u=o.slice(0),e||(u=qm.mode.gcm._ghash(i,o,t)),f=0;f<h;f+=4)b[3]++,s=c.encrypt(b),t[f]^=s[0],t[f+1]^=s[1],t[f+2]^=s[2],t[f+3]^=s[3];return t=m.clamp(t,p),e&&(u=qm.mode.gcm._ghash(i,o,t)),l=[Math.floor(v/4294967296),4294967295&v,Math.floor(p/4294967296),4294967295&p],u=qm.mode.gcm._ghash(i,u,l),s=c.encrypt(d),u[0]^=s[0],u[1]^=s[1],u[2]^=s[2],u[3]^=s[3],{tag:m.bitSlice(u,0,n),data:t}}};var Wm,Ym={webCryptoDecrypt:zm,decrypt:(Wm=Jc(dt().mark((function e(c,t){var a,r;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"==typeof t&&(t=JSON.parse(t)),!t.enableSoftwareAES&&null!==(a=crypto)&&void 0!==a&&a.subtle){e.next=7;break}return e.next=4,Km(c,t);case 4:r=e.sent,e.next=18;break;case 7:return e.prev=7,e.next=10,zm(c,t);case 10:r=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),e.next=17,Km(c,t);case 17:r=e.sent;case 18:return e.abrupt("return",r);case 19:case"end":return e.stop()}}),e,null,[[7,13]])}))),function(e,c){return Wm.apply(this,arguments)})};function Xm(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}return c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=null,v=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)v.push(t[f]);v.p=r;for(var y=[];;)try{switch(i[c++]){case 56:h[++l]=!0;break;case 42:h[++l]=!1;break;case 70:h[++l]=null;break;case 36:o=i[c++],h[++l]=o<<24>>24;break;case 14:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 69:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 21:h[++l]=void 0;break;case 5:h[++l]=n;break;case 60:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 46:h[++l]={};break;case 6:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 0:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;h[++l]=b[f];break;case 37:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 58:s=h[l--],h[l]=h[l][s];break;case 65:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;b[f]=h[l--];break;case 59:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],b=h[l--],f[s]=b;break;case 75:s=h[l--],f=h[l--],b=h[l--],f[s]=b;break;case 55:for(s=i[c++],f=i[c++],b=v,b=v;s>0;--s)b=b.p;h[++l]=b,h[++l]=f;break;case 61:s=h[l--],h[l]+=s;break;case 73:h[l]=-h[l];break;case 35:s=h[l--],h[l]=h[l]===s;break;case 33:s=h[l--],h[l]=h[l]!==s;break;case 44:s=h[l--],h[l]=h[l]>s;break;case 8:h[l]=!h[l];break;case 34:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 48:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 71:s=h[l--],(f=h[l--])[s]=h[l];break;case 25:h[l]=void 0;break;case 47:h[l]=typeof h[l];break;case 13:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,v],f._u=e,h[++l]=f;break;case 10:o=i[c++],s=h[l--],(b=[f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)}]).p=v,f._v=[s,o,b],f._u=e,h[++l]=f;break;case 22:throw s=h[l--];case 32:for(s=h[l--],f=null;b=y.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)c=f[2],f[0]=0,y.push(f);else{if(!p)return s;c=p[1],n=p[2],v=p[3],y=p[4],h[++l]=s,p=p[0]}break;case 66:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,p=[p,c,n,v,y],c=s[0],null==b&&(b=function(){return this}()),n=b,(v=[f].concat(f)).length=Math.min(s[1],o)+1,v.p=s[2],y=[]):(u=s.apply(b,f),h[++l]=u);break;case 1:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 11:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 68:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 50:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,s=h[l--],h[l]===s&&(--l,c+=o);break;case 72:--l;break;case 54:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(m){for(;(o=y.pop())&&!o[0];);if(!o){e:for(;p;){for(s=p[4];o=s.pop();)if(o[0])break e;p=p[0]}if(!p)throw m;c=p[1],n=p[2],v=p[3],y=p[4],p=p[0]}1===(s=o[0])?(c=o[2],o[0]=0,y.push(o),h[++l]=m):2===s?(c=o[2],o[0]=0,y.push(o)):(c=o[3],o[0]=2,y.push(o),h[++l]=m)}}(o,[],0,c,t)}e.TRANSFORM_IV=void 0,e.transformUnionKey=void 0,function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=null,v=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)v.push(t[f]);v.p=r;for(var y=[];;)try{switch(i[c++]){case 70:h[++l]=null;break;case 36:o=i[c++],h[++l]=o<<24>>24;break;case 26:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=o<<16>>16;break;case 14:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 69:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 21:h[++l]=void 0;break;case 5:h[++l]=n;break;case 60:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 46:h[++l]={};break;case 6:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 0:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;h[++l]=b[f];break;case 37:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 65:for(s=i[c++],f=i[c++],b=v;s>0;--s)b=b.p;b[f]=h[l--];break;case 59:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],b=h[l--],f[s]=b;break;case 71:s=h[l--],(f=h[l--])[s]=h[l];break;case 13:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,v],f._u=e,h[++l]=f;break;case 10:o=i[c++],s=h[l--],(b=[f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)}]).p=v,f._v=[s,o,b],f._u=e,h[++l]=f;break;case 32:for(s=h[l--],f=null;b=y.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)c=f[2],f[0]=0,y.push(f);else{if(!p)return s;c=p[1],n=p[2],v=p[3],y=p[4],h[++l]=s,p=p[0]}break;case 66:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,p=[p,c,n,v,y],c=s[0],null==b&&(b=function(){return this}()),n=b,(v=[f].concat(f)).length=Math.min(s[1],o)+1,v.p=s[2],y=[]):(u=s.apply(b,f),h[++l]=u);break;case 1:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 11:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 68:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 50:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,s=h[l--],h[l]===s&&(--l,c+=o);break;case 72:--l;break;case 54:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(m){for(;(o=y.pop())&&!o[0];);if(!o){e:for(;p;){for(s=p[4];o=s.pop();)if(o[0])break e;p=p[0]}if(!p)throw m;c=p[1],n=p[2],v=p[3],y=p[4],p=p[0]}1===(s=o[0])?(c=o[2],o[0]=0,y.push(o),h[++l]=m):2===s?(c=o[2],o[0]=0,y.push(o)):(c=o[3],o[0]=2,y.push(o),h[++l]=m)}}(o,[],0,c,t)}("504B0101463b639d000000d99e6238460000011a000101362500010500000042022046000201460002024200362500020e000000380a02420142014101010001013625000105000000420220460004024200362500030e0000004f0a0100010042022024014400830000012500040000014500054724003200142403320046240532005a450006320054480b005a00060436250007000202420141020324030000013b0004000603362500080002032e00020106000900060506000a1a008006000b42022000000125000c4102040000013625000d45000e0002044202200000013625000f4200200bff7815200e000000000d024101060e0000000e0d00410001000100245b24682445244b1a009c1a00ab1a00ee24471a00ca24041a00f424053c000c010125000041010515200010061c0b18181b0c051f0e0e120704131f0c1504090c1f0e04101b060a040e0c1b08031b101a04161f0d16071a1b1d0c070e0a041a1f0a1f021708090a1f19321b10190a16040d1b100a061f1c0c0b0e0a060c1b0a0b0c10040d0a110e",{0:Uint8Array,get 1(){return Jc},get 2(){return dt},get 3(){return Ym},get 4(){return Cm},get 5(){return e.TRANSFORM_IV},set 5(c){e.TRANSFORM_IV=c},get 6(){return e.transformUnionKey},set 6(c){e.transformUnionKey=c}},void 0);var Qm="volcvui",Jm=new Map,Zm=new Map,eg=void 0,cg=function(){function c(t){var a;return et(this,c),(a=Zc(this,c)).EMEError=function(c){a.emit(e.EVENT_EME.ERROR,c)},a.encryptHandle=function(){var c;null===(c=a.eme)||void 0===c||c.emit(e.EVENT_EME.ENCRYPTED)},a.config=cg.defaultConfig,a.updateConfig(t),a.config.isEncrypt=!!(a.config.kid||a.config.drm||a.config.secretKey||a.config.drmKeyToken||a.config.keyValue),a.on(e.EVENT_EME.ENCRYPTED,a.encryptHandle),a}return nt(c,wl),tt(c,[{key:"destroy",value:function(){this.removeAllListeners(),this.eme&&(this.eme.destroy(),this.eme=null)}},{key:"log",value:function(e){for(var c=arguments.length,t=new Array(c>1?c-1:0),a=1;a<c;a++)t[a-1]=arguments[a];Up.apply(void 0,[e].concat(t))}},{key:"setupEME",value:function(e){this.eme&&this.eme.setupEME(e)}},{key:"updateConfig",value:function(e){var c=this;Object.keys(e).map((function(t){void 0!==e[t]&&null!==e[t]&&(c.config[t]=e[t])})),this.log("set config",JSON.stringify(this.config))}},{key:"setOptions",value:function(e){this.eme&&this.eme.setOptions(e)}},{key:"getSecretKeyByToken",value:function(e,c,t){var a=this,r=this.config,n=e||r.kid,i=c||r.playDomain||"";i.indexOf("//")<0&&(i="//".concat(i));var d=t||r.drmKeyToken||"",o=ov.isBase64(d)?window.atob(d):d,s="".concat(i,"?").concat(o,"&PlayAuthIds=").concat(n,"&ssl=true");o.indexOf("DrmType=")<0&&(s+="&DrmType=".concat(r.useUnionInfoDRM?"webdevice":"22")),this.log("getSecretKeyByToken start, vid,",r.vid,s);var f=Promise.withResolvers(),b=f.promise,u=f.resolve,l=f.reject;return Op({type:"json",method:"GET",url:s}).then((function(e){var c,t,n=e.response;if("string"==typeof n&&(n=JSON.parse(n)),n&&null!==(c=n)&&void 0!==c&&c.Result&&(null===(t=n.Result.PlayAuthInfoList)||void 0===t?void 0:t.length)>0){var i=n.Result.PlayAuthInfoList[0].PlayAuthContent;a.log("getSecretKeyByToken end, vid,",r.vid,",res,",JSON.stringify(n)),u(i)}else l(new Error("getSecretKeyByToken end, vid, ".concat(r.vid,", response null")))})).catch((function(e){l(e)})),b}},{key:"getLicense",value:function c(){return Xm("504B0101463b639d0000031e9e623846000003a14600030342003625000b0e000000220a0100010046240524203c00023c000142042024014402f500000125000c00000145000d4724003200462403320067240a320106240b32010a24133201e124163201f024173201f424193201fa241a3201fb24203202562425320288242732028e242932029a45000e320294480b029a2e45000f0600102a06001141020124030000013b000c0004013625001200020100040a4202200004012500003702024748000202250013370203474800020225001437020447480004043000030002033000030002043000090004012500002500150844000b24270000013b000c0b022924050000013b000d0004012500002500153000030002044102070002033000090004042200030004050844000b240b0000013b000c0b01f1240a0000013b000c460005040004030002030004040004050004060005054206200000012500164102070004042200090002073702054746212200070002052400192122000600020525001744000d0002072500170004043a0b000300020741020800040125000037020a474800020a25001837020b474800020a25001937020c47480004013625001a420041020d0002080822000d000401250000250014370208474800020b22000300020d2200180005063625001b00020d25001c00020d25001d00020c42030844000b24190000013b000c0b011a0005072f45001e230844000b24160000013b000c0b010324130000013b000c4600050700020800020d25001d42022000000125001641020924170000013b000c0b00d700050845001f010116241a0000013b000c0b00c3000208410209000404220009000207370206474621220007000206240019212200060002062500174400160002090002072500170004044b0002070002013b00150002090002013b0014380002013b00114600040900020142014824250000013b000c0b005d24200000013b000d000001364500203a240542010000013b00212a0002013b00110000012500210002013b00224600040a00020142014824290000013b000c0b001b380002013b001146000409000201420148000001362500234200200bfd061520054100010525000041000200000225000141000300000225000241000400000225000341000500000225000441000600010136250005420041000700000725000641000800000725000741000900000725000841000a00010136250007420036250009460001024600010342003625000a0e000000000a0042014201420148000008200024061d11101817190308171a0315171a0d191b0a32171d1b100d1b2b0c12071a0c132a070e1b0d09170a162c1b0d1112081b0c0d070e0c1113170d1b070c1b0d1112081b060c1b141b1d0a040a161b1004131f0c1504090c1f0e04101b060a040e0c1b08031b101a0a191b0a32171d1b100d1b06131b0a16111a070d0b1d1d1b0d0d17210a0c07391b0a2d1b1d0c1b0a351b073c072a11151b10090d1b1d0c1b0a351b0708151b07281f120b1b031a0c13040d1b100a091d121b1f0c351b070d0f0b0d1b2b10171110371018113a2c3317151b072a11151b103b060e170c1b1a3a0b0c1f0a1711100d21191b0a2b1017111037101811151d161b1d152b10171110371018113b060e170c1b1a070b10171110373a090b101711103710181108180b101d0a171110492a161b5e5c0a0c1f100d18110c132b10171110351b075c5e0d16110b121a5e1c1b5e0e0c1108171a1b1a5e17105e1d11101817190b0c1f0a1711105e1f0d5e1f5e180b101d0a171110051d1f0a1d16020a4e051b0c0c110c040d0a110e",{get 0(){return c},1:Promise,get 2(){return Jc},get 3(){return dt},get 4(){return jp},get 5(){return eg},get 6(){return ov},get 7(){return void 0!==e.transformUnionKey?e.transformUnionKey:void 0},8:Error,9:arguments},this)}},{key:"_tryGetSecretKeyByToken",value:(a=Jc(dt().mark((function e(c,t){var a,r,n,i;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=this.config,r=a.kid,n=a.drmKeyToken,i=a.playDomain,!(r&&n&&i)){e.next=14;break}return e.prev=2,e.next=5,this.getSecretKeyByToken(r,i,n);case 5:this.config.secretKey=e.sent,c.success=!0,e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),c.success=!1,c.error=e.t0,t(c);case 14:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,c){return a.apply(this,arguments)})},{key:"updateKid",value:function e(c){return Xm("504B0101463b639d000000009e623846000000170525000022000d052500003625000100010242014815200002031b131b090b0e1a1f0a1b35171a",{get 0(){return e},1:arguments,2:c},this)}},{key:"getLicenseSecret",value:function c(){return Xm("504B0101463b639d0000032c9e6238460000048a0001013625000c00020225000b00000142024815200001013625000c00020225000d00000142024815204600030742003625001e0e0000004c0a0100010046240b241e3c00023c000142042024014402d900000125001f00000145002047240032004124033200622405320089240a3200e0240b3200e4240f320115241032011924173201d124183201d524193201ee241e320251242332028345002132027d480b02832e4500220600232a06002441020124030000013b001f0004013625002500020100040f420220000201250024082200060002012500260844000b24050000013b001f0b023e0000013625002745002842012000040125000025002941020200020208220004000407080844000b240b0000013b001f0b020b0004042200030004050844000b240b0000013b001f0b01f3240a0000013b001f4600050800040330000345002a00040400040542032000000125002b410202240b0000013b002000040800050925002c230844000b24100000013b001f0b01ab240f0000013b001f4600050a00020200050b42022000000125002b4102020004064400270004074400090004074102020b00180002024400124600050c4600050d00020242014201410202000401250000370203474800020325002d370204474800020325002e37020547480004013625002f420041020600020422000300020622001800050e3625003000020625003100020625003200020542030844000b24190000013b001f0b01000004062200030002020844000b24180000013b001f0b00e824170000013b001f4600050f00020200020625003242022000000125002b41020200050e3625003300051036250034000206250032420142010002013b003500040644003d2e2e0600364102070004043000030005114102080002020002072500360002084b000401250007362500170002074201482400190002013b00290b00090002020002013b0029380002013b00244600040e00020142014824230000013b001f0b0041241e0000013b0020000001364500373a240b42010000013b00382a0002013b00240000012500380002013b00264600040f000201420148000001362500394200200bfd2215200541000105250000410002000002250001410003000002250002410004000002250003410005000002250004410006000002250005410007000002250006410008052500002500044400bf0001010100053b000705250007362500080001022500090525000a420248052500073625000800010225000b0e000000000d01420248052500073625000800010225000d0e000000150d014202480525000025000e41000900000422000300000944005b00010325000f2500103625001142003625001245001342012401492c4400064500140b000345001541000a460001042e00000a2e0000090000043d060016420341000b052500073625001700000b4201480001053625001842002000010536250019420041000c00000c25001a41000d00000c25001841000e00000c25001b41000f0001053625001842003625001c460001064600010742003625001d0e0000002a0a004201420142014800000d20003a061d11101817190308171a0315171a0d191b0a32171d1b100d1b2b0c12060b0d1b3b333b08151b07281f120b1b071a0c132a070e1b031b131b021110053b2c2c312c083b333b3b0c0c110c133d3a332132373d3b302d3b212d2b3d3d3b2d2d041b13170a113d3a332132373d3b302d3b213b2c2c312c1317100a1b0c0a0c0b0d0a2d1b0c081b0c2b2c3209101f0817191f0a110c090b0d1b0c3f191b100a110a1132111d1f121b3211091b0c3d1f0d1b0717101a1b063118061d160c11131b0809171a1b0817101b090e121f070c1b1f1a07090d1b0c081b0c2b2c32090b0e1a1f0a1b3a0c13070c1b0d1112081b0d09170a162c1b0d1112081b0c0d070e0c1113170d1b060c1b141b1d0a040a161b1004131f0c1504090c1f0e04101b060a040e0c1b08031b101a0a191b0a32171d1b100d1b06131b0a16111a070d0b1d1d1b0d0d17210a0c07391b0a2d1b1d0c1b0a351b073c072a11151b10051b0c0c110c061f1c0c0b0e0a060c1b0a0b0c10090d1b1d0c1b0a351b0700040d1b100a172e2c37283f2a3b213b303d2c272e2a212b2e392c3f3a3b0f0b0d1b2b10171110371018113a2c3317151b072a11151b103b060e170c1b1a3a0b0c1f0a1711100d21191b0a2b1017111037101811151d161b1d152b10171110371018113b060e170c1b1a070b10171110373a090b1017111037101811132d0a0c1710192a113f0c0c1f073c0b18181b0c04161f0d160a1a1b1d0c070e0a351b07091d121b1f0c351b070d051d1f0a1d16020a4e040d0a110e",{get 0(){return c},get 1(){return bv},get 2(){return e.EVENT_EME},get 3(){return window},get 4(){return at},5:Promise,get 6(){return Jc},get 7(){return dt},get 8(){return Pp},get 9(){return Rp},get 10(){return Mp},get 11(){return eg},get 12(){return Ip},get 13(){return atob},get 14(){return ov},get 15(){return e.transformUnionKey},get 16(){return Cm},get 17(){return tv},18:arguments},this)}},{key:"getSecretKey",value:function(){var e=this.config,c=e.vid,t=e.kid,a=e.getLicenseUrl,r=e.drmKeyToken,n=e.playDomain,i=e.secretKey;return a&&t?Pp(c||"",t,a):r&&t&&n?this.getSecretKeyByToken(t,n,r):i||(console.error("[DRM]DRM,getSecretKey args is invalid"),null)}},{key:"getKeyValue",value:function e(){return Xm("504B0101463b639d000000009e6238460000004d05250000410001000001250001410002000001250002410003000001250003410004000001250004410005000001250005410006460001010000020000050000030000040000060001024206200006061d11101817190308171a0315171a0d191b0a32171d1b100d1b2b0c12090d1b1d0c1b0a351b07071a0c132a070e1b",{get 0(){return e},get 1(){return jp},get 2(){return eg},3:arguments},this)}},{key:"_getUnionInfo",value:function(){var e=this.config,c=e.drmType,t=e.sessionId;if(!e.useUnionInfoDRM||!t)return null;var a=c===Rp.PRIVATE_ENCRYPT_UPGRADE?Zm:Jm;if(!a.get(t))throw new Error('The "sessionId" '.concat(t," for unionInfo is not valid"));return a.get(t)}}],[{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:Qm,useEME:!0,intertrustServerURL:void 0}}},{key:"updateUnionInfo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qm,t=ov.getUnionInfo(e);return Jm.set(c,{unionID:e,unionInfo:t}),t}},{key:"generateEncryptInfo",value:(t=Jc(dt().mark((function e(){var c,t,a,r,n,i,d=arguments;return dt().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=d.length>0&&void 0!==d[0]?d[0]:"",t=d.length>1&&void 0!==d[1]?d[1]:Qm,e.next=4,Gm();case 4:return a=e.sent,r=a.drmKeK,n=a.keyPair,i=ov.getUnionInfo(c),Zm.set(t,{unionID:c,unionInfo:i}),eg=n,e.abrupt("return",{sessionId:t,unionInfo:i,drmKeK:r});case 11:case"end":return e.stop()}}),e)}))),function(){return t.apply(this,arguments)})}]);var t,a}(),tg=cg;tg.isWebAssemblySupported=Bp,e.XGSecretKey=tg,e.aes4js=Ym,e.util=ov})(Be.exports);var Ue,Ne,Fe,Ge,Ve,qe=Be.exports;!function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=[0,null],v=null,y=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)y.push(t[f]);y.p=r;for(var m=[];;)try{switch(i[c++]){case 16:h[++l]=null;break;case 48:o=i[c++],h[++l]=o<<24>>24;break;case 4:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=o<<16>>16;break;case 7:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 64:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=+d[o];break;case 14:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 63:h[++l]=void 0;break;case 59:h[++l]=n;break;case 3:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 66:h[++l]={};break;case 1:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 43:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;h[++l]=b[f];break;case 20:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 42:s=h[l--],h[l]=h[l][s];break;case 32:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;b[f]=h[l--];break;case 21:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],b=h[l--],f[s]=b;break;case 17:s=h[l--],f=h[l--],b=h[l--],f[s]=b;break;case 54:for(s=i[c++],f=i[c++],b=y,b=y;s>0;--s)b=b.p;h[++l]=b,h[++l]=f;break;case 53:s=h[l--],h[l]+=s;break;case 47:s=h[l--],h[l]-=s;break;case 10:s=h[l--],h[l]*=s;break;case 71:s=h[l--],h[l]/=s;break;case 23:s=h[l--],h[l]%=s;break;case 0:h[l]=-h[l];break;case 56:s=h[l--],b=++(f=h[l--])[s],h[++l]=b;break;case 36:s=h[l--],b=(f=h[l--])[s]++,h[++l]=b;break;case 26:s=h[l--],b=(f=h[l--])[s]--,h[++l]=b;break;case 67:s=h[l--],h[l]=h[l]==s;break;case 58:s=h[l--],h[l]=h[l]!=s;break;case 15:s=h[l--],h[l]=h[l]===s;break;case 18:s=h[l--],h[l]=h[l]!==s;break;case 46:s=h[l--],h[l]=h[l]<s;break;case 62:s=h[l--],h[l]=h[l]<=s;break;case 2:s=h[l--],h[l]=h[l]>s;break;case 60:s=h[l--],h[l]=h[l]>=s;break;case 31:s=h[l--],h[l]=h[l]<<s;break;case 9:s=h[l--],h[l]=h[l]>>s;break;case 39:s=h[l--],h[l]=h[l]>>>s;break;case 73:s=h[l--],h[l]=h[l]&s;break;case 51:s=h[l--],h[l]=h[l]|s;break;case 25:h[l]=~h[l];break;case 61:s=h[l--],h[l]=h[l]^s;break;case 72:h[l]=!h[l];break;case 44:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 50:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 37:s=h[l--],(f=h[l--])[s]=h[l];break;case 19:s=h[l--],h[l]=h[l]in s;break;case 76:s=h[l--],h[l]=h[l]instanceof s;break;case 35:h[l]=void 0;break;case 41:s=h[l--],b=delete(f=h[l--])[s],h[++l]=b;break;case 68:h[l]=typeof h[l];break;case 8:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,y],f._u=e,h[++l]=f;break;case 11:o=i[c++],s=h[l--],(b=[f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)}]).p=y,f._v=[s,o,b],f._u=e,h[++l]=f;break;case 40:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])[1]=c+o;break;case 69:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])&&!s[1]?(s[0]=3,s.push(c)):m.push([1,0,c]),c+=o;break;case 13:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,m.push([2,0,c]),c+=o;break;case 22:throw s=h[l--];case 12:if(f=(s=m.pop())[0],b=p[0],1===f)c=s[1];else if(0===f)if(0===b)c=s[1];else{if(1!==b)throw p[1];if(!v)return p[1];c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else c=s[2],s[0]=0,m.push(s);break;case 27:for(s=h[l--],f=null;b=m.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)p=[1,s],c=f[2],f[0]=0,m.push(f);else{if(!v)return s;c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=s,p=[0,null],v=v[0]}break;case 5:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,v=[v,c,n,y,m],c=s[0],null==b&&(b=function(){return this}()),n=b,(y=[f].concat(f)).length=Math.min(s[1],o)+1,y.p=s[2],m=[]):(u=s.apply(b,f),h[++l]=u);break;case 49:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 45:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 70:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 33:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,s=h[l--],h[l]===s&&(--l,c+=o);break;case 29:--l;break;case 30:s=h[l],h[++l]=s;break;case 34:for(b in s=i[c++],f=h[l--],o=[],f)o.push(b);y[s]=o;break;case 28:s=i[c++],f=h[l--],b=h[l--],(o=y[s].shift())?(b[f]=o,h[++l]=!0):h[++l]=!1;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(o=m.pop())&&!o[0];);if(!o){e:for(;v;){for(s=v[4];o=s.pop();)if(o[0])break e;v=v[0]}if(!v)throw g;c=v[1],n=v[2],y=v[3],m=v[4],v=v[0]}1===(s=o[0])?(c=o[2],o[0]=0,m.push(o),h[++l]=g):2===s?(c=o[2],o[0]=0,m.push(o),p=[3,g]):(c=o[3],o[0]=2,m.push(o),h[++l]=g)}}(o,[],0,c,t)}("504B0101399dc1bd000073d1bdc19e3900007a442b00021e1400000e000105014600bd2b00021e1400022b02180e000331010e000405022000040e00052b020044432c000b0e00052b020014000644434600152b02001e1400062b00040e000705022000032d005b0e00052b0201443a4600092b02020e0008310116102b02012b000405012000052b02032b0005140009310120000330002000062b00062b00051400092e46001b2b00051e14000a2b000605012b00032b000611360006241d2dffd82b02041e14000b2b00032b000105021e14000c0700000109080105011b300023200007300023200008102b02052b000205011e14000c0700000110080105011e14000c0700000163080105011e14000c0700000183080105011b2b000114000d1b2b00013601072514000e1e14000f0e001005013200030e0004360108251d0e00112b0304132c000c2b01081e1400000e001205014600122b03041e1400112b01072b010105022d00092b01071e14001305001b2b00012b03064c4600122b03041e14000b2b00012b010105022d00032b00011b2b000114000d1b102b02012b00010e001405021b07000006c10802200012070000087708042000130700000a3508012000140700000ae108022000150700000af308012000160700000b89080120001e0700000bd7080120001f0700000be408012000200700000c2808012000210700000cc008012000220700000ccd08012000230700000ec408012000240700000efe08002000260700000ff80801200027070000101b08022000280700001047080220002b070000112e080320002c07000022cf0801200033070000065808022b000132000142360001251500163000232b0001124600062b00012d0001422000032b0307140017200004102b0004422b000305022000050e00182000060e000420000730002b030814001914001a360007251e14001b0e001c05011246002e2b00071e14001d30002b00071e1400022b03180e001e31010e000405021e14001f0e0020050130013505022d00030e0004360007251d07000006840b01360002251d2b000314002732000f2b030a1400281e1400292b030a05011d2b000314002a32000f2b030a14002b1e1400292b030a050120000a102b00042b00032b000505021d10360005251d2b000314002c2c00062b000314002c1d2b000314002d2c000a2b000314002d360006251d2b000314002e2c00062b000314002e1d2b000314002f2c000a2b000314002f360008251d2b00031400301d0e00312b0304440e00320f4600060e00322d0009102b03252b030405013a2c0009102b001e0e003305011d3001482000100e00322b030b443a46000b2b030b0e003431012d00033000232000112b00031400411d03000020001903000020001a03000020001b300020001c1020001d422b00030e005e251d422b00030e005f251d102b001f0e006036001725050132002e2b0017360018251d2b00031400614600122b00031e1400612b00182b000705022d00072b00072b001835360017251d42200025301f301d301f301e301f301e301f301f301e301f301e301f03000c200029301f301c301f301e301f301e301f301f301e301f301e301f03000c20002a4207000011830b0101007907000011930b0301007a07000011ae0b0001007b07000011ba0b0301007d07000011d30b0101008207000012950b02010084070000133b0b02010085070000138f0b040100f520002d100700001ebe08000500481d070000216008002b00030e0107251d070000217b08002b00030e010a2520002e070000219a08002b00030e010c251d07000021b508002b00030e010e251d07000021d008002b00030e0110251d07000021eb08002b00030e0112251d070000220608002b00030e0114251d070000222108002b00030e0116251d070000223c08002b00030e0118251d070000225708002b00030e011a251d070000227208002b00030e011c25200030070000229108002b00030e011e2520003107000022b008002b00030e0120252000322b002c2b00030e0127251d070000245a08052b00030e012b251d2b00122b00030e012c251d07000025f108012b00030e012d251d07000026290b0036001d251d2b00332b00030e012e251d2b000314012f4600410e00052b000314012f44432c00102b000314012f0300012b00030e012f251d2b000314012f140009300002460013102b000314012f1e140130050005001d2dffde102b003305001d2b00011401311b102b03022b000105011e14000c0700000671080105011d3f1b102b0102422b000114001501001505011d3f1b2b050931002000022b00021e1400210e00222b000130014805031d0e00232b00020e0024251d2b00021e1400251005011d2b05032b000214002631011b2b00014600161007000006e108032b010d2b00012b000205032d00030e00041b2b00022b0003352000042b00022000052b00012b00052a2c00082b00052b00043c48460008360005381d2dffe32b00052b00022f3010022c00062b00011400352c00032b02114600192b02111e1400362b00011e1400352b00022b0005050205011b0e00042000062b00022b00052e4601202b0001360002242a2000070400802b0007494600f3303f2b0001360002242a492000080400c00400e02b0007493a4600b5303f2b0001360002242a492000090400e00400f02b00074943460017300f2b000749300c1f2b000830061f332b0009332d002330072b00074930121f2b0008300c1f332b000930061f33303f2b0001360002242a49333600072507000100002e4600182b00062b050c1e1400372b0007050135360006251d2d00372b000707000100002f20000a2b00062b050c1e140037070000d8002b000a300a0933070000dc000403ff2b000a4933050235360006251d2d001f2b00062b050c1e140037301f2b00074930061f2b000833050135360006251d2d00152b00062b050c1e1400372b0007050135360006251d2dfed62b00061b2b00043000024846000330001b2b00032000052b00032b00043530012f20000630002000072b00072b00011400092e46017a2b00011e14000a2b000705012000082b0008070000d8003c2c00092b0008070000dfff3e2c002607000100000403ff2b000849300a1f350403ff2b00011e14000a3600073805014933360008251d2b0008307f3e46001b2b00032b00063c4600032d01162b00082b000236000324112d01002b00080407ff3e4600392b00033001352b00063c4600032d00ee0400c02b0008300609332b000236000324251d040080303f2b000849332b000236000324251d2d00bd2b0008070000ffff3e46004f2b00033002352b00063c4600032d00a90400e02b0008300c09332b000236000324251d0400802b0008300609303f49332b000236000324251d040080303f2b000849332b000236000324251d2d00622b00033003352b00063c4600032d005a0400f02b0008301209332b000236000324251d0400802b0008300c09303f49332b000236000324251d0400802b0008300609303f49332b000236000324251d040080303f2b000849332b000236000324251d360007381d2dfe7930002b00022b0003251d2b00032b00052f1b300020000230002000032b00032b00011400092e4600912b00011e14000a2b000305012000042b0004070000d8003c2c00092b0004070000dfff3e2c002607000100000403ff2b000449300a1f350403ff2b00011e14000a3600033805014933360004251d2b0004307f3e460007360002382d002a2b00022b00040407ff3e46000530022d00132b0004070000ffff3e46000530032d0002300435360002251d360003381d2dff622b00021b2b010c1e1400382b00012b000205021d3f1b2b000136010b251d2b040d2b0001310136010c252b01030e0039251d2b040e2b000131012b01030e003a251d2b040f2b0001310136010e252b01030e003b251d2b04032b0001310136010d252b01030e003c251d2b04102b000131012b01030e003d251d2b04112b000131012b01030e003e251d2b04122b000131012b01030e003f251d2b04132b000131012b01030e0040251d3f1b2b01031400422c000c2b01031e1400422b000105011d102b010a0e00432b0001350e0044353600012505011d300048360110251d2b00010e004535360001251d2b04041400462b00013101163f1b2b00011e1400000e004705011b45000e200002102b011e2b000205011d0c28002e2b00012b0117432c00032b01084600092b04032b010831011b2b010246000a102b01022b000105011b0e0048160c3f1b2b000114000930000246008a2b00011e14004905002000020e00052b0002443a4600662b000214004a2000030e004b2b000344434600313000232b000214004c0f46000f10102b01222b0003050105002d001210102b01222b000305012b000214004c05012d001d102b00033000232b000214004c0f460004102d00062b000214004c05011d2d000a102b00022b010305011d2dff6a3f1b2b010f1e14000f2b000105011b2b00013b0e004d251d2b000130102f3b0e004e251d0700000d8008013b0e004f251d0700000d9308003b0e0050251d0700000da208013b0e0051251d0700000db508003b0e0052251d0700000dc408013b0e0053251d0700000dd408013b0e0054251d0700000dfa08003b0e0055251d0700000e0c08013b0e0056251d0700000e3208003b0e0057251d0700000e4408023b0e0058251d0700000e7c08003b0e0059251d0700000e9d08003b0e005a251d3f1b2b00012b020e3b14004e300435300209113f1b2b020e3b14004e3004353002092a1b2b00012b020e3b14004e300835300209113f1b2b020e3b14004e3008353002092a1b2b00012b020e3b14004e300209113f1b2b000146000530012d00023000360001251d2b00012b020c3b14004e300c35300033251d3f1b30002b020c3b14004e300c353000332a3a1b2b000146000530012d00023000360001251d2b00012b020c3b14004e300d35300033251d3f1b30002b020c3b14004e300d353000332a3a1b3b1e14004f2b000105011d3b1e1400512b000205011d3b1e140053300005011d3b1e14005430014805011d3b1e14005630014805011d3f1b2b020e3b14004e3002092a2000012b00013001352b020e3b14004e300209113f1b2b020e3b14004e3002092a2000012b000130012f2b020e3b14004e300209251d30012b00010f1b4500042000020c28002e2b01091e14005b2b00012b010b14005c2f070000ffff3530102705011d102b01162b010914005d05011d30011b0c3f1b2b0126140062484600e9420e00630100640e00630100650e00200100660e00200100670e00680100690e00312b0414440e00320f4600060e00322d0009102b04252b04140501432c00062b041414006a2c00092b041414006a30002a3200030e006b1e1400020e006c0e006d05020e006e3501006f2b01063200030e001801006d2000012b012522043600021c0446002a3000232b01252b00022a0f46000a2b00012b0002292d000e2b01252b00022a2b00012b0002251d2dffce0300002000032b000122053600021c0546001c2b00031e1400702b00020e0071352b00012b00022a3505011d2dffdc2b00032b01261500622b01261400621b2b00013004173000432c00162b000130641730003a32000a2b0001040190173000431b300020000330002000042b00042b00023e4600142b00032b0001360004242a35360003251d2dffe22b00031b2b04152b00011e140072050031012000032b00023000024600c9102b01272b00031e140073050005012000042b00031e14007405002000052b00044600062b01292d00032b012a2b00052a2000062b00022b00062b00031e14007505002f024846001b2b00031e1400762b00031e14007505002b00023505011d2b00031b2b00022b00062b00031e14007505002f3001352f360002251d2b00031e140076300105011d2b0005300b2e4600122b00031e1400772b000530013505012d00212b00031e140077300005011d2b00031e1400782b00031e140073050030013505011d2dff2e2b00031b2b00033000024600062b00032d000c102b01142b000105013001352000042b04162b00043101200005102b01132b00012b000530002b000514000905042000062b00022c000a2b00062b00050e0009251d2b00051b102b022e2b000130103505013010351b2b02232b000131011e1400582b00022b000305021d2b0001163f1b102b021e0e000405011d3f1b2b020d1e14007c2b00012b00022b00022b00033505031d3f1b2b020d14000920000440007e2000052b0001300027360001252b0005024600043001481b30012000062b000630043e46008c2b0004300140007f2b000647350a2000072b05171e1400802b00072b00010706000000350502360007251d102b02242b05171e1400802b00052b05171e1400812b00012b0007050236000225070001000036000325173000022c00132b00022b00032b00022b0003172f35360002251d2b0002050205014600043000481b2b000630020a360006251d2dff6b3001481b3000200003102b022605001e14008307000012b1080205011d30001b2b01022b0103352000032b00032b030e2b010130042b00020a35300209251d1007000012f508032b00012b000305021d2b01032b000114000930013535360103251d3f1b30002000042b00042b00011400092e46001f2b00011e14000a2b000405012b040c3000360002243311360004381d2dffd42b000332000c30002b040c30002b000233251d3f1b102b022605002000032b00031400092b020e2b00013002091130002000042b00031e140083070000137b080105011d2b00042b020e2b0002300209251d30001b2b01042b000114000930013535360104251d3f1b1007000013a608042b00012b00022b00032b000405041b0700001765080320000c07000017a9080220000d07000017b9080220000e070000184b080120000f07000018fc08012000102b030e2b00043028353002092a200005422b030e2b00043002092a0100862b030e2b00043004353002092a0100872b030e2b00043008353002092a0100882b030e2b0004300c353002092a0100892b030e2b00043010353002092a01008a2b030e2b00043014353002092a01008b2b030e2b00043018353002092a01008c2b030e2b0004301c353002092a01008d2b030e2b00043020353002092a01008e2b030e2b00043024353002092a01008f2b000546000c102b03122b000505012d00030e0004010090200006102b03122b00030501200007420e00910100920e00930100940e00950100960e00970100980e009901009a0e009b01009c0e009d01009e0e009301009f0e009d0100a00e00920100a10e00a20100a30e00930100a40e009d0100a50e00a60100a70e00a80100a90e00aa0100ab0e00ac0100ad0e00ae0100af0e00b00100b10e00b20100b30e00b40100b50e00b60100b70e00b80100b90e00ba0100bb0e00bc0100bd0e00be0100bf0e00c00100c10e00a60100c22000082b000822133600091c134600212b00071e1400022b06182b00090e007a31022b00082b00092a05022000072dffd70e00c30e00c40e00c50e00c60e00c70e00c80e00c903000720000a0e00ca0e00cb0e00cc0e00cd0e00ce0e00cf0e00d00e00d10e00d20e00d30e00d40e00d503000c20000b4207000019af0b010100da07000019c40b010100db07000019cf0b0101009707000019e40b010100dc07000019ef0b010100a20700001a080b010100aa0700001a170b010100ac0700001a290b010100de0700001a410b010100df0700001a4b0b010100ae0700001a5a0b010100b00700001a950b010100e00700001ad00b010100b20700001ae20b010100b40700001af10b000100e20700001af50b010100e50700001b170b010100b60700001b260b000100e70700001b2a0b010100b80700001b360b010100ba0700001c2d0b010100bc0700001d200b010100be0700001d270b010100c00700001e310b010100a60700001e4a0b010100a80700001e550b010100f00700001eb30b010100f10700001eba0b000100f32000112b001122143600091c144600382b00071e1400f42b000905012c00252b00071e1400022b06182b00090e007a31022b00111e2b00092a2b000605010502360007251d2dffc0102b032c2b000730014805022000122b00121400092b00020246000530002d0016102b03152b00122b000105021d2b001214000930012f1b0e004b2b0001444346000c2b00011e1400d605002d00092b00013200030e00042000042b00041400092b00022e4600102b000330002a2b0004352000042dffe32b00041b102b010c2b00012b00020e00d705031b070000182b08012000033000102b00032b00011e14007305002b00021e14007305002f0501360004250f2c00203000102b00032b00011e14007405002b00021e14007405002f0501360004250f2c001d102b00032b00011e14007505002b00021e14007505002f0501360004251d2b00041b2b000130002e4600063001002d00102b000130000246000530012d000230001b2b00011e1400d805003000210022300121003330022100323003210040300421004e300521005c300621006d1d2d007f2b07152b00011e140073050030012f300b301d31031b2b00011b2b07152b00011e14007305003000300331031b2b07152b00011e14007305003000300231031b2b07152b00011e14007305003000300131031b2b07152b00011e140073050030012f300b301f31031b2b07152b00011e140073050030012f300b301e31031b3f1b102b042b2b07152b000114008b04076c353000300131032b000114008d05022000022b07152b00021e14007305003000300431032000032b07152b00021e1400730500300135300030043103200004102b010f2b00030501200005102b010f2b00040501200006102b010e2b00052b0002050230003e46002d102b010e2b00062b0002050230003e46000f2b00021e14007305003001352d00092b00021e14007305002d000c2b00021e140073050030012f1b2b020a2b000114008c2a1e1400d93000300305021b2b020a2b000114008c2a1b2b020b2b000114008a2a1e1400d93000300305021b2b020b2b000114008a2a1b102b020d2b000114008b04076c35306447300033300205021b102b020d2b0001140089300205021b102b020c2b000114008930020e00dd05031b102b02102b000105011e1400d605001e1400d9300205011b102b02102b000105011b102b020d2b0001140088300205021b2b000114008820000230002b000243460009300c360002252d00132b0002300c022c000a2b0002300c2f360002251d102b020d2b0002300205021b102b020d2b0001140089102b0528102b05272b000114008b04076c3505014600062b05292d00032b052a2b000114008a30012f050235300305021b102b020d2b000114008a300135300205021b102b020d2b0001140087300205021b0e00e11b2b000114008830003c2c00092b0001140088300c2e4600060e00e32d00030e00e41b102b020d2b0001140086300205021b0e00e61b2b000114008c32000230071b2b08152b000114008b04076c3530003001310320000230002b00021e1400d805000f4600062b00022d0015102b052b2b000230072b00021e1400d805002f05022000032b08152b000114008b04076c352b000114008a2b00011400893103200004102b020e2b00032b0004050230002e460068102b0528102b05272b00041e140073050005014600062b05292d00032b052a2b00041e140074050030012f0502301f2f200005301f2b00031e14007505002f2b0005352b00041e140075050035200006102b020d2b08171e1400e82b00063007470501300205021b3000102b020e2b00032b000205020f4600060e00e92d00030e00ea1b2b08152b000114008b04076c353000300431032000032b08152b000114008b04076d35300030043103200004102b020f2b00030501200005102b020f2b00040501200006102b052b2b08152b000114008b04076c353000300131032b000114008d0502200007102b020e2b00072b0005050230002e4600060e00eb2d0074102b020e2b00062b0007050230003e4600060e00e92d005c2b00051e14007305002b000114008b04076c352e4600162b000114008d3020352b00051e14007505002f2d00132b000114008d3001352b00051e14007505002f360002251d102b020d2b08171e1400e82b00023007470501300205021b2b000114008c1b2b08152b000114008b30003001310320000230012b00021e1400d805000f4600062b00022d002c102b052b2b000230002b00021e1400d805000f46000530012d000f30072b00021e1400d805002f30013505022000032b08152b000114008b04076c352b000114008a2b00011400893103200004102b020e2b00032b0004050230002e460068102b0528102b05272b00041e140073050005014600062b05292d00032b052a2b00041e140074050030012f0502301f2f200005301f2b00031e14007505002f2b0005352b00041e140075050035200006102b020d2b08171e1400e82b00063007470501300205021b3000102b020e2b00032b000205020f4600060e00e92d00030e00ea1b2b000114008b04076c351e1400d605001e1400d9300205011b2b000114008b04076c351b2b000114008f2000022b000230003c2000032b08171e1400ec2b00020501303c4736000225303c4730640a2b0002303c1735360002251d2b00034600060e00ed2d00030e006c102b080c0e00ee2b00023505011e1400ef3004000501351b2b00011400901b0e00f21b0700001f8e0802200002070000202e0801200003070000203d0801200004422b012d01007b20000136011c241d2b01031400fb2c000c2b01031e1400fb2b011c05011d2b010314001646002d450016200005102b010a0e01042b00053505011d3001481b0c2800112b01031e1400162b00012b000205021b0c2b010832000b0e00052b0404140011443a320009102b011f2b011705013200080e00052b0405443a46000c102b00042b000305012d001d102b04052b0117420e00fd0100fe05021e14000c070000211e080105011d3f1b2b00011400152000042b00042b02030e00f6251d102b02162b02031400f61400f73602092514005d05011d2b02031400f61400f836020f251d2b02031400f61400f9360003251d2b021a1e1400fa2b000305011d100700001fef080005001d3f1b36031c1a1d2b03031400fb2c000c2b03031e1400fb2b031c05011d30002b031c432c00032b031d4600132b031d2000011036031d251d102b000105001d3f1b102b01022b000114000d05011d3f1b2b02083200080e00052b0505443a4600192b05191e1400fc05001e14000c07000020bc080005012d002a102b05052b0217420e00fd0100fe05021e14000c07000020c6080105011e14010207000020e6080005011e14000c07000020f0080105011e14000c0700002100080105011e14000c2b00010700002104080105021b102b03202b031705011b2b00011400ff4846000c0e01002b0317350e010135162b00011e14001305001b102b03202b031705011b2b06041e14000b2b00012b020105021b2b00011b102b030a0e01032b00013505011d102b031e2b000105011d3f1b2b05041e1400112b00012b010105021e14000c2b0103070000213e080105021b102b030a0e01052b00013505011d102b030a0e010605011d102b02042b020305011b2b01031400f61400f92b01030e0107251e140108102b000005021b2b01031400f61401092b01030e010a2536012e251e140108102b000005021b2b01031400f614010b2b01030e010c251e140108102b000005021b2b01031400f614010d2b01030e010e251e140108102b000005021b2b01031400f614010f2b01030e0110251e140108102b000005021b2b01031400f61401112b01030e0112251e140108102b000005021b2b01031400f61401132b01030e0114251e140108102b000005021b2b01031400f61401152b01030e0116251e140108102b000005021b2b01031400f61401172b01030e0118251e140108102b000005021b2b01031400f61401192b01030e011a251e140108102b000005021b2b01031400f614011b2b01030e011c25360130251e140108102b000005021b2b01031400f614011d2b01030e011e25360131251e140108102b000005021b2b01031400f614011f2b01030e012025360132251e140108102b000005021b070000232708002000022b011c3000023200421007000023d1080005001d2b011c30000232002e2b010314012546001f2b01031e1401250e012605011d102b041a07000024320800300105022d0006102b000205001d3f1b2b022f32004030004836022f251d3000482b02030e0121251d2b0210320027102b02212b021a05011d2b02031401222c00092b02031e14012205001d100700002370080005001d3f1b2b030314012346004c0e00052b030314012344432c00102b03031401230300012b03030e0123251d2b03031401231400094600212b03031401231e1400490500360001251d2b031b1e1400fa2b000105011d2dffd3102b03212b031b05011d3f1b2b020314012446004c0e00052b020314012444432c00102b02031401240300012b02030e0124251d2b02031401241400094600212b02031401241e1400490500360001251d2b02191e1400fa2b000105011d2dffd3102b02212b021905011d3f1b102b051a070000244b0800300105021d102b010205001d3f1b2b03031e1401250e000405011d3f1b4207000025380b0101012807000025950b010101292000061007000025b508012b0001050120000703000020000830002000092b0004460068300020000a2b000a2b00041400092e4600562b00062b00032b000a2a2a20000b2b000b46002b30002b00090f2c000a102b01300500360009251d102b000b2b00042b000a2a05012b00082b000a252d000e2b00042b000a2a2b00082b000a251d36000a241d2dff9d2b00071e140108102b0008050220000d2b000d36000c251d30002b0009122c0009102b01312b000905011d1007000025c108012b000c050136000d251b3000200002102b00013a2c000630002b00011246002e30012b000114000930021f3520000310070000258008032b0001102b03322b00030501360002252b00030503481d2b00021b102b04132b00012b040d2b00022b000305041d3f1b102b03322b00011400090501200002102b03152b00012b000205021d2b00021b2b02030e006d2b0001352a1b0e01282b01020f46000c102b02122b000105012d00190e012a2b01020f46000c102b051b2b000105012d00032b00011b102b01142b00010501300135200002102b012e2b000205012000032b00032c0012102b01132b00012b010c2b00032b000205041d2b00031b2b022f320006102b023305001d2b022f3200072b010036021d251d3f1b2b021914013232000e070000266008002b02190e0132251d3f1b422000012b0319070000267c080231012b00010e0134251d2b00011b2b00012b01010e00fc251d2b00022b01010e0133251d3f1b102b010505001d3f1b07000026d60800200001102b02262b0001420e00fc010135070000271c0b01010136420e0133010135070000271e0b0101013603000205021b102b03273b2b010105021d2b0319070000270a080231012000032b00012b00030e00fc251d2b00022b00030e0133251d2b00031b2b0001360101251d2b0002360102251d3f1b3f1b3f1b0e00042b00010f4600040e00041b03000020000230002000032b00032b00011400092e46001e2b00021e1400702b00011e14000a2b0003050105011d360003241d2dffd52b00021b07000027f60800200001102b02262b0001420e005801013507000028030b00010136420e013a01013507000028500b02010136420e013c01013507000029850b02010136420e013d0101350700002a850b03010136420e013e0101350700002ba60b02010136420e013f0101350700002c6f0b01010136420e01400101350700002d0f0b0001013603000705021b102b03273b2b010105021d3f1b2b030731002000014207000028350b0001012207000028410b010100423b0e0139251d102b03043b14013905011d2b00011b2b02011e1400fc05001d3f1b2b02011e1401332b000105011d3f1b2b00001400093002022c00082b000030022a3f124600092b000030022a2d000230102000032b00001400093003022c00082b000030032a3f124600092b000030032a2d00062b03091401372000040d001d3b1401391e14010c2b000505011d3b1401391e14010c2b000605011d0c4500112000082b040a1e1400282b000805011d0c2800ae102b03082b04081e14013b2b0001050105012000073b1401391e14010a102b041c2b000714000905010501360005251d3b1401391400391e1400382b00072b000505021d2b00023200052b04033100360002251d2b04032b00023101360002251d3b1401391e14010a2b000214005c0501360006251d3b1401391400391e1400382b00022b000605021d3b1401391e1401142b00042b00052b00071400092b00032b000214005c2b000605061d0c3f1b2b00001400093002022c00082b000030022a3f124600092b000030022a2d00062b03091401372000030d001d3b1401391e14010c2b000405011d3b1401391e14010c2b000505011d0c4500112000082b040a1e1400282b000805011d0c28009e2b04032b000231012000063b1401391e14010a2b000114005c0501360004251d3b1401391400391e1400382b00012b000405021d3b1401391e14010a2b000614005c0501360005251d3b1401391400391e1400382b00062b000505021d3b1401391e1401102b00032b00042b000114005c2b000505041d3b14013914003c1e1400ef2b00042b00042b000114005c3505022000072b04032b000731011b0c3f1b2b00001400093003022c00082b000030032a3f124600092b000030032a2d000230102000040d002b3b1401391e14010c2b000605011d3b1401391e14010c2b000705011d3b1401391e14010c2b000505011d0c45001120000a2b040a1e1400282b000a05011d0c2800b52b04032b000231012000082b04032b000331012000093b1401391e14010a2b000814005c0501360005251d3b1401391400391e1400382b00082b000505021d3b1401391e14010a2b000114005c0501360006251d3b1401391400391e1400382b00012b000605021d3b1401391e14010a2b000914005c0501360007251d3b1401391400391e1400382b00092b000705021d3b1401391e1401122b00052b000814005c2b00062b000114005c2b00072b000405061d0c3f1b0d001d3b1401391e14010c2b000305011d3b1401391e14010c2b000405011d0c4500112000062b040a1e1400282b000605011d0c2800902b04032b000231012000053b1401391e14010a2b000114005c0501360003251d3b1401391400391e1400382b00012b000305021d3b1401391e14010a2b000514005c0501360004251d3b1401391400391e1400382b00052b000405021d3b1401391e1401162b00032b000114005c2b000405031d3b14013914003c1e1400ef2b00032b00032b000114005c3505021b0c3f1b2b00001400093001022c00082b000030012a3f124600092b000030012a2d00062b03091401382000020d000f3b1401391e14010c2b000305011d0c4500112000052b040a1e1400282b000505011d0c28004c2b04032b000131012000043b1401391e14010a2b000414005c0501360003251d3b1401391400391e1400382b00042b000305021d3b1401391e14011a2b00032b000414005c2b000205031d0c3f1b3b1401392c0006103b0e0139251d3f1b2b00010e00d73c2c00072b00010e01413e46001a2b00011e14000a300005010e00d71e14000a300005012f2d00342b00010e007b3c2c00072b00010e01423e46001d2b00011e14000a300005010e007b1e14000a300005012f300a352d00030400ff1b2b000130002a1e14000a05002b000130012a1e14000a05003d2b000130022a1e14000a05003d0e00d71e14000a300005012f2000032b00022b00032f30012f2000042b03162b000431012000052b03162b000331012000062b0003360007251d2b00073000024600572b030c1e1400372b00012b00022b00032f30022f2a1e14000a05002b00012b00022b00032f30012f2a1e14000a05003d2b00012b00022b00072f2a1e14000a05003d05012b00062b00032b00072f113600071a1d2dffa03000360007251d2b00072b00042e4600192b00012b00073001352a2b00052b000711360007241d2dffdd422b00050101432b00040101442b00061e1401450e000405010101462b00030101471b30002000023000360002251d30002b0001124600172b00012b000130012f49360001251d360002241d2dffe02b00021b2b0001102b020d2b00020501352b0003352000042b030c1e1400370400ff2b00044905011b2b00011e14000a0500102b020d2b000205012f2b00032f2000042b030c1e1400370400ff2b00044905011b30552000050400fa20000630002000072b00072b00022e4600962b000730021730014346002a2b00052b00012b00072a1e14000a05003d360004251d2b00012b00072a1e14000a0500360005252d00272b00062b00012b00072a1e14000a05003d360004251d2b00012b00072a1e14000a0500360006251d30002b00030f460011102b020f2b00042b0007301505032d000e102b020e2b00042b0007301505032b00012b0007251d360007241d2dff602b00011b30552000040400fa200005102b02122b000105011d30002000092b00092b00022e4601072b00012b00092a1e14000a30000501360008251d2b0008307f022c000b2b00080401002f360008251d2b000930021730014346001e2b00042b00083d360006251d2b0008360004251d2b0005360007252d001b2b00052b00083d360006251d2b0008360005251d2b0004360007251d2b0006307f022c000b2b00060401002f360006251d30002b00030f460011102b020f2b00062b0009301505032d000e102b020e2b00062b0009301505031e14000a3000050120000a2b000a307f022c000b2b000a0401002f36000a251d2b000a2b00072f20000b2b000b30002e2c000b2b000b0401003536000b251d2b030c1e1400372b000b05012b00012b0009251d360009241d2dfeef102b02122b000105011d2b00011b2b000114000920000230002000042b00042b00022e2c000a2b00042b000230012f1246003a2b00012b00042a360003251d2b00012b00043001352a2b00012b0004251d2b00032b00012b0004300135251d2b0004300235360004251d2dffaf2b00011b2b00001400093002022c00082b000030022a3f124600092b000030022a2d000230012000032b00012000042b00023200062b0004140009200002102b010c2b00042b000205022000052b00051401432000062b00051401442000072b00051401472000082b00051401462000092b00090e01482100220e014921001c0e014a2100160e014b2100100e014c21001f0e014d2100191d2d0027102b01102b00062b00072b000305032000062d0012102b01112b00062b00072b00030503200006102b010b2b000630002a05012000082b00072b00082f30012f20000a2b02162b000a300135310120000b0e00042b000b2b000a11300020000c300036000c251d2b000c2b000a2e4600192b00062b000c3001352a2b000b2b000c1136000c241d2dffdd2b000b1e1401450e000405011b07000032db0800200001102b02262b0001420e014e01013507000032e80b01010136420e014f01013507000032f60b00010136030002420e015101013507000033110b0001013603000105031b102b03273b2b010105021d3f1b2b04071e1400173b2b000105021b3b14015031002000012b04071e1400172b00013b05021d2b00011b2b00001400092000012b04162b0001310120000230002000032b00032b00012e4600162b00002b00032a2b00022b000311360003241d2dffe0102b04283b2b000205021b07000033d10800200002102b02292b00022b000105021d102b02262b0002420e00d601013507000035570b00010136420e015601013507000035880b01010136420e0157010135070000366e0b00010136420e014f01013507000036bb0b00010136030004420e015a01013507000036ec0b0101013603000105031b2b00001400093000022c00082b000030002a3f124600092b000030002a2d00030300002000022b00001400093001022c00082b000030012a3f124600092b000030012a2d000930042b00021400090a200003102b03273b2b010205021d102b032b3b2b010205022000012b00022000042b00042b03064c2c000c2b03032b00043101360004251d2b00042b030d4c3200072b00042b031d4c3200072b00042b030e4c3200072b00042b03104c3200072b00042b030f4c3200072b00042b03114c3200072b00042b03124c3200072b00042b03134c2c001b2b03032b000414005d2b00041401522b000414005c3103360004251d2b00042b03034c46006f2b000414005c20000503000020000630002000072b00072b00052e4600382b00062b00073002272a2b00042b00072a30182b000730041730080a2f1f332b00062b0007300227251d2b0007300135360007251d2dffbe2b00062b00010e0153251d2b00052b00010e0154251d2d00162b00022b00010e0153251d2b00032b00010e0154251d2b00011b2b00001400093000022c00082b000030002a3f124600092b000030002a2d00032b03152000012b00011e1401553b05011b3b1401532000022b00011401532000033b1401542000042b00011401542000053b1e14015705001d2b000430041746007030002000062b00062b00052e46005e2b00032b00063002272a30182b000630041730080a2f270400ff492000072b00022b00042b0006353002272a2b000730182b00042b00063530041730080a2f1f332b00022b00042b000635300227251d2b0006300135360006251d2dff982d003530002000082b00082b00052e4600262b00032b00083002272a2b00022b00042b000835300227112b0008300435360008251d2dffd03b1401542b0005353b0e0154251d3b1b3b1401532000013b1401542000022b00012b00023002272a40015830202b000230041730080a2f1f492b00012b0002300227251d2b04171e1400e82b000230044705012b00010e0009251d3f1b102b042a2b02020e014f3b300105041e1401593b05012000013b1401531e1400ef300005012b00010e0153251d2b00011b03000020000207000037690b0120000330002000052b00052b00012e460052102b000340015b2b00043200092b04171e14015a05000a0501200006073ade67b7102b000605000a360004251d2b00021e14007040015b102b000605000a30003305011d2b0005300435360005251d2dffa42b02022b00022b000131021b2b0001200002073ade68b1200003400158200004070000378508001b0700009069070000ffff2b0103490a2b0103301009352b010449360103251d044650070000ffff2b0102490a2b0102301009352b010449360102251d2b010330101f2b0102352b0104492000012b000140015b47360001251d2b000140015c35360001251d2b00012b07171e14015a050040015c0246000530012d00033001000a1b2b00011401532000022b000114015420000303000020000430002000052b00052b00032e46005c2b00022b00053002272a30182b000530041730080a2f270400ff492000062b00041e1400702b00063004271e1400d63010050105011d2b00041e140070300f2b0006491e1400d63010050105011d2b0005300135360005251d2dff9a2b00041e1401450e000405011b2b000114000920000203000020000330002000042b00042b00022e4600472b00032b00043003272a102b031e2b00011e14001d2b0004300205023010050230182b000430081730040a2f1f332b00032b0004300327251d2b0004300235360004251d2dffaf2b02142b00032b000230024731021b2b00011401532000022b000114015420000303000020000430002000052b00052b00032e4600422b00022b00053002272a30182b000530041730080a2f270400ff492000062b00041e1400702b030c1e1400372b0006050105011d2b0005300135360005251d2dffb42b00041e1401450e000405011b2b000114000920000203000020000330002000042b00042b00022e4600412b00032b00043002272a0400ff2b00011e14000a2b000405014930182b000430041730080a2f1f332b00032b0004300227251d2b0004300135360004251d2dffb52b02142b00032b000231021b45000d2000022b03020e015e3101160c28001a102b031f102b03202b02161e1401552b00010501050105011b0c3f1b2b02161e14015d102b0321102b03222b00010501050105011b0700003a9c0800200002102b02292b00022b000105021d102b02262b0002420e01600101350700003ac40b00010136420e01630101350700003ad90b01010136420e01640101350700003b1c0b01010136420e014f0101350700003bf90b0001013603000405021b102b03273b2b010205021d102b032b3b2b01020502360001251d30002b00010e015f251d2b00011b2b031431003b0e0161251d30003b0e0162251d3f1b2b00012000020e01282b000244432c00102b03171e14015d2b00020501360002251d3b1401611e1401562b000205011d3b1401622b0002140154353b0e0162251d3f1b3b1401612000033b1401652000042b00031401532000052b00031401542000062b000630042b00040a472000072b000146000f2b04171e1400e82b000705012d00162b04171e14008130002b0007333b14015f2f300005022000072b00072b00040a2000082b04171e14008030042b00080a2b000605022000092b0008460051300020000a2b000a2b00082e46001d3b1e1401662b00052b000a05021d2b000a2b00043536000a251d2dffd92b00051e14016730002b00080502360002251d2b00031401542b00092f2b00030e0154251d2b03142b00022b000931021b102b042a2b02020e014f3b300105041e1401593b05012000013b1401611e14014f05002b00010e0161251d2b00011b0700003ca40801200002102b02292b00022b000105021d102b02262b0002420e01600101350700003cef0b00010136420e016a0101350700003d100b01010136420e016b0101350700003d250b01010136030003420e016d0101350700003d3e0b01010136420e016e0101350700003d580b0101013603000205031b102b03273b2b010205021d102b032b3b2b01020502360002251d30102b00020e0165251d2b03071e1400172b021331002b000105022b00020e0168251d2b00021e14016005001d2b00021b102b042a2b02020e01603b300105041e1401593b05011d3b1e14016905001d3f1b3b1e1401632b000105011d3b1e14016405001d3b1b2b00012c000a3b1e1401632b000105011d3b1e14016c05001b0700003d4608021b2b01012b000231011e14016b2b000105011b0700003d6008021b2b041a2b01012b000231021e14016b2b000105011b0700003dcc0802200002102b02292b00022b000105021d102b02262b0002420e01600101350700003ef80b00010136420e016a0101350700003f190b01010136420e016b0101350700003f290b0101013603000305021b102b03273b2b010205021d102b032b3b2b010205022000032b000131002000042b00042b000315016f2b00022000050e01282b000544432c00102b02171e14015d2b00050501360005251d2b000414016520000630042b00060a2000072b00051401542b0007022c00102b00041e14016b2b00020501360005251d2b00051e14015705001d2b00051e14014f05002000082b00082b00031501702b00051e14014f05002000092b00092b00031501712b000814015320000a2b000914015320000b300020000c2b000c2b00062e4600382b000a2b000c2a075c5c5c5c3d2b000a2b000c251d2b000b2b000c2a07363636363d2b000b2b000c251d2b000c30013536000c251d2dffbe2b00072b00080e0154251d2b00072b00090e0154251d2b00031e14016005001d2b00031b3b14016f2000012b00011e14016005001d2b00011e14016a3b14017105011d3f1b3b14016f1e14016a2b000105011d3b1b3b14016f2000022b00021e14016b2b000105012000032b00021e14016005001d2b00021e14016b3b1401701e14014f05001e1401562b0003050105011b030000200004300020000530002000062b00062b00022e4600862b000630041746006f2b00032b00011e14000a2b000630012f05012a2b000630041730020a1f2b00032b00011e14000a2b000605012a30062b000630041730020a2f27332000072b00042b00053002272a2b000730182b000530041730080a2f1f332b00042b0005300227251d2b0005300135360005251d2b0006300135360006251d2dff702b02141e1401512b00042b000505021b2b00011401532000022b00011401542000033b1401722000042b00011e14015705001d03000020000530002000062b00062b00032e4600c72b00022b00063002272a30182b000630041730080a2f270400ff4930101f2b00022b00063001353002272a30182b000630013530041730080a2f270400ff4930081f332b00022b00063002353002272a30182b000630023530041730080a2f270400ff493320000730002000082b000830042e2c000f2b00064001732b00080a352b00032e4600312b00051e1400702b00041e1401742b0007300630032b00082f0a27303f49050105011d2b0008300135360008251d2dffb42b0006300335360006251d2dff2f2b00041e140174304005012000092b000946001c2b00051400093004174600102b00051e1400702b000905011d2dffe42b00051e1401450e000405011b2b00011400092000023b1401722000033b1401752000042b0004484600450300003b0e0175251d3b140175360004251d30002000052b00052b00031400092e4600212b00052b00042b00031e14000a2b00050501112b0005300135360005251d2dffd22b00031e140174304005012000062b00064600212b00011e14001b2b000605012000073001002b0007122c00072b0007360002251d102b021b2b00012b00022b000405031b2b00012b00022b0003492b0002192b00044933352b0005352b0007352000082b00082b00061f2b000830202b00062f27332b0002351b2b00012b00022b0004492b00032b0004194933352b0005352b0007352000082b00082b00061f2b000830202b00062f27332b0002351b2b00012b00022b00033d2b00043d352b0005352b0007352000082b00082b00061f2b000830202b00062f27332b0002351b2b00012b00032b00022b000419333d352b0005352b0007352000082b00082b00061f2b000830202b00062f27332b0002351b07000043310800200002102b02292b00022b000105021d102b02262b0002420e0169010135070000434a0b00010136420e016601013507000043680b02010136420e016c0101350700004d9a0b00010136420e014f0101350700004ef00b0001013603000405021b102b03273b2b010205021d102b032b3b2b01022b000005031b2b03140767452301400178400179071032547603000431013b15017a3f1b2b000120000330002000042b000430102e46004e2b00022b0004352000052b00012b00052a2000060700ff00ff2b000630081f2b0006301827334940017b2b000630181f2b00063008273349332b00032b0005112b0004300135360004251d2dffa93b14017a1401532000072b00032b00023000352a2000082b00032b00023001352a2000092b00032b00023002352a20000a2b00032b00023003352a20000b2b00032b00023004352a20000c2b00032b00023005352a20000d2b00032b00023006352a20000e2b00032b00023007352a20000f2b00032b00023008352a2000102b00032b00023009352a2000112b00032b0002300a352a2000122b00032b0002300b352a2000132b00032b0002300c352a2000142b00032b0002300d352a2000152b00032b0002300e352a2000162b00032b0002300f352a2000172b000730002a2000182b000730012a2000192b000730022a20001a2b000730032a20001b102b031f2b00182b00192b001a2b001b2b000830072b031d30002a0507360018251d102b031f2b001b2b00182b00192b001a2b0009300c2b031d30012a050736001b251d102b031f2b001a2b001b2b00182b00192b000a30112b031d30022a050736001a251d102b031f2b00192b001a2b001b2b00182b000b30162b031d30032a0507360019251d102b031f2b00182b00192b001a2b001b2b000c30072b031d30042a0507360018251d102b031f2b001b2b00182b00192b001a2b000d300c2b031d30052a050736001b251d102b031f2b001a2b001b2b00182b00192b000e30112b031d30062a050736001a251d102b031f2b00192b001a2b001b2b00182b000f30162b031d30072a0507360019251d102b031f2b00182b00192b001a2b001b2b001030072b031d30082a0507360018251d102b031f2b001b2b00182b00192b001a2b0011300c2b031d30092a050736001b251d102b031f2b001a2b001b2b00182b00192b001230112b031d300a2a050736001a251d102b031f2b00192b001a2b001b2b00182b001330162b031d300b2a0507360019251d102b031f2b00182b00192b001a2b001b2b001430072b031d300c2a0507360018251d102b031f2b001b2b00182b00192b001a2b0015300c2b031d300d2a050736001b251d102b031f2b001a2b001b2b00182b00192b001630112b031d300e2a050736001a251d102b031f2b00192b001a2b001b2b00182b001730162b031d300f2a0507360019251d102b03202b00182b00192b001a2b001b2b000930052b031d30102a0507360018251d102b03202b001b2b00182b00192b001a2b000e30092b031d30112a050736001b251d102b03202b001a2b001b2b00182b00192b0013300e2b031d30122a050736001a251d102b03202b00192b001a2b001b2b00182b000830142b031d30132a0507360019251d102b03202b00182b00192b001a2b001b2b000d30052b031d30142a0507360018251d102b03202b001b2b00182b00192b001a2b001230092b031d30152a050736001b251d102b03202b001a2b001b2b00182b00192b0017300e2b031d30162a050736001a251d102b03202b00192b001a2b001b2b00182b000c30142b031d30172a0507360019251d102b03202b00182b00192b001a2b001b2b001130052b031d30182a0507360018251d102b03202b001b2b00182b00192b001a2b001630092b031d30192a050736001b251d102b03202b001a2b001b2b00182b00192b000b300e2b031d301a2a050736001a251d102b03202b00192b001a2b001b2b00182b001030142b031d301b2a0507360019251d102b03202b00182b00192b001a2b001b2b001530052b031d301c2a0507360018251d102b03202b001b2b00182b00192b001a2b000a30092b031d301d2a050736001b251d102b03202b001a2b001b2b00182b00192b000f300e2b031d301e2a050736001a251d102b03202b00192b001a2b001b2b00182b001430142b031d301f2a0507360019251d102b03212b00182b00192b001a2b001b2b000d30042b031d30202a0507360018251d102b03212b001b2b00182b00192b001a2b0010300b2b031d30212a050736001b251d102b03212b001a2b001b2b00182b00192b001330102b031d30222a050736001a251d102b03212b00192b001a2b001b2b00182b001630172b031d30232a0507360019251d102b03212b00182b00192b001a2b001b2b000930042b031d30242a0507360018251d102b03212b001b2b00182b00192b001a2b000c300b2b031d30252a050736001b251d102b03212b001a2b001b2b00182b00192b000f30102b031d30262a050736001a251d102b03212b00192b001a2b001b2b00182b001230172b031d30272a0507360019251d102b03212b00182b00192b001a2b001b2b001530042b031d30282a0507360018251d102b03212b001b2b00182b00192b001a2b0008300b2b031d30292a050736001b251d102b03212b001a2b001b2b00182b00192b000b30102b031d302a2a050736001a251d102b03212b00192b001a2b001b2b00182b000e30172b031d302b2a0507360019251d102b03212b00182b00192b001a2b001b2b001130042b031d302c2a0507360018251d102b03212b001b2b00182b00192b001a2b0014300b2b031d302d2a050736001b251d102b03212b001a2b001b2b00182b00192b001730102b031d302e2a050736001a251d102b03212b00192b001a2b001b2b00182b000a30172b031d302f2a0507360019251d102b03222b00182b00192b001a2b001b2b000830062b031d30302a0507360018251d102b03222b001b2b00182b00192b001a2b000f300a2b031d30312a050736001b251d102b03222b001a2b001b2b00182b00192b0016300f2b031d30322a050736001a251d102b03222b00192b001a2b001b2b00182b000d30152b031d30332a0507360019251d102b03222b00182b00192b001a2b001b2b001430062b031d30342a0507360018251d102b03222b001b2b00182b00192b001a2b000b300a2b031d30352a050736001b251d102b03222b001a2b001b2b00182b00192b0012300f2b031d30362a050736001a251d102b03222b00192b001a2b001b2b00182b000930152b031d30372a0507360019251d102b03222b00182b00192b001a2b001b2b001030062b031d30382a0507360018251d102b03222b001b2b00182b00192b001a2b0017300a2b031d30392a050736001b251d102b03222b001a2b001b2b00182b00192b000e300f2b031d303a2a050736001a251d102b03222b00192b001a2b001b2b00182b001530152b031d303b2a0507360019251d102b03222b00182b00192b001a2b001b2b000c30062b031d303c2a0507360018251d102b03222b001b2b00182b00192b001a2b0013300a2b031d303d2a050736001b251d102b03222b001a2b001b2b00182b00192b000a300f2b031d303e2a050736001a251d102b03222b00192b001a2b001b2b00182b001130152b031d303f2a0507360019251d2b000730002a2b0018353000332b00073000251d2b000730012a2b0019353000332b00073001251d2b000730022a2b001a353000332b00073002251d2b000730032a2b001b353000332b00073003251d3f1b3b1401612000012b000114015320000230083b1401620a20000330082b00011401540a2000042b00022b00043005272a04008030182b00043020172f1f332b00022b0004300527251d2b04171e14017c2b000340015b4705012000052b00032000060700ff00ff2b000530081f2b0005301827334940017b2b000530181f2b00053008273349332b0002300f2b000430403530092730041f35251d0700ff00ff2b000630081f2b0006301827334940017b2b000630181f2b00063008273349332b0002300e2b000430403530092730041f35251d30042b00021400093001350a2b00010e0154251d3b1e14016405001d3b14017a2000072b000714015320000830002000092b000930042e4600442b00082b00092a20000a0700ff00ff2b000a30081f2b000a301827334940017b2b000a30181f2b000a3008273349332b00082b0009112b0009300135360009251d2dffb32b00071b102b042a2b02020e014f3b300105041e1401593b05012000013b14017a1e14014f05002b00010e017a251d2b00011b0700004f540801200002102b02292b00022b000105021d102b02262b0002420e01800101350700004f9c0b0201013603000105021b102b03273b2b010205021d102b032b3b2b01020502360002251d2b03071e1400172b0213310042300401017d2b022301017e300101017f2b000105032b00020e0168251d2b00021b3b1401682000042b000414017e1e14015105002000052b03141e14015105002000062b00061401532000072b000414017d2000082b000414017f2000092b00071400092b00082e46007f2b00032c000c2b00051e14016a2b000305011d2b00051e14016a2b000105011e14016b2b00020501360003251d2b00051e14016005001d300120000a2b000a2b00092e4600292b00051e14016b2b00030501360003251d2b00051e14016005001d2b000a30013536000a251d2dffcd2b00061e1401562b000305011d2dff7430042b00080a2b00060e0154251d2b00061b07000051040803200002102b02292b00022b000105021d102b02262b0002420e0160010135070000515b0b00010136420e0183010135070000517c0b01010136420e016b010135070000518f0b01010136030003420e018401013507000051a80b02010136420e018601013507000051ba0b02010136420e016d01013507000051cc0b0101013603000305031b102b03273b2b010205021d102b032b3b2b01020502360004251d2b03071e1400172b021331002b000305022b00040e0168251d2b00012b00040e0181251d2b00022b00040e0182251d2b00041e14016005001d2b00041b102b042a2b02020e01603b300105041e1401593b05011d3b1e14016905001d3f1b3b1e1401632b000105011d3b1e14016405001b2b00012c000a3b1e1401632b000105011d3b1e14016c05001b3b1e1401513b1401852b00012b000205031b3b1e1401513b1401872b00012b000205031b07000051ec0b012000024207000052010b03010188070000521d0b030101891b0e01282b000144434600062b052f2d00032b052d1b102b02022b000205011e1401882b02012b00012b00022b000305041b102b02022b000205011e1401892b02012b00012b00022b000305041b07000052800802200002102b02292b00022b000105021d102b02262b000210420e018401013507000052b40b02010136420e018601013507000052c50b0201013603000205031b102b03273b2b010205021d102b032b3b2b01020502360003251d2b00012b00030e018b251d2b00022b00030e018c251d2b00031b3b14018d1e1401512b00012b000205021b3b14018e1e1401512b00012b000205021b2b00012000043b14018c2000062b00064600132b0006360005251d3000233b0e018c252d00083b14018f360005251d30002000072b00072b00032e46002d2b00042b00022b0007352a2b00052b00072a3d2b00042b00022b000735251d2b0007300135360007251d2dffc93f1b07000053640800200002102b02292b00022b000105021d102b02262b000205011b102b03273b2b010205021d102b032b3b2b01022b000005031b07000053b20800200002102b02292b00022b000105021d102b02262b0002420e019001013507000053cb0b0201013603000105021b102b03273b2b010205021d102b032b3b2b01022b000005031b3b14018b2000032b00031401652000042b03271e1401593b2b00012b00022b000405041d2b00031e1401912b00012b000205021d2b00011e1400ef2b00022b00022b00043505023b0e018f251d3f1b070000544f0800200002102b02292b00022b000105021d102b02262b0002420e019001013507000054680b0201013603000105021b102b03273b2b010205021d102b032b3b2b01022b000005031b3b14018b2000032b00031401652000042b00011e1400ef2b00022b00022b00043505022000052b00031e1401922b00012b000205021d2b03271e1401593b2b00012b00022b000405041d2b00053b0e018f251d3f1b30042b00020a2000032b00032b00011401542b0003172f2000042b000430181f2b000430101f332b000430081f332b00043320000503000020000630002000072b00072b00042e46001b2b00061e1400702b000505011d2b0007300435360007251d2dffdb2b02141e1401512b00062b000405022000082b00011e1401562b000805011d3f1b2b00012000020400ff2b00021401532b000214015430012f3002272a492000032b00021401542b00032f2b00020e0154251d3f1b07000055ce0803200002102b02292b00022b000105021d102b02262b0002420e016001013507000056180b00010136420e016601013507000056a40b02010136420e016c01013507000056b70b0001013603000305021b102b03273b2b010205021d102b032b3b2b01022b00012b00022b03071e140017422b02280101952b02290101962b000305020300030503360004251d30042b00040e0165251d2b00041b102b042a2b02020e01603b300105041e1401593b05011d3b1401682000022b00021401972000032b00021401952000043b1401813b1401501401850f46000d2b0004140184360001252d00122b0004140186360001251d30013b0e015f251d2b00011e1401592b00043b2b00032c00062b000314015305033b0e0198251d2b00013b1401980e0199251d3f1b3b1401981e1401902b00012b000205021d3f1b3b1401681401962000023b1401813b1401501401850f4600232b00021e1401933b1401613b14016505021d3b1e1401643000480501360001252d001b3b1e1401643000480501360001251d2b00021e1401942b000105011d2b00011b07000057480801200002102b02292b00022b000105021d102b02262b0002420e00d601013507000057730b0101013603000105021b102b03273b2b010205021d102b032b3b2b01020502360002251d2b00021e14014e2b000105011d2b00021b2b00013200043b14019a1e1401553b05011b2b000114019b2000032b000114019c2000042b000446002b2b02141e1401510753616c740765645f5f03000205011e1401562b000405011e1401562b000305012d00032b0003360002251d2b00021e1400d62b021c05011b2b021c1e14015d2b000105012000032b00031401532000040753616c742b000430002a0f2c000c0765645f5f2b000430012a0f2c00392b02141e1401512b00041e1400ef3002300405020501360002251d2b00041e1401673000300405021d2b000314015430102f2b00030e0154251d2b022b1e140151422b000301019b2b000201019c05011b07000058bc0800200002102b02292b00022b000105021d102b02262b000210420e018801013507000058d50b04010136420e018901013507000059610b04010136420e019f01013507000059ae0b0201013603000305031b102b03273b2b010205021d102b032b3b2b01022b000005031b2b04071e1400172b031331003b1401682b000405032000052b00011e1401842b00032b000505022000062b00061e14016b2b000205012000072b00061401682000082b032b1e140151422b000701019b2b00030101352b00081401970101972b000101019d2b00081401950101952b00081401960101962b00061401650101652b000514019e01019a05011b2b00022000052b04071e1400172b031331003b1401682b000405032000063b1e14019f2b00052b000614019e05022000052b00011e1401862b00032b000605021e14016b2b000514019b05011b0e01282b000144434600102b00021e14015d2b00013b05022d00032b00011b2b00042000052b000532000f2b02141e14015a30080501360005251d2b02241e140151422b00022b00033501017d05011e1401802b00012b000505022000062b02141e1401512b00061401531e1400ef2b0002050130042b00030a050220000730042b00020a2b00060e0154251d2b022b1e140151422b00060101352b00070101972b000501019c05011b0700005a9f0800200002102b02292b00022b000105021d102b02262b000210420e01880101350700005ab80b04010136420e01890101350700005b2a0b0401013603000205031b102b03273b2b010205021d102b032b3b2b01022b000005031b2b04071e1400172b031331003b1401682b000405032000052b00051401a11e1401a02b00032b000114017d2b000114018a05032000062b00061401972b00051501972b032d1401881e1401593b2b00012b00022b00061401352b000505052000072b00071e14014e2b000605011d2b00071b2b00022000052b04071e1400172b031331003b1401682b000405032000063b1e14019f2b00052b000614019e05022000052b00061401a11e1401a02b00032b000114017d2b000114018a2b000514019c05042000072b00071401972b00061501972b032d1401891e1401593b2b00012b00052b00071401352b000605051b0700005c100800200002102b02292b00022b000105021d102b02262b0002420e01690101350700005c290b00010136420e01910101350700005e740b02010136420e01920101350700005e970b02010136420e01a60101350700005f220b0801013603000405021b102b03273b2b010205021d102b032b3b2b01022b000005031b3b1401a22c00093b1401a33b1401820f4600023f1b3b1401823b1501a33b1401a32000022b00021401532000032b00021401543004472000042b00043006353b1501a230043b1401a23001350a2000050300003b1501a43b1401a420000630002000072b00072b00052e4601212b00072b00042e4600112b00032b00072a2b00062b0007252d00f72b00062b000730012f2a360001251d2b00072b00041746005a2b00043006022c000a2b00072b0004173004432c00412b03302b00013018272a30181f2b03302b00013010270400ff492a30101f332b03302b00013008270400ff492a30081f332b03300400ff2b0001492a33360001252d006d2b000130081f2b000130182733360001251d2b03302b00013018272a30181f2b03302b00013010270400ff492a30101f332b03302b00013008270400ff492a30081f332b03300400ff2b0001492a33360001251d2b00012b03442b00072b0004473000332a30181f3d360001251d2b00062b00072b00042f2a2b00013d2b00062b0007251d2b0007300135360007251d2dfed50300003b1501a53b1401a520000830002000092b00092b00052e46009e2b00052b00092f20000a2b000930041746000a2b00062b000a2a2d000a2b00062b000a30042f2a360001251d2b000930042e3200062b000a30043e4600062b00012d00442b03362b03302b00013018272a2a2b03372b03302b00013010270400ff492a2a3d2b03382b03302b00013008270400ff492a2a3d2b03392b03300400ff2b0001492a2a3d2b00082b0009251d2b0009300135360009251d2dff583f1b3b1e1401a62b00012b00023b1401a42b03322b03332b03342b03352b033005081d3f1b2b00012000032b00032b00023001352a2000042b00032b00023003352a2b00032b0002300135251d2b00042b00032b0002300335251d3b1e1401a62b00032b00023b1401a52b03362b03372b03382b03392b033105081d2b00032b00023001352a360004251d2b00032b00023003352a2b00032b0002300135251d2b00042b00032b0002300335251d3f1b2b00012000093b1401a220000a2b00092b00022a2b000330002a3d20000b2b00092b00023001352a2b000330012a3d20000c2b00092b00023002352a2b000330022a3d20000d2b00092b00023003352a2b000330032a3d20000e300420000f30012000102b00102b000a2e4601562b00042b000b3018272a2b00052b000c3010270400ff492a3d2b00062b000d3008270400ff492a3d2b00070400ff2b000e492a3d2b00032b000f2a3d2000112b000f30013536000f251d2b00042b000c3018272a2b00052b000d3010270400ff492a3d2b00062b000e3008270400ff492a3d2b00070400ff2b000b492a3d2b00032b000f2a3d2000122b000f30013536000f251d2b00042b000d3018272a2b00052b000e3010270400ff492a3d2b00062b000b3008270400ff492a3d2b00070400ff2b000c492a3d2b00032b000f2a3d2000132b000f30013536000f251d2b00042b000e3018272a2b00052b000b3010270400ff492a3d2b00062b000c3008270400ff492a3d2b00070400ff2b000d492a3d2b00032b000f2a3d2000142b000f30013536000f251d2b001136000b251d2b001236000c251d2b001336000d251d2b001436000e251d2b0010300135360010251d2dfea02b00082b000b3018272a30181f2b00082b000c3010270400ff492a30101f332b00082b000d3008270400ff492a30081f332b00080400ff2b000e492a332b00032b000f2a3d2000152b000f30013536000f251d2b00082b000c3018272a30181f2b00082b000d3010270400ff492a30101f332b00082b000e3008270400ff492a30081f332b00080400ff2b000b492a332b00032b000f2a3d2000162b000f30013536000f251d2b00082b000d3018272a30181f2b00082b000e3010270400ff492a30101f332b00082b000b3008270400ff492a30081f332b00080400ff2b000c492a332b00032b000f2a3d2000172b000f30013536000f251d2b00082b000e3018272a30181f2b00082b000b3010270400ff492a30101f332b00082b000c3008270400ff492a30081f332b00080400ff2b000d492a332b00032b000f2a3d2000182b000f30013536000f251d2b00152b00092b0002251d2b00162b00092b0002300135251d2b00172b00092b0002300235251d2b00182b00092b0002300335251d3f1b2b01171e14015d2b000205012000042b01171e14015d2b000305012000052b011c1e14015d2b000105012000062b011c1e1401552b000605012000072b01461e1401892b00072b0004422b000501019705031e1400d62b011705011b0e01282b000144434600592b00011e1401a70e01a8050120000230022b00021400090f46003c2b000230002a2000032b00031e1400d930100501200004422b00040101972b00042b00031e1400d9300030100502350101352b000230012a0101a91b101b101b3000482000022b02161e1401ab2b000105014600192b00011e1401ac07000063c608022b000205022000022d0069102b02180e01ad1e140156102b020c2b014705011e1400022b02180e01ae0e007a31020e01af05021e1400022b02180e01b00e007a31020e01b105020e01b2050205012000030e00052b000144432c00152b00031e1401b32b01481e1401592b0001050105012000022b00021b2b00012c0009102b03342b000205011b2b02062b000114000931012000022b02032b0002310120000330002000042b00042b00011400092e46001b2b00011e14000a2b000405012b00032b000411360004241d2dffd82b00021b2b02061e1401b42b000105012c000a2b000114005d360001251d2b020c1400371e140108102b02032b0001310105021b2b02031401aa1400ef4600122b00011e1400ef2b00022b000305022d001d2b02032b02161401aa1400ef1e1401592b00012b00022b0003050331011b07000064b40802200001102b02262b0001420e018901013507000064d30b0201013603000105021b102b03273b2b010105021d2b00013b0e01b5251d2b00023b0e01b6251d3f1b3b1401b51e140189420e01b70101b83b1401b60101972b00022b000105031b2b000114005c2000022b00022c00172b02242b000114005d31011e1401b92b000230012f05012000032b0003460015102b014b2b000130002b00022b00032f05032d00032b00011b07000065620801200001102b02262b0001420e01ba01013507000065760b0101013603000105021b102b03273b2b010105021d2b00013b1501b53f1b3b1401b51e1401bb0e01bc2b0001420e01b70101b83001480e01880e018903000205051b2b02032b00011400092b00021400093531012000032b00031e1400382b000105011d2b00031e1400382b00022b000114000905021d2b00031b07000066c80800200001102b02262b0001420e01c901013507000067e10b00010136420e01ca01013507000067e90b00010136420e0160010135070000682d0b00010136420e014001013507000068520b00010136420e01cb01013510070000687408000500010136420e01da010135100700006a4f08000500010136420e0189010135100700006cab08000500010136420e01dd010135100700006dcb08000500010136420e01d3010135100700006f7908000500010136420e01e301013510070000715108000500010136420e01e001013507000072490b01010136420e01de01013507000072980b0101013603000c05021b2b00001400093000022c00082b000030002a3f124600092b000030002a2d000142200001102b03273b2b010105021d3000483b0e01bd251d103b0e01b5251d103b0e01be251d103b0e01bf251d103b0e01c0251d103b0e01c1251d103b0e01c2251d103b0e01c3251d102b032c423000480101c42b000105023b0e01c5251d3b1401c51401c446002f4500042000030c2800252b03081401c62000022b00022c00142b00021401b53200062b00021401c73b0e01b5251d0c0e012a2b00011401c8444346001e2b00011401c83200043b1401b532000b3000483b1401c50e01c8252d000d3b1401b5483b1401c50e01c8251d3b1401c51401c82c001a2b020a31003b0e01c2251d3b1401c21e14005805003b0e01c3251d3f1b3b1401c51401c81b3b1401c12000012b0001484600093b1e1401600500231b2b04032b000131012000023b1e14016005001d3b1401c51401c446000c102b034d2b000205012d00032b00021b103b0e01c1251d103b0e01c0251d103b0e01bf251d3b1401be2c0006103b0e01be251d3f1b3b1401c22c00113b1401c21e14014005001d103b0e01c2251d103b0e01c3251d3f1b0700006a410801200002102b032d102b032e05001e1401cc070000689e0b01050105012000012b00021b102b052e05001e1401cd07000068b50b012b010005021b30014601852b00011401ce2b00010e01cf25300021002330082100dd30092100e1300c2100f3300e210142300f21014d0e01d02101471d2d014d102b064a2b020105012002022b02021e1400000e01d105014846000b300c2b00011501ce2d01262b02021e1401a70e006d0501360204251d102b07012b020430002a1e1400ef300205010501360205251d102b07352b02052b020514000905022002062b02041400093001022c000a0e00322b020430012a122b00011501d22b00011401d24846000b30092b00011501ce2d00b930082b00011501ce2b072f1e1401d32b020430012a422b07300101970400800101d42b02060101d505021b2b00011401d6200206102b06492b02060501200203300e2b00011501ce2d006e102b07362b020205012002072b0207460024102b0649102b07332b02071401a92b02071401352b0207140197050305012002032d001e2b07061e1401b42b020105014600092b020114005d2d00032b02012002032b00011e1401d70e01d82b020305021b2b00011e1401d905001b2dfe763f1b2b01011e1401083b2b000005021b0700006c9d0801200002102b032d102b032e05001e1401cc0700006a790b01050105012000012b00021b102b052e05001e1401cd0700006a910b012b01003b05031b30014602052b00011401ce2b00010e01cf25300021001e300621005b300c210101300e2101c7300f2101d20e01d02101cc1d2d01d2102b064a2b020105012002052b0706300031012002063b1401c32b00011501d22b00011401d24846000b30062b00011501ce2d019d30062b00011501ce3b1401c31b2b02051e1400000e01d105014846000b300c2b00011501ce2d01752b02051e1401a70e006d0501360207251d2b020730002a1e1400ef30020501360208251d102002092b02071400093001022c000a0e00322b020730012a122c00182b07032b07311e1401db2b020730012a05013101360209251d2b02092c0024103b1401c236020225433200172b02021e14013a2b02082b020930102b060914013805041d300e2b00011501ce2d00e5102b07362b0205050120020a2b020a4600792b07032b07311e1401db2b020a1401350501310136020b251d2b07311e1401dc2b020a1401a9300048050236020c251d2b07032b020c310136020d251d2b07032b07311e1401db2b020a1401970501310136020e251d103b1401c236020325433200122b02031e14013d2b020d2b020b2b020e05031d2d00402b07061e1401b42b020105014600092b020114005d2d00032b0201360206251d103b1401c236020425433200122b02041e14013f2b02012b060914013805021d2b00011e1401d70e01d82b020605021b2b00011e1401d905001b2dfdf63f1b2b01011e1401083b2b000005021b0700006dbd0803200002102b032d102b032e05001e1401cc0700006cd50b03050105012000012b00021b102b052e05001e1401cd0700006ced0b012b01003b05031b30014600c92b00011401ce2b00010e01cf25300021001e300321004d300521006f300721008830082100960e01d02100901d2d00963b1401c51401c84846000b30052b00011501ce2d008030032b00011501ce3b1e1401dd2b07032b020131012b02022b020305031b3b1e1401ca05002002042b00011e1401d70e01d82b02044600092b020414005d2d00011005021b30072b00011501ce3b1e1401d32b07032b020131012b02022b020305031b2b00011e1401d70e01d82b00011401d605021b2b00011e1401d905001b2dff323f1b2b01011e1401083b2b000005021b0700006f6b0803200002102b032d102b032e05001e1401cc0700006df50b03050105012000012b00021b102b052e05001e1401cd0700006e0d0b012b01003b05031b30014601572b00011401ce2b00010e01cf25300021001e300221002c300721009a300d2100d530102101240e01d021011e1d2d012430022b00011501ce3b1e1401da2b020205011b3b1401c0360205251d3b1401c1360206251d3b1401bf360207251d3b1e1401de0e01df05011d2b02072c0017102b06502b02072b02010502360201251d103b0e01bf251d3b1e1401e02b020105012002082b020814000946000b30072b00011501ce2d00ac2b00011e1401d70e01d81005021b2b02052c00072b0205360203251d2b02062002093b1401c32b00011501d22b00011401d24846000b300d2b00011501ce2d006b300d2b00011501ce3b1401c31b103b1401c236020425434600063000232d000f2b02041e14013e2b02012b020305023b1501c1102b064b2b0208301000050214005d3b1501c02b00011e1401d70e01d82b02094600073b1401c12d00011005021b2b00011e1401d905001b2dfea43f1b2b01011e1401083b2b000005021b07000071430803200002102b032d102b032e05001e1401cc0700006fa30b03050105012000012b00021b102b052e05001e1401cd0700006fc50b012b01003b3006301103000203000105041b30014601662b00011401ce2b00010e01cf253000210028300321003d3006210086300b2100b7300e2100d630112100e430142101290e01d02101231d2d01293b1401b520020430032b00011501ce3b1e1401cb2b020205011b2b00011401d62002052b020448320016102b07342b02041401bb2b02041401890300020501484846000b30062b00011501ce2d00da2b00011e1401d70e01d82b071907000071320802310105021b30062b00011501cf2b064e2b020431012002062b064c2b02042b02033102200207300b2b00011501ce2b02061e1401ba2b020505011b2b00011401d6200208300e2b00011501ce2b02071e1401892b020114005d2b020805021b2b00011e1401d70e01d82b00011401d605021b30112b00011501cf2b00011e0e01022a300605012b00011501d22b00011e1401d70e01d82b070a1e14002b0e01e22b00011401d205021d3b1e1401e32b02012b02022b0203050305021b2b00011e1401d905001b2dfe953f1b102b00022b08020e01e1310105011d3f1b2b01011e1401083b2b000005021b070000723b0803200002102b032d102b032e05001e1401cc070000717b0b03050105012000012b00021b102b052e05001e1401cd07000071930b012b01003b05031b30014600a12b00011401ce2b00010e01cf253000210014300621005030072100780e01d02100721d2d00783000483b1401c51501c83000483b1501bd2b060a31003b1501c23b1401c21e14005805003b1501c330062b00011501ce3b1e1401dd2b02012b02022b020305031b2b00011e1401d70e01d8103b1e1401ca050036020425434600063000232d00062b020414005d3200011005021b2b00011e1401d905001b2dff5a3f1b2b01011e1401083b2b000005021b2b00012000022b00011400092b00011400093010172f2000032b00032b0001140009122c0024102b034b2b000130002b00030503360002251d102b034b2b00012b000305023b0e01bf251d2b00021b3b1401bd2c00083001483b0e01bd251d3f1b07000072d50801200001102b02262b0001420e01890101351007000072ee0800050001013603000105021b102b03273b2b010105021d2b02512b000131013b1501e43f1b07000073c30803200002102b032d102b032e05001e1401cc07000073180b03050105012000012b00021b102b052e05001e1401cd07000073300b012b01003b05031b300146008c2b00011401ce2b00010e01cf2530002100193002210030300521004e300621005e0e01d02100581d2d005e30022b00011501ce3b1401e41e1401892b02012b02022b020305031b2b00011401d62002042b020446000b30052b00011501ce2d00282b07020e01e53101162b00011e1401d70e01d82b07032b0204310105021b2b00011e1401d905001b2dff6f3f1b2b01011e1401083b2b000005021b0700000000080220000107000026460800200005070000269408002000060700002720080120000807000030fc0801200012070000315f080220013507000052d608032000270700006269080320013307000062c50801200136070000632b080120013407000063d608012000490700006420080120004a0700006450080320004b07000064f2080120004d070000659a0802200050070000018a0b0120000207000001970b012000032b000320000410070000269d08000500200007102b000605001d42300001013730010101382000091007000027680800050020000a0700002d1f0b0120000b0700002d820b0220000c0700002e8f0b0120000d0700002ebf0b0320000e0700002ee40b0320000f0700002f0f0b032000100700002fc30b0320001110070000328e0800050020001310070000335508012b001305012000144207000038070b0101015507000038970b0101015d20001542070000390b0b0101015507000039810b0101015d2000164207000039ec0b010101550700003a1b0b0101015d200017100700003a3408012b00130501200018100700003c2808012b00180501200019100700003d7508012b0013050120001a0700003f660b0320001b4207000040160b0101015507000041520b0101015d0e017601017220001c03000020001d300020001e2b001e30402e46003440015b2b01171e1400ec2b01171e1401772b001e300135050105010a3000332b001d2b001e112b001e30013536001e251d2dffc307000041fa0b0720001f07000042300b0720002007000042660b0720002107000042970b072000221007000042c908012b00190501200023100700004f1f08012b0013050120002410070000507708012b0018050120002530012b00250e0185251d30022b00250e0187251d30042b00250e017d251d30042b00250e018a251d10070000523908012b0013050120002610070000534308012b0026050120002810070000537d08012b002805012b00280e018d251d10070000541a08012b002805012b00280e018e251d4207000054bd0b0201019307000055430b0101019420002910070000557708012b0025050120002a10070000571308012b0013050120002b4207000057850b0101015507000057dd0b0101015d20002c10070000586408012b0013050120002d2b01071e1400172b00133100422b002c01019e05022b002d1501684207000059cd0b040101a020002e100700005a5808012b002d050120002f2b01071e1400172b002d140168422b002e0101a105022b002f15016803000020003003000020003103000020003203000020003303000020003403000020003503000020003603000020003703000020003803000020003903000020003a300020003b2b003b0401002e4600322b003b0400802e4600092b003b30011f2d000a2b003b30011f04011b3d2b003a2b003b112b003b30013536003b251d2dffc4300020003c300020003d300020003e2b003e0401002e4601972b003d2b003d30011f3d2b003d30021f3d2b003d30031f3d2b003d30041f3d20003f2b003f3008270400ff2b003f493d30633d36003f251d2b003f2b00302b003c251d2b003c2b00312b003f251d2b003a2b003c2a2000402b003a2b00402a2000412b003a2b00412a2000420401012b003a2b003f2a0a07010101002b003f0a3d2000432b004330181f2b0043300827332b00322b003c251d2b004330101f2b0043301027332b00332b003c251d2b004330081f2b0043301827332b00342b003c251d2b00432b00352b003c251d07010101012b00420a07000100012b00410a3d0401012b00400a3d07010101002b003c0a3d360043251d2b004330181f2b0043300827332b00362b003f251d2b004330101f2b0043301027332b00372b003f251d2b004330081f2b0043301827332b00382b003f251d2b00432b00392b003f251d2b003c4600322b00402b003a2b003a2b003a2b00422b00403d2a2a2a3d36003c251d2b003d2b003a2b003a2b003d2a2a3d36003d252d000e300136003d251d2b003d36003c251d2b003e30013536003e251d2dfe5f30003001300230043008301030203040040080301b303603000b200044100700005ba808012b002a050120004530082b004515017d2b002a1e14016d2b004505012000462b01071401aa1400d62000472b01231401aa1400d620004810070000648c0800050020004c10070000653a0800050020004e301020004f1007000065d3080005002000511007000072aa080005002001323f1b01e60a262134272126023c213d05313421346f0727302539343630100b313421346f7b7f6a37342630636179000833203b36213c3a3b0433273a38063734263063614b13343c39303175213a753130363a31307537342630636178303b363a313031753134213475000719797517203333302775343b317534213a3775342730753b3a2175262025253a272130310639303b32213d0a363d3427163a313014210b3c3b2621343b213c34213004213d303b083c3b2621343b3630073d303431302726033230210c163a3b21303b2178012c2530143c3b2621343b213c3421300621273034383c3b3210342525393c3634213c3a3b7a223426380b342727342c172033333027c2dfe5313421346f342525393c3634213c3a3b7a223426386e373426306361791412132f37041014141414177a141c200c14137a140d6c32140d6d140c141f7a3322137a0c141f7a3322173214666c7a3322137a0c140f7a33666c7a33666d173367141333666c7a33666d173367141133666c7a1412141033666c7a33221732173b6c7a33666c7a33221732170d6c7a33666c7a1412141033666c7a3322137a0c143d7a33666c7a33666c7a3322137a0c14317a33666c7a33666c7a140d6c32170d6c7e333b607e141214141412141d33666c7a33666c7a33221732171d6c7a33666d173338141333666c7a3366611733671414140d6c32171d6c7e333b6d140c141f7a33321732170d6c7a333b6c7a1412141e33666c7a33666c7a33666c7a3322137a0c142d7a33666c7a33666c7a33666c7a33666d173367141c33666c7a33666c7a33666d140c146c7a33666c7a33666c7a33666c7a33666c7a33666d140c14257a33666c7a33666c7a33666c7a1412141933666c7a33666c7a33666c7a33666d173367141233662d7a33666c7a140d6c3217666c7a33666c7a333b61173367141233666c7a3366607e140d6c32170d6c7a33666c6d140d6c32143b6c6d14121410333b607e3332137a0c141f7e3322137a0c141f7e3332136d0c14137a140d2d321466607e3332137a0c141b7a33666d173312141133666c7a140d6432171d6c7a3366611733381416331d6d173312141133666c7e14121416333b61173302141633666d1733321c2d1614133d140210141122133d14021c141732133d140218141432133d140204141432133d140200141414133d14020c141714133d140236141722133d140232141414051917183e1014321414143218141404181714141414142218011122611414141011140404141404141414041414143218161432361a1732321e131418161414181114141c1114141811141461161714041414220414171414101414141414221811142204141414101613041c1d170418121732261614161016141422181704321614141414142218111422141c14143214172214141414181614321811143c1c001414141014221c141414181417221c161414140d141736141c221814141418141404141717221c1d1614141114321c1e14221c171714181417221c1114141411142d141010141c1b143265191432261414141c031414141016141c141604361c143236111632101417140c11140414141422040c1632040c16323207143214101f1461391f3214171404141416326d1414143617142d00171714321614323a0f1414361d1204141714223616142210161022101c17223a141414141714140c1d1114141714221014141418171404101417173a37123d2614143214141432183614221c14141436111d14181114321c111604361e16043e1e16043e141014040414221c13172204141616363a10042613162d101914141c1d10063e141622141714221c161432361014140c2414321416143204271916651c11321c1a1314611414041c161414141417221811172218111404141414321816141414161404141614141017143204141414041c1332041714041414140718171404141f16043e1e16323a141614321c17146d17140414171414101414041417141410141404141714141014140414171414101414041417141418111422181114221414140410121114221211142214173214121114221717320c101622041617141c171732041917141c1014322619162204171404101716043e131d3200301104651b1104651b1114001317040013172222131704001317040c331c171c121032361217320c331c171c1210323e1217320013170400131704001317040013170400131414001317043e13171432121714321c173204111d040417140414171414321713321c16141414171404141414041417140414101714361736141d171426101617040c171401161432141c121614137a14001232642210191765320514023e1614141324141a361714022614120413261417141737041134143213201419041014026d14273204173614160f1714132d141f1410140d1c14271410173622161117141365140414173104160314221367141f0411140d36143e22181f2d22041714101017166d14162f0406241718101723141204146322173f221a1a1461651101657e18146126113c321a1c146c14103c140539140c36112f22011a171a04177e0419181718261020141d3f14363a102c14011f1718361065141d1717181c1022140113171804102222077e3e041a1e14301c172322067e171965102314013d143726102032066017193210212204042c041d23147e651122141a7e1462221120321a6114620c1121141a2c1462141127321a2614633a1124141a38146018166d1405201461611661040532146c6d116632053114636d1666140537146c3a113814190c146c361164320503146c0411016c181165321a1d142626112c04051c146d36112d04051114610c162c320512171f1c112d320510146d1c110f3c143262140527147e3a116304053a147e36116032053914636d166014053f147e1c111c1c65163f0419181437651723041d0f146265171c1b10116514051814006c052f221a1c143c111a146d65112f141305016d22113c141f381c190c102104062f17120c322632062d171914101c1e6d1027040626171e26102c14191c14243e102414063b171e0c10250404322514063f171e1c103a04067a14276d163a140633171f61103b04063617161637171f3a103814060d171f0c1039040600171f18101c1f1c103e040605171c61103f040618171c26103c3207381c193e163c04061c171c36103d320613171c041022041a6c14623e1127041a251462001126041b381c193e1632320617171c14107a22057e147a651123221a621462361124221a3b146218112722051e140c1c167a14051e140c1c167e221832242212271402212734636516016725241c1e26172422132734672021143e6c24343c162414343a1734633e1724041226143e6c24343c162414343a1734633e1724041226143e6c24343c1163147a3e111c0532116c2218326c320564142c1165147a18111c1f3e166d321a261406160f142310112714133825041a3e14670c322c041d1f1434181138041a3614631c111c1f3a113b041a3d142c1637146061113a141b381c1f321139221a3314600c1116240133176d3e101722143214161417301426001416141410110010041614141e141c101122263214166514162226311404137a1c1414041b0407141c14143a1432143d14061414101d65341c141004101426321414261f141614141014653214023a1965321017171d6d16041614171c14140416061c11062207141c2217171012263c143c04141c1410321467263c142207141c141404102c10101c14140416061c171c141b241c040032142c14101c141327062207141c141432171614131c1407271c1410321407111c14042632140614141014653c17123a3214651014100536171c141432170717611c141f1714113a14112c14101c1403241c141f1711673a041b1426181404263f14101004342c1c161f1414160416141410110010041614141e141c141c041832143e10141a3214051c14103214673a32143e1005343d14651c14143214071460111410191c141f1714113a14113c14141c1413241c141f1711383a041b1614141c1410041a3226191c141f1710123a3e141426071416141410110010041614141e141c14112226321414261e141614141e141c14101e1817162222141c14143214001036343d1604143223181114101d33221f141c141713110414321410101c342c1c111c1417171712263a1432143c1400136136061c14343c1013143e143214001017360465141c1413171466131311041032142c14111e141c141c3213271c321b17631c10171e141c14060465171c14143214023a3d1416141104302c1714063216141036100416141704336d17010407141c14183a1432323c143c141704041b671c32071714660717321c1c17343e0c341c141c32142c321611161c170732071404313c1714001d0c3204103a14321717333c1410316610671432141814222632143c14171b321c181c141032143f0c1616142216162c14111e141c0c1c040c16041614111c14183a1432223c14003610041614111e141c1c1c321c3214010c16111614171c141c67143232181404261604161411040707241c321c3a1432143c171465141c141b1710123a3c143c321614161c1011041717141610171114101914651432143c101d1c14043c14001000343c1c161e141c141c32041b14161417040717241c041c321406321610161c10110414191c14311714110c1614142632173e001b14041f141c141832142c32161d161c1604041f65040c3c1014023a3c1716321614100c10041614101c141067143214321404651704312c1714001d363204103a14321717333c1416316610671432141814222632173e100404070432173c321610161411073d21241c141067143214321400001b14322632140614121b321c0c1c14183a143d143c143207141c141032143f0c16101614161c141067143d32191c14183a143d043c143e001b140614171c141c67143d0432143c14171b321c0c111410191c14003a1432043c14001011360010110722651404301617140614141b321c141c1400321400137e36010c16171614111c141717140d1c671432043214161411343c14141b321c1411222632142c1413012265141c14003a1432043c140010173600001b14141f141c141317143b13131710143217001d223204103a14321712171017176d1c10171c14186714321717601c1017043006171406321614161414343c1c141b321c141c14183214101017363f0c161716141104302c17140632161410361b14651d323204131714110c1614101d263204131714110c1614146d191c140317621c10171e141c140732071404302c17140614111b321c140430161714001d323204103a1432143214123a3c14110c16141614111c141717140d1c671432043214161411343c14141b321c14112226321400136136061414343c1014143e143214001d7a14006510041614131e141c1c1c321c3214001011313c1c1004041b65040c161614022512123c14161c14003a1432223c14000c1004101d0c32041317671c10171e141c14040d6132171d312d1b321c1411141c191c141c3214010c16111614171c141c6714323218140426321706321612161012143e1432170614131e141c181c32131d171014321706321616161c1604303c171406321614103e341c141c3214010c16111614171c141c67143232181404261604161413040707241c321c3a1432143c171465141c14031710123a3c143c321614161c1011041717141610171114101914651432143c101d1c14043c14001000343c1c161e141c141c32041b14161417040717241c041c321406321610161c10110414191c14311714110c1614142632173e001b14141f141c140032170632161d161c1604041f65040c3c1014023a3c1716321614100c10041614101c141067143214321404651704312c1714001d363204103a14321717333c1416316610671432141814322632173e100404070432173c321610161413073d21241c141067143214321400001b14042632140614121b321c0c1c14003a143d143c143207141c141032143f0c16101614161c141067143d32191c14003a143d043c143e001b141614171c141c67143d0432143c14171b321c0c162c14111c141717140d1c671432043214161411343c14141b321c141c141b17621c10171e141c140722651704301617140614141b321c141122263217061417040d602d1b321c101c14183214101017363f0c16171614141c141b241c141467143214191c1417177a22131b1710143214101011313c1c1704041b65040c161614023a3d14141f7a04313c171406321614161c1604041032140d043c140d131317101717671c10171c141032143b1c671432143214142217162c14141e141c1c162c10161c141432142f0c16161614161c14186714322232142c14141b321c181c141832143f0c1616146d1904076d3d143c141104321466143d143214101d7a7a7a6d1d010407141c141717161d0c3c14061417040c117e05672517101d0f17161d103c140d043c143c1416040c11321d672517101d0f17171d103c143b043c17161410040c161411672517101d0f17143b103c171d071711660c3214061416363c14103638263c14001017311614141c141317130225670404132d363e1036343c1016162c14111c141c67143d2232143e10163110121c3d1413241c04101604141f14143e1717661c10171e141c141c3207171406141631161c1d3600001004101d36320410321716141d363f0c16141614171c14186714321432142c14171b321c0c111410191c1417171410100f1c141f17140d0f271c141f171d650c37311610161c14103a1432143d14041b141c14103c171632161710136136061414073265161c141f171d0d0c3d14061416040413651c041c32171614170404072d343c1c1d040717241e141c141c32101b14142632172c14111b321c041c14183217110c1612142632142c14111b321c181c141832142f0c1616142217162c14101e141c1c1c321432142f0c16111614101c14186714323232146510141b321c0c1c14183217110c16111614111c1414671432321904333c1714001d613204103a143217171402263c1410137a1c1414371b321c141622263e1404137a1c2217171012263c140604141c1417161411361614161414040414671432323214001004343c04141c1414193c221c1614666d1633321f141c1414251466143c171317131c14043214163e11301614141e141c101c3210321416321619161c1634632d6d1c32030d3600001004161814040717271c321c3e1410137a1c04101604161414101a3e17110414321416141604046c2404041032141632161c17101014101017072265141c141c2114146d3d14042632143e1004343c04141c14103c14651014013265171c14143a1432043d140614141e141c261c041c191c141716332f3611361614141c14106714383232141614131c141c3214022026331136113010137a1122263217001c17331610131c14143a1432043d140614141e141c1c1c041c16041614141e041b221c320704110414321716141333061c101c141c3214022026020465141c141032171e31241c041c191c141432143f0c16341614141c1400321416321619161c141c141327271d22661466323214161417012207141c14131714022632142f3a14141426321422260f1404137a04043a3d1406141410110010332c1414101d6417140226131c141019167e181714040f7a1c14100465221c3d142c1814040717271c32003e14141f141c14183214161c1010186d171c32171b171014321717141b1c320c3d143c14111c32141033221f141c141032143e0c1b141614161c1413271c141717143b0705171014321410001b14041b141c141c321406321614110c1614161416040407241c041c3214001010343c10171c1417171402263c1414651416222217162c14140704651414651432143c1414040413271c321717143b043c17673a321406141d343c321614110c1614161414110414191665101417061416162d3a32170010141b321c181c140c321465101631123a3217001018343d142f1c140432142d1761111410191c140432141614111c1417271c14040416061c1404041432141614111c1410046c1410191c14031710123a3e1414212f14041b7a1c1410043e32103d143c1814040717271c32043e14141f141c141c32141714011c321b1b171014321417141b1c041832143207141c14183214061416101a3a17162c14100404146314146d32143c1411343c141004046c241011043214161416101d321814042632141614111c141c32146726321417141f1c321717141614141c141c32140711611404263217101004343c0414167e65161404077a143e1717661c3217190414140404132d11041717661c3217101607131104143f14101032342c1c161f14141604141f1414651432143e101c343c141404041f6534321f7a04041032141d07177a7a7a7a7a22312d1c321b17140d1f1317101432141010163116321614142217162c1414040f3a30043404331c141837101a1416162c1c111b321c141c141b173365361004161414040413241c321717173e0c1b14322217162226181404211714171133143e001004101d1c190610171c141f17161225172c1665043b221313110413176116653d1406141604043d2404301421101f6d17070465170404143d141012223d22102114141713171014110416141404041f65040c161d14023a321410123e1d2d1132143f0c1614161414040413241c321717173e361b14142117261c36170404106314141717381c3617040c161d1406321614110c1614142117321c36171c041032143e101c343e12143d2210043b22131311041317381c36171c041032143e101c343e120c3d2210043b221313110413171217140f1c321313110410191c141032143c3e1116113616141614171c141c25142d3266143d1432140614161e0418041b221c1c162c1416040617241f141717671c32171c14106714321717661c32171016181904313c1c1406321614142613141714141414233316321c1333226c7e1c221717611417271c32003e1416141004237a7a7a7a7a7a7a2f7e111c32641611610c3214651c2d3c1c043d113c14161c140613043a1614321c1614321c1614321d7e111c043a32143e197a7a7a7a7a7a7a6d7a322c1c19043c161c1c046d3211001c073c1610041c140716181c3c3b04337a7a140d103d17221f14143e1432143e1c223c1e31177a7a6d1736061c1f040413270433667a140065100416141d040413270433627a14003e1b1404263214031432143e197a7a7a7a7a7a7a7a7a7a7a6d14322c1c18043a1614321c16143218117a7a2217001c142d16321c1614321c161422057a7a14131037070407141c141f16321c1614321c16141c1c043d16322216162c14110016141004237a7a7a7a7a7a7a7a7a7a7a2216111c321f16321c1614321c161422057a7a14130432143e1e14321c1614321c11147a7a6d14000721131710143217101e14321c1614321c14323d16101e1c14183d14042216162c14171c142d16321c1614321c161422057a7a141c0210001407141c141c321461070417101716321c1614321c161461057a7a1416101e0432143d14042211162c141e043a1614321c16143218117a7a2216101c0425161416101711141c191c141832143e1e14321c1614321c11147a7a6d143d0c070417101432140614183d1610160432143d1406141600140714043a1614321c1614321a117a7a22143d16322211162c141e043a1614321c16143218117a7a2216101c043a1814322632140614183d13141004101c141c04101814322632143c14113d13141004101c141c041018143226321110197a7a7a7a7a7a7a6d7a021407141c140317651417241c141032162c14171c1426321664143c173d21601c140f17173b0621331e363c173e1005342d1423040714321738263d173c14131e041b0c1c3221161c1c323d112c14131e041b041c0410191c141f167a7a7a7a7a7a7a7a05640c1b14161413040017271c141832110614111c1465321103143c161721601c143d17173b0621331e363c16101005342d14231c140c321612211710123a3d173c14131e041b1c1c321f1611610c3217063e1104161c11043f121c3d16101a1c141f16100c323d1014263214651c053d3e1e143205627a1161183c143c1417043c161c1c32077e1c3d1c3214651c073c10197a7a7a7a7a1161183c1116141704237a7a7a7a6d05322c1c17333b223c10001c323d3c1c1b1c141032143b606d1c321832110306211c141c321665197a7a7a7a7a1161183c1666613c130614101c142d7e33161c011c1460167a7a7a7a7a227e111c326532140d606d1c3d043210061406031e64161c1c0c3210001c323c1c076d1c3d1032143c1405043a1614171c043c113b613c133c14191c142d7e33161c051c140432110d606d1c3d1c321010197a7a7a7a7a17611b16321c161432143c101c321c32140d606d1c3d17161c1c0f6d1c3d316d1c041032172c141f343c1412343e1d7a7a2217271c040c16041614191c14647e1c3d32321116141a333b223c1116140c031e6532111614161c14077e33161c101c142d00270d2232143c141a333b2232171614101c171832130306211c17183213133421331d223c17133421331614161c14217e1c3226321106141a333b223c143c1419031e64161c1c0c32143e1c323c1c076d1c140432143e1c323d3b223c143c1410031e646d1c141c32143c14041c171f00270614051c170f00270614051c171f02270d2d6d043c16121c1717161c1c3c1033161c160324646d1c141c32143c14071c170700270614071c173102270d2d6d1c321f02270d223c17101e14321c1614321c1114141c1b04070407141c140f1714023a3d17322217162c1411043f7e1c1c04263217101c173d3c1416043f7e1c3d1610101c141f16140c0c3214001c7a3c1c043d143c1411043212121c041832162c1417043212123d161017162c141204337a7a140061100416141e043a1614321c16143218117a7a2216101c0425161416101711141019143b6132173e101401140714040410321738263c1765121414006d1004101c141c0410181422263217001022343c14111c141032173e1d7a14123a3c173d14231c1403171c123a32143c14101c140c04192c1413040717241c1418321406141d101d2232170614161c140432172d176d1c140025142f143217063e111a1c071614131e211c140025142c143217063e11101c06101c04183217063e111e1614131e04180c3d1610171c1400251422143d143c14131e04181c111410191c1407167a7a7a7a7a7a7a7a0561183217246416181c3410162c141e3d16101e1c141b041c14131614133e3214001e14321c1614321c1614321c177a0007211317101432163c14160432136d1c321032143906213316101e111410191c14183214001e14321c1614321c1614321c177a3d0c0704070407141c141c3d14042217162c141e1c141c32143e1c173266223c14061416031e646d1c043a191c14143214013611141614141c143a661422323217001d3214123a3e1414201419321019332c1814040717271c32263e14141f14143e141604141f14143e141604141f14143e141604141f14143e143214101d651400651004101d0c3204103a1432143c173e10041c14171716672517301d1032141010190607263c17651011313c1c16313c1c1704041b2d171014321400137a3665101736061416343c1c1104041b651c3213173c1c1c17343c321614161c1004043d241c041416041614101e141c1c1c321c3214001214323213241c32131217101717671c10171c140f17333c1411316610671432141814042632143c14171b321c181c141032143f0c16161426321716141104041b651c32131714661c671432043214061410343c1c171c14103a14320717140d1c67143204181114263217651d323204103a1432143c163e651b1406141717101416041010161c141f651c3217171416141434661c3214061416311d103c141010141c14172736001017342c1c141c141717111d0f17101d103c143b0c3c14001013313e101c36061c141c141f2c1c141032141d0c3c14001016313e101036061c14363c14171c1417671c321317140d0f17143b103c141d1c3214061414313c1c17040413670404132d1c32172c1c141032141d0f241c321b171466043c1410121c323213241e141c141c32043a1432323c14061414040c161614023a3c14100c1004101d0c32041032173e137e1c141b6636061c121b321c14111410191c14103214110c16111614141c141067143232191c14071716123a3d141614101c14311714661c67143204321716141d343c1c161c141b171466043c1406141d342c1c110404132c1b321c101c14103217123a32142f0c161416141e17101432163e1011313c1c1704041b65040c161614023a3d17001d263204103a1432143d17141f7a1c140f171406141731161c173600001004101d0c3204103214061412363f0c1614161413111410191c14003a143232191c041032170614101b321c1c1c14103217110c16111614101c14006714322232171614171b321c1c16651d2632041032143f0c1614101d3232041032142f0c161414221816651d363204103a1432143c1600001b1406141f040414321602212d040413271c32143214101018313e100436061c16313c1c170404036704043d2d1c321432143b1c3214061414313c1c1704041f670404072d1c32172c1c141032141d0c3c14001017313e101636061c14363c14171c1417671c321317140d0f17140d103c141d1c321406141431382517143b07173c1c0417343c321614161c171e141c10040d3d2d1c1431271c0418321406101614651416041614161e141c041c32171317101432143c321613161c1407046517162c14141e141c10040d3d2d1c1431271c321c32142c14161c141b1f1c321c371c041832141614171c141c371c0410321416101611141019162c14171e141c0c1c043232140614171e141c181c32071d171014321406321616161c1404303c171406321614103e341c14143217110c16111614101c141467143232181622263214001000343c1c161e141c141c321713171014321406321610161c14070465111c14131710123a3d14322611041614161c04003214161c10040707241c321c3a1432143c141465141c14071710123a3d143c14101e141c041c32141b14142632170010141b321c1411143a19040d6d3d172c141404376c7a062265141c14171716673a3c141013613606101d04312c171406321614161c1f07046514040414321767263d14221f14143e141604141f7a0404143217651214143e3e1b141725171d2c141d04337a7a7a223119110414341c141717161d0c3c14161414040c117e05672517101d0f17161d103c143b043c14161414040c11321d672517101d0f17171d103c140d043c14161414040c161411672517101d0f17143b103c141d071711660c3214061416363c14143638263c141010173116141d1c141717130225670404132d363e10363432263c173e10163110121c3d1413241e141c141c321f131710171714161014111410190404143d1416141d040417171206141204041367342c141204076c121266043d14041b14143e1432143c3216171013613606141d342c1c131c141b0511041432143c10101c14003c142265140404143d142c14161c04141814222632141614161e141c001c320032170614161c1413171d0d0f17171d13241e141c041c321f12122c14141c1400371c04143214001017311610171c141c1b141426191c141432171d1f13171017171416101004041c32173b043c141010141c141727363c141f36061c14070465111c14171714161414346613171402263c1416141404042d670407172d1c321f671c321317170d0f17161d103c14161416363c14171c1417671c321317143b0f17171d103c141d1c3214061414313c1c170404136704041f2d1c32172c1c141032141d0c3c14001017313e101736061c14363c14171c141767343e10163110121c3d1413241e141c141c0414191c141713110410191465143214163216171013613606141d342c1c171c141b1f1c041c32140614111c141c371c041832141614101c141c371c0404321416321610161c17171d6d3214040032141632161314263c14146514162226321710001b1416141104301617140632161416141d34656d1b141614101e141c0c1c040c32171614101e141c181c32131d171014321716321616161c1404303c171406321614103e341c14143214010c16111614171c141467143232181604263217101000343c1c161e141c141c321713171014321716321610161c14070465111c14071710123a3d14322611041614161c04003214161c17040707241c321c3a1432143c141465141c14131710123a3d143c14171e141c041c32141b14142632170010141b321c14111432191c143117611c10171e141c141c321f1b17101717621c10171e141c141c041816041614161c1431271c32131710106d1004101d323204103214010c1614101d2632041032142c141d343c1c141b321c141c14143214001017363f0c16171614161c141b241c14106714321432142c141d04041b2c1b321c101114101904302c17140010141b321c1404301617140010141b321c141c141832143e1011363f0c16171614161c141b241c3214321416321617101017363f0c16171426321465101c343c101411143a191c143117601c10171e141c141c323d1f17101717601c10171c1432321767263c14010c1614101d22320413176d1c10171e141c141c321c3217673a3c14110c16141614141c141317140d1c6714320432143c141d04041b2c1b321c101c141f1716123a3d1414221e166510141c04143217651023343c1c1f143b6c17261c00171e141c1417101717201c00171e141c141114101904372c1314001f7a1b221c140437061314001e143a1c1614321c14101b221c14043716131406141904042d24040d172d04313c2464343a13362f0c1614101d103d04131714110c16141012003d04131714110c16141012141c14263c14023a3c173e10141c1413271c32032d1c321c321765651b160012043d04103a1432143c17140714040c3c131406321614161c111c141f241c321032146565321406141006661c1b16322117391c0017190414140404072d1104041604141f14043316171406321614161c1117101717381c00171c041411041614111c14143a1432143c14006d10041614171c14143a143207241c141b19110418191c14143a1432323c14146514162221171417172c1c32131733650c1b170614161c040f17211c00171e141c141c321b171402263c14161417360407141c141c321402263214161417343e10141c141b2736023a3d17322632173c141d010614120433627a7a7a6d1d06661c1b170012043d04103a1432143c17140714040c3c131406321614161c111c140f241c321432146565321416141006661c1b17322632173d172c1c3214321400361b1404221d162c14121c143d271c14032d1c320f177a237a7a7a22311911040432173d172c1c32103214163216141614141e141c10343e0c1b142c14171c0414191c14171733650c3217651022343c1412010d1f1317101717201c00171e141c141c3210321606141234672517141614173466103c14001d7e7a7a7a7a17652610041614141c041018172226321407172c040d6c1d1710143214061412343c10121c14143d1404221d166510141c140f27101d1c34111404191c14143c1400137a07226513111418190404143d1714221d166510141c041018170426321400137a07226516166512003d041317391c00171e141c140404072c1b321c14162c14160433627a7a7a6d1d062265171c141c04363c1c17040d6c1204041404363c1c14040d6c12363c14141c14131b363265171c1414321402263c173c141d04063d24010465171665121c3d0413173c1c00171e141c141c140f241c321467143217173f1c00171e141c141c14171f171017173f1c00171c14146714321419143e141604141f14043316171406321614161c1317101717381c00171c041411041614171c14143a1432143c142c14141e141c101c321f24073265161c14143a1432323c141465141622221616651d3a3204103a1432143c141010141c141432140065370704071404303c17140614171b321c14166510141c0417173b1c00171c140c6714321717381c00171c141067143217177e1c1017040d6d67143217177a1c1017043716131406321614110c161410123e3d04131714110c1614141b141c1417171466043c1465121c323213241c141b17321c1c17343c1c161b321c141c141b173f1c1c17343c14161b321c141c14171714023a3c141010320722651416651d3e32041032173e103a342c1c11040d323214022117176613171416141704043d240404312d122c1c14342c1c161b321c1404331617140614141c1413241c32146714321432141614160404132c1b321c101c141032146725171e110c1617101d6532041317221c00171e141c141b321c1411141c191c14142114142d17161d1032142c141306661c3214061413010d1c1b141614141c141c3217383a67143207176d1c10171c140317301614133465101d360010141c14031716122517176610371c3217241c321c6714321717601c1017043006171406321614161412343c1c171c1417271c32146714321432143c14140404132c1b321c101c141032170225171e110c1617101d6532041317221c00171e141c141b321c141114101904303c1714063216141614170622071404303c17140614171b321c14162c14171c140f241c041f17381c00171c04141604141f14143e141604141f14143e1411041614161c14143a1432171d171014321416321616161c1411041018143226191c14142114142d17161d131311041019040f3c131406101414651432170614141e141c141c321f0517101432143c14141e141c10343c1c101c140319110418191c14143a1432323d14142214162214191c14143214010c16141614141c14143a1432043217383a6714320432140013611c1413270404312d040414321400101c343e101d360721241c323e3217651011363f0c1617161416040d323214382117176613171416141604043d240404312d12673a3c173c141d1c1439241c323d271c041c321706141207320714043316171406141c1b321c140430061714001d3e3204103a1432143214383a3c14110c161416141c1c141717140d1c671432041814222632173e1d263204103a1432171217101717621c10171c14326714321717611c1017043016171406321614161416343c1c141b321c141c14323214101017363f0c16171614141c143d241c1414671432141814222632173c321617161c1404041b2d04041312171014321410136136061013143e143214101d7a14006510041614121e141c1c1c32183214101011313c1c1404041b65040c161614022512123c14111c140c3a1432223c14000c1004101d0c32041317671c10171e141c14040d6132141d312d1b321c1411141c191c14183214010c16111614171c1418671432321814042632173c32161216101d143e1432173c14121e141c181c32131d17101432173c321616161c141c14106714322232140614141b321c1c11141019143e1432173e1000343c1c141e141c141c32181b14161412040717241c32143a1432143c142265140404143d1404221716221b141c14143d171614111c32131713123a3c1416321614161c111104143214001004343c10141c14103a143d143c14226514162c141004041467143214191c14311311041416041614121c140c3a143d223c146510163110121c3d1413241c32143a1432171217101432141614171b321c141c14101b14001d3632041317661c10171e141c14040d61321466312d1b321c1411141c191c143117101010001c14363a143d1432173e0c37343c14171b321c141c141313110410191c141032172f0c16121614121e141c041c321410041614171c141467143d1432141614171b321c0c162c14121e141c001c32171311041432140614141b321c001c14143214010c161214263217061412343c10121c141c3217023a3d14322632173c14121e141c10040d602d1b321c101c143232143e1017363f0c16171614161c143d241c141c6714321432143e1d7a140065100416141604041b671c32171714660717321c1c17343c1016143b6c17671c10171e141c141c3213171406141431161c143600001004101d0c3204103214161417363f0c1614161416111410191c141c3a143232191c041432143c141c1b321c1c1c14143216110c161116141c1c141c6714322232161614141b321c1c1114181904076d3d1416141604337a7a7a22311b17101432143e101c313c1c141c1417173205617a343e1004313e101c36061c1131161c141c141717321a1433343e1004313e101036061c1731161c141c141717321c1405343e1004313e101636061c1431101005313c14171c141b2c1c14172c342c1c14040413651c141c3214101003343b0f17140d132c04072d241c0414191c14323214110c161d16141c04321466143d1432141010163110121c3d1413241c04041604101d363204103a1432143c146510171c1417651c32132d0704071404312c17140614171c141b2c1b321c141c14043216110c161416141c1c140467143d321814042632143e101404073e32141010173138263214101033073d21651c04143217163216141610171465143214061c111e141c10040d3d2d1c141f121104183214101031313c10171c141717140d043d141614111c141317171d13241c32043a143d143c14046514162c14101c143267143d1432161614111b321c0c162c141c1c143267143222321616141c1b321c1c11141c19043006171406141204063d271c321b17301614173465101d360010141c14131716122517176610371c3217271c321c67143217176d1c10171c14143214023a3c14110c16141614141c141f17140d1c671432043214061411343e103a1b321c100433061714001d143d04103a14321467143214321706141004063632171221171766131714161410040631270404312d126725171967263c141614141c1403171012251f122c1c160407266714320432143e12323d04102514321466143d1432143e120c3d0410251432146614323d173a1c00171c141f1716123a67143217173b1c00171c140c6714321717381c00171c14106714321717251c00170404146714321432143e100c343c1014146514321410101d1b321c101c14171716123a3d14061414040407241c0414321406141006046514162c14161c14031211041832143c14161e141c10040d602d1b321c101c140032143c1413342c1c100404132c1b321c101c141c3217110c161416141004336d17010407141c14071714660c3c1410101131101214323213241c041c1633651d0c3204103a1432143c140010171c1417651c32172d0704071404313c17140614141c14132c1b321c141c141c1814042632143c32161614263d141614161c14006714323232141614131b321c181c140032143f0c16111614131c14146714323218171421171d2c10141c140316141136161016141004337a7a7a22311b171014321710101c313c1c141c1417173205617a343e1004313e101c36061c1631161c141c141717321a1433343e1004313e101036061c1731161c141c141717321c1405343e1004313e101636061c1431101005313c14171c141f2c1c14172c342c1c14040413651c14043214101003343b0f17140d132c04072d241c0414191c14003214110c161d16141404041f65040c3c1014023a3d14221f1404312c171406321614161c1604041032141d043c140d131317101717661c10171c141032143b1c6714321432142c14131b321c141c140032142f0c1612142217162c1410040417171206141404041367342c141404076c121266043d141614111e141c141c041011041614171c321c3a14320717301d103217100c1b17161414040764671c04103214101017311610141c141c321400101036023a3c142c321610161c17110414191c14183217010c16101614131c141c67143d32191c14003217010c16111614131c1400671432321814222632142c321616161c141c14326714322232142c141c1b321c1c1c143d1714110c161216141c1c14186714322232161614141b321c1c162c141f04043d241c04141817042632143c321616161c141c14006714322232143c14131b321c1c1c14031714110c16121614131c141c6714322232170614141b321c1c16651d3e3204103a1432143c1416141d0104651404300617140614141c1431271c321067143217176d1c1017043316171406321614161c161c1431241c32146714321432141614170404132c1b321c101c141c3217651011363f0c161716141604043d241c04141814222117641c101704011467143217171416101411141c19143e1432173e001b14141f141c14043a143d223c143e10163110121c3d1413241c32143a1432143217100c10041614141c141067143214321404651704312c171406141f040d6132143b312d1c323e671432141814322632173e100404070432173c321610161410073d21241c141067143214321400001b14042632140614121b321c0c1c14043a143d143c141407141c14103214110c16101614141c141067143d32191c14043a143d043c1410001b141614171c141467143d0432141614171b321c0c16221f141c141b1711656510041614101c14183217673a3c14101011363f0c16171614141c1407241c3214321416321617101017363f0c1617142217162c14101c14311714661c67143204321716141d343c1c131c141b17140d1c6714320432142c1413343c14111b321c141c141b177a22131b1710143214651011313c1c1404041b65040c161614023a3d14321f7a04313c171406321614161c1704041032141d043c141d131317101717671c10171c141432140d1c671432143214322217162c14161e141c1c162c10141c141c3217010c16161614141c14006714322232170614161b321c181c14003214110c1616142217166510331c04143214651d7a7a7a6d1d010407141c141b17161d0c3c14161414040c117e05672517101d0f17161d103c143b043c14161414040c11321d672517101d0f17171d103c140d043c14161414040c161411672517101d0f17143b103c141d071711660c3214061416363c14143638263c14101017311614111c141717130225670404132d363e1036343c1014162c14131c141467143d223217001c141b221c041c141717143b07173c1c0417343c1017143e14160416141f04041032141d043c143b131317101717661c10171c141c32160d1c6714321432140614131b321c14111410191c141b171410100f1c141717140d0f271c1417171d650c37311610141c14103a1432143d17221b141c14363c140632161710136136061411073265161c1417171d0d0c3d143c1414040413651c041432140614160404072d343c1c161e141c041c32361b14142632143c14131b321c04162c14131c141067143d3232170614131b321c181c14003217010c1616142217162c14171e141c1c1c32143217010c16111614171c14006714323232170010141b321c0c1c14003214010c16111614131c141467143232191c14071716123a3d1414221716221f141c143d1311041416041614171e141c361c321f17143b07173c1c0417343c1c141e141c141c14131217101432141614101b321c141c14041b14001d36320410321600137e1c141f6636010c1614142216162c141c040717171316141c1e141c041c14131212673a3217110c161416141007046517162c14101c143267143d32321406321610161c1417101432171614141b321c041c14143217110c16121426321406321613161c14070465141c14043214110c16131614141c140467143d3219143e143214651005010407141c141032142c141d343c1c1404041b2c1b321c101c14143214023a3c141614141e141c100404132c1b321c10111410191c14103217651011363f0c16171614171c1431241c321c3214651017363f0c16171614161c141b241c14186714321432163207141c14251714660c3c1410101131101214323213241c040317621c10171e141c141c040416336510171c1417651c321432173b131317101717671c10171c141432173b1c671432143217042217162c14131e141c1c162c10141c14003217110c16161614141c14046714322232171614131b321c181c14043214110c1616142117621c10171c141c6714321717611c10171c141867143214191c14131716123a3d1414263216651004343c04141c14141925221017171d6d3f14101032342c1c171f141432140010141b321c181c1413171b2f0c16161614171c141025142232661422143214001004343c1c111c1410251432146614320432142c14141b321c141c2217171012263c143c04141c14143a14321717336536100416141604043d241c320432142d1763123c14161c140404303d3a11041614141e141c1404041312110414191c14143a1432171317101432141010171b321c141c141f171a17101714161414040d6d6714321419162c1416040717241f14143214163216171610141c1413171c123a3e1416141404041327162d26141c14171714110c161716141404313f6d14110c1614161414040f3f0214110c161414200c1732101f332c1814040717271c32323e14161414101861171c2217171012263c143c04141c141c3214110c161116141c04043d241c320032143e1018343d142f1c141f1710123a3e14101222390410040016141701040714143e1717261f00171013143c143c1417040413241c32171f1710143f14101032342c1c1f1f141416041614141c141f271c320f17261f00171010183a14321717211f00171e141c14346510163100651004161412101f36161114101904371603140717651c0436321600101c343c1016143b6c17261f00171013143217383a3d17161814040717271c32143e141614141c1404671432223217171617143c1c1101040714043716031407172f1c32043214651017313e3e10041614141c140717140d0467143232321410101c343c141404042d24101d0c3a1432143d1422263214101004343c04141c14181814042604132214191c041717261f00171013143d163e10141c04183f14101004342c1c101f141432171010141b321c181c141f1711123a3217101018343c141d101c04161c141410041614161e141c041c14140432141c3d14222632143c14111b321c141c141c32142c141e04041f65343c1c1d1b321c1c1c141c32172f0c1617161416101c18171c1418321410101631123a671432143217101004343c04141c2217171012263c141604141c141432143c321616110c16141614161e141c1c1c0418321416141604043d241b321c1c1c141432142c141204041f65343f0c16171614141e141c141c041811041614141e141c101c141b1d17101432143c3216101614141e141c14100561171c1414321416321614101010343c1c111b321c1411141019162c14141e141c1c1c14143a143214671432143214101004343c04140437160314071607143e122239041004311012223904103a14321717211f00171e141c141c141f1717123a3c14171611143e12223904103214171764043706031406141604043d24101d0317261f001710101832143d1611140717641c141c32143c321617110c1614101222390410040017117a140614161e141c101c041411041614141c141c3a14323d1d17101432143c321610173a32143c14161e141c1c040407271b321c1c11141019162c14161e141c1417101432143c3216101614161e141c141c141c043222103a14321432143c321614122117143b00047a141019162c141f040617241f14141814042632141614160604071404371603140632161416141404041f65343c101404371603140717041c041f17261f00171c1414047e221317261f00171c141c0439141c1916222117261f00171c141004312c3216141407140437160314061417101d363a143214043a2210191c1400042532103d1410122239041032140717661c1414671432143217063216141610141c14031714110c1614161414171014321417163f1404263216101004343c0414162232141c1417171417143b162c6d17140d6d3f14101004342c1c111f141432142c14171b321c181c14143214651018343d142f1c14171717123a32143d142f1c141b1710123a3e14161414162d14141c14143a1432140432141b17121d0717121d0019173214321417140416223a141c14143a143214047e221c1911041432141632161417117a143d3a321414211914041f7a1c2217171012263c140604141c1410321417112c140610141c2217171012263c143c04141c141f1716123a3214163216171717631e141c14040410631414143214163216161010171a3214141c141f1710123a3e14161417040717241f14141931221011332c1814040717271c321c3e141614161c1414046d32103d14161814040717271c32183e1416141104043d241c14143a14320404303c3216141665141410001004141f7a143e14321416321616161c14190414141c32131714003610332c141704041f2d11041032141010161a32141404041013040414191114101910173614162c1017162c1411040717241f141432143e1004343c04141c141019110414321416321614171163143d3a321414261f141614141c141004320418191f141017332c14141e141c141c041c32141614171b321c141c141c10041614161c1414043932103a143214071404141916223e141c1414321407116d14322607141614141c14103214163216141632161d1710161414207a14041011332c1414190414140406172d07040714143e143214061011143e1432143c14141c32103a143d143c1414077a1c1414131c1410046314101b140614171e141c04162c14171e141c001c320327062207141c141032142c14161c14103a143c04071714143411141c19143e14321406321600101014061465141c141c3d14141b141c14143c1710001b140614111c1407171402263c14123a2114141717163e361b14142632140614111c140432140632161f17101014161410060465171c14183217123a3d142c14161c1407271c041c321406321613161013162c14131c141832143d1716123c14171c14103a143d043214383a67143d04191622261931041017333c14141c141032171d6132143c1411333b223214651c323c161c161c1413161c1c323c171d606d1c141b167a7a7a7a7a227e111c3218321400197a7a7a7a7a1161183c140d613c17001c323c1614111c14077e33161c11043c161c331614171c141f7e1c141b167a7a7a7a7a227e1133161c17043c161c33113611161614141c1403167a7a7a7a7a227e111c1413161c1c34101b22181416651817140d6d3f14101004342c1c131f141432170614161b321c181c14003217110c16161614131c14031711123a04003c10161c141432140614111c14003a143232042104103d141614161013103217001004343c04141c1414193a041017143b6d1604161414101439131c141c321402211717003d2c1104143214061416101e65171c141f171712263d171614141014653c143c1414101439241c04001604141b14143e1432143c2214141610141c14103217106d1b14161414040417181c1417177a22171a363e0010041614171e141c141c141c261414171d110418191c14131717123a3d140614161c14003214382117140025241c041c18140426191c1417171410223214101d7a1410602c11041032143c2214141614101e141c140404132706226517162c1411040404671432141916676517140d6d3f141012141438263c170604141c14071732181410360614161c141b18363e0010041614131c1413177a22132d1c141c321467263c143e1214143c1416040c141606061c17122d1712123c1417070407141465143214161413040c141610163a32143e12141438263c143e1d7a1400261b141426191c1414321706141610163a191c14031732141f241f1414190014101733321f141c141b172214172d171014321406141104001724270c0c3d143e1c141c041018140426321465001b141614161c141a211c3206121c14131722141432146720213c1c043d143c14171c1406121c0410191c14143214013611141614141c141c661422321903041016332c1814040717271c321c3e1416141410110010041614141e141c141c0418321417176c123c1411101714191c1414321406321616110c16161614141c14102514321466143214321400101410113a32143e10141a3214051c141032143e1005343d14651c141f1710123a3e14142618141614141c14100432041b17140d181916321432141012103c0410040f142618141614141c14103a14321467143214191114143214161417190414141a32141416223a141c1414211414211717660c191114143214161417100522160404132f162d10141c141432140614171e141c141e141c001004181416226d141c1414321416321614163216101710141414261f141614141c1410671432041916041432141614171a32141916223a141c1417177a1c32171012041965043e16171d6d10333c181404331414342c1c131f1414321710197a7a7a7a7a7a7a7a7a7a7a6d14322c101e143e1416041614170432136c1c32211633641032143e197a7a7a7a7a7a7a7a7a7a7a6d14322c1c1f1c1410321664342133101c1733061c1904237a7a7a7a7a7a7a627a7a7a2217021c1421167a7a7a7a7a7a7a7a237a7a7a14131037070407141c141b16140d653c16651f7a003c141e1c1418321664342133101c1733061c1904237a7a7a7a7a7a7a627a7a7a2217001c1421167a7a7a7a7a7a7a7a237a7a7a14131037110410191c1413041c143916321c1614321c161422057a7a1413043216001e14321c1614321c11147a7a6d140007211317101432143e1e14321c1614321c14323d1610101c14103d14222216162c14110016141e043a1614321c16143218117a7a2217001c142516321c1614321c161422057a7a14131037070407141c140716321c1614321c16141c1c043d17142216162c14171c143916321c1614321c161422057a7a141c021000140714043a1614321c1614321a117a7a221432143c14171c141a131c141c32171c0316321c1614321c1614321c16143361021000161c12122c10100432143214061412122c101111141c191c141832163e1e14321c1614321c11147a7a6d143d0c0704110410321406141f3d131410041614111c1424100432170611041c3214061411322c10111c141c32171c183d17142216162c14111c1424100010001b141614171c041832143c1010111410191c141832140614171c141b001c143e32163904321606141e0007263c172d263d163c14101c141c32172d263c1665197a7a7a7a7a7a7a6d7a322c101f1c141c321716141d122c1c16043f161c25651d7a7a22132d1c04323216651c223c1e31177a7a6d1736061c12070407141c140317611417241c143a321606141e1c143e321603143c173d21601c140f17173b0621331e363c173e1005342d14231c1400251467323d160614131e041b321c04251710161412342c1012162c14171c141832172d263d142c141604237a7a7a7a7a7a7a2f7e111c040432161000100416141304311414343c14111c140432142c14101c1407041c3236373006141d04040f65270d2c3b1c32311711672604196510041c1431271c04323217063e11021610101c1400251464143d1422263217101c113d3c1411043f671c3d101e14321c1614321c1614171c043d1716141f04321a121c142516050c3c101c043e32143c14193d061018143b613214651c113d3c1c171c140c321612263c1765001b14173a3217651d7a1410261004101c141c04071614042217162c1413040017271c141032171012141406141d342d14231c14031718123a32140614101c143604331614131e0418611c04043217063e11181614131e041b141c14002514653c1004321706270c04191c041c3216001e14321c1614321c1614171c043d1606141e04321a121c041816041614180432170117101432142c141633061c171c143e32171d6532143c14110324646c1c320610001407140432143d14651c141c040418142226321710197a7a7a7a7a7a7a7a7a14640c1b14061413040617241c141032171614171c1404321713143c172d21601c143117173b0621331e31171112263c172d14231c140c321767263d173c14131e04183a1c04043217063e111c161017111410191c141c321466223c14061416031e65321716141f331d223c17101e14321c1614321c1614161c1b041104143214001c17322c1410043f7e121c141316140c3c103d1610171c140f1714023a3d173c14100432121c1c0404191c142116321c1614321c1614321c16143361183d143c141204337a7a1400611004161416043a1614321c16143218117a7a2216101c04071614161011111410190404143d17221f141c140f1714103a10041614121c0436181404263217001004343c14171c140432173e1d7a14123a04192c14131c141032171010171c140f27101d223217063e11141614131e0418041c140025142d3c1004321706270c043d140614131e04181c1c0404191c14123b0404312d1c320f17171020211c140716050c0c3214001c113c1c043c140d223c142c1417031e653217101c113c10197a7a7a7a7a7a7a6d7a322c141d27001c223d3a0432143a076d1c04041604161412040407121710143217161411043212111c3210321466223c142c1417031e646d1c04041814042632173e001b140426191c141432142f3611141614141c1404661422323217001d2214123a3e14142607141614141c1410321416321614163216191710161414262114161416070407141c14143a143204321406321617100c05162c14141c1413121710171714046d191c14143a143204321406321617171667140000190c221432143c321617101222140d103c143e1032073207141c14100516221f141c141f171010361b14141f14143e14321416651414161c16040621271132181414041417162c14140404132411222632143e1022072c14171c14172704041f1c363265141c141421141413171c1d1f177e14171d1104143214101016343c1014162c1414162c0c17140d6d3f14101004342c1c171f1414321400101c343c141410146504303c3216141610141c14131710123a3e1416141416666116143b6d17333c1814040717271c32183e14161414143b61321400001004101c14111410191c1418321406141704076c641c321f241c141f2f1c321e21043214321438363c143e1d0714123a04192c14111e04181c043a1614321c1614321814143d0012303214103214382021043f161233161417040c1614321c1761363464161c1c34101c040432142c3e111414266614221432141614101b22181c1c141b1710123a3e1414201117141011332c1416040c1410012207141c14143214061416101400341c141405162c14141c141f241c041816041614141c14132f04041b2d07040714143e14321410101136000010041614141c041c1814042632143e1014011407141c14143d14322217162c14141c041c11041614161c141021141414631414143214001017343c10171c141f1714023a3c143e10113600001b140614161c141b1f1104141916221f141c141b17331d103c17101d1414103e1b141614161c14071704123a3c1700261b14141b141c141c321406321614110c16141614161c14103a1432046714320432143c14171e141c1c1b321c1c1c141c321406321611110c16111614161c14103a143d1467143d1432143c14171e141c001b321c001c141c321406321612110c16121614161c14103a143d2267143d2232143c14171e141c321b321c321c141c32140632161f110c161f1614161c14103a143c3267143c3232143c14171e141c261b321c261c141c321406321618110c16181614161c14103a143f0467143f0432143c14171e141c611b321c611c141c321406321605110c1605161417040017271c041032143e1314342c1c161c14031b11041419162c14161c14070511041011041614161c14103a143214671432143214001010343c10171c141f1717123a3c143c14100604651416222217162c14110404071f1710143214161016111410191c14143214651010342c1c10062207141c14143d14322217162c14141c041c11041614161c1410211414146314141432143c1417190414171a3214171c141c3214066514143f3a14143c14161c141021141418631414183214001010343c10171c141f1717123a3c143c14100104651416222632143c14110604071414651432143c1417190414141a3214141c14131714023a3d14061416040413241c321c321465361b141426191c141419172214321410101c3432263b1404137a1c141f1714106110332c14141e141c1c1c141f177a22132d04041365343c6d171416141736001014072200321422261916321432141010223465101e0604232c14321c163322137e143e1432143e001b141614141c1410631414143214161416343c1c11040413271c14106314141432143e1011060465141c14143214013a14143c14141c1410631414103214651011342c14171a3214141c141b171438263214013a14141614160404311f11041432141614171a3214111c141b171712263214013a14141614160404391f11041432141010141c14172704041b2d1c3207241c32183214001d7a140d1317320c1e101612223c14010c16141614111c141c3217122117331d103c17123a3c143e1010342c14171b321c141c14071716003e1b141614111c14106714323232142c14171b321c101c141f171612263214010c161416141604042d271c141067143214321710100f060465141c14183214010c16121614111c141067143d0432142c14171b321c041c14183214010c1611161416040717271c14106714321432143e1000342c14171b321c141c141f171212263214010c161416141604072d271c14106714321432171614110404072d04073d2c1c3207271c321f171c103e1b1416141727001e17321c1614101d613d170614111c1407241c041011041614171c140066142d3232140614131b2218041c14103217013611161614171c1400661422143214001032343c10171c141f171c12263c143e103306226514162226321414266614041f7a1c2217171012263c143c04141465143214001011072207141c141432140010163112251714110c1614161417040413241c041018140426191c141f1710123a3e1416141416226d141c1414321416321614163216111710141414261d1416141410143913162d10141c141432140614171e141c141e141c3610041814162d10141c141432140614171e141c141e141c0c10041814162d14141c14143214001214321c1614301d1c671432321916041432141614171b321c14162d18141c141432140614161c14143a1432143a14322207171414191714171714142604141614141e141c101c14143a1432172704041f64162d1c141c14143a1432143c141407141c14140465041c3416222607141614141c14103a1432140465041c6714321432141421171404137a1c14143214013611361614141c14143a143c22321416321617161c16346322661466323214161417001614141e141c1c1c321432143820261c14130d3632077a1c1414131c141c3214343124162f0c163414263c1404137a1c2217171012263c143c04141c14143214061417101f1c1710050c171c141f1710123a3e14161414162d14141c141c10041614141c141032143d1716123226193b041017171d6d3f14101004342c1c1d1f14141604161414070465141c14043a1432223d173c14161c1413271c323d1714103a10041614141c1410321617177a1c143d1d110410191c140c32142c1417342c1c17346510141c141032173e32371c32131714103a10041614141c14363214061413101a6d171c32000411061417101d6d3d173c141310143a341c141032173e361b14042632142c1416342c1c170404171e17101432141614161c141004332c141707226517162c1410101a61171c14143d1604263217651004343c04141c143e1903041016332c1814040717271c321c3e1416141410110010041614141e141c141c0418321417176c123c1411101714191c1414321406321616110c16161614141c14102514321466143214321400101410113a32143e10141b321c181c141032143e1018343d142f1c141f1710123a3e1414206d14041011332c1814040717271c32003e141614131c14106714323d171416101704040c3d17321f14143e14321416141304043d241016321b141010101c040c3214651214101614141016103c172d171a070465141c141832172d161d140610171465141604161414101600341c1413171812263d140614141c14031716123a041b3e003217101016061d1c1b14161411040c14041c1414041c061c12101060131104183217101017342c10101c141832173d161d1406141704042526343c101711141019166510161c040c321416141304043d2410163d13110410191c141c32143c321614161412363f0c161414263217001004343c04141c1410192314101714666d3f14101004342c1c131f141432170614171b321c1c0404143d140010121c040c1604141f141c1414321700101c343d143811041717171610121c141b1732171432141714331c3236040710001b141614111c1436043c14103d14041b14143e14321417143c123c1417040117271c0410321416141304043d24101113131c140717143e3d2c11041432146512141016141410176d3c173d1710070465111c1407171402263d171614111c140c043c1410321400101e37123a3d1404221716222117143c10121c1414321700101c343d143807046517162c14161c141c3a14321432173b1c67143214191c14031710123a3e1416141716603a1714041b7a1c2217171012263c171604141c14043214010c16111614101c141867143232321716141004042d2410131c3d173c14101e141c1c1c04183f14101004342c1c171f141432140614111b321c181c141032142f0c161610137a1c0400160410101404041432143c1411101900171c321b171410321b141614141c141b1714023a3c142d140f1c321467143214321410001b141614141c141832143c14171e141c18101900171c0400191c14131710123a3e141614131c041432173d17071c14071710123a3e14161414162265141c14143a14321432140632161410361919321416041614141e141c1004363a1436061c141710143214101d1414100c100410101c112226321410101c072265170407140516651014112221171632236014041c1133321f7a1c2217171012263c17060414143b61321437653c1465197a7a7a7a7a7a7a7a7a7a7a6d14322c1c16043a1614321c1614321c141c3300197a7a7a7a7a7a7a7a7a627a6d14021407141c141f16051c0c3d171614160432061c043a1614321c1614321c1614051d221814042632143e1e14321c1614321c16147e056d14023207141c141b16051c0c3d171614110432061c043a1614321c16143218117a7a221610111410191c141f041710171614142217162c14131c141f1614161411256731171c123a32143e1c323c1e313b1c141f16321c161432171700122c1c120401132410166d3217063e11141610101c14002514223d16321c1614321c161422141613040c2f611416141234636416181c3410162c10161c14143217113611141614141c141c3214651e14321c1614321c1614321c177a326104661422323217001004343c0414162236141c14143214000c1918221017332c1414040410321417263d14141f14146514321417140f1c32101b1400120c3922103a1432143c140407141c141007112214181404261910141414162c1417166d041114041b7a1c2217171c12263c161604141c143232143f0c161016141c1c141067143d32321610101c343c1c171c141804112c14171011263d1606141710146132171010141b321c140404143d14321f1414651432173c141d073c141636326517143e14321610100c343c141c040717241016321b14141f141c143e32173c32161417161d14001039073207141c140f1717123a3c143c141d073265160404143d16321f7a1c143e32143c32161417161d14061c1704360014073c141704336d1736001022073b1f1317101432173c10161c14101814042632173e101c343c141d073265111c14103d163c141f1c140c3a143232043d2210191c041032161614141c14323a143d323216163216101614111c140432170614171c143a3214163216141632161f17101814110c161216141604043d241c040c18140426321600121422141432173c32161417171a1710141104141f141c143632173e1010343c1c12073207141c14363d17322217162c141f040c1114141614121e141c141010611b14042619146514321610100c343c141c0407172410110f1311041c3216001214221414321610100c343d143d1010601311041c321610100c343d143912322214162214191c143e321610100c343d143d10163e32160614121e141c141016391217101432173e1010343c10121c143d1712123a041f073a1814042632171010101b321c14162c14101e141c141c041c18140426191c14071717110c16141426321610100c343c141c0407172410163210041614101c14043a14321717143b1c67143214191c14323a143d323d1416141c040617241f1414321414231214221011332c1814040617271c32323e1416141c1c141c67143d1432161614171b321c0c1c143d1716123a3c1406141110146d321407142c1c043e321407141a1c14071714110c16141010141c041c1604141b141c140c3217650c32143b1c1b14041f141c143d1712123a3216101004343d1438110414160416141f1c140c26141414043c1413171f000c1004161412040413241c321c3217650c1b143e10141c043a16332c141f1c141c26141414043c14103c14001d1314100c3214001d7a140d131718100f2c070407141c140c3d143c1417111410191c140f1714383a3217650c1b142c14171c043a321606141219141416101c3217162c10171c1432321416141c1e141c0c1c14323a143d1432142c14101c1400321406141e1c14143a1432143a143c040711141467143d3232143e1016343c1012111410191c143917321814141c140c261414140407140714146514160416141d1c140f1714023a3c173e0c100416141d1c040c18140426321600121422141432173c2214141717101104101916221b141c143d1712123a3216101004343d142d070465161c143917321814141c143d1712123a041d2d1710070465161c143d1712123a041c3d3a1814142614162c141f1c143d1712123a041d2d162f1406141f1c140c26141414042622131217101432173e1017343c10121c143d1712123a041c3d3a1814042632171010101b321c14162c14101e141c141c041c18140426191c14071717110c16141426321610100c343c141c0407172410160c10041614101c14043a14321717143b1c67143214191c14323a143d323d1416141c040617241f1414321414202414041010332c1814040717271c32323e14141f141c1417131104143217163216111610121c141c321402263c17651014063207141c1414321406141d04041f641c323604332c141d07226517162c14121c14183214022117143b003c14022117141614171c140f1c122c1c170404171e171014321416141c1c14103217071662143c1c13101465321407177a1c040c321707141e123c14171c140f1d110410191c1418321438263c14001014063207141c141432143c141704041f641c321004332c141707226517162c1410101a61171c14143d1604263216101004343c04141c143e1913321432141614171c141c32142c14141e141c141e141c2210042614123221161404137a1c14143a1432143d143c141710173a3d1416141604043d241c321004001614140622077a1c141032141717661e141c140404171d17001014166500100417140d14142632143e101c343c1414101d363a143214191614143214101d7a140d10191714143214142605141614141c14143a1432143a143c04071414141910041432141614171c14103a1432143a143c14071422141910041432141614171c14103a1432143a143c22071422141911141432141012163d3a14321b321414162236141c14140410073a1919321017332c1814040717271c32103e1416141704043d241c1414041106141410143917143b0724101d3a3a1432143d14161417040717241f141432141420241404101733221f141c141b173217172d070465141c141f131c141b172c32172d1c32071716100c3217101d1414100f2c363265141c1417171e2f3a1414161414040413241c0414191c141b173214072d171014321410103f1a3214141c14171714023a3d1414261104161417190414141c320410041614141c1404631414143214101017343c10141c14131714023a3d140422171622263214141f7a04306d141c141b172c32172d1c321317221417121104143404313214043332141c141b17321c1417360726321400101c07326514123e1d3e14101d641416141612222663141414191e221017332c1814040717271c32103e1416141704043d241c1414041106141410143924101d3a3a1432143d14161417040717241f14143214142602141614141c141032143c14111c14143a1432143a143c140716221434162d14141c1417171c100c321410101f34651013060d1c191b3214321432077a1c141c1004141b141c1414321406321614110c1614161414040407241c04143214001010343c10171c141f171402263c1432651416222117141400321414263416641c17143b6c176d1c14171e141c141c32103214101011343e136d36061c16343c1014143e1432143e10141c141432140065371104143214116d1404071765062207141c1414041710001b140421176d1c14171c1414671432143214046d1904310617140010221b321c14040d6d1910321432141717111e141c141c14143a1432172704041f64162236141c14171710123a191b041017332c1814040717271c321c3e141614161c14143a1432146714322232141614171e141c141b321c141c141032143e1018343c321614110c1614161416040717241f1414191f141016332c1814040717271c321c3e141614141c1410046d04103d142c1416040717241f141432140614141c141837162265141c14143a143214321400101631123a191332143214171464171014321416141710113e05162c14141c1410041a32262614141f141c14143214000c1b14141b141c14143214001017342c1c17012265171c14143214071622143c1414040413241c0414181414261416222619141614141c141067143214321414233714041c1733221f7e0404103d17141f141c14171614131c321400197a7a7a7a7a7a7a7a7a7a7a6d14322c1c13043a1614321c16143218117a7a2217021c140316321c1614321c161422057a7a1413103711041432143e1c14003c141104237a7a7a7a7a7a7a7a7a7a7a2216111c320f16321c1614321c161422057a7a14130c32173e1e14321c1614321c11147a7a6d140007261b141614141c141e101c140032173a06100014071404041405162c14171c141a110432170f17101717332c10101c1414321439043214061411002c14171c141b07122265171c141432143a0032140614113d0c071614131c051665137a1c04043214161416033c14171c141b031c1410321464103711041432141614163d0614171c141a133d101c14003c1010162c141016641417140d61160416141104361414360407141c141c32146513143424671c1c04131614161016111410191c141b1311041432143e1d1414161411346367121c1410321463653c171c3c101c041032143c14103c161016162c14141c14106614221432141614161b22181c162261141c14143a14323d177a7a7a7a7a22312d16223a141c141404610410341c14141910221432141614171c141c3214163216141632161817101014142638141614141c14143a143d3d131c14143a143d1432140d1f2c1c321067143d1432141632161316141736040714101736141622261f141614141c1410047a0410191f141432141010160122077a1c14171717122517331d103c14161414040413271c32143214101016073d261304041019162236141c14171711123a1939041017170d6d3f14101004342c1c131f14143214071101143c10161c2217171012263c142c0414143e1432143e1d237a7a7a7a1465651004141f141c141f1714006510041614141c141c041a3c14141c04041814042632141614141c141c043232131714023a3c173d161714061c101010653214161412101022321416141610113e191c14043214061416101d1032146510141b321c181c140432143e101631123a3214651018343d142f1c141b1710123a3e14142217162d140d1414263217001004343c041416226d141c141404042c3216141614141e141c143422231014041012332c1814040717271c32043e14161414101f0c171e141c141c040016332c14161e141c141c14143a143217271c321b177a7a7a7a7a22311f1710143214651017311422171665137a162c1c1104040432142d263d142c14171e141c141c040c32141632161416101d1c1403171b3e0c1033651014170614141e141c14162c1411101f61171c3232100416141304010f1d171014321417163814073a191c1407171b010c16171614141c14071716123a3216161410040407241017613c17071639143c141310176532140614141e141c141c140c32176721241b321c141c141c321416321614161411040d2d2d343f0c1614161410040717241f141405162d140d14142601141614141c141317141614141e141c141e141c6510040414162d18141c141432140010141c14143a1432143a143c0407171414191104143214163216171614141e141c14342221111404137a1c14171727160c3a1432143c14010c16141614141c1413171112263a14321724043622381e141c141b321c141c14171765160c3a143214671432323214101018343d110414073a3214101314342d177e123c1414167a1c1614041f7a1c2217171012263c163c04141c143a3214110c1611141f14143e1416041614111e141c141c141f1d110417171e2c10191c141432160632160c103610041010211c042632160632160f16141407226517162c14111c141f1714023a6714321432143c14191a321414111410191c140c04160000321416141307661f1317101717141610141c14323a1432143c1406141d3465123314003a1b143c14101e141c141c04143216161417040407241b321c141c14103214110c16141422171665137a1c0414321606141f04303214343c141e04042d24101b1c171c1439271c320f176614171e11041032173e101631061013143e141604141f141c1413171612261a14221416141410191c14103217003a1b14042211162c14170407171d1c140f176714171c363265141c14183a1432143c14061416073c14171c141f2704041f1e363265161c14131714022621141417171810361b143e10141c041432171010141b321c141c14183214001017343f0c16141614171c140317611b1414343c651414113a1414142216162c14111c14183a1432143c14101017343f0c16141614141c140317611b1414343c651414113a14141614101c14043a1432171714023a671432171714161014111410190404143d1416141004041467143214191c14251710123a3e1416141416223a141c141717211c3e171012041962321c1714666d3f14101004342c1c1e1f141432163c14141a321405143e141604141f141c14183a14321432143e361b141010271c04263214101d7a140d103c1116141f1904140c072207140406653d162c141f1904140f1c142d1d110410191c141832143e1017343f0c16141614161c1426631414141814042632173d141f070614141c14031d363e0010041010141c0414321616321614161c171c143127040f6d17063265161c14043a1432143d1416141c1c14131717123a6714321432140614141b321c1411141019040d6d3d1416141f1c14391712383a32163e1005343d11031406141f342c1c130407311e1104101604141f14143e14321400101c3422611114141c14140426321406141306326517111418191c1413171010363217001002061d1c1b141614111e141c141c321032143e0c321406141634651016063b1c1b143c141704041327190414140401171d11041f17141610141c14071714110c16141614111c14131714023a6714321432140614130430110414123a21141414631414141814322632142c14111e141c141c32171714023a6714321432141614130430110414123a211414146314141432171614101e141c14040413241b321c140404143d14142217166510141c041432171010141b321c14162c141e040717241f1414321414261e1416141404342c1f1407173e1661181714321b7a140d611604161414043a1614321c1404031407141c14143d1704221716221b141c1413171402263c140614141c141716163a143c17001c1e333b673b0401172c1a3214141c1417167a7a7a7a7a606d17033c10161c14003d1416141611041419162c1413252c1c161710141104161417040413271c321032143c1416040425201c321b1716382d270401172c1a3214141c141f171600263d171614111c041c3217146514162226321404213f1432137a140d613f14101004342c1c161f14143214141f7e1c1413131710171614142217162c14161c141221043214321402363c14001d0714123a04192c14161e04181c043a1614321c1614321814143d0012303214103214022021043f1612331610111c141c25142214191b2218141c141432142f361116161416040717241f1414191f141432141010190122077a1c14171710122517361d103c14161414040413271c32143214101019073d261304043a1916666d1714666d3214161017143e1432141010113604071414651432140665141410001b143c1417040413241c3213171466101b141426191465143214061c16040407241c041032143c321614161c11040d6c2f1c141b17320c1e101612212d040c1617323a07613600001b1414263214651d7a140d131317101432143c141434226d1914651432143c6514140610111c141f1714023a3c140610161c14181b141426191c141032141226191e0414321416141704043d65040c16147a14312d1c141317121d072c1c141317161d0f17320561113606141704073d67363b1c67141414191e0414321416321414161c1404073d651c141717161d0717321c116d1766132c1c141717161d0f17320561113606141404073d67363b1c1911221432141614141e141c14040407241b321c14162236141c14171717123a1911221432141614141e141c14040413241b321c14162f3617143b6d3f14101004342c1c111f1414321465101c343c1c101c141004112c14161c1404043f14103c140714611b321c141c141432140714661c140404113c1411040717241f1414191b041016332c1814040717271c321c3e1416141604043d241c321832141714051c1418041a651d32651417177e2114141c1410040c2c141110146132143e1004343c04141c1410191b221016332c1814040717271c32183e1416141104043d241c320432140714051c141c321717161a14061c17101132631414143214161417101136321717141a1c141b1710123a3e1414260d141614141c141867143d1432141614161b321c181c14143214010c161614261e1416141404073d6504073d6416651c141c14143214163216141614171e141c14362f0c16141614141c14143a1432043214063216171d186714320432141614141e141c1c1c14103a14323d2f1b321c1c1c14143214163216111614171e141c18362f0c161114203616141019332c1414070407141c14100412046d191c14131704106d1004101d003204131718110c161410101411222616336510041c14131716672517301d1032140010190607263d173c141404043d271c32003a1432043c1600136136061010143e14321600101136000010041010141c140f1732141f1f11041c341c140f1717123a3217106510041614131c041c3217161412346512613d04103a14321717140d071b11041c19040414181432263217161413343c101d143e143217161412012207141c1404321738263c14651004060465171c1400321600101736061412363e1016363f0c16171614131c140f241c321c3214651011363f0c161716141d1c14363a14320717140d1c6714320432143c1411101a2217111410191c1431176d1c10171e141c1407320714043006171406321614161410343c1c101c140f1b11041c321706141f0404132d1c140f2c04041f2c1b321c101c14003217383a3c142c14101c140f271c321f17140d1c6714320717601c10171c141c67143217176d1c10171c141867143214181404263217651d263204103a1432171217101717611c10171e141c141c1407241c321832173e3e1b14321f141c1418321738263c143e1004012207141c1400321600101736061412363e1016363f0c16171614131c140f241c320432143e1017363f0c16171614111c1403241c321832143f0c16141614111c14183a14320717333b106714320418140426321706141f0404132d1c141b2c04041f2c1b321c101c14183217023a3c143c14161e141c100404132c1b321c100404143d143e10141c04041904302c17140614101b321c1404301617140614161b321c14111410191c14363a1432043c14651016360465171c141b17301d103217123a3c163c1412060465171c143a321738263d11141f141c141b177a22131b17101432172c321616161c101c141b1714660c3c143e10113110121432321324073d3a321716141d1e141c181c321b1217101717671c101704313c17140632161410137e1c141f6636010c1614142216162c14101c14186714322232142c14101b321c1c111410191c14363a143d323d16221f141c143632172c321611161c1c072207141c14363a1432323c143e1d3a3204103a1432171f123c14161c14326714322232161614161b321c1c11141019143e143217651000343c1c101e141c141c321c1b1416141d040717241c32043a1432143c143265140404143d1614221716221b141c14043d142c14161c323d1713123a3c1716321614161c161104143216101004343c10101c14323a143d143c14326514162c141104041467143214191c142113110414160416141d1c14363a143d223c146510163110121c3d1413241c321c3a1432171217101432143c141c1b321c141c14321b14001d3632041317661c10171e141c14040d61321466312d1b321c1411141c191c142117101010001c14263a143d143217650c37343c141c1b321c141c143d13110410191c143232162f0c161216141d1e141c041c321c100416141c1c141c67143d1432143c141c1b321c0c162c141d1e141c001c321f1311041432161614161b321c001c141c3216110c161214263211101005010407141c140032160010173606141e363e1016363f0c16171614131c1425241c321c32143c321617101017363f0c1617142217162c14131c143917140d1032173b1f17143b1c671432043217061412343c1c111c142d1714661c67143204321706141e343c1c161c141c3a14320717140d1c6714320432142c1418101a2217162c14131c041c191c141c191c321c100416141604043d24112226321407140f1c3203131710171714146d191c1400321410136d040d323214101010342c321614161c1604041b2d122c1416040d3d2d343c1c161c14103214061416062d2604043d3a32141714041c140019330410113365100c1c041c1604141f141c141432140d1f171466101b14141b141c14143a14321432140632161410361b14061417040407241c04103214101010343c10141c141f171712263c143e101106226514162c14160704651716221b141c1414211414143c142c1417190414141c3207121710143214001017343c10171c14171714023a3d14161416040413271c321c1b1404221616222632142c141034226d190404141906041016332c14141e141c101c320f17161d003d170614120404132d17101432143c321614161413101800171c0400191c14143a1432143c141614171c141c3217023a32146510161c140f17143b10371c14043214163216141632161217101e1414206714041011332c1814040717271c32183e141614111c14106314146d1604141f14143e1416041614141011001004161414101d653d140614141e141c101c32043214001017342c1c16073265171114181904043a3d1710101e1c041c3214166514162c1c170404251d110410191c141432143e10171c141c32143d111c140614101c04103214171464110410191c14143d143c14141c14131714023a041a322217162c14141e141c141c041c32141614100404132410113e3217161017162c14171c141f241c32143214651005343d14651c141b1714113a14113c1414040413241c141b1711383a041b161411040717241f1414191f141016332c1814040717271c321c3e141614171c1414046d04103d142c1416040717241f141432140614141c141837162d65141c14171717123a043e321f1733650c10041614141c14143a1432143a1432320714041419162c04141c1414047e04103d1416141710053e171c1417271c321010041614161c14143214071124140426321406141634322607141614141c14103214063216141632161e171011141426001404137a1c14143a1432143d1406141404041467143214321404202719141007332c14141e141922140610061c14143a143204321406321417161c1004073d651c140717161d0717321c116d1766132c1c140717161d0f17320561113606141004073d67363b1f2f1c320717113b0f177a14312d040c141c343c32161410101c1014323d173c14141e141c1c1c14103a1414323c1700100c3116141304043d65040c16147a14312d363c141304043d67040c117e146610321700100c313b1f2c362c1c1304040f670433221d3600121416123a3a143217171017141c1c04323214163216111614171e1414181c321b17121d04321465101c311012143205221d360d1c321465101c313e12147a321b2d1c141b17121d0f2c363b183c14651d7a140d1317143b071732143d241e141c14040732041616101d1c140317113b0f177a14312d040c141c343c32161410101c1014323d1606141104040f670433221d3600121416123a3a143217171017141c1c043a3214163216141614171e1414141c321317121d04321400101c311012143205221d360d1c321400101c313e12147a321b2d1c141317121d0f2c363b183c14001d7a140d1317143b071732143d241e141c1404073204161610191c141b17113b0f177a14312d040c141c343c32161410101c1014323d1116141704040f670433221d3600121416123a3a143217171017141c1c04653217101d7a140d1317143b071732143d241e141c14040732041616101a1c141317113b0f177a14312d040c141c343c32161410101c1014323d112c141004040f670433221d3600121416123a3a143217171017141c1c07143217001d7a140d1317143b071732143d241e141c1404073204161610071c14143a143d0432162c141e1c143e3217101002313e1d6d1766131732143d241e141c1436661b2f362c1c10040460670433221d3600121416123a3a143217171617141c1c043e32141632161216141a1c1465321116141304070f670433221d3600121416123a3a1432172f36661b2f1c320317173b0f177a14312d040c141c343c3216141010041014323d163c14141e141c361c171032101614051c141b17133b0f177a14312d040c141c343c3216141d1b2f3666183c14651d7a140d1317143b071732143d241e141c1404073204161610191c140317113b0f177a14312d040c141c343c32161410101c1014323d1116141104040f670433221d3600121416123a3a143217171017141c1c046532141632161016141d1c143232173c141704070f670433221d3600121416123a3a1432172f36661b2f1c3213177a22132d04041f65040c141c343c32161410100c1014323d173c1411040460670433221d3600121416123a3a143217171617141c1c04323214001012313e1d6d1766131732143d241e141c14040714041616101d1c1407177a22132d04041f65040c141c343c32161410100c1014323d113c1417040460670433221d3600121416123a3a143217171617141c1c046d3217101012313e1d6d1766131732143d241e141c1404071404161610041c1403177a22132d04041f65040c141c343c32161410100c1014323d100614141e141c3e1c140c32110614181c140717133b0f177a14312d040c141c343c3216141d1b2f3666183c1710101a313e1d6d1766131732143d241e141c1404043204161610121c14143a143c3232113c141d1c14323217001002313e1d6d1766131732143d241e141c1436661b2f362c1c1304040f670433221d3600121416123a3a143217171017141c1c04323214163216191614071c171432112c141104070f670433221d3600121416123a3a1432172f36661b2f1c321b177a22132d04041f65040c141c343c32161410100c1014323d172c1413040460670433221d3600121416123a3a143217171617141c1c04223214651012313e1d6d1766131732143d241e141c14040714041616101b1c14143a143c1432162c141e1c143e3214001002313e1d6d1766131732143d241e141c1436661b2f362c1c1704336d17360010163110121416123a3a143217171217141c1c043e321465101a313e1d6d1766131732143d241e141c14040432041616101e1c141317173b0f177a14312d040c141c343c3216141010041014323d162c141004336d17360010163110121416123a3a143217171217141c1c0461321400101a313e1d6d1766131732143d241e141c1404043204161610051c140717173b0f177a14312d040c141c343c3216141010041014323d1016141304336d17360010163110121416123a3a143217171217141c1c071032141632161b16141f1c1465321116141004070f670433221d3600121416123a3a1432172f36661b2f1c320717113b0f177a14312d040c141c343c32161410101c1014323d160614141e141c611c146132162c141e1c140317133b0f177a14312d040c141c343c3216141d1b2f3666183c17001012313e1d6d1766131732143d241e141c14040714041616101e1c14143a143f2232100614041c146d3214651002313e1d6d1766131732143d241e141c1436661b2f362c1c1104336d17360010163110121416123a3a143217171217141c1c0426321700101a313e1d6d1766131732143d241e141c1404043204161610181c141b17173b0f177a14312d040c141c343c3216141010041014323d110614141e141c221c143632161614121c141317133b0f177a14312d040c141c343c3216141d1b2f3666183c14001d7a140d1317143b071732143d241e141c1404073204161610121c141b17113b0f177a14312d040c141c343c32161410101c1014323d1616141704040f670433221d3600121416123a3a143217171017141c1c04363217101d7a140d1317143b071732143d241e141c14040732041616101a1c141317113b0f177a14312d040c141c343c32161410101c1014323d112c141004040f670433221d3600121416123a3a143217171017141c1c07143217001d7a140d1317143b071732143d241e141c1404073204161610071c14143a143e0432173c141b1c14223217101002313e1d6d1766131732143d241e141c1436661b2f362c1c10040460670433221d3600121416123a3a143217171617141c1c040c32141632160616141a1c1436321616141304070f670433221d3600121416123a3a1432172f36661b2f1c320317173b0f177a14312d040c141c343c3216141010041014323d161614141e141f181c171032101614051c141b17133b0f177a14312d040c141c343c3216141d1b2f3666183c14651d7a140d1317143b071732143d241e141c14040732041616101d1c140317113b0f177a14312d040c141c343c32161410101c1014323d1116141104040f670433221d3600121416123a3a143217171017141c1c04653214163216041614191c143a321606141704070f670433221d3600121416123a3a1432172f36661b2f1c3213177a22132d04041f65040c141c343c32161410100c1014323d16061411040460670433221d3600121416123a3a143217171617141c1c043a3214001012313e1d6d1766131732143d241e141c1404071404161610191c1407177a22132d04041f65040c141c343c32161410100c1014323d113c1417040460670433221d3600121416123a3a143217171617141c1c046d3217101012313e1d6d1766131732143d241e141c1404071404161610041c1403177a22132d04041f65040c141c343c32161410100c1014323d100614141e141f001c143e32110614181c140717133b0f177a14312d040c141c343c3216141d1b2f3666183c1710101a313e1d6d1766131732143d241e141c14040432041616101f1c14143a14393232113c14191c143a3217001002313e1d6d1766131732143d241e141c1436661b2f362c1c1304040f670433221d3600121416123a3a143217171017141c1c043a32141632160d1614071c171432112c141104070f670433221d3600121416123a3a1432172f36661b2f1c321b177a22132d04041f65040c141c343c32161410100c1014323d162c1413040460670433221d3600121416123a3a143217171617141c1c04223214651012313e1d6d1766131732143d241e141c14040714041616101b1c14143a14391432172c141c1c140c3214001002313e1d6d1766131732143d241e141c1436661b2f362c1c1704336d17360010163110121416123a3a143217171217141c1c040c321465101a313e1d6d1766131732143d241e141c14040432041616101c1c141317173b0f177a14312d040c141c343c3216141010041014323d172c141004336d17360010163110121416123a3a143217171217141c1c0461321400101a313e1d6d1766131732143d241e141c1404043204161610051c140717173b0f177a14312d040c141c343c3216141010041014323d1016141304336d17360010163110121416123a3a143217171217141c1c071032141632160f1614121c1465321116141004070f670433221d3600121416123a3a1432172f36661b2f1c320717113b0f177a14312d040c141c343c32161410101c1014323d173c14141e141f3a1c146132172c141c1c140317133b0f177a14312d040c141c343c3216141d1b2f3666183c17001012313e1d6d1766131732143d241e141c14040714041616101c1c14143a14382232100614041c146d3214651002313e1d6d1766131732143d241e141c1436661b2f362c1c1104336d17360010163110121416123a3a143217171217141c1c0436321700101a313e1d6d1766131732143d241e141c1404043204161610181c141b17173b0f177a14312d040c141c343c3216141010041014323d110614141e141f321c142632163c141f1c141317133b0f177a14312d040c141c343c3216141d1b2f3666183c14001d7a140d1317143b071732143d241e141c14040732041616101f1c141b17113b0f177a14312d040c141c343c32161410101c1014323d163c141704040f670433221d3600121416123a3a143217171017141c1c04263217101d7a140d1317143b071732143d241e141c14040732041616101a1c141317113b0f177a14312d040c141c343c32161410101c1014323d112c141004040f670433221d3600121416123a3a143217171017141c1c07143217001d7a140d1317143b071732143d241e141c1404073204161610071c14143a143b04321606141b1c14223217101002313e1d6d1766131732143d241e141c1436661b2f362c1c10040460670433221d3600121416123a3a143217171617141c1c043e32141632163016141a1c142632163c141304070f670433221d3600121416123a3a1432172f36661b2f1c320317173b0f177a14312d040c141c343c3216141010041014323d163c14141e141f6d1c171032101614051c141b17133b0f177a14312d040c141c343c3216141d1b2f3666183c14651d7a140d1317143b071732143d241e141c1404073204161610191c140317113b0f177a14312d040c141c343c32161410101c1014323d1116141104040f670433221d3600121416123a3a143217171017141c1c046532141632163616141d1c143232173c141704070f670433221d3600121416123a3a1432172f36661b2f1c3213177a22132d04041f65040c141c343c32161410100c1014323d173c1411040460670433221d3600121416123a3a143217171617141c1c04363214001012313e1d6d1766131732143d241e141c14040714041616101a1c1407177a22132d04041f65040c141c343c32161410100c1014323d112c1417040460670433221d3600121416123a3a143217171617141c1c07143217101012313e1d6d1766131732143d241e141c1404071404161610071c1403177a22132d04041f65040c141c343c32161410100c1014323d102c14141e141e10140614121c1465321116141004070f670433221d3600121416123a3a1432172f36661b2f1c320f17113b0f177a14312d040c141c343c32161410101c101432321416321632141032162c141e1c143e3214001002313e1d6d1766131732143d241e141c1436661b2f362c1c1c04070f670433221d3600121416123a3a1432172f1c14143a143a32171c146d32113c141d1c140317133b0f177a14312d040c141c343c3216141d1b2f3666183c17651012313e1d6d1766131732143d241e141c1404071404161d1832141632163f141032102c14071c17143214651002313e1d6d1766131732143d241e141c1436661b2f362c1c1104336d17360010163110121416123a3a143217171217141c362c14141e141e04140d183d1406141d040460670433221d3600121416123a3a143217171617141c1c140f17133b0f177a14312d040c141c343c3216141d183214651012313e1d6d1766131732143d241e141c1404071404161d183216101d7a140d1317143b071732143d241e141c1404073204161d1832141632163914132f1c0404321465101a313e1d6d1766131732143d241e141c14040432041616141d04070f670433221d3600121416123a3a1432172f1c143d17173b0f177a14312d040c141c343c32161410100410143d2f1c140f177a22132d04041f65040c141c343c32161410100c10143d2f1c14143a14253217362c1013143b6d321610101a313e1d6d1766131732143d241e141c14040432041616141104070f670433221d3600121416123a3a1432172f1c140f17173b0f177a14312d040c141c343c32161410100410143d2f1c1431177a22132d04041f65040c141c343c32161410100c10143d2f1c14143a14252217362c1c111c171f171665321b14173a321710101a313e1d6d1766131732143d241e141c14040432041616101c1c140317173b0f177a14312d040c141c343c3216141010041014323d172c141104336d17360010163110121416123a3a143217171217141c1c043e321700101a313e1d6d1766131732143d241e141c1404043204161610121c141b17173b0f177a14312d040c141c343c3216141010041014323d163c141704336d17360010163110121416123a3a143217171217141c1c0426321465101a313e1d6d1766131732143d241e141c1404043204161610181c141317173b0f177a14312d040c141c343c3216141010041014323d1106141004336d17360010163110121416123a3a143217171217141c1c0461321400101a313e1d6d1766131732143d241e141c1404043204161610051c140717173b0f177a14312d040c141c343c3216141010041014323d1016141304336d17360010163110121416123a3a143217171217141c1c0710321416321625141032162c141e1c140c3217101002313e1d6d1766131732143d241e141c1436661b2f362c1c12040460670433221d3600121416123a3a143217171617141c1c14143a142414171c143e32172c141c1c141317133b0f177a14312d040c141c343c3216141d1b2f3666183c16101002313e1d6d1766131732143d241e141c14362c14141e141e3a1406141a1c1465321116141304070f670433221d3600121416123a3a1432172f36661b2f1c323117173b0f177a14312d040c141c343c32161410100410143d2f1c14143a142422171c171032101614051c141b17133b0f177a14312d040c141c343c3216141d1b2f3666183c14651d7a140d1317143b071732143d241e141c1404073204161d1832141632162614132f1c0410321765101a313e1d6d1766131732143d241e141c14040432041616141204070f670433221d3600121416123a3a1432172f1c141b17173b0f177a14312d040c141c343c32161410100410143d2f1c143d177a22132d04041f65040c141c343c32161410100c10143d2f1c14143a14270417362c10101c141b17113b0f177a14312d040c141c343c32161410101c1014323217651002313e1d6d1766131732143d241e141c14362c141c04040f670433221d3600121416123a3a143217171017141c362c141204336d17360010163110121416123a3a143217171217141c362c14141e141e61140d183d1706141c040460670433221d3600121416123a3a143217171617141c1c141b17133b0f177a14312d040c141c343c3216141d1832173e1012313e1d6d1766131732143d241e141c1404071404161d183217651d7a140d1317143b071732143d241e141c1404073204161d1832141632162314132f1c321832103e101b06146514123c1410040460670433221d3600121416123a3a143217171617141c1c04323217001012313e1d6d1766131732143d241e141c14040714041616101d1c141b177a22132d04041f65040c141c343c32161410100c1014323d16061413040460670433221d3600121416123a3a143217171617141c1c040c3214651012313e1d6d1766131732143d241e141c14040714041616101e1c1413177a22132d04041f65040c141c343c32161410100c1014323d162c1411040460670433221d3600121416123a3a143217171617141c1c04223214001012313e1d6d1766131732143d241e141c14040714041616101b1c1407177a22132d04041f65040c141c343c32161410100c1014323d113c1417040460670433221d3600121416123a3a143217171617141c1c046d3217101012313e1d6d1766131732143d241e141c1404071404161610041c1403177a22132d04041f65040c141c343c32161410100c1014323d100614141e141910140614191c143a32173c141004070f670433221d3600121416123a3a1432172f36661b2f1c320f17113b0f177a14312d040c141c343c32161410101c1014323214163216221410321606141d1c14323214001002313e1d6d1766131732143d241e141c1436661b2f362c1c1c04070f670433221d3600121416123a3a1432172f1c14143a142632171c146132110614181c140317133b0f177a14312d040c141c343c3216141d1b2f3666183c17651012313e1d6d1766131732143d241e141c1404071404161d1832141632162f141032100614041c146d3214651002313e1d6d1766131732143d241e141c1436661b2f362c1c1104336d17360010163110121416123a3a143217171217141c362c14141e141904140d183d1406141d040460670433221d3600121416123a3a143217171617141c1c140f17133b0f177a14312d040c141c343c3216141d183214651012313e1d6d1766131732143d241e141c1404071404161d183216101d7a140d1317143b071732143d241e141c1404073204161d1832141632166414132f1c0404321465101a313e1d6d1766131732143d241e141c14040432041616141d04070f670433221d3600121416123a3a1432172f1c143d17173b0f177a14312d040c141c343c32161410100410143d2f1c140f177a22132d04041f65040c141c343c32161410100c10143d2f1c14143a14213217362c10131c143d17113b0f177a14312d040c141c343c32161410101c1014323214651002313e1d6d1766131732143d241e141c14362c141204040f670433221d3600121416123a3a143217171017141c362c141d04336d17360010163110121416123a3a143217171217141c362c14141e141936140d18191c041832143c14141c171f17171d07241c32143a1432143214651d7a140d1317143b071732143d24190414171c141317133b0f177a14312d040c141c343c32161410101c31101214321c176136061410040460670433221d3600121416123a2114141f17101d072c1c140317173b0f177a14312d040c141c343c65141400101c311d1f2c362c1c0604073d651c171f17161d0717321c116d1766132c1c171f17161d0f17320561113606140604073d67363b1c6714141432143c14141e141c101c1413177a22132d04041f65040c141c343c65141406141004070f670433221d3600121416123a3a14321717161d0717321c1614301d10321700101a313e1d6d1766131732143d241904141604071765363c141104040f670433221d3600121416123a2114141317161d072c363b183c103e100c3116140604043d65040c16147a14312d363c140604043d67040c117e14661032103e100c313b1f2c1b3214101c141c32141632161616141004336d17360010163110121416123a211414103217001002313e1d6d1766131732143d241e141c1404043d65040c1614321d3d2d1c141b17113b0f177a14312d040c141c343c6514143e1004311d1c3214001012313e1d6d1766131732143d241904141704043d65363b1f2f1c3d1f17121d0432103e101c311012143205221d360d1c32103e101c313e12147a321b2d1c171f17121d0f2c363f0c14161614161c14143a1432223217001d7a140d1317143b071732143d24190414171c141b17133b0f177a14312d040c141c343c32161410101c31101214321c176136061417040460670433221d3600121416123a2114141f17101d072c1c140717173b0f177a14312d040c141c343c65141400101c311d1f2c362c1c1404073d651c141717161d0717321c116d1766132c1c141717161d0f17320561113606141404073d67363b1c671414221911321432141614171e141c141b321c141c141419172214321417171d1232261c14101d7a7a7a7a7a1722261314101d7a14142611141410191e221416041614141c14131211041411041614141c1413171712263c14006d1b140614141c14100431061414040407241c04141814142614162223001422101c332c1814040717271c323a3e141614121011263d162c141e1c140c043f14103c173d1466143e1432163d171f17101432162c14141c141c32142d173f1c140032142c14161c14172704041f65343c1c121b321c14111410191c140032142f0c1614141f14143e143214161c1c190414141c3231171e67261a14221417141410191c1426321765100c3110100c3107146c1c043232170614131e141c141c32311717123a6714321432172c141c1b321c141c14171714023a3d16142616041614161c143d2704041f1c110414321616651414101022072265141c143221141413171c1d1f177e14171d11041432166510221011653d172c14131c14003a1432143c16001010343f0c161416141f1c14366714321432162c141c191414171011653d172c14131c14003a1432143c16001010343f0c161416141f1c1436671432143216101016343c101c162c141c1c141c04300010141c043e32173d14611c042d171416101d1c14323d17321b7a1c141c32173e6510332c14111c14323214122117143b07241c14003a143214042704103217063216141400160416141e1c143604162c65141410001b1416141f1c143a32172d141919141414072265141c1400321706321614161c1f040407241b321c141c143e3211110c161416141d1c143632163d141f0404132706023a3d176510141c043e191c142632173c22141417146c1c046532170614131e141c141c32601717123a6714321432113c141b1b321c141c140f1714023a3d173c141f040413241c043e18140426191c040c191c140432173c14111c14103214122117143b07241c141032143e0c371b321c141c143a04163d3a32163e1004343c0414166c141714041f7a1c141f173217172d17101432141010271a3214141c14171714023a3d14142632143e1214161d101004161414040618631414143214101017343c1014162c1416040c041636061c11040c0416072207141c141717272104141a2214141c14171714383a3d14142632143e12143214132d1c041c1104161417190414141c320410041614141c1404631414143214101017343c10141c14131714023a3d140422171622263214141f7a143e143214651214143e3610041614110404071d110413172d32171760321432143d2618143221172d04171760041432143d2618140421172204171761041432143d263214651210143e0c1b141725172d22171760221432143d26191a3214141c141b173d141f1d166d3a1114043d7a1c2217171012263c163c04141c140c04183c10191c143a32173d161a14061c12101136160416141e10103e10041614191c141432143c141110126d32170614111c141c32141221241c320c671432141814042632170614111b321c14143e1416041614141c3232211414143c17651027342261111414101414042632162c141d04073d6504073d6410163e3d161614131c14003a1432143c17651017343f0c161416141d1c1432631414143214101017343c101c16221f141c141c3216122117143e321b1416141c190414140401171d110414321616651414001032363e1d611410361b14161419040114041e06101d1c1400321706321614161c1f040413241b321c141c143e32172f3a14141614191c143226141410041e06101d1c1400321706321614161c1f040413241b321c141c143e32172f3a141416141c04041f241c0432191c143232143d17600404143d160614121011323d111010141c0436321616101214666d32143c14120104077a1c1418321616141434673a3217063216141717601c14003a14321413143e1432163c141d1014262114141713110414321606141e1c143604162c22141410361b141614131c14003a1432143c16001017343f0c161416141f1c14226314141432172c141d1c143a0416001017346539241c0431171416101f162c14191c140c26141414041e06101b1c1400321706321614161c1a040413241b321c141c14613211013a1414161412040413241c040c3216001017343c101f11141019162c1012162c14101c140c32142c14171c141727343c14171c141f12122f0c161416141e10143a341c14251710123a3e1414261814161414101465321400101631123a192432041716666d3f141012141402263c163c04141c143a3214010c16301614161c1418042f041c3d1616141e04010067143d1432163e101c343e10141c14251710123a3c160714301c0714160416141c04300014012207141c14320412061c1f070465171c1714321607143b162c141f1c043632143c101714651432140614110732071414651416041614141c1425177e14172410110f171416141c12650010041614141c1425177e14172410163210041614131c14003a14321717143b1c6714321419111410191c1414041c06101a1c140f13171014321716141a10163e3d1132263211101017343c101b0404143d112c141f1c043632143c10171465143214061411073207141c14653d11161405070465111c1414041f073a321606101d1c141c3d1406141c1c14212404041f1f11041811041614171c141b1217101418170400160416141d1904141404041f1d110414321407141f1c14641211041432176510141a3214141c1421171402263d1622263217651017343c101d1c14131711123a3d1404221716221419141400160416141d190414140404131d1104143214061418101910171e141c141c07101604161412171d6d32100400321716140710163e191c14601217101717140610051c1410041606141b072265161c143117143f3a1414161419040413241c04261814042632176510141a321414162c141c040413271c0432191c14311714023a3d172c141704042d241c041018140426141622141916221f14143e1411041614161c141b12110410321606651414101016072207141c14391714023a3d1606141604042d241c041c18140426191c141c3d14222217162c14131c14003a14321717171d1c67143214191c1714041d06141e040c1417343c04141c14180517041f141c141004060000100416141d040410631414141814042632176510161a3214141c14211714023a3d162c141c040413271c0432191c14311714023a3d172c141704042d241c041018140426141622141910173614162d10141c141432140614141e141c141e141c1810041c14166218101404217a1c221717321413271c323a3e1416141e1c141067143b3232143c1411101865161c043232163e10641b321c041c142517161225171416141e040717241c323e041d3c1004143e143216101d3914106d100416141c10173e3c1600001b140614041c143e041f2226321606101d1c141c3d14041b141c14103214650c1004141b14143e14321416141e04333214343d142d0404143216172113171014321416141e04333214343d143817101432170614131e141c1404041f2c1b321c1416222217162c141410176d3d113c1412070407141c140432113d162f1406101a162c1418040413241c046417141610051c143e3d172c14161c041011041614171c141b1217101432110610181c146c13110418321417143c123c141f1c043632143c10171c14323216672517143e3e1b14221b141c14103214650c100414221317041f141c14362114141717143e361b1416141710143e3211000c1b1416141d040414631414143216651017342c1019162c141d040413241c04363214001018343c1017111410191414261417041f141c143621141417171400361b141614171c142204162c221414161007143e1432113e1d7a140d10321732077a1c1710131c1404321007162f140421177a22132d073207140404103d112c141710143e321100361b143c141d04041c631414143216651017343c1019111410191c14311714113a141414263216101017342c101c162c141d040413241c04363214001018343c101711141019141426141622261604141f1414651432143c1411073265171c143e2114141717143e36100416141f040413241c043e32143e1018343c101611141019162c14161c04181814042632170614131e141c140404072c1b321c14162c140410176532163e121414023a3e1416141111220016041614171010391317101432176510171a321414111410191c143117143f3a1414161419040413241c04263216101017342c101c162c141d040413241c04363214001018343c10171114101914142614162d140d1414233914221011332c181404341417342c1c101f141717332c10131c14043214001017346510141c1410371b321e00140614101c1414321710123014023a321407263c173f0c163e14103217101014040f141710100c3c1410137a1b321f181c1417171b110c161f161414040d6d671439143214161414040f6d17343f0c16191614141c1417173e1413241b321f00143e14321400101406140714043106171400106c1b321c14111410191c140f1714113a14141010141c04043f14101d041402263c140604141c141032142f0c162f1410321400123214023a3c1465101404063204073d3a32140614171e14191814010c162c141016041010141c141c3214001d1c14023a3214001d0414123a32142d1136143e101406140714040d6d3d14322217162c14141e141f180404171a1c04003214163216141610111c14143a143e3d1714102210041614141c141b170d66106714321419143b6d1604141f141c14143a143f17131710143214101d0414110c161816141404041467143d223214101c141b2218041c14143a143c223d171614141c141067143c22181404263214163216101465171665137a1c1414046314101b14073a191c141432143c141704363217343c141704311414343c141704341417343d11361432263d143c1410171014321410101404041432141632161f17101014173a32141010141b321c221c14143217110c161916141404041467143d2232141010141b321c041c14143a143d043d1716141404041467143d0432143e137a1c1404371c041c191c1414321416321614161c101c141b171c1d132c1b321c14040d6d32143c14100406172d122c10161c140313110414191c141317651413241f141432143c1013162c141404341417343c04141c1400190632101633221f141c1414211414143c143e0032143c1417190414141c321b1d363265141465143214066514140610111c1414211414103c143e001b14061417040413241c04103214101017343c10141c141c3214650c1b141426191c141c321467261960141c17173b6d3f14101004342c1c1d1f14143214651d223d321032142d263c1706321614161011143e141604141f141c141313171014321422651711141819040d613d17161416070465161c14143217651018343c1414122c1012143e1432142207141c141c3d14142217162c1417190414141c321717121d0717121d003c14651014013207141c140c3214110c16141614110404171d1c04041817142632140622141416101404313c12140632161416321614100010041614121c1417177a626d1136010c16141010171c0404181714263214101d7a140d1317223213271c321717183e261b1406141404041f6504361427343c3216141610111c141f171402263c1410001b143c1417040413241c0410191c1410211414143c16101011313c1c1f040717271c141b17123b00321602252c040431191104141104161414040413271c041432161012141402263214651012311d1c3c14651014013207141c14031714110c16141614121c14186714321432143c1414342c1010111404191c14171311041c3214001017343c1c17190414141c323d172214132d040c14170732651416222632170010141b321c14043106171400100f1b321c14040d6d3d17142217162c14131c141867143214191c14311710123a3e14161410162222141c14171711123a04333d3a321414261c141614141e141c040704263a14041f7a1c2217171012263c143c04141c14103a14321432141632161410323d142c1416040717241f141432140614141c141837162d14141c14143214013611161614140432146614221419102214321410126d1d2f0c1614161414040407241014613214142610141010171667001714666d32143e0010041010141122261604161414190414141c321b131104141104141f141c1410211414143c1700001b14161416040413271c321f131c1418321700312c1104143214001017343c10171c1414211414103d142c1414040413241c0414321422651711141c19162c14111c0404191c1407177a22132d1c14102114141727166361171404077a1c2217171012263c170604141c14103d171614160407170517101432143e1010313c101d14651432142c1410101f65171c1418321416141310191c161c14183217063e1116113614161614111c140025142214661414143217101004343c10101c140f1714023a3c173c141d0722651416222632171614171c141f241c32131f17101432170614101c1410321712263c143d17161c32103214382517141010041c141f2710100c341c14183214071631140614111c1414321407162c143c14111c1410251422326614143232142c14171e0418141b221414162c1413040717241f14141912321432141614171c14103a143217171112263a143217241e141c0c1b321c141c1414191e221017332c141404332f7a14110c1614141f141c14143a143207171112263c1400101c343d1606143e1014013265141c141004101426321414211914041f7a1c14143a1432043c1765101c310610121c143117140d1010041614111e141c141c140c042d04103d173226321416321614161c141c141032143c14111c140f241c140717143c141d04041f2d122c14131c14143a1432143a143d0407160414191c141416041614141e141c101c14131d11041432141632161d101017073265141c141432143f0c161d142619383210141c14171714013a141b041f141c14143a14320432143e361b141614140404106314110416041614141e141c041c321f1317101432141010171b321c3e1c141432142f0c16121614141c141067143d14321416321618101017072265161c141b1714000c1b14042216162c14171c141f12171014321416321612161c1604041f1217101432141614111b321c0c1c14183d143226321416321618101017072265161c141f1714000c1b14042216162c14141c14143a143c071714023a67143c04191c14171714013a141b3226191632143214161417343c3216141421311404137a1c14143a143d143c146500100416141404041067143c0432141614161b321c0c1c14143214010c1610146d19143e143214061411073207141c14143a143d3d17143e361b140614141c141c67143d3205162c14140404106314110c32141010161b321c0c1c141432141632161f101017343f0c161f1426192004101714666d3f14101004342c1c111f141432142c14171b321c18143e141604141f14143e143214171464171014321417176c1c0410321416321617161c101c1413171402263c143e0c1b14042211166510171c040717140610161c1414211414263c1400101707226517162c14141c141f17140614161c141c046d221032171610171c1414041b046517162c14141c041c32141614170404132410113a181404263214163216141610161c14143217101017343d14601c14043d14042632143c141704041f65343c1c141c141b1711123a04182c1411040414671432323214101010343c141104043d241011183214651004343c041416636d1714041b7a1c2217171012263c170604141c141f17372c1c121c141327010407141c1414041106101d143b6d32140614120404136704071727060407141c1400321400101731110c16161614131c14103214383a671432223217001018343c141304043d24101d0c3a143214043e04101814042632173e10173422211714023a3c173d17331c041c32171407141c141c32172c1410101300191c1418321712263c142207141c141c3217123a321716141d343c1411101300191c141317163e36100416141d101714191c141432143d171b1c141432173d17181c14031710123a3e14146d1910173614162218141404260d141614141e141c1c10170f1d17101432141632161617110014322632141426611404137a1c2217171012263c142c04141c141832143f0c161116141104043d241c141b1711123a04003c10161c14143214071134140610141c141c0400061411040717241f14143214142619141614101c141c67143217171422261f14161414040414671432141911221432141614141e141c10040413241b321c10162d3e17140d6c17140610171c1414041b04077a1c14140433001017342200321404261912321432141012651c010c16141614140406172410143a341c141404231410341c1414193e221017171d6d3f14101004342c1c111f141416041614171011031317101432141614171e141c1c1b321c1c1c14143214063e161411361614142217162c14171e141c141c04041604141f14143e14321406321617161c160404251b17101432141610171c141432143d1463111410191c141f173765261b140614141c141c043e04131714023a3c170717331c321004010614141c140004011614141c141c041a042632140614101c141f1714023a0403042217162d140d141426191c141b1710123a3e1414262d141614161e141c141c041c1104141f141c14143214003610332c14141e141c141c141f1d110410321414003214042605162c1414040407241c04141814142614167a3e111404137a1c2217171012263c111604141c14223214110c1611141f14143e143214161413073207141c1410211414171311041317141610141c14131714113a14141614101c14043a1432143c14001017343f0c16141614170406616314141432172d141f070465161c143e3a1432143c1406141c3465123314003a1b143c141e1e141c141c041c3216061417040407241b321c141c141032143f0c161414221616221f141c141432173e361b1416141d1014391311041432140665141410001b140010141c0414321606321614161c171c143d27040f6d17063265161c143a3a1432143d1416141f1c14131717123a6714321432140614141b321c140404143d1416141e040414671432141814322117332c10141c1426321665121414023a3211101018343d110614061419342c1c1304332214063265171c140317143b0317611b1414343c651414161012143e141604161413040d212d1c3217176714171d1710143214101d321410361b140614111c14043a1432143c140036100410137a1c04143214001017342c651414101d33141d1032143c651414101d7a141d131d110400191c14043214001017343f0c16141614171c140c631414171714161014111404191c141f17651414631414141814042632143c221414161c141c140f176622172d072265141c141c3214101214140d1c6314141432140665141410001b141614170404146314141432172d141f070465141c143e3a1432143c1416141c3465123314003a1b1416141e1e141c141c04103216061414040407241b321c141c14143214010c1614142632171614101e141c141c32171714023a6714321432141614121a3214140404143d1416141304310414063265171c143a32163c321614101017343f0c16141422171665137a1c0414191c142d1710123a3e1416141416641417143b6d3f14101004342c1c121f141432173e101c343c1c131c141004112c141310112117611b1414040c11071416141610121832142c1413101c22171c32100406110c16141614101c1410041a110c16141614141c1410041b2c141310146132173e1004343c0414162f10141c141c211414143d14321b14143e1432141614170722077a1c14142114141432143e361b140614141706141716226d191c14171714023a3d141422141622141962041817140d6d3f14101004342c1c181f141432111614141a321405143e1416041614141c14031217101432140665141410001b140010141c041432140010141a3214141c1404321716321614161c17040413241b321c141c141317193f3a141416141d1014391311041c321606321614161c171c143d27040f6d17063265161c143a3a1432143d143c141f1c14131717123a6714321432140614161b321c1411141c19143e143214161412072265141c1436041600001b1416141719041414070465170404143d1416141f1e141c141c321032161221173b22131e11041c32163c3216141610141c143e3214001010343f0c16141614171c14146714321717141610141c14251714110c16141422161665137a1c041432162c1419040617241c142d1711673a04640410321667263c17001033063265171c140317611b1414343c651414161012143e141604141f14143e14321700137e360010023422611114041c1414322632142c14101e141c141c32131d1710143214001017342c651414101d33141d1032143c651414101d7a141d131d110400191c14043214001017343f0c16141614171c140c631414171714161014111404191c141f17651414631414141814042632143c221414161c141c140f176622172d072265141c141c3214101214140d1c6314141432140665141410001b141614170404146314141432172d141f070465141c143e3a1432143c1416141c3465123314003a1b1416141e1e141c141c04103216061414040407241b321c141c14143214010c1614142632171614101e141c141c32171714023a6714321432141614121a3214140404143d141614130407031e11041032163c141e1e141c14040413241b321c1411141019040d6d3d1414263211101004343c04141c14141900141016332c1814040717271c320c3e1416141204043d241c320032140714051c140004183e1d3265141717321b10141c141c04372c14111c1400043f32103c1407171c1a3214141c140432140714611a3214141c141432140714661c140004113c1412040717241f14141933321c1633221f7e1c2217173a1413271c32043e141614101c141067143f2232171614171b321c001c140717332f0c1612161410040717241c320316141717011c140432170614110404100460321c3217163e11161610121c1404251422143d172c141617101432143c14171c14043a143d0432171632163c1413241c14043a143f2d27343f0c16141426321416141d1b2218141c141432173f36111616141004341417343c0414162265141c14143214061416043b6d0465141c193c041c14143e14321414077a1c1413177a22171b1104101604101d0c3d32103a1432143a1432171317101432140012143366131732196d1107326511111410191c1413177a226c1b171014321416141704016c2d040c1417363f3a14140614141c141317173b0f172214132c1a32141404041c05162c1417040c17143600121422141b1d1c1413173219141101661313171014321416141704016c2d040c1417363f3a14143c14141c141317111d0f176114132c1a3214141c14143214001012313e107a36001214140d1c631414131714226d191c141317321c141034651d7a7a2f6c1b171014321416141704016c2d040c1417363f3a14142c14141c141317103b0f176d14132c1a3214141c14143214001012313e107a36001214140d1c6314141c321416141704042d6704016c2d040c1417363f3a141400101011222619043106171400100f1b321c14040d6d130404101911222632141614171a3214140404101927221c17171d6d1633221f141c14143c1400101136040714146514321406651414161c160706141604016412363265161c14131714023a3c140010113604651416222616041614171e141c141c321f1733661832143e1217323a041c34661317321c12163d1d3d2d1104141104161416043766636c1a3e11362c1c16040d6c2f1c141f17320c1e101612212d040c1617323a0761360465171c14103a1432043d143c1417040407241c041032143e1217323a041c342c1416040d6c2f36001214320c1e10301d13131104141916221b141c14103c143c651414161c1117101432143e1017343c10171c141b170500361b140426191c141c1814042632140426321412263c143e00100410101411222616041614141c141f2419041414110417176c1c0c171e141c141c321313110414321406321614161c110704651414651416041614141c141832143d167e14000010041614171e141c141c141f241c3218211414171705000c1b1404263214063216171610111c14131717123a3d1406141111041018143226191c141b1714023a3d171426321714233d14041016332c14160404171d1c04181604141f14143e14321410101136000032143e032c1104143214001d7a140d103d17141b141c1414211414143217100c1b143c1416040413271c321f171410363d142c1414040413241c321717146613131104103214326514162226321465001b1404261604161414190414141c1413177a22132d073c14160404071f363265141c1413177a22132d040c12163d143d261c041811041614141e141c141c141b2f1c3207173366183217101217323a041c34661317321c12163d1d3d2d1104103214101010343c10141c141f171712263c143e10110622651416222632143e001b1416141704336d1736061017146514321406141419041414073207141c141405162c1414040413241c041432143e1017342c1c161104141916651014166c361114321f7e143b6d3f14101032342c1c101f1414160416141704237a7a7a7a7a7a7a7a7a7a7a2216111c321b16321c1614321c1614221c146d33061411043a1614321c16143218117a2222176c031407141c141316171c0c3214101c6d3c1c043d142c141404237a7a7a7a7a7a7a7a7a7a1161183c14101e17321c1614321c161432143d341710143214651e17321c1614321c1614321814143316101611141c191c141b16321c1614321c1614321c1714330610161c141716321c1614321c1614321c141c3d001c14003265171c141c3214651c173266223d14322217162c141400161411043a1614321c16143218117a7a2217001c141b16321c1614321c161422057a7a14131037070407141c141316171c0c3214101c6d3c1c07167a7a7a7a7a7a7a7a7a221a11043a1614321c1614321c116d7a2216101c041c1814042116321c1614321c161432053f7a141610161c141b167a7a7a7a7a7a7a7a237a7a1114130c1b14101c141c041c3214651c223c1e363c170012076c22171f1104143217101004343c14141c1413167a7a7a7a7a7a7a7a05611b16321c1614321c1614221416101c321c32170012176c22172710166d32171614141c141f17323332141c140327101d223217163e1116101c103d3c14101e0418141c321716051c3c101c041c3217163e11101614101e04180c3d101c14002465321410197a7a7a7a7a7a7a7a7a7a227e113d161c14043a1214321c1614321c161416133a10041614160432136d1c041c181404263214101e14321c1614321c161432143c130432170611041432143e1c17322c141633161016162c1410040617241f141432143c1417043a1614321c1614321c1614321d7e113d196d1907141017332c1814040717271c32003e141614131c141032143c14111c140716321c1614321c1614321c161433610004051614131e0418141c041032141614131e04181c1b22181c1c1414321401361114161413040717241f14141924041017140d2d1014141414141414146d116d3d14041f141c14171732143d1a171017101414141414141414611d6d3d1406141404336d05061407141c1417177a2231271c0414181432211014141414141414146d1d6d3d140614140433650d1c1417177a07311c12651d7e1167263d14142217162c1414040c1361063265140714141414141414141214111c0410321410126136103a100416141404363e1d343c1014111410190714141414141414141414141c04103214101d22341614140433173a063d21173e326c241c0414191c14103214101d7a17672421043f061223631c192d141016140d6d16333e137a1c04181604161414043217061c1413167a7a7a7a7a7a7a7a7a7a7a7a141c183c17101e14321c1614321c11147a7a6d14033c1410043a1614321c16143218117a7a2217071222651404041432143e197a7a7a7a7a7a7a7a7a7a7a6d14322c1c13043a1614321c16143218117a7a2217021c140316321c1614321c161422057a7a1413103711041432141614101c1402103d13141004101014112226321406141632651c14020407140404143214061416002c14171c141f07122265171c141432140614163d0c071614131c05162c1414043217061c14103214390032140614160007261b141614141c141032143a0210043217061c0418191c14181934041016332c14140437223a1b321c141c14143a143c323d14041b141c141010041010141c14143214001017342c1c1704041f651c321c32141632161f123a3a14321432141632161c161416343c32161417101d141422171622263214101036343d141a1c14143a143c1404101614141e141c3e1017143214163216181714041c14143a143f22041016141416223e141c1414043c3210041014261f1416141410193217101714191114143214101010343d177e123c1414162222141c14171716123a04333d3a321414237a19221007332c1814040617271c3d183e14141f7a0433041710173e3c1614077a143e143216161c121c141432140010113117161f142c1c140404171811041432141010163116100514651432173c140704041f651c3231241c32103a1432143d163c14171c140c321165101631161c04343c1c171e141c141b321c141c141032163f0c16141614121c143117171d1f241c32103a1432143d163c14171c140c321010101036383a3c1406321614110c16141614171c143a6714321432173c141d04043d2c343c1c171e141c141c043a32140614121c171717161d1f241c32103a14321467143214321406141e1b321c141c140c321765101836383a3c140632161416101e1c141032173c140404042d2c343c1c171e141c141b321c141c141032163f0c1614161407040407241c3d103211651010342c1c0506146514166510171c071032141010170114651414651432173e1004343c10120404143d11221b141c140c321165101631123a3c140614171e141c141c321317113b0f177a14312d040c141c343c321614101012313e1d6d17661317321717241e141c14040432041616141704070f670433221d3600121416123a3a14321717173b0f177a14312d040c1404343c3216141d183214001012313e1d6d1766131732143d241e141c1404040f670433221d3600121410123a3a143217171017141c362c141704336d17360010163110121416123a3a14321717173b0f177a14312d040c1404343c32161410100c10143d2f1b321c141c146c1714023a3c1165101007226514162c1407040413241c3d10321410361b141426191c141717141032100416141c1017171714142216162c141c1c141467142314171c14321304041419162c1c14171d6d32102c14161e0414141b2218041c171832143c3e141611361112161410040717051710143217101010313c10030404143d14041b141c171832142c3e1414113611141614011c1418251414326614223232141632166d14103d131614141e141c181c14183a1414223c143e100c3116141604043d65040c16147a14312d363c141604043d67040c117e14661032143e100c313b1f2c362c1c05040460670433221d3600121410123a3a143217171617141c1c071c3214163216161614111e14141c1c321f17121d0432143e101c311012143205221d360d1c32143e101c313e12147a321b2d1c141f17121d0f2c363b183c10001012313e1d6d17661317321717241e141c14040714041616101a1c14143a14320432142c321417161c1604073d651c141f17161d0717321c116d1766132c1c141f17161d0f17320561113606141604073d67363b1f2f1c3231177a22132d04041f65040c1404343c32161410100c1014323d160614141e141c141c14183a1414143c143e100c3116141604043d65040c16147a14312d363c141604043d67040c117e14661032143e100c313b1f2c362c1c19040460670433221d3600121410123a3a143217171617141c1c07143211651012313e1d6d17661317321717241e141c14040714041616101e1c1713177a22132d04041f65040c1404343c32161410100c1014323d173c141d040460670433221d3600121410123a3a143217171617141c1c04323216651012313e1d6d17661317321717241e141c1404071404161610101c146c177a22132d04041f65040c1404343c32161410100c1014323d143c1407040460670433221d3600121410123a3a143217171617141c1c146c17133b0f177a14312d040c1404343c3216141d183217651012313e1d6d17661317321717241e141c1404071404161d183216651d7a140d1317143b0717321717241e141c1404073204161d1832141632161d1d183c1110101a313e1d6d17661317321717241e141c1404043204161610051c14143a143d3232143c14101c14323210001002313e1d6d17661317321717241e141c1436661b2f362c1c1b04040f670433221d3600121410123a3a143217171017141c1c07103214163216131614121c143a321016141d04070f670433221d3600121410123a3a1432172f36661b2f1c3203177a22132d04041f65040c1404343c32161410100c1014323d172c14141e141c041c143e32113c14061c142117133b0f177a14312d040c1404343c3216141d1b2f3666183c1665101a313e1d6d17661317321717241e141c1404043204161610041c142d17173b0f177a14312d040c1404343c3216141010041014323d163c141b04336d17360010163110121410123a3a143217171217141c1c040c321700101a313e1d6d17661317321717241e141c14040432041616101c1c142117173b0f177a14312d040c1404343c3216141010041014323d1716141804336d17360010163110121410123a3a143217171217141c1c041c321100101a313e1d6d17661317321717241e141c14040432041616141804070f670433221d3600121410123a3a1432172f1c140317173b0f177a14312d040c1404343c32161410100410143d2f1c1421177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a143c2d2f1c322d17113b0f177a14312d040c1404343c32161410101c1014323d103c14141e141c3a1c141c321716141c1c146417133b0f177a14312d040c1404343c3216141d1b2f3666183c11001012313e1d6d17661317321717241e141c14040714041616101a1c14143a143c0432173c141e1c17143217001002313e1d6d17661317321717241e141c1436661b2f362c1c1304336d17360010163110121410123a3a143217171217141c1c043e32141632161c16141d1c171032112c141904070f670433221d3600121410123a3a1432172f36661b2f1c322117113b0f177a14312d040c1404343c32161410101c1014323d1016141804040f670433221d3600121410123a3a143217171017141c1c043a3211001d7a140d1317143b0717321717241e141c1404073204161610121c140317113b0f177a14312d040c1404343c32161410101c1014323d1616141904040f670433221d3600121410123a3a143217171017141c1c04043211101d7a140d1317143b0717321717241e141c1404073204161610161c146417113b0f177a14312d040c1404343c32161410101c1014323211101002313e1d6d17661317321717241e141c14362c141304040f670433221d3600121410123a3a143217171017141c362c141904336d17360010163110121410123a3a143217171217141c362c14141e141c6d362c1c18040460670433221d3600121410123a3a143217171617141c1c046d32141632161a1614161c1404321616141b04070f670433221d3600121410123a3a1432172f36661b2f1c326417173b0f177a14312d040c1404343c3216141010041014323d100614141e141c651c140c32163c14041c140317133b0f177a14312d040c1404343c3216141d1b2f3666183c17001d7a140d1317143b0717321717241e141c14040732041616101d1c14143a143f14321606141a1c171c3216651002313e1d6d17661317321717241e141c1436661b2f362c1c19040460670433221d3600121410123a3a143217171617141c1c07143211101012313e1d6d17661317321717241e141c14040714041616101e1c1464177a22132d04041f65040c1404343c32161410100c1014323d173c1413040460670433221d3600121410123a3a143217171617141c1c04323216651012313e1d6d17661317321717241e141c1404071404161610101c142d177a22132d04041f65040c1404343c32161410100c1014323d143c141b040460670433221d3600121410123a3a143217171617141c1c142d17133b0f177a14312d040c1404343c3216141d183217001012313e1d6d17661317321717241e141c1404071404161d183216651d7a140d1317143b0717321717241e141c1404073204161d183214163216011d183c1110101a313e1d6d17661317321717241e141c1404043204161610061c14143a143e3232143c14101c14323211001002313e1d6d17661317321717241e141c1436661b2f362c1c1b04040f670433221d3600121410123a3a143217171017141c1c04613214163216071614121c143a321016141304070f670433221d3600121410123a3a1432172f36661b2f1c3203177a22132d04041f65040c1404343c32161410100c1014323d160614141e141f141c143632100614051c142117133b0f177a14312d040c1404343c3216141d1b2f3666183c1665101a313e1d6d17661317321717241e141c1404043204161610041c142d17173b0f177a14312d040c1404343c3216141010041014323d163c141b04336d17360010163110121410123a3a143217171217141c1c040c321700101a313e1d6d17661317321717241e141c14040432041616101c1c142117173b0f177a14312d040c1404343c3216141010041014323d1716141804336d17360010163110121410123a3a143217171217141c1c041c321100101a313e1d6d17661317321717241e141c14040432041616141804070f670433221d3600121410123a3a1432172f1c140317173b0f177a14312d040c1404343c32161410100410143d2f1c1421177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14392d2f1c322d17113b0f177a14312d040c1404343c32161410101c1014323d112c14141e141f0c1c141c321716141c1c146417133b0f177a14312d040c1404343c3216141d1b2f3666183c11001012313e1d6d17661317321717241e141c1404071404161610071c14143a14390432173c141e1c17143217001002313e1d6d17661317321717241e141c1436661b2f362c1c1304336d17360010163110121410123a3a143217171217141c1c043632141632160016141f1c146132103c141904070f670433221d3600121410123a3a1432172f36661b2f1c322117113b0f177a14312d040c1404343c32161410101c1014323d1016141804040f670433221d3600121410123a3a143217171017141c1c043a3211001d7a140d1317143b0717321717241e141c1404073204161610121c140317113b0f177a14312d040c1404343c32161410101c1014323d1616141904040f670433221d3600121410123a3a143217171017141c1c04043211101d7a140d1317143b0717321717241e141c1404073204161610161c146417113b0f177a14312d040c1404343c32161410101c1014323211101002313e1d6d17661317321717241e141c14362c141304040f670433221d3600121410123a3a143217171017141c362c141904336d17360010163110121410123a3a143217171217141c362c14141e141f26362c1c18040460670433221d3600121410123a3a143217171617141c1c071c3214163216341614161c1404321616141b04070f670433221d3600121410123a3a1432172f36661b2f1c326417173b0f177a14312d040c1404343c3216141010041014323d113c14141e141f3e1c140c32163c14041c140317133b0f177a14312d040c1404343c3216141d1b2f3666183c17001d7a140d1317143b0717321717241e141c14040732041616101f1c14143a14381432172c14071c146d3216651002313e1d6d17661317321717241e141c1436661b2f362c1c19040460670433221d3600121410123a3a143217171617141c1c07143211101012313e1d6d17661317321717241e141c14040714041616101e1c1464177a22132d04041f65040c1404343c32161410100c1014323d173c1413040460670433221d3600121410123a3a143217171617141c1c04323216651012313e1d6d17661317321717241e141c1404071404161610101c142d177a22132d04041f65040c1404343c32161410100c1014323d143c141b040460670433221d3600121410123a3a143217171617141c1c142d17133b0f177a14312d040c1404343c3216141d183217001012313e1d6d17661317321717241e141c1404071404161d183216651d7a140d1317143b0717321717241e141c1404073204161d183214163216331d183c1110101a313e1d6d17661317321717241e141c1404043204161610051c14143a143b3232143c14101c14323211001002313e1d6d17661317321717241e141c1436661b2f362c1c1b04040f670433221d3600121410123a3a143217171017141c1c07103214163216311614121c143a321016141304070f670433221d3600121410123a3a1432172f36661b2f1c3203177a22132d04041f65040c1404343c32161410100c1014323d172c14141e141f221c143e32113c14061c142117133b0f177a14312d040c1404343c3216141d1b2f3666183c113e101a313e1d6d17661317321717241e141c1404043204161610041c142d17173b0f177a14312d040c1404343c3216141010041014323d163c141b04336d17360010163110121410123a3a143217171217141c1c040c321700101a313e1d6d17661317321717241e141c14040432041616101c1c146017173b0f177a14312d040c1404343c3216141010041014323d1716141804336d17360010163110121410123a3a143217171217141c1c041c321100101a313e1d6d17661317321717241e141c14040432041616141804070f670433221d3600121410123a3a1432172f1c140317173b0f177a14312d040c1404343c32161410100410143d2f1c1460177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a143a2217362c1c1f040460670433221d3600121410123a3a143217171617141c1c14143a143a14171c143632100614051c146017133b0f177a14312d040c1404343c3216141d1b2f3666183c17651002313e1d6d17661317321717241e141c14362c14141e141e1c140614161c1404321616141b04070f670433221d3600121410123a3a1432172f36661b2f1c320717173b0f177a14312d040c1404343c32161410100410143d2f1c14143a143a04171c140c32163c14041c140317133b0f177a14312d040c1404343c3216141d1b2f3666183c143e1d7a140d1317143b0717321717241e141c1404073204161d1832141632163e14132f1c0400321765101a313e1d6d17661317321717241e141c14040432041616141604070f670433221d3600121410123a3a1432172f1c143917173b0f177a14312d040c1404343c32161410100410143d2f1c1407177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14250417362c10061c141f17113b0f177a14312d040c1404343c32161410101c1014323217101002313e1d6d17661317321717241e141c14362c141d04040f670433221d3600121410123a3a143217171017141c362c141f04336d17360010163110121410123a3a143217171217141c362c14141e141e0c140d183d11321f7a1c140717113b0f177a14312d040c1404343c32161410101c1014323216001002313e1d6d17661317321717241e141c14362c141604040f670433221d3600121410123a3a143217171017141c362c141d04336d17360010163110121410123a3a143217171217141c362c14141e141e36140d183c160614000404211c110414341c143917113b0f177a14312d040c1404343c32161410101c1014323d112c141a04040f670433221d3600121410123a3a143217171017141c1c071032103e1d7a140d1317143b0717321717241e141c14040732041616101d1c140317113b0f177a14312d040c1404343c32161410101c1014323d1016141f04040f670433221d3600121410123a3a143217171017141c1c043a32113e1d7a140d1317143b0717321717241e141c1404073204161610121c171f17113b0f177a14312d040c1404343c32161410101c1014323d1616141304040f670433221d3600121410123a3a143217171017141c1c04043216001d7a140d1317143b0717321717241e141c1404073204161610161c146017113b0f177a14312d040c1404343c32161410101c1014323216001002313e1d6d17661317321717241e141c14362c140604040f670433221d3600121410123a3a143217171017141c362c141304336d17360010163110121410123a3a143217171217141c362c14141e141e26140d183c1600101a313e1d6d17661317321717241e141c1404043204161614141e141e321406141d1c171032112c141304070f670433221d3600121410123a3a1432172f36661b2f1c323117133b0f177a14312d040c1404343c3216141d18321416321624141032143c14101c143232113e1002313e1d6d17661317321717241e141c1436661b2f362c1c1004040f670433221d3600121410123a3a143217171017141c362c14141e141e3e140614121c143a321016140604070f670433221d3600121410123a3a1432172f36661b2f1c321f177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14271417362c10131c143117113b0f177a14312d040c1404343c32161410101c10143232143e1002313e1d6d17661317321717241e141c14362c141f04040f670433221d3600121410123a3a143217171017141c362c141004336d17360010163110121410123a3a143217171217141c362c14141e141e65140d183d103c1416040460670433221d3600121410123a3a143217171617141c1c140717133b0f177a14312d040c1404343c3216141d183217651012313e1d6d17661317321717241e141c1404071404161d183216001d7a140d1317143b0717321717241e141c1404073204161d1832141632162014132f1c0461321710101a313e1d6d17661317321717241e141c14040432041616141f04070f670433221d3600121410123a3a1432172f1c141f17173b0f177a14312d040c1404343c32161410100410143d2f1c1431177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14272217362c1c1f1c1707171100321b14173a321600101a313e1d6d17661317321717241e141c1404043204161610051c146017173b0f177a14312d040c1404343c3216141010041014323d1006140604336d17360010163110121410123a3a143217171217141c1c0436321700101a313e1d6d17661317321717241e141c1404043204161610041c143917173b0f177a14312d040c1404343c3216141010041014323d163c141a04336d17360010163110121410123a3a143217171217141c1c040c32103e101a313e1d6d17661317321717241e141c14040432041616101c1c140317173b0f177a14312d040c1404343c3216141010041014323d1716141f04336d17360010163110121410123a3a143217171217141c1c041c32113e101a313e1d6d17661317321717241e141c14040432041616141f04070f670433221d3600121410123a3a1432172f1c171f17173b0f177a14312d040c1404343c32161410100410143d2f1c1403177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14262217362c1c1f040460670433221d3600121410123a3a143217171617141c1c14143a142614171c143632100614051c140317133b0f177a14312d040c1404343c3216141d1b2f3666183c17651002313e1d6d17661317321717241e141c14362c14141e14191c140614161c1404321616141a04070f670433221d3600121410123a3a1432172f36661b2f1c320717173b0f177a14312d040c1404343c32161410100410143d2f1c14143a142604171c140c32163c14041c171f17133b0f177a14312d040c1404343c3216141d1b2f3666183c143e1d7a140d1317143b0717321717241e141c1404073204161d1832141632166514132f1c0400321765101a313e1d6d17661317321717241e141c14040432041616141604070f670433221d3600121410123a3a1432172f1c143917173b0f177a14312d040c1404343c32161410100410143d2f1c1407177a22132d04041f65040c1404343c32161410100c10143d2f1c14143a14210417362c10061c141f17113b0f177a14312d040c1404343c32161410101c1014323217101002313e1d6d17661317321717241e141c14362c141d04040f670433221d3600121410123a3a143217171017141c362c141f04336d17360010163110121410123a3a143217171217141c362c14141e14190c140d183d113c1410040460670433221d3600121410123a3a143217171617141c1c143917133b0f177a14312d040c1404343c3216141d1832143e1012313e1d6d17661317321717241e141c1404071404161d183217651d7a140d1317143b0717321717241e141c1404073204161d1832141632166614132f162c101c1c1418321416140004040765343c1c101e141c141c171f177a22132d040c140c343c65141416141c0407176704336d173600121412123a2114141717101d04321700100c313e121412123a2114141717121d072c1c146017161d0f177a22132d040c140c343c65141410101c311d1f2c362c1c1604073d651c141f17161d0717321c116d1766132c1c141f17161d0f17320561113606141604073d67363b1c6714141432142c14101e141c101c1460177a22132d040c140c343c6514141614130407176704336d173600121412123a2114141717101d0432103e100c313e121412123a2114141717121d072c1c143d17161d0f177a22132d040c140c343c65141410101c311d1f2c362c1c1604073d651c141f17161d0717321c116d1766132c1c141f17161d0f17320561113606141604073d67363b1c6714140432142c14101e141c1c1c143d177a22132d040c140c343c6514141614060407176704336d173600121412123a2114141717101d0432113e100c313e121412123a2114141717121d072c1c140317161d0f177a22132d040c140c343c65141410101c311d1f2c362c1c1604073d651c141f17161d0717321c116d1766132c1c141f17161d0f17320561113606141604073d67363b1c6714143232142c14101e141c181c1403177a22132d040c140c343c65141416141a0407176704336d173600121412123a2114141717101d04321610100c313e121412123a2114141717121d072c1c171f17161d0f177a22132d040c140c343c65141410101c311d1f2c362c1c1604073d651c141f17161d0717321c116d1766132c1c141f17161d0f17320561113606141604073d67363b1c6714142d171416101614651432143c1411343c1c101c1404211414143210651004343c1416343c6514141d186314141432143e1017343c1c160407171d110414191c171832102c3e1116113611121614011c17182514221466142d143214651004343c10111c14131714023a3c1406140307226514162226321417140404041413040d6d19123c1401040617241f14141939321017143b6d3f14101004342c1c141f1414160416141404042d241c14171716123a041422651404330612140614141e141c1804041f650404072410173e3c14010c1614161417070465141c14143a1432320412061c17171017176c1c0c171e141c141c14143a14322d17143b072404041467143217176c1c0c171e141c141c141004143e001b140421176c1c0c1704041467143214191c14171710123a3e14101d1c320413172307610403172517671c0c1704303c1314010c16141012043d3213171e3f0c161414210f1404137a1c1414321416321606161c17040413271c14132c1b321f1c1c14143a1432143c1400101c360407141c14143214001032363f0c161410137a1122263214101c141b221c101c1414321416321619161c171b321c361c14143214010c16131614141c1410321416321618123a67143d17171414216d14041f7a1c1414321416321606161c17040413271c14132c1b321f1c1c14143a143d0432141632161d1036100416141404041717141614141e141c3e1004041412322632141010141b321c361c14171614113611101614141e141c141c321317171d1010041614141c1413171c1d1c671432171733226d191c14143214163216191614141e141c22343c1c161b321c1c1c141432143f0c16171614170407216504076c64166c001614041f7a143e143214161417073265141c14103214161416343c1c10346510141c141f17140d0727010407141c1414321406141610101c3411222632141614173665101136061011143e1416041614141c14131f17101432142265161c141717146613131104101104161416070465101c1414321406651414113a1414161417040413241c041032143e1017342c10161c14171714023a3c14101011360465141622221716221f141c14181b1416141004041b2d1710141104161416070465131c141432143e1017342c1c16343c1c111c14103214383a211414146314141432146510113604651416222632143e1011010465141465143214161416040407271c321f241c14103214383a3a1432146714321432143e10110622651416222632143e001b14321b141c141432143e1017342c1c16343c14171c141f24190414141a3214141c141c1b1414261814322632143e10110104651414651432141614171e141c141b321c141c14131717123a3d14061414040407241c041432143e1010342c1c1604041b1911041419162c1416070465141465143214161417190414141a3214141c14171714023a3d14161417040413241c041032143e1017342c1c1611041419162226001416141404042d241c3214321417160014001017343d16011404201911141012332c14141c1413241c04001604141f141c14143a1432043c143e1017360465141c141f1714661313110410321416321614161c161c1413241c041016041614141c141f271c321717621c10171e141c14072207141c141f177a22131b171014321416321616161c101c141f1714660c3c143e10113110121432321324073d3a321416321611161c111c14071d11041f17671c101704313c17140632161410137e1c141f6636010c1614142211162c14141e141c0c1c040c16041614141c14143a1432223c14653610041614141e141c1c1c321f17631c10171e141c1406073a32143c14111b321c181c141832143f0c161614221716221f141c14171713123a3c143c321614161c101104143214101004343c1c161e141c141c32041b141010141c04181814042611041614161c04363217161c11040707241c321c3a1432143c171465141c141b1710123a3d143c14111e141c041c32041b14142632176510141b321c14162c141207046516143e1432141614141e141c361c320717143b07173c1c0417343c1c161e141c14073207141c141c32142f0c161416141111041317661c101704312c17140632161410137e1c14076636010c1614142210162c141204071717131614121e141c041c14171212673a32142f0c161416141107046511162c14111c140c67143d32321416321610161c1617101432142c14161b321c041c141c32142f0c16121426321416321613161c16070465161c141832143f0c16131614161c141867143d3218143226321706321617161c1604041b2d04041b1d11041317611c10171c1410671432143217061416040d602d1b321c101c14143214001017363f0c16171614131c14106714321405162c14101c14186714322232142c14101b321c1c16221f141c14003a1432043c143e10163600001004161413043316171406321614100c1004101d223204103214110c1614101d3e32041317601c10171e141c141c1413241c32106714321432141614170404132c1b321c101c141717621c10171e141c140722651104301617140010141b321c1404302c17140010141b321c141122263217001d263204103a1432171217101717621c10171c14146714321717611c1017043016171406321614161417343c1c171b321c141c14143214001017363f0c16171614141c1413241c14106714321405162c1416040d3d2d1c1413241c0410160416141604336d17010407141c14003a1432323c1716141604041b671c321f1714660717321c1c17343e0c341c1404321706321611161c110732071404313c1714001d0c3204103a14321717333c1416316610671432141814322632171614111b321c181c14183217110c1616142217162c14131e141c0c1c040c16041614131c14003a1432223c14653610041614131e141c1c1c321f17631c10171e141c1406073a32143c14111b321c181c141832143f0c161614221716221f141c14031713123a3c1716321614161c161104143217001004343c1c101e141c141c321c1b141010141c04181814042611041614101c043632143c1c11040707241c32043a1432143c143265141c141b1710123a3d171614111e141c041c321c1b14142632176510141b321c14162c141207046514143e1432170614131e141c361c320717143b07173c1c0417343c1c161e141c14073207141c141c32142f0c161416141111041317661c101704312c17140632161410137e1c14076636010c1614142216162c141204071717131614121e141c041c14031212673a32142f0c161416141107046517162c14111c140c67143d32321706321610161c1617101432142c14161b321c041c141c32142f0c16121426321706321613161c16070465141c141832143f0c16131614161c141867143d32191c14143214001017363f0c16171614141c1413241c1410671432143214101d263204103a1432171d11041317611c10171c14106714321405162c14131c141f17333b106714320432141614170404132c1b321c101c14143214023a3214010c161414263214001d7a140065100416141704041b671c321f1714660717321c1c17343c1017143b6c17671c10171e141c141c321b171406141631161c163600001004101d0c32041032143c1411363f0c1614161417111410191c14103a143232191c041c32140614141b321c1c1c141c3214110c16111614141c14106714322232141614161b321c1c112221171d2c10161c141716141136161016141704337a7a7a22311b171014321400101c313c1c161c141f173205617a343e1004313e101c36061c1031161c161c141f17321a1433343e1004313e101036061c1131161c161c141f17321c1405343e1004313e101636061c1631101005313c14111c14072c1c141f2c342c1c16040413651c141032143e1003343b0f17140d132c04072d241c041c191c141432143f0c161d16141604041f65040c3c1014023a3d17221f14143e1717661c10171e141c141c3207171406141631161c113600001004101d3632041032142c1410363f0c161416141d1c141467143214321416141d1b321c0c111410191c1413171410100f1c141f17140d0f271c141f171d650c37311610161c14363a1432143d14221b141c14183c171632161710136136061417073265161c141f171d0d0c3d142c1416040413651c041c32171614110404072d343c1c1d040717241e141c141c32181b14142632172c14141b321c041c14143217110c1612142632141614141b321c181c14143214110c1616146d191c14043a1432323c140614141b321c181c14043214110c161616141404041467143d3232141614101b321c181c14143214010c16161426190f14143214161417043c3c12043a1614321c16143218117a141c183214001c613d3a043214001c0c3d3e1e14321c1614321a147a322c141704323c12043a1614321c11221d611a103d16141704323c1c043a161432053205322c1417043d3c1c043a16147a1430113d161417043c3c1c043a117e1461183214001c613c1c06103d11361414142605141614141e141c18123c141404041467143222193d221017171d6d3f14101004342c1c131f14143f14101004342c1c111f1414160416141704026c1b17101416041614170404251b171014321416141710113a3214161010111410191c1414321407160714001017343c1c1210136d3c1717171b1c141432173d17181c14143214071460162c14101c141032143d1166140614110404146314146d3214061410343c141104046c241011043214651004343c04141114101910173614162c1413040717241f1414321414210314041f7a1c14143a1432043d17141f7a04041432143e001b14173a321710101c31061c131c140717140d1313110414341c141c3a14321432170711131404263d170614141e141c141c321432140614161c1403241c141b17143c141004041f2d122c14141e141c141e141c3610043214162265141c14143a143214321406321614103e191c221432141010141b321c181c14143214010c16171614141c1410671432143214161417040413241b321c1c1c1414192022101714666d3f14101004342c1c131f141432143e1d237a7a7a7a142c1c121c141327010407141c1414041106101d1c141416332c14171c140f17140d0f171012211f1710143217061417040413651b321c1c1c14003214061416343f0c161116141304042d241c14031716123a04313c32161417161614042217162c14120404132716651017343c1c12101c10171c041c32171407141c141c32172c1410101d10191c1418321712263c142207141c140717143b043c17161416343c14101c1431241c1418043604263214001017072207141c143604101426321416141610106532141614121010223217001004343c041411222604132214193d141c1714666d3f14101004342c1c1c1f141432143e1d237a7a7a7a142c1c1f1c14131733661b24010407141c1414041106101e1c141416332c14171c143917140d0f171012211f1710143216161417040413651b321c1c1c14323214061416343f0c161116141c04042d241c143d1716123a04313c32161417161614042217162c141f0404132716651017343c1c1f101c10171c041c32171407141c141c32163c1410101d10191c140c100416141004041f651c141f241c143632173d172d162c14111c140432170225271c3218100416141004041f651c32363214383a32173e101631123a32172c141e343c141304041f65343c1411101d10191c141317140036100416141e101714191c141432143d171b1c141432160717181c14143217161412343c1411343c1c1410113e32161010141b321c101c141c321410101631123a3216101010343d142f1c143d1710123a3e14146d19101736141664321714666c172c1c10171014653d14651d1c32041004160610171c2217171012263c143c04141c141c3214113a141165137a1c041432140407141c141010332c14111c141c2614146d040f061417101b221717001014162c1c141c141b27040d6d321417263d14142632143e1004343c04141c14141936141011332c1814040717271c32183e1416141604026c1b17101416041614160404251b171014321416141610113a3214161010111410191c141432143d160714001017343c1c1310136d3c1717171b1c141432170717181c141432143d1460162c14101c141032143d17031c141b1714113a14112c14161c1407241c141b1711673a041b161411040717241f141405162d140d141426061416141717101432141614161012003214071712123226196214101714666d3f14101004342c1c1c1f141432143e13231c323e321400137a3667251b171014321417141b1c043a16332c14171c143917140d0f171012211f1710143216161417040413651b321c1c1c14323214061416343f0c161116141c04042d241c143d1716123a04313c32161417160714042217162c141f0404132716651017343c1c1f10136d3d143c141017101432143c141e1c14040403042632173207141c141c3217123a32172c1412101300191c141832171614133438263c142207141c141c3217123a3217383a321716141e343c1413343c1411101300191c141317163e36100416141e101714191c141432143d171b1c141432160717181c14143217161412343c1411343c1c1410113e32161010141a32141d1c14143214383a321610101d343d14651c143d1710123a3e14146d1910173614162c0417140d6d3f14101004342c1c171f141432140614141b321c1c1c14103a1432323d14161417040717241f1414321414261f1416141410170c67143214191e221017332c14141e141c101c041c11041614171c141f1d1710143214171765123c1416040407271c041c18140426191c14143214010c161714262414161814040717271c321c3e14141f141c14143214000c100416141404041463141d32181404263214071404162c1416040717241f1414191d14143214001d7a7a7a7a7a1465261004101d611d171602143214191c141317143b04040d22261f1416141704041467143214191b321717261f00171e141c14123e12223904103a14321717261f0017101d1b17143b0724123e12223904103a14321717261f0017101d1b17143b0724123e12223904103a14321434162f6517140d6d3f14101004342c1c161f14141604161414190417611c1413171d3e212c070407141c14171714013a1430142217162c141604043d241c1410047a04103d14142632143e1004343c04141c14141907041016332c1814040717271c32143e141012223904100431173a3214101d7a7a7a7a7a142f0c161116141404337a7a7a7a6d1d1b321c1c1c14171711123a321410101c343d163c14063216141610171c14171710123a3e1416141716223e141c1414042c3210041014263b141614111c14183a14321432143c1417342c1c14342c1c161b321c141c14171714103a10041614161c14103214171716123226191014143214161417101865171c141432143f0c161714231c14041010332c1814040617271c32003e141614131c14102514141466142d1432170614171e04141c1b22180c143e143214651004060407141c141c3d14042217162c1411040407671c043632143c10171465143214161413040717241c3232321717163b140614101c1410043b04103217101004343c10101c14131710123a3d1406141c101a26171c140f1714023a3c173c141d0722651416222632143c1411343c1417342c1c161710143214161413040717241c140004252213171416101214651432171614131c140f24190414141c1410211414172f1a3214141c14071714023a3d17161417040413241c041032173e1017343c1c121c141f1d11041419162c1413040617241f1414191304143214101d61652214671432143214101004343d141e123c1414162d00141c141717651b18141b321c141c14171711123a04163d3a32141426101410101016226d141c14143a143214321416321617110c161714211414041f7a1c2217171012263c140604141c14103214110c161116141704043d241c14131711123a04003c10140404071714001d0c3d32103a1432143a143214371c041c32141717071c14131710123a3e14161416162f2217140d6d3f14101004342c1c131f141432170614101b321c181c14031716123a3217001018343d17061c040432141614171c141c32142d1666140610141c14040400061413040717241f14143214142618141614171c141c21141414631414141910321432171614161b321c141c14363217010c1614101011162c3217140d6d3214101d266532146714321416041614141e141c1c1c32131311041432141665141110001b14161417101714191c14141960143e17140d6d1604101d653c14102114141717140d101b14101d653c1410041f10001b14141f1404303c1c14066514141010173604651404303c1c1407143e0704651404343c031407143704343c0314001d0c653214671432143f14101004342c1c171f141717261f00170432146614221432140010141b321c1804373c031406141704042d241018651704373c02140010141a3214141c14131710123a3e14171617143e103006040714101736141665122239041317261f0017101d07171d3d1614143c1c171b321c1404370603140614171b321c1404371603140717111c1413177e1417241b321c14040414047a2213171d3d160d143e1d1439321317383d610403172517261f00171013143d140012223904100439041f17261f00171c14100439141f176d1f1c17101721176d1f1c17040c013114110c1614101d223e321317201c361710173a041d101d613e32100412651d613e321317251b65141b321c1404333c0614001d143d221004123d1436040c160114071437040c2c01140010141a321414040c3c01140010141b321c14040c160114001d2665321467143217173c1f18170437142c1e141c141b321c14040c1601140012103c041004123d1436040f160114071437040f160114001d0464321467143217173e1f181704332c1c1407143410172d17381f181710172117381f18170430010d14110c161410120c3e2213173f1c3e1710173a041d1012323e221004126512323e2213173a1b18141b321c1404343c01140714021b321c1404341601140012003c041004123d143604371601140714370437160114001d616714146714321717261f1817040f2c1f1407143410172d17201f181710172117201f181704302f0f14110c16141012613e221317251c3e1710173a041d101d143e22100412651d1c3e221317272132141a2210140436160114001d0465221467143217172f1f18171017103404361601140012263c041004123d143604313c01140714370430160114001e20321c16142214006614321717671f181704333f0114110c1614101d3a3e22100410072517671f18170437061f1407143410172d177e1f1817101721177e1f18170436013114110c1614101d613e2213172c1c361710173a041d101214391410041265121439141317201b6d141b321c14040c160014001d043d221004123d1436040c3c0014071437040c3c001400121861041467143217173c1f041704313c1d1407143410172d173e1f0417101721173e1f04170433013c14110c161410120439141317611c361710173a041d10120c391410041265120c391413172f1a3a141b321c14040f3c001400121c3c141004123d143604341600140714370434160014001d3263221467143217173a1f0417040f161c1407143410172d17241f041710172117241f04170431012614110c161410123a39141317381c321710173a041d1012223914100412651222391413172c1a65141b321c1404371600140012323c141004123d143604373c001407143704373c001400126d6232146714321717201f041704343c1c1407143410172d17221f041710172117221f04170430112314110c1614101d1439141317261c321710173a041d101d1c3914100412651d1c391413173d0510141b321c1404363c00140012613c141004123d14360431160014071437043116001400123a6d32146714321717651f04170436161c1407143410172d17671f041710172117611f0417040f116d14110c1614101d0c39141317231a04141b321c140430160014001d266014146714321717671f041704303c1d1407143410172d17631f0417101721176d1f04170437016d14110c1614101d3a391413172d1a0c141b321c140433160014001d656032146714321717631f04170433161d1407143410172d177e1f041710172117321f001710053a1704333c001400122263141467143217177e1f041704333c1d1407143410172d173c1f0017101721173e1f001710053a17040c3c0314001d1863041467143217173c1f0017040c161c1407143410172d17381f001710172117381f001704362f2f14110c161410120c390413172c1c321710173a041d1012323904100412651232390413172d0504141b321c140434160314001d043c141004123d14360430161c1400123a3904106714321717601c32170430161c14010c1614101d3a3c1410041c222117621c32170430061c1406321614171604143e1d223c141317621c32171b321c140433061c1407143f162c14140433161c140632161416321614161c141b321c141c1414042f32101910221432141614171e141c141c321467143214321417111a1404262c141614141e141c14123c14141e141c141c1414043665101631123a341c14143a143214321417170404041f65343d3a321416321614161414101d1b17143b072412322601141614141c14143a143217171402263c14110c161416141416676d17143b6d3214101d0c65321467143214321410101c343c101714651432140717041c141f191710143214061416101d363a14321410041614171c141c04312c32161417163f14042632143e1017343c101611141019162c1414040f3217343d141e123c1417101f10161c14103a1432141004161417101f00161c141004311614171e141c141c141004362d116d1404263214142624141614141e141c14123c14141e141c141c1414043665101631123a341c14143a143214341c14143a143214321417170404041f65343d3a1911141432141614141e141c141005261716671c1714666c171617141d1c32131765056d141b321c141c1413177a056d141b321c141c1414043e32103c143e101b343d17331c321b1714110c16161614111c141c6714320432142c14161b321c141c14103214651018343c14141c141f1714023a04043f0c161716141704342c1414010c161416141704362c141400101110140c1416661c1714666d3f14101004342c1c171f141432140012223904106714321432140012653904103a1432143c143f0c16171614171c141c321410101631123a671432323214061c111e141c101c041432142c3216161610161465143214161416073207141c1418043c041c3214001004343c0414170012223904100431161414100561171c14183214101010343c1c141b321c101114101916222632141614140434110114110c16141614141e141c1c10170f1d17101432141632161617110014322632141426101410137a167e1c131404257a1c2217171012263c102c04141c141c3214110c1614161411040c1410360610031c143117143b043d13321b141c17071717100c100416141b1014391714002610041614011c14650404110c16161614161c171b171612251714071633143c141b10122232143c32161417163e14010c161414263214651222140d103c14651004072207141c141032146510320732077a1c141c3a143214131c1414191b321c14162c1401040717241f141413143e141604141f14143e141604141f141c14323213123a261414141a1704141714221c1017042632140614161e141c141b321c14111404191c141032143c321614110c1614161412040614040506101d1c141c32143c321614161c05040407241b321c141c146d32172f0c1614142211162c141b10103e1b143c141b040414042604103a1432143d172c14161c141c3a1432143c11651010343f0c16141614051c14366714321418143226321117171f1c170313363265171c141c32111717141c142204371614161e141c14101e04171b321c14111410191c141c3a1432143d132c14101c170f241c32043d17221b14143e14321706141d010465141c140f1732171432172c32161417171a070465141c14311717123a3d1722221716222632113c1c050404171e1710141104161405040417181c14043217656c2c070407141c1431171712263c172c3216141610041c141c32143c321614161c07040407241b321c141c17103210110c1614161405040413271c046d18140426191c146c17141022103365101417061412040114040504263d10041b141c141c32143c321614161c04040407241b321c141c146c1714103a10041614041c1710671432143211651017342c100511141019162c14041c143e6714321419143e14321716141d073207141c140f171817146c1c046d32143c14161e141c141c3d171717123a3c172f0c16141614041c146d671432141814042632162d171f171d6c17332200321665101410142626141414191c071717141610050404143d10321b141c1404321765361004141f141c146d3210103610041614051c07101814042632143c14161e141c141c3d171717123a67143214321016141e1b321c140404143d1006141910143e32103e1017343c1c06010407141c146d3d10142217162c14191c171c04162c651414101d7a14100c100410137a1c07141814042632162c1406101426261414143d1014263217651010342c1c1d1e141c141c046d32143c14161e141c141c3d3d1717123a6714321432121614051b321c141c17131714023a3d1122221716222632143c32161416101d162c140d1c143604270410191c17071714023a3d131422171622261925041c17140d6d3f14101004342c1c1e1f14143216041f7a1c14141004161416101e10161c0414160416141717101432163c141410123e32142c141e1e141c141b3214141c143a321417173a111410191c143a3214171639140614111c143a3a1432146714141432163c141410103a191c143232163d170d1c143a04163d3a32171614141010326714321432170614141011326714321432163c141410113632173c141e10111432163d141e123c141e1c141404062c141d1c143a04032c141e10143a341c1414040f222217162c1416101e14161c0414160416141717101432163c141410123e32142c141e1e141c141b3214141c143a321417173a111410191c143a3214171639140614111c143a3a1432146714141432163c141410103a191c143232163d170d1c143a04163d3a32171614141010326714321432170614141011326714321432163c141410113632173c141e10111432163d141e123c141e1c141404062c141d1c143a04032c141e10143a341c1414040f22266714321432163e1004343c0414166c04131404257a1c2217171012263c131604141c141c3214110c1614161411040c1410360610021465143213001010073207141c14650416001017062207141c170432110717141b321c1c1c141c321310101c343e1017101e0c161c146504373c14161e141c14101e04171b321c14162c14110437141736061c110407171d171014321406141104061712171d6d32143c32161414003214142667143214191c17071710123a3e14146d19143e141604141f14143e141604141f141c14323213023a261414141a1704141714221c1017042632140614161e141c141b321c14111404191c141032143c321614110c1614161412040614041e0610051c141c32143c321614161c04040413241b321c141c171432112f3a1414142211162c141b10103e1b143c141b04041404162c6514141610051c141c32143c321614161c04040413241b321c141c171432112f3a1414142216162c141810103e32133e032c11041032143c141810101432111717201c141c3a14321404251410671432141814042632143c32161416100d1c14043217673a3c1716100714651416041614131c17131b11041432173e12141016140719141414101007131104143210001017343c100711141019162c141a1c326c1714103a1004141b141c146c17141022321716140701661f131710143210001017342c1c07190414141c071432143c14161e141c141c3d1f1714023a6714321432103c14041a3214141c146c171402263d1122221716222632116510140114077a040414131c140f1718171425162c100614651432143c14161e141c141c3d171714023a671432143211651014063207141c171432103f3a1414161405040413271c046d18140426191c17143216013a1414142616041614101c17131217101432173e102210163e3d112c14161c141c3a1432143c10101017343f0c16141614041c146d631414141814042632162d171f171d6c17332200321665101410142626141414191c071717141610050404143d10221b141c14043210000c1b14041f141c146d3210103610041614051c071c1814042632143c14161e141c141c3d171714023a67143214321016141e1a3214140404143d103c141910143e3210651017343c1c01010407141c146d3d10142217162c14191c171804162c651414101d7a14100c100410137a1c07141814042632162c1401101426261414143d1014263210001017342c1c07190414141c046d32143c14161e141c141c3d3d1714023a6714321432121614051a3214141c171f1714023a3d11222214162214191c173632143c321614171760162c1403040413241c07001814142614166300161404137a1c2217171012263c163c04141c143e16332c141417101432143d163a143c1014143e1432140407141c143a32141717251c141832163c321614110c141416141e1c14140434142217162c141e1c14140425041032142c141e1e141c141b3214141c143a321417171e162c141c1c143a041816141e10143a341c1404321417171c1a3214141c140032141714611a3214141c143a32141714661c140c32163d14221c143a04163d3a32163c141410102632172c141e10111432163d141e123c14141012361814042632143d163b143c1014143e1432140407141c143a32141717251c141832163c321614110c141416141e1c14140434142217162c141e1c14140425041032142c141e1e141c141b3214141c143a321417171e162c141c1c143a041816141e10143a341c1404321417171c1a3214141c140032141714611a3214141c143a32141714661c140c32163d14221c143a04163d3a32163c141410102632172c141e10111432163d141e123c1414101236191b321c141c14251710123a3e1414261c141614141e141c14070426661404137a1c2217171012263c143c04141c141c321416321614110c16161614161c141c3a143232321400101631123a6714323232143c3216161610141c141f1710123a3e1416141416223a141c141717381c32171012041916321432141012323c1410040f14261f141614141c14100427321c191d221017332c14171e141c1410053a161c041c32141614171e141c141b321c101c141432143f0c161414232d1122101e332c181404371410342c1c191f141432162c141e1b321e3e171614191c141067142432101c1421171b3f0c160c1614191c1421173c1413241c1421173e1413241c142117611417241c3210041d3c1c051e141c141c323a67143a04171c142632163e120414673a67143a14171c141004100610071c142117651417241010363d113c1419040017271010363d11161419040117241010363d11061419040617241010363d10161814040717271c32103e14161419143b6d32143207141c141032142d163d143c1c1610123e32162c14171e141c141b3217611c141032143d173a1c1465321407170d1c141004163d3a321406141610103a3211161417101336321407141e123c14191c141c0406110c16311614191c141c041a110c16361614171c141c041b2c14071c1410041816141710143a341c141032143d17191c1461321407170d1c141004163d3a32143d173b111410191c141032142d1632143c1c1610123e32162c14171e141c141b3217611c141032143d173a1c1465321407170d1c141004163d3a321406141610103a3211161417101336321407141e123c14191c141c0406110c16311614191c141c041a110c16361614171c141c041b2c14071c1410041816141710143a341c141032143d17191c1461321407170d1c141004163d3a32143d173b162f0c161d161417040717241f1414321606141c1e141c141b321c141c1407173214072d1c3d1f17160d0c3d106510141c0413171416101614651432143c101e143e141604141f14143e143214001010073265141c1414321665123a17123a041b3e001b141010141c04041604141f14143e141604141f14143e143216651d6114123a3214023a261414141a170410141714181316042632140010110732651d1c143117321814141c1414041c07171a1710143216651004343c1414101e18161c171432162c32161017111d14042216162c14131c14003a14321717171d1c67143217171416101411140c191c14131714650c1b17322611041614141c1421172414072410110f1311040c3217651214221414321417143d1010601311040c3216651004343c1414101e18161c171432162c32161017111d14042214162214191c142204160010141c14650416022112110404160416141810143e100416141b10143e1b140426321117141f1c0418321417143d1c041c32142207141c1422041106321614161416073207141c1414041f073a321116141e1c14220416001017062d263d1432221c162c1412040410631414141817322632143c141b1014653a1432171d1104003214171439123c141204041063141414321106141e1c14650416001017062d263d14322212162c1414101610321117141b1e141c14073207141c1414041f073a321116141e1c14220416001017062d263d14322212162c1414101610321107141b1e141c14073207141c1414041f073a32173e10171a3214141c146532163c141b10143917140026371c041c1817322632170614131e141c140404072c1b321c140404143d14142211162c141e1c141317143e392c070407140404143d143c14011c141317143e0c32162c6514306510140766132c07046513162c14191c14610404110c1616161419040717241c14211716123a042414103d14321f141c1413131104143214061419343c6514316510170622651414651416041614191c14610437110c16161614161c14211716123a040265001b1416141d040c1114141614161e141c141e141c141010601311041432143d16031404221716222632162c141a1010146714323232143c3216141614191e141c1c3465101631061c161c17140416006510041614191c17140437110c161616141904043d2404041432143826043b221c3d142c14041012223d1716141a1010143d13161814040617271c321c3e141614161c140467143d1432143c14111b321c0c1c141c3213110c1616141b14143e1432143e100c343c1416040717241013263c1465001b141614161e141c0c1e141c141c141c3a1432323a1432171d11041432143e100c343d16031406141604043d24101f001711141019162c1416040617241f1414321465101736226517162c14191c14610404110c161416141904043d241c142604241410341c142632162c321616110c1610142632162c14191e141c041b321c1c14651416041614191c14610437110c161416141904043d241c1426040265001b141614141c1421172414072410110f13110414321417143d1c14263a1432323a1432171d1104143214171439123c141904043d24101f001711141019162c1406070465111c142632113d17261b321c141c14211716123a32162d1737070465111c1400321706321614101010363f0c16141010141c0414181432261104141f141c1414321665123a17123a041b3e001b14141f7a1c143117321714321417143d1c321c04013207141c143e3a1432143c142c14191e141e3e17100c100416141c1c143e321665123e17123a043d3210321606321614161011162c141f1c141b1717123a6714321432142c14161b321c141c14071714023a18140426321007141f07061410070d1c1b140614161c14263a143b171d11041032162c32163d14103c143c14191e141e1414000c10041614051c1421173d1413241c14211732141324101c0c171c14263a143a04171c041c191c142632143e1010343f0c163d141032143c14101b321c14040414191c04043214171439123222171622263217100032162c32163d14103c143c14051e141c14073b1f1317101432162c321632141032143e0c10041614051c1421173d1413241c14211732141324101c0c171c14263a143a04171c041c191c142632143e1010343f0c163d141032143c14101b321c1416221f141c14263a143d2d171410221b14141f141c1414321665123a17123a041e1000100416141410161032162c321631100c1b14042632170614131e141c140404072c1b321c140404143d1414221116221b141c1414041f073a32162c32161d10101401146517143e14321416141904343210343d143a070407141c143117321714321417143d1010611b14042632170614131e141c140404072c1b321c140404143d14142210162c141f1e141c141c14263a14240410073207141c1432321606141904340410343d1612140426321417143d1c041c321606141f1e141c141c321b1717123a6714321432142c14161b321c141c142632162c32161d101017342f0c161d142214162214191c143a3d143c141c1e141c141c143e3a1432171d11041832170614131e141c140404072c1b321c140404143d1414221716221f141c142513110417171406101014651432163d141f1c14071b11041016041614141c1421172414072410163d13171014321417143d1c143a321717162d1406321614100c1b14042632170614131e141c140404072c1b321c140404143d14142211162c1414101600341c14071714023a3d17142214162214190404103d141614051e141c141c14263a143a0417073265140404143d1416141904041467143d1432100614051e141c141c14263a143a04171c14211710123a04190614191e141c0417101432170614131e141c140404072c1b321c14111410190404103d141426321017141e123c141b10143a341c142204163d3a32113d141e123c140710143a341c146d041d06141904371410343c04141c141405162c141e1c041c191c14131714023a3d14042214162214191d22143214161417101e0c17101636321407160214063216141610171c1414043932103214010c16141426651404137a1c2217171012263c143c04141c141c321416321614110c16161614161c141c3a1432323214023a6714323232143c3216161610141c141f1710123a3e1416141416223a141c1417173c1c32171012041916321432141012043c1410040f14231714041012332c1814040717271c32043e14161414101f0c171e141c141c040016332c14161e141c141c14143a143217271c321b177a7a7a7a7a22311f1710143214651017311422171665137a162c1c1104041032142d263d142c14171e141c141c040c32141632161416101d1c1403171b3e0c1033651014170614141e141c14162c1411101f61171c3232100416141304010f1d171014321417163814073a191c1407171b010c16171614141c14071716123a3216161410040407241017613c17071639143c141310176532140614141e141c141c140c32176721241b321c141c141c32142c14141e141c14343f0c1614161410040717241f141405162d140d141426391404137a1c14103a143214047a221f17121d0717121d003d143c14141c14103a1432146714320432141614161a32141416606d041404257a1c221717261407271c32263e141614191c143a67142404101c14263214010c1624140432166510671b321f3a1c1426321665121c14023a321665120414023a3216651d3a14123a3c140714301c326d3a1432143c163f0c163d141032162c141e040f1411343f0c1632141032140714071c07103216651d0c14123a041006101a1c1421172c1417241017103d1116141904013d241017103d1106141904063d241017103d10161814040717271c32103e14161419143b6d32143207141c141032142d163a143c1c1610123e32162c14171e141c141b3217611c141032143d173a1c146532140714221c141004163d3a321406141610103a3211161417101114321407141e123c14191c141c0406113a14312c14191c141c041a113a14313c14171c141c041b2c14071c1410041816141710143a341c141032143d17191c146132140714221c141004163d3a32143d173b111410191c141032142d163b143c1c1610123e32162c14171e141c141b3217611c141032143d173a1c146532140714221c141004163d3a321406141610103a3211161417101114321407141e123c14191c141c0406113a14312c14191c141c041a113a14313c14171c141c041b2c14071c1410041816141710143a341c141032143d17191c146132140714221c141004163d3a32143d173b162f0c161f161417040717241f1414321606141c1e141c141b321c141c1407173214072d1c3d1f17160d0c3d106510141c0413171416101614651432143c101e143e141604141f14143e143214001010073265141c1414321665123a17123a041800001b141010141c04041604141f14143e141604141f14143e143216651d6114123a3214023a261414141a170410141714181316042632140010110732651d1c143117321814141c1414041d2d1710171014321665100c343c1414101e3a161c171432162c22141217163d14042216162c14131c14003a14321717171d1c67143217171416101411140c191c14131714650c1b17322611041614141c142117241407241011131311040c321765121422141432141714331010071311040c321665100c343c1414101e3a161c171432162c22141217163d14042214162214191c142204160010141c14650416022112110404160416141810143e100416141b10143e1b140426321117141f1c041832141714331c041c32142207141c142d1714171419190414141c141f177a22132d073207141c1414041c3d3a321116141e1c14220416001017062d263d1432221c162c1412040410631414141817322632110010141014262114141432143e1d7a140d131d110400321417143c123c141204041063141414321106141e1c14650416001017062d263d14322212162c141410176c177a22132d1c142d171417141919041414073207141c1414041c3d3a321116141e1c14220416001017062d263d14322212162c141410176c177a22132d1c1464171417141919041414073207141c1414041c3d3a32173e10171a3214141c146532163c141b10143917140026371c041c1817322632170614131e141c140404072c1b321c140404143d14142211162c141e1c141317143e392c070407140404143d143c14011c141317143e0c32162c6514306510140766132c07046513162c14191c14610404110c161016141904073d241c14211710123a042414103d14321f141c1413131104143214061419343c6514316510170622651414651416041614191c146104373f0c16101614161c14211710123a040265001b1416141d040c1114141614161e141c14191414141010071311041432143d160d1404221716222632162c141a10101467143d1432143c3216141614191e141c04342c1c161c17140416006510041614191c171404373f0c161016141904071724040414321438260425321c3d142c14041012613d1716141a1010143d13161814040617271c321c3e141614161c140467143d1432143c14111b321c0c1c141c3213110c1616141b14143e1432143e100c343c1416040717241013263c1465001b141614161e141c0c190414141c141c3a143232211414171d11041432143e100c343d160d1406141604043d24101f361711141019162c1416040617241f1414321465101736226517162c14191c14610404110c1616161419040717241c14211716123a04241410341c142632162c321610110c1612142632162c14191e141c0c1b321c0414651416041614191c146104373f0c1616161419040717241c14211716123a040265001b141614141c1421172414072410111313110414321417143304336d17360614191e141c0419041414072265141c1414041c3d3a3216651004343d160d1404221716222632103e001b142c14191c146104373f0c1616161419040717241c14211716123a040265001b142c14131c14003a14321717171d1c67143217171416101411141c1914651416041614141c142117241407241011131311041416332c141d040c14041c1414041d2c1c16101004100416141f1e141c141c321832162c321625140712171014321616141f1c14211725140724101e3e161c143e3a1432143d1422263216061411040413241b321c141c141832143f3a141416141004041324111410191c171004160000321710032c11041032162c6514313c141604336d173600361b140614191e141e1014061c161c14263a143a1417073207141c146d321665121014023a321665121414023a043d321032162c32163d14103d14322632162c1416040407241b321e10140614161c140467143217171414263d1716141410161c3411141019162c1410070614191e141e1014061c161c146d3a14321712363e0010041614191e141e1414061416073207141c146d321665121014023a321665121414023a043d321032162c32163d14103d14322632162c1416040407241b321e10140614161c14046714321419143e1432162c32161f10101401146514143e14321416141904343210343d1438070407141c1414041d651d7a140d1032162c651431650c1b14042632170614131e141c140404072c1b321c140404143d1414221116221b141c1414041c3d3a32162c32161f10101401146517143e14321416141904343210343d1438070407141c14311732171432141714331010041b14042632170614131e141c140404072c1b321c140404143d14142210162c141f1e141c141c14263a14240410073207141c1432321606141904340410343d162514322632141714331c041c321606141f1e141c141c321b1714023a6714321432142c14161a3214141c142632162c32161f101017342f0c161f142214162214191c143a3d143c141c1e141c141c143e3a1432171d11041832170614131e141c140404072c1b321c140404143d1414221716221f141c142513110417171406101014651432163d141f1c14071b11041016041614141c1421172414072410160f13171014321417143304336d173606141e1c140404162c651414100c1b14042632170614131e141c140404072c1b321c140404143d14142211162c141410161c341c14071714023a3d17142214162214190404103d141614051e141c141c14263a143a0417073265140404143d1416141904041467143d3232100614051e141c141c14263a143a04171c14211712123a04190614191e141c0c17101432170614131e141c140404072c1b321c14111410190404103d141426321017141e123c141b10143a341c142204163d3a32113d141e123c140710143a341c146d041d06141904371410343c04141c141405162c141e1c041c191c14131714023a3d140422141622141911141432141010170406650420221c34162222141c14171714001021101a6d171232261e141614171c14172704041f64162204141c1410191b041017332c1814040717271c321c3e141614161c1414211414146314146d3214161417190414141a3214141c141032143e1005343c651414113a1414161416040717241f1414190f141017332c1814040717271c320c3e141614120404146314146d32173c14131a32141a1c140c3217113a14110614120406006314142232170407141c140f1711023a32173e101a343d162214322632143c14171c141032143c321614171120143c141204042d241c14183214163216141714171c1413241b321c141c140f1710123a3e1414232c14041013332c1814040717271c32183e141614160432146614141432143e1c141b22141c1c14183214063e1416113611161614111c1410251414146614221411041614141c1403241c040f171416101714651432173c65141410101d1c141327313e1017360407141c141c32142d163114042632142c6514112c101d1c141b1711123a3c171614111904141904076c651c14040439141317140d0f2c101f18171c141b1716123a3c171614111904141d04076c651c14040439141317140d0f2c101f18171c141b1717123a3c171614111904141104076c651c14040439141317140d0f2c101f18171c141832142d160014001017313d16011406141d0404132d17101432142c14111904141404301017362f3a141414263214001017343c1c1704043d1d110414191c14031714023a3c1700100407226514162c1411040717241f14141904041432140614161c141832171010101013323d14061411190414140404072d070407141c14143214001d0411673a3214001d2611383a3214061417043004140617263214001d13141032370430221a342f0c161414261904141432143c14111c14171716123a3214163216161632161717101414161c141c1417173a141f241c1400321710101410191c171c1417271c3217173b221f18171014321406141404042d2104042d231b321c1416222114141614161c1418321410101c343c14141e141c1c1e141c14100414141c3214321410123a14023a321706141004041404263210321412263c1410123b14002210041614171c1417171112641717676d6714321419166510141c141032143c14111c1407171717170f1c041032142c65141410101036000010041614141c14131765146c241c141317621460241c14103214001d3e141032371c1413172d04171c12651d261138266714321419166514141c141c32142c141404043d241c14143a1432323a143204071414143c1416141404341416343c14131c1407171417166514061414342c1c14040f6d16011407141c1410321410101837001018372f0c161414261904141432143c14111c14171716123a3214163216161632161417101414161c141c141717241413241c14003217101014101904171c1417271c32171725221318171014321406141404042d21040431231b321c14162226101410101616636d131404257a1c2217171012263c160604141c140c041a2c101e1c143e32173d161814061c1b10113632170614111b321c14143e1416041614141c3236211414143c173e1027342261111414101414042632163c141204073d6504073d641011653d173c14131c14003a1432143c17651010343f0c161416141d1c140c671432143214101017343c101d16221f14143e1432143c141d1c320f270404131811041432172c651414101022072265141c143621141413171c1d1f177e14171d11041432163e10221011653d173c14131c14003a1432143c16101010343f0c161416141c1c140c6714321432163c141d191414171011653d173c14131c14003a1432143c16101010343f0c161416141c1c140c671432143217651016343c1c1d1c040c11041614161c140f1b11041c32173c221414171402101b3216070465161c140f1714023a3d173222141622141914651432143c1412010465171c140c261414143d16171402123c141c1010031311041032173e1017343c101211141419141426160416141f10103e100416141e1c143632173c14131e141c1410121832170614131e141c141c140c3217672117143b07241b321c14111410191c143632173d17601c1465041a16101a1c14363d16141b141c140c3216106510041614111c14363214122117143b07241c14003a1432140427041013143e14321606141910142626141417171410221b141614181c143e32162d141919141414072265141c1400321706321614161c18040407241b321c141c142232113f0c16141614191c1426321607141f0404132706023a3d166510141c0422191c143a32161622141417146c1c046d32170614131e141c141c3d171717123a6714321432101614051b321c141c143d1714023a3d16161418040413241c0422181404261916221f14143e1411041614161c140f1b11041032173c651414161c1d0406601d17101432163c141d04073d6504073d641011653d172c14131c14003a1432143c16101010343f0c161416141c1c14366714321432173e1017343c101211141019162c141b1010323d172c14131c14003a1432143c16651010343c1c1c1b321c141c142632172f0c1614161412040413241c040c1814042632170632161416101c162c141e1c140c32143c141c10121832170614131e141c141c141c3217382117143b07241c32006714321432171614131c141832140614143465101631123a3214061416073d2667143214321607141e123c141f040717241f14141920141017170d6d3f14101004342c1c1d1f14143f14101004342c1c131f1414160416141704307a7a7a7a6d1101040714143e143214001017010407141c141432140714631c14143d17322217162c14141c1414321407161614001017343c1c11101c10171c320c04010614141c141804011614141c1410041a042632173c10101c14103c1422077a1c14181004141b141c140432143f0c1614161410040407241c04043214651017342c1c11110414191665101417061410162d3a32170010141b321c181c140c321400101631123a3217001018343d142f1c14031710123a3e14142217162d140d1414263217651004343c04141c14141938040017163b6d3f14101004342c1c1f1f141432173d142c1c043a3216061412101c61171c3265041b2c14131c1418671432141604141f141c14143c172c651414161c12040621271132181414041417162c141e1c140f17121d0717121d00041e0610121c1400321706321614161c1d040413241b321c141c143632173f3a1414161414040413241c043619143e1416041614161c14363c173821171400221b1416141d190414140401171d11041432172c651414001032363e1d611410361b1416141e040114041e0610121c1400321706321614161c1c040413241b321c141c143232173f3a141416141e1c143626141410041e0610121c1400321706321614161c1c040413241b321c141c143232173f3a141416141d04041f241c32363d17321b141c141c32173e651b143c14121914141410170c0467141f1311041c32173e1017343c10121114141914142611041614161c140f1b11041032173c22141416101c10170c341c1432040700001b14061412040413241c040c181414261416221f141c143e04060407141c143a32172c14121c14003a14321404372c14131c14003a14321432173c141d34673a671432141814042632172c1412101d3e32110714611c046132172c101c14651432173c141c010407141c141832172c141434673a32170632161417176017041f141c143e3211171419191414140404171811041432162c141f1c142204162c22141410361b141614131c14003a1432143c16651017343f0c16141614191c14616314141432111614181c143e0416001017346539241c042d1714161019162c141e1c143226141414041e0610051c1400321706321614161c04040413241b321c141c171432112f3a141416141c040413241c04323216651017343c1019111410191622261104141f141c141c32173e261004161412190414141c323117193e361b1406141b1010323d172c14131c14003a1432143c16101017343f0c161416141c1c14366314141432173e1017343c1012162c141e1c140c32143c14131e141c1410126d32170614131e141c141c141c32173821241c32006714321432171614131c1418321406141434673a3214061416073d2667143214321607141e123c141f040717241f141405162c141e1c143117121d0717121d00041e06101d1c1400321706321614161c1c040413241b321c141c143232172f3a1414161412040413241c040c1814142614167a04171404397a1c141004110610101c1410041606101d1c2217171c12263c14060414143e14321400100c343c1414101c04111c32322114141713110414321400101c343c1414101814171c043e32141614141e141c1404042d271e141c14343c1c131e141c101c043a160410137a1c14003c143c321601171730070407141c141c3a143e223d14322217162c1416143b6d3f14101004342c1c111f1414321465101c343c1c121c141c04112c141210111f171c1714251c041c32173d141a1c141b1710123a3e14161416162f0c1601142632143e100c3110100c310610161c14103216063216141614101c14043217673a3c142c14101c1425172614132d04061712122c14111c140032143d17021b321c041c14103a143d141b141614141c14143a143217171112263a1432172404040004321410191c1432043232183214001032343c0414162f0c17143b6c176c14100412061c16171d6d32143c14141c141317146604043c04183c14101014061407141c141c041010101411222632143c14141b32192214061416170614111622203114221016332c181404301416342c1c141f141432141614161b321904143c14141c141067142132161c1418040d1610121c14183214101d3214023a043804103d172c141404311417343c14111c1417172f141f24101f32171c141717221413241017103c1406141710171804111614141c141317141714191c321c67142722171c14143214101004343f0c1611161414040414671432321104141f141c14171767141f241c14171765141f2410110f131104143214163216231410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714272217162c141404313216343d143d1c140c32143c141404372217343c141404043d241c14143a142622161c141717651413241c14171710123a3214101018343c141d101c26171104143214101d0c14383a041f073a1814042619143e143214101d0414023a041600001b141614141e141c181c32183214101004343821173b22131e1104143214161411040407241b321c181c1418321416321616110c1614142632170614161c14143a142722171c140432173d111d143f0c161416141404311417343c1414040717241c14143a14322232171714211c14171767141f241c14171765141f2410163210041614101c14043a14321717143b1c67143214191c14143a142132161c041c321407141e123c141404311417343d141e123c141404301416343c04141c141c1903141016332c1814040717271c32183e1416141104041c6714322232143c141710143e3c171026100417140d141426321407141b1c041032142c14101c141f271b321c101c14143214061416343c141104042d241c141b1717123a043a32103a143214046c32103214651004343c041416651c17140d6d3f14101004342c1c111f141432142c14171b321c181c141832143f0c16161614111c141b1711123a04003c10171c1417176d2d2632142c32161617113c143c10141c14100400061411040717241f1414321414260c141614141c14143a143217171112263a1432172404041c07141414341c14141926041c16171d6113332c1814040617271c32323e14141f14143e1416041614171c141f1d17101717641c10171e141c141c042d17641c1017040414671432143f14101004342c1c1f1f141404133d3a3f14101004342c1c1e1f14143f14101004342c1c191f141432162c14171c143d171d122517143d110c140614191e0418141c040432163c14191e04181c1b22181c1c143a321711361114161419040717241f141432163c3e11141610101c143e32163c3e11161136111616141f1c14046614221432163e1004343c04141c143e251422143d1716141c1c143e2514223266142d1432161614101b22181c1c14391710123a3e1416141c1e0418041c04043216163e1116161013043106171406321614161c17070465171c14323a143d2232143e361b143c14131c040c321716101d1c1413172d14171d1104181814322632146510101b321c1411141c1904310617140614181b321c141c14323a143d2232143e0c1b14042632146510101b321c141c140c3d1706141d1c0404191c14143217013611141614141c1404661422323216101032343c041416620c1714321f6d14666d3f14101004342c1c131f14141604141f14143e1432141614170722071404310617140632161416101d04310617140010141b321c1410170c341c2217171012263c173c04141c140c321416141304042d240404100467141032173c3e11141614121e04181c101b65171c041832173e1004343c0414043106171406321614161c14070465171c14003a143222321400361b143c14111c04043214101d101410361b14222216162c1416040404671432141814322117641c10171c14366714321432170632161116141707326517162c1416040404671432143217161011162c1413040717241f1414321422206714041c1633041b7a1c2217171012263c17060414143e141604141f141c1414321400361004101d003204103a1432143d17651d003204131714110c1614171402123c1814040717271c320c3e141614121c14143217001018343e1014101b32171c140c2514221432173c3e111617113e143c10111c140f1710123a3e14101d003204103a1432143c1410001b140614131e141c181c14131d11041c32142c10101c1417172d14171d1104181814322632143e10101b321c1411141c19043106171406141d1b321c141c14003a1432223214000c1b14042632143e10101b321c141c14043d1422263217001004343c04141c1418192d32101614666d17333c1814040717271c32043e14141f7e143e1416041614141c14131d1710141604141f141c1414211414143c17001021072265141c14171714023a3c14161417072265141114101904310617140632161416101204310617140010141b321c141c14143217101018343c141110170c046704103d17221f14043106171406321614161c14171014321716321611161417072265171c1417172d1417121104041817042117641c10171c140c6714321432171632161116141707326510162226191c141f1717110c1614101c1411141c191c141f1717110c1614101f7a111410190432143217666532172c1413040664121222263d172c1410040717241f1414321722230d14041c113322137e1c2217171012263c17160414143b6d1604141f14143e14321416141707220714143e141604161414190414141c3203171900361b14161414040413241c3214321400361b1414221716651d003204103a1432143d173e1d003204131714110c16141614141c14071711123a32142d1402101b3e171c04361604101d003204103a1432143c141407141c14043a143222321400361b1406141404360414073265131114041904310617140614121b321c141c14043a1432223214000c1b14222619162c1416040404671432171714142211162c141d04237a7a7a7a6d0502146517162c1416040404671432171733222217166510141c14303b1c3217271c14143217001021073d26191c04143217101004343c04141c1414193e321817140d6d3f141012041438263c141604141c141432143f0c1632141c32141614171b321e1c143c14111013223d173c141404311417343c14111c1417177a221324101f3a171c141717221413241017103c1406141710171804111614141c141317141714191c321c67142722171c14143214101004343f0c1611161414040414671432321104141f141c1417173c141f241c14171732141f24101113131104143214163216231410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714272217162c1414040c3216343d14331c140c32143c141404372217343c141404043d241c14142614056d171c141717651413241c14171710123a3214101018343e1d32651414043f04101b14161414040c3216343d143c12322217162226160416141404311417343d141f070465141c14143a1432223c142c1414040717243465123314003a1b141614141c141b1717123a6714322232142c14141e141c1c1b321c14162c14131c141c32141632162314103217161412101836161b321c141c141717651413241c14171710123a321416321611161410101665321410121c14383a321410121414383a041f3207141c1404321716321614101016363f0c1614142632141632163c141c3d143c141710143a341c1417176514132410143a341c1417173e141f241f1414321432233614041c113322137e1c2217171012263c17160414143b6d1604141f14143e14321416141707220714143e141604161414190414141c3203171900361b14161414040413241c3214321400361b1414221716651d003204103a1432143d173e1d003204131714110c16141614141c14071711123a32142d1402101b3e171c04361604101d003204103a1432143c141407141c14043a143222321400361b1406141404360414073265131114041904310617140614121b321c141c14043a1432223214000c1b14222619162c1416040404671432171714142211162c141d04237a7a1464321b14042632143e10101b321c1404337a7a14222217166510141c14303b1c3217271c14143217001021073d26191c04143217101004343c04141c1417177a7a6d113604206714041c1733321f7a1c2217171012263c17060414143e1416041614141c14131d17101717641c10171e141c141c040f17641c101704041467143214321416141304042d241c141804133d1105143c1010143e1717641c10171e141c141c321410041614131e141c181c14131d1104103214101d1014100c1b1422221016651d0032041032173f0c16141614131e141c181c14131211041819162c1416040404671432171614161010111410191c141f1717110c161416141004321703171017167a7a7a7a7a7a7a7a7a7a7a7a1416101011141019043a1614321c1614321c1614321d6d3d1714263217001004343c04141c14041922221016143b6d17333c1814040717271c32043e14141f7a143e1416041614141c14131d17101717641c10171e141c141c040317641c101704041467143214321416141004042d241c141804133d1105143c1012143e1717641c10171e141c141c321410041614101e141c181c14131d1104103214101d1014100c1b1714221116651d003204103217010c16141614101e141c181c14131211041c19162c1416040404671432171714142216162c1412043a1614321c1761002c141204237a7a7a7a6d1d030d1c1b1416141225222217162c141604040467143217177a7a7a7a7a223632173e1c1403046514123e1214321c16143014263d14161410040717241f1414321414233814321010332c1414040017271c321b17231632671432143214651d651c010c1614161414043322391b321c141c141b1725160c6714321432141012041f3f0c1616161414043704381e141c141c321067143214321416141704042d271e141c14343e12611f3c321614110c16141614140404146714320432141614141e141c1404042d271e141c14343c1c1604041467143d0432143c141404042d241c321067143d3232143e10141b321c181c141f1632241614321a14141b221c101c141c3214000067143d1432143e1032343e101404063204073d3a32143e1036343d1605143c141604041467143e3232143e137a1b321f181c14171716123a3c143e126d1f3c321614161c101b321c141c141c3217101018342c32161412251722160c3a1432146714321432141012221f3c321614161c161b321c141c141432143e1018342c3216141225172d160c3a143214671432143214101d1c1f3c321614110c1616161414043322391b321c141c141b1725160c6714321432141012041f3f0c1616161417043722331b321c141c14131717123a043f221c3214001c141b221c0c1c14131614113616101614170432146614323232140012651c010c161416141704061724101710341c14131712110c161816141704041467143c22321414261e141614171c14172704042d21166004171404077a1c2217171012263c170604141c141032143d163c143c1c1004307a7a7a7a6d1101040714143e143217101017010407141c141432171714631c14143d14222217162c14141c1414321717161614001017343c1c12101c10171c321804010614141c140c04011614141c1404041a042611041614171c141f1d17101432142c14171011183214651010343c10111c14131717123a3d1404221716222632170010141b321c181c14183217001018343d142f1c14031710123a3e14146d1910173614162d0c141c14143214061416043a1614321c1614321c1614321d6d0465141c193e32041617666d10333c1814040717271c32323e14141f14143e14160416141604060718171014321416651414161c13110410321416101011141c1904310617140010361b321c140432143d14222216162c14141c04041604141b141c140317121d0717121d00043610001b14061410190414171c04003217101017343c10101c14001b141426181404261604161410190414141c3203171e67261a1422141714141019040d6c171416141304066412122c101d1c14071714023a3d1714261633221f141c141f173766101b14161410190414140401171d110417171406101f1c140421141413176622132d04313214073207141c14071714383a3d1710100411141c191c14071714023a3d1716141604043232143d261814042632143e101e1c141c37162c1c1e271610180404143d14321b14143e171700161013143e14321716221414161c120401172704336d173600101e060465140434397a1c040032173e1d3d141221177a22132d0407251f11041717060610131c140f172204172704336d173600100f06226517162c14131c140f241c320c32163e611b1416141c1c142d1614161419043214041e6510171c0400160416141c1e04181c0432170611041432162c1418333c1c1b1c1434261c32601633610302110414321106141a331610190404103d160614161c0400191c14071714023a3d171614131c041c18140426191c141010041614171c1404321416141f122f0c161414261604141f141c141c1004101d00320413172d14146714321432176510141c141b16140c183c111314371c043632142c1019111410191c14183216640c1b14061411043212111c0422191c142c3b1c14312c070407140431061714001d1014110c16141614110432136c1c04181814322632142c1419023265140431061714001d1014110c1614142217162c14191c1430261c321a131c141b6c1c0418191c143d1710123a3e14161411162f1017140d6c17671c0c171e141c141c0410321414071404313c1214001d3a3d04103214161414040d6c12122f0c1614142117332c14171c141317631c0017073d261927043217170d6d321406321614161010143e141604141f14143e141604141f14143e141633221f14143e141604141f141c141b1311041432142c321614161c12070465141c14171317101432143c1011111418191c141b1714110c16141614161c0418181404261604101d0c3d32103a1432143a14321713171014321410001b14061416070465181c141c3d17321b141c1404261414143c142207141c14143214651d7a23221b2d1b321c141c14171717123a3d14161410040413241c040432173e1017342c1c1211041018113226191c14171714110c16141614170404146714321432143c141234226d191c141c3d142c141407046511111400191c1404043e321005166510171c040018142221171414221716651017162c10131465143217000010041614101904141404041b671c32031710122632173e103431061413343b1f171765261b14221f7a1c14071714023a3c17061412040c16143217172d07046514123c14131904141404361417360012141400361004161410040413271c0404181722263217101016343c1c131c140f17321c14323600001b14173a321706651414101d14140d13173214131d1710143217101017342c1010111436191c14071714673a191c04043214651017342c10110404103d1704221716221b14143e14321710101136061410190414141c320f17140221177a321719363265141c14043a1432143c173e1217323a041c342c1412363e1214320c1e10301d101b14141b141c141b171712263d142c14101e141c101c040c3217101010343c10101c140c32173e1217323a041c34661f17321c12163d1d3d2d0704651416222632173e1d7a140d103c1700101734651d7e1410651004161411040413271c04183217101017343c101011141019162c141304361c17342c1c1304011f191104183217101017343c10101c140317143b0717221621241e141c141c040f1714161013111414191414261104161413070407141c141b131104361104141f14143e141604161410190414141c3203171402263c17651d7e14102610041614131c040c181404263217101011360614110404031f36326517143e1411041614101e141c141c320f17320c1e1016122632173b1f17321c12163d1d3d2d110410321416141204336d1736010c16141614141c140421141410671432043214161410190414161b321c1c1c14143217166514142f0c1611161414040717241c04143217101010343c10101c141b171712263c1465101006226514162c1410190414141c040c191c140f177a22132d1c3203171402263d1722263217651d7e1410261b14042632141614131b321c141c14171717123a3d14161410040413241c04043214651017342c1c1111041018160426191c140317223213271c320317183e261b142c1410040413241c0404321700101631101d141e673a3a1432143d173e10171c040018140426321716651414161c1304041b671c32311710122632172c141204072564343b1f171765261b14041f14143e1416332c1410040413241c3236321700121414022632173e1012311d1c3c1700101401326514123c141d19041414040c1417342c1c1d04016c191104103217101016343c1c1c1c14363217001012311d1c3c1700101401326514123c141c19041414040c1417342c1c1d04016c1911041032172c141304040f65363c10131c14071714673a191c040432141614131b321c141c141b171402263d142c1414040407241c04141814042117641c101704073e671432143217101017342c1010111400190404143d17042214162214191c1407171402263d17161412110410321716651414161012162c141204336d17360465141c141410041614140404146714321432140010141b321c14162c14161c141b2711222117641c101704073e67143214321410001b14042632140614101b321c141665137a11222632140614101b321c141c141c191c221016332c14141c041011041614171c321f1717123a3d140614161e141c14110414191c141c3214122117143b00191132143214171133143207141c141404101426190022101033221f141c1413171410221b14161417040413271c32071311041411041614141c141f241c3218211414143d170614111c141432143e101736383a3c142c651414113a14141614111c14006314141432143e1016343c1c161c14131a11041032143c1410072265141622261919141017332c1814040717271c321c3e141614161c1410671432223214101d3e14101d201d161417101900171c041432143e1004343c04141c1414191e041017332c1814040717271c321c3e141614161c1410671432223214101d651d161417101a1c161c041432143e1004343c04141c14141913321432141717130404171d1c1417171c1d1f176104172704040f1f3632206d1432141604141f14143e141604141f14143e141604141f14143e141604141f141c1413171602261a1032141c16043a1c160410161422041e16043a1e16143e13173236191c141c32143c321614161c17040407241b321c141c1414321406321614110c1614146d191c141c32143c321614161c17040407241b321c141c14143214011c171411361114146d191c141c32143c321614161c17040407241b321c141c141432140118171411361114146d191c141c32143c321614161c17040407241b321c141c141432140114141411361114146d191c141c32143c321614161c17040407241b321c141c141432140110141411361114146d191c141c32143c32161410101d343e136136061c1704043d241b321c141c1414321406261114113e1114146d191c141432143e102f1004181416226d191c141c32143c321614161c17040407241b321c141c141432140104161411361114146d191c141c32143c321614161c17040407241b321c141c141432140100161411361114146d191c141c32143c32161410101d343e136136061c1704043d241b321c141c14143214063e11141136111414237e1314101a332c1814040017241c32183e1416141104041467143d1432146510141b321c181c141b1714110c16161614110404146714320432142c1411040717241c320467143d0432142c141104042d241c323267143d3232142c321613173a32142c141104043d241c323a67143d2232142c321612173a32142c1411040407241c320c67143c1432142c32161d173a32142c32161c173a3f14101004342c1c1d1f141432173c1414190414161c1414211414103214166514141d1b2f04073d6504073d641c320317181d1832170010173110123333661f24040413241c32006714321432163c1413040d6c2f1c14132d1c1400321400137a362c1c183602263c1700137e363c1413040d602d343e1017343c1c131b321c141c1404321707140f1b321c141c143232173c321614161c1f10173e671432141104141f14043766207e34137e1c04001104141f14143e14321700126d6223383d333e221004161413043066263d1a1b60073265171c1403173c34661b67662d1211041c321700121c3d0c19363310361b142c141d040717241f1414181714263217001d673f3a37031710361004161413040f24303a6d3e11073207140404143d16651d21621c013f30061013111404191c140317233062603a0d601d11041832172c141f1b321c1c0433341a3d210010040f24303a6d3e111c14363a14323d1714103a371c04001814222632173c321614161c13040d6c2f1c14132d1c140032111d13271c323917333b1832160010173110136d36023a3214123a211414103d1106141c1e141c141c140032172c3216161221241c141432172c321616161c13040d6c2f1c14132d040413651c141032170d1b27343c6514141614141c14392404041f27190414141c14642f362f3a141416141d1e141c1c040413271c043e1817142632172c14191b321c18040c38212f31216d040c3c1332212d6d1c143a3a14321432172c321611103a371c04001814042632171632161416141d1e141c18343c14141c14363a14322d1714023a3c16673a21141414631414171762302c1061663e3d1704221416221419162c14111c14183a14322d17272d6132142c32161717167e14010c161f101d1b20233430170610141465141604141f14143e141604141f14143e1416041614140436272224341c17011407141c1417177a370d34626660181710143214101207640c200030650c1b172c141404366703636c2562073265111c141717321b1d3b7a0d2d1d110439173e310219391d263d141010141c0410181604263214101d7e21312723333e0c1b1716141404346338657a0c14073265171c141717653416601210361b161614111e141c0410171432142c3216111714041c14183a143c14341c14183a143d22341c14183a143d32341c14183a143d04341c14183a143c223d14161411040017271f14143214146d191c141717626101276c041f181710143214101d196d1e383c14000c1b172c1414040c2f142c3a14160722651c1c14183a143d143d161614111e141c1c1c0460171416101f0404143d163e10141c0403171416101d0404143d162c1814040717271c32043e14101206381a2f111700126262192c1c17161416122c1012043100141c042d177e32103d11041b14143e171760242433303c10141465141604141f14143e141604141f141c141717251b02116c3213181710143214101d3a2c251660331022100416141404333c647e052160073265121c141717601b160221662512110400321410120c6c30661a3000361b172c1410040717241f1414181614263214101d252c25166033100c1b14061414043034243b66251d11040c321716141f1b321c101c14043211013a14162c14101c14226314142d1763362404200d2d1738050d212f3b3e32171632161716141a0617263d14142212162c1414043711213c273e10011407141c141717253102116c32131211041c321410126262192c1c1710361b173e1d6121333f62300610141c14042614146532171632161717113a143c101e11140c191c1417172630671e2004071211041c3214101206381a2f111700361b17001d6121333f62300610141c14042614146532171632161717113d143c101e1114001904340d03327a0c1704371d213c273e101c14043a1432071714386c1714000c371c04141817142632161614101e141c10343c651414161c131c14042114142d2f1c043117601b160221663a3d14161410190414191c04261814222632161614101e141c10343c651414161c191c1404211414212f1c043117601b160221663a3d14161410190414181c04001814322632171614191a32141a1c140432172f3a14110614101c14006314146d32173c101411141019162c141c1c14043a143207241c143a63141414321716321617101017343c101f1c14042114146d3d111614101904141a1c0465181404261904331610637a00161c0414181614263214101d223d1a2364143e0c1b143c1414040f3f0d24251011073265101c1417172f3727673b32031d11043117272437016c3217172f0f0d27673b2632142c32161f17263d1414221d1665121822182414143e1d1b39302334302c14111e141c1804370c301c14183a14320404233210371c04141817322632142c32161016101c1c14183a1432323d170010141c0425171416101b0404143d176510141c0421171416101f0404143d11161814040717271c32043e1416141c1c14000464041f17262437373c22071720237e113a3b3e32143d263d173e1d031416101a04333a171c046d1104141f140437060265373a161c04141104141f14143e14160416141404371a0265373a16011407141c14171725331d346766641817101432141012637a611a3c30000c1b17161414040f7a003b253d62073265111c141717657e3c6361663d1d1104003216161413101b00161c14071710123a3e14142212162c14140434372d6721216c073265171c1417173263340f2704131d1104071739610d362332071725231d3467666532171632161710101637651017073d263d1414221016221f14143e1432141012023d312c7e17102210041614140437060265373a16073265171c141717262437373c22071d11040f177a6219393922003d141614101914141b1c14043a1432040461041c3d16322212162c1414040f301366196110073265171c1417177a6219393922031d11040032161614101e141c10343c1410190414181c321432163b18321416141e040d6c2f3600101731122663141414321716321617101017343c101b1c14042114146d3d113c14101904141a1c046d18172226321716141b1b321c101c140432112f3a14163c14101c146163141421173263340f27041317657e3c636166323217163216171614130617263d14142210162c141c1c14043a14320724190414141c323632171665141666183d16651233641f630c302c10141c14042114143a3d160614101904141e1c04221814222632161614101e141c10343c651414161c1f1c1404211414252f1c0421173b6c0630381d263d14161410190414191c04363217166514162c101811141c191c140432162f3a14110614101c142263141422321716141f1a32141a1c140432172f3a14112c14121c041418140421177a6219393922003d141614101914141b1c14043a1432040463141c3d163222141622141916651d223d1a2364143c1014111400191c141816336510141c04043f14101004342c1c121c14183a143d14261414146714323232173c14121e141c1c04066c1e1a32141a1c140c32173c32161610106306113a1411651218611f0616303c1014146514160416141404342f363d613d62011407141c14171739302717203b3d12171017177a22103d17101221661c301c302c1014111418191c1417173f1a1600323b2512110410321410126d3a1a3319303e361b143c14121e141c1c1c3217176104172f1c141717140d0717230d602c343e1017343c1c14040413650407072d1c141717163b1b241c04071727312c1d3c1d263d14142216162c1414043466363d613d62072207141c14171738240d6163221f1d1710143214101d14612711161465361b142c14121e141c1c1c3217172f22132c1c1417172f22132d343e1017343c1010043466363d613d621c04141814222117231e113b2c66251739302717203b3232173c321616101d6214103237040f0d24223725611c140c3a14323d176114171e122c101411141c191c140717121d0717121d001814322117221a1e2222321b1738240d6163221c32173c6514116510173607211738240d6163221c32173c6514113e10173607263d14142214162214191c32146714320432142c14111e141c1c1c320c321410137a3666103214161412040d6c2f3602263c173e137e363c1412040d602d343e1017343f0c161e1614111c140c0412010c16191614111c141717140d0717143b10321410101736673a0412010c16181010141c071432142c32161e1614111e141c26343e10141a3214141c14183a14320432142c32161812251714113a1414101d7e21312723333c1014111404191c14183210110c161a10120c64632407146512146530336c331614111e141c3a1c14183a143f3d1e122c1014111418191c14183a143c2232142c32161a123a32142c32161a161c140404136504041f2c1c141717333b1b24040413241c3d1432142c321610123a2114141463141417177a270d346266613d14142216162c14111c14183a14320467143f0432142c14171b321c6d0436232224341c170431123220073232142c32161b1614111e141c6d063d263d14142217162c14111e141c221c14183a143f2d241c14183a143d1432142c3216161614111e141c65342c1c141c14183a143f223c140d1f17140d04321416141736672124190414141a3214141c14183a143f2d1714023a3d14001207640c2000302c101411141419141421271404077a1c14143a1432142614141404070000100410101411222611041614141e141c141c041b17332c10171c141f172f1f382f6032171b17101717332c141119141414040117271c320432143e101e37161c17343c141004337a7a7a7a6d1d1c141327063d263d1404263214161411040413241b321c141c14103d143c1411191414171010001b141426321404236510321c073322137e1c221717651417271c32003e141614131c141067143e223217001066343c10001c1403171a123a3d101010141c04101604141f14143e141604141b141c1413177a7a7a7a7a2236321667211e1104103214061419343c10191c14003a143e223c163c1017143e141604141f141c143a211414143c160407141465141604141f141c1439177a22132d1c320f13171014321406101f111410191c140f171f00361b140614171c043e1104161417190414170406031d110410321706141704041f241c320c67143e223216001017343c101f1c14102114141c3d161614121c0410321610103907326514162226321606141e342c1c1704337a7a7a7a6d1d1c1421271c3d031e11043632141407141c141432163c141710163a191c14101b173e137a1c046017140610121c14003a143e222614141004070610171c14003a143e223d16141f141c1413131104143216166514143e103e072265141c143226141413171812263d113e10171c071f17142c1012162c14131c140c3216123a3c14010c16011010141c04221604161417191414141c3d13171c12263c16101033062207141c14103d17322217162c14171c040f171406141c31161c1d040c3b07171d131311041411041614131c14131714023a3c173f0c160116141d1c142d2c1c0422321406221414061c07040617271c323d171c106d1b140614121c0413171406141c31161c1d040c3b07171d101b14142619143e143210001024073207141c14001633221f141c140c26141410040700001b141614131e141f181c32102114141f171f10361b141614171914141704041f651c140724043614173465101e1b321c141c14102614141317146604321467251732141b271e141c141c046417140610061c14131714673a1814042632103265120404143d103e10141c046532141407141c141c32143c321614161c17040407241b321c141c14103a1432143d1104263217063216011010173432263c14010c160116141b0404171a110413171416141b342c101b1c142d1732181414363c1018111410191c1403172f141724101b26161c3264171410321b161614131e141f181c0410190404143d173e137a1c043616336510141c14102114141717193e361b14173a321406651414001024073207141c14001633221f141c14102614141c040700001b141614131e141f181c32102114141b171f10361b141614171914141604041f651c140724043614173465101e1b321c141c14102614141f17146604321467251732141b271e141c141c0436321400101034322217162c140611040c321414077a1c141c32143c321614161c17040407241b321c141c14103a14321413040414191c04363217063216011010163432263c14010c160116141d040d6c2f04076c67111410191c14003214001017343f0c160116141304362214343d1137143c101d1c14003a143e223d14001017162c100114651432173c10050407223d160614171914141404361014346510600622651f1c14003214001017343c1c071b321f181c1410261414143d173c14071c041032173c140504012526343e120519383a211414143c173e10173465101c0604651416221f14143e1432173e1037072207141c140f1311042632113e1014013207141c140432113e101631123a32173f0c16141614131c141832113e101131123a251422146614651418143226321410001b16161413040017271c140c32143d110f143c14131e141f181c07101814322632113e10140132651e166510141c0410321410001b1722263211101d7a7a66212d1c32323211161418040c1114141d10371c040f171416101804306d341c0461321016101f143e141604141f14143b6d1604141f14143e141604141f7a143e141604141f14143e141604141f14143e143210001017342c221414161c1704036c2d1c1410321400100536001011073d263214061405122c1c17043132143422613d171704001317040013170400113d04051732611a113d04121317040013141c13142d040016070417131704101414261604161417043610143422611d113d04191314611a113214191c1413176522171211043e181022263217063e110416100204306d34111400190404143d14041f14143e141604141f14143e141604141f141c146c177a22132d1132321414041c1117173a13173d3a191c14003a143e1432162f0c161414220f162c14131e141f141c14266714321418121426321706321604161419271136111414220d162c14131e141f141c142662140414181332263217063216041614191a321414111700191c14003a143e1432162f0c1614142200162c14131e141f141c1420261b221814111718191c1431171616141d04043d19122c101d1c140f17161d1c3d173e1d6114161017162c14041c04323214001032360610051c1400251465143c13391713171014110416141c040413271c32323213243117116613173a111f24190414141c146c2c1a3214141c170f1611640c3d163c14020432061c1c070c3216326514162226321616101e1c140f17161d13131c14002514651704363265111c141317171d0f17622d25241c046017143c1018111418191c17143d140614131e041b141c3d0f04070407141465143214001017342c1c171c17343b0404312d0401172c1a3214141c170f1617640c3d1616140204321a1c1c070c3216146514162226321406101e1c140f17161d131311041c32172c14041c1425271c32131714023a321406141d0617263d17222216162c14131e041b141c3d0f16141318100416141304321432133b653c133f3611041010171c042d17622d3a1814042632173e1214101d1010041010171c042d176d173a18140421176d072517622d3a32173e101736061c181222263d113c14021c1714043f22103d16322632106510141c1431171410323711046132173e1d7a7a66212d1c140c32102d263d173c14131e041b141c3d0f1614131c3217661f13171014321016101e0404143d17222218162c141d1c170f041c171432163821241c3210321406141d0617263d17222219162c14131e141f141c32131732176d321407263c163c1c1f040417177a7a7a7a7a223632172c141d0404171c122c1c12101b22171c32103216022632173c1417122c1c171c1425241c043e3217651014013207141c14323d173c14171c04361816222632161610121c14103d172c141f190414141104651816322632172207141c14003a143e141814322117141610171c1417171c16141b04041432173d142011141c191c14031714110c16111614131c1400251465147e143232321706141304043d241c321067143e1717332c101d1c1410191c04391714161017143e14110416141f1e141c141c323d131104103217001010343c141c101b61161c3225171410323c1616141e1c14363214022119363e00100416141f040407241c043e32172c14171c1425241c32131911041018143226191c14321b110421170506101f1c1413171410321b162c141404061432110614171c140c04193c1417070407140404143d14042217166510141c043632170632160416101f146514321606321614161c1c070465171c14031717123a3216171130143c1c1c1c1431241c3236321400261b140614141c14031717123a32161714241c14391717123a3d160614171c14311911041419162c141404061432110614171c140f1732181414362d14201c146532140614171c14641c122c1017111432191c171b171416141d0404171c1222651c0401653d160614141c140027146514321106141d1c140c321400102c100765141c3213171410611b1722221f162c14131c1400251465146d141131171406101d1c17043d163c141c1c040c181714263217061417040413241c320c67143e2232140665141406101f1c140c3d14042214162214191c14141b172c1406070465160404103d14041b141c1404321400101631123a3a1432143c141407141c1418321400101131123a3214161416101b3e160404103d162c1417040413241c321317163e361b1404221f16222117140610191c141317163e6d1b17221b141c1404321400101631123a3a1432141b14061417040413241c321317163e361b14142618172221171d16101f111404191c143e321638263c112c141d1c143632116532371c323d177a7a7a7a7a2236321112211e11041f170506101f1c14323211123a3c172c141b1c14363211003a371c32103213003a1b142c1414040614321406141d1c140c04193c14141c146132111714241c141717181614171c143632173e12143214072f10166132141010221c14323211651014101661321416141e1c146d041e3c1414040614321406141d1c140f1732181414362d142011141019166510141c042618142221170506101f16651d003204103216010c1614142117332c1019162c141304311414343c04141c14261933221c173322137e1c14166c1c321b161b1c3c3b04336d0536061c1604336d050722076d1c141f1317101432140614140714141414141414141414140c04077a040414131c14171014141414141414146d101a3c1c14100466041c3d141614171e141c1404001724162f0c161416141411222632140614160433611d342f0c161416141104237a7a7a7a7a7a7a7a7e1d321d7e11043a1614321c1614321c11220561067a1706141416222606141614140704071404041405162c14141c141004673210191f04143214101014072c1414043632210766103214101d321900312d1c141717321c3617076610321410120c3d22131d3604233a1432101133221f141c1410211414141b1410121e1d3d113714061c17171014321406651414146517162c141404042d26040c1420343d113714061c17171014321406651414146517166512071d3d113714061c171710143214066514141465171665123b1d3c101716221f141465143214061416343c651414161c100706141004066c12363e00100410100d1c040432143e1017343c1c160407311d11041018143226191c141c3d17142117252d613d14221f14143e141604141f14143e14321406651414161c16040660121104143214061410343c6514141465141c14103d142c14160436181407226517162c14111904141707046517162c14110434363010190c17070465141c141b176d0765042132101b14042632141000100410123e190610161c14182114141317193e0c1b1432211714146d190404143d14001d6d3d32103a1432143c1432071414651432142c141604043d2410190c17070465161c141c3a143c143c14326514162221171f17140f1c321c1004161416043404211e041c141b221c141c141f1716123a3c140614111c140404043d3a3214061410343e10141a3214141c141f177a1c0c171e141c141b321c3204332c12140614161b321c141c141c3d140426321400123e190614141c14132c122c1016162c1416162c6d141c14100462141c3c1406141404336d1736061c1436001017311614141c14132f343c1c140407032c040413651c141717130d1b2704073d6504073d641661653014326c7a170d613f141012041402263c171604141c14071714101204140717121c321b17332f0c16011614111c141467143c22321465102d1b321c321c14183214110c16031614171c040432143c101a1c22171726141f271c320c3e141614111e141f1812321f14143e141604141f141c14183a1432041b14161411101a3e17123c14111e141c1011041418140426321716651414161c1407046516143e141104141f14143e143214101d7a140d1004361407141465143217161c14040413241c0404321416651414071722110414191c141b161417170114651416332c14111e141c101c321032142c321634103610041614111c14131714023a67143204321406651414142217162c141110171c19101d141b14142632142c3216171610101c1418251466171614133e10041614111c1407171402263c17110c1617142632171614111e141c2634632232142c3e1130161400331d223d1314221716221f7a143e1416041614101904141404060312171014321716651414061c1404062512110410321410103907226516162c14110432140400221f141c140421141417171f000c1004141b14143b6d32142c321617161c141c14183a14383d1d17101432142c1414040413241b321c101c1414211414141814042632142d1406162c1c14101d141b1414263217101017343c1010111410191c14183a1432043c141614111e141f3a072207141c14183214101017343f0c1617161414190414141c04141814042632142d14061c0414191c1404211414143214103610041614111e041b220432170f17101432142c14111e141c10040413271b321c10162c14140404171a11042517141610181c1464131104321816322632142c3216171614111e141c2634632232142c3e1130161400331d223d131614101c04141814222117141610161c14071714383a181404261604161414101003131104143217166514143e103e072265141c140421141413171812263d14161814040717271c321032113f0c16111614171c1461321410101631101010346510141c14171714002637343c1c14040407241b321c1c1c14143a1432143d143c141004041b24111410191c14613a1432143d143c141a040407241c046132171010173432263d141010141c042d17141610101c141421141414040704071414651432141665141416141004042526343e1022342c10101c1414211414103d14061414040413241c0414321407171311041419162c1414190414141c3203176204171d171d6d32141403171416101f1c141f171410363d11161414190414171c0403171416101e1c14171714023a191c32131714023a3d141010111c04361604141f14143e141604141f14143e143217001d171412261a1a32041f17143e101714041f16043e1f14223e1f16043e1f1604041f16043e1f17143e1f17143e1f16043e1f17143e10171404101714141017043e171604041017143e1f17141c1016043e1016041c1f162c141704041f241c1414321406651414001d3a14100c3c1407263d1410137e040d6d321407263d17222210162c141704041f241c1414321406651414001d2614100c3c1407263d14101011040410321407263d17222211166510171c04361814322117143c101d111410190404143d172c14171c04141904041032172c1414190414141c3213171966131714650c3c1707263d11221f141c1413171c1d1c3214061413122c1c190431261407326514143e143216651d20141036100416141904301814072265171c140717140614100404131e122c101011141c191c141c32112c1400101a181611141c191c141b161417170114651416332c14111e141c101c321032142c321634103610041614111c14131714023a67143204321406651414142217162c141110171c19101d141b14142632142c3216171610171c1418251466171614133e10041614111c1413171402263c14010c1617142632140614111e141c2634632232142c3e1130161400331d223d13142632142c141027161c0610131816041614111e141c101c321032142c321634103610041614111c14131714023a671432041814042632142d14060404171c110404191c1418251466171614133e10041614111c14183a1432071714022667143204190407143d14041f14143e141604141f14143e141604141f14143e141604141f14143e141604161419043132143422613d17322619143226191622261914042616171410171404261316222619162226111732261914322610162226121414263216651d171412263c14001012066510171c141365043310143600032c11043a191c140f1716123a32142c14050404140460321c32142c3e1130101c141c14183a14320432142c3216191220263303101b112c14160704651f1c140c25142d143d103c14121e04181c1c0718321122611117040c1d1604263216651d23140d13176122171217101432173e1032343e137a040c101610100c341c140f1714113a141c161419043318140722651c1c140f1714113a14040614120404146314166132173e10141b321024111432191c140f171c123a321416651414061c1704316114073c1c13040c101610100c341c140f1714113a141c16141404041f241c14171714023a321707263d16141f7a143e14160416141404041f171406141312673a211414143c14101021072207141c141717660417121104103214001d301410363d172c141c111418191c140c3214001d301410363c172f3a1401322217162c14121c1413176632171d1c323663141d61191c143d1714023a191c04141104141f141c1414211414143c14001021072207141c14131311046d3214001d311410361b1404221e166510211c0410321416651414061c130706141304316514073b1c1b14161414040413241c043216041614131c141717140226211414143c14106510041614131c0410181404261104161414040413241c321432173e103234383a32172f3a14141614141c1432211414143c14003e1b141426191c14323d1414263214061412343c141d1a32143d1c14171714023a3d14142214162214190404323d140422161665101e1c041018140421171416101716651c141c071f17141610130404143d161010141c04363f14101004342c1c041f141416041614170404131d1c1413171f10642d0704071404310617140010361b321c141114101914651416332c14111e141c101c320432142c321634103610041614111c14071714023a67143204321716651414142217162c141110171c191c3204043614651416221f14143e143217101027342261111414101414042117336510141c14071719000c371c043632142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414143d17142217162c141110171c3d1714261604141f14143e14160416141704026c2d1c1407171810312c07040714143b6d32142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414141814042632142d1406162c1c1004036c2d04313214073207140407143d14041f7a1c14183a1432043c171614111e141f3a072207141c14183217101017343f0c161716141019041414111410191c1418041032263c1710122d1e023a211414171710103e1b142c14111e041b220432170f17101432142c14111e141c10040413271b321c10162c14110432140400222212162c1417110413171616101711141c191c141317163c1417122c1c171c1407172606392419041414062265141c1418251466171614133e10041614111c14183a1432071714022667143204191c141b161417170104310617140010361b321c14111404191c141317163e361b14161410040117271c32031716006510041010141c04101104161417040425261c1403241c321317383705382f14131f143b6d32142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414141814042632142d1406162c1c10040117271c3203171600642d110414191c1412211c071c19143e14321700101f062265141c171f16163b613d102c14132706100314651416332c14111e141c101c321032142c321634103610041614111c14131714023a67143204321406651414142217162c141110171c191c3207171812263c1700101f062c14011c17036d1c3d1f16382705382f1f382f6026220f023b1c1b140614060432257e1c3d18321734653c13001f7a3d03321b14142117163c101711141c1904043a3d140614130404391b11041018143226321406141704041327360407141c14071726063924190414141c32323214003e1004141b141c1410321702223216123a3c17001d1d617a106106041f7a1c14183a1432043c171614111e141f3a072207141c14183217101017343f0c161716141019041414111410191c1418041032263c1710122d1e023a211414143c16161417060d101b141426321734653d103226321406141c010465171c1412211c071811041614061c171b7e1c3d0032161e64167a2212111c3d0f163361030211041c3213061402331610061c141016332c14111e141c101c320432142c321634103610041614111c14071714023a67143204321716651414142217162c141110171c191c32071726063924190414141c323d1b11041c321016140104321432103e1c141016263210163e111613141b14142618140426321400100d37101013313e101d3600122d1e673a261414143d1006141004371025343c651414161c131c14131f171014110416141c1c1713651c14032c1c323d17321c16142214171f143b6d32142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414141814042632142d1406162c1c1004371025343c651414161c131c14131f36046514162c141c27061006162c14171c14031b11041716332c140727061c013c161c031c171f0011041411041614132700197a140c1832103c14013d3a043d103c1417143b6d32142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414141814042632142d1406162c1c1004371025343c651414161c13010465171c171c321303321b141426191c1410321710122d1e023a211414171b1104141104161417143b6d32142c321617161c101c14183a14383d1d17101432142c1410040413241b321c101c1404211414141814042632142d14061665122d1e023a2114141719110414190431061714001d1014110c16141010141c043116332c1006162c14111e041b220432170f17101432142c14111e141c10040413271b321c10166510141c171f163364103217651017363d261004101d00320413172d14146714321716333c1006111410191c171c321763223c106100321066653d1032263210101004343c04141c14182514663d16141614111e141c101c14183a143c2d27271d640711043a32143e003216651d221410312c070407141c141c32103f611614142213162c14161c146d32103d113f14322210162c14161c171832103d113e143f321614142211162c14161c171832103d113114013e1114142216162c14161c17186614221432143c14061b22181c111410191c140717140225171d2c141904301814073c1c13122c101d143e1416041614050404131d1c323d1317101432143c10171c1422100416141d04041f6510173e3c1400001b17322632173e1c141b221a3a143e10141c040411041614171c043a1104141f7a1c14183a1432043c140614111e141f3a072207141c14183214001017343f0c161716141719041414111410191c1418041032263c14061412343c65141c00001b142c14121c14106314172632173e1036343c14120407212404041032173e123a14383a042122103c1400137e073265140404143d16061417040d6c1211043e32163207141c143a321710101631123a32173c32161d110c1614161410040413241c0404191c1422321716141d073b1313110414191c143a321765101731101017363c1c1d04041f65101f61171c32101b1414261817222632111407140404143d1716141d10173e3c1400001b17041b141c14103d16041b14143b6d32142c321617161c171c14183a14383d1d17101432142c1417040413241b321c101c1410211414141814042632142d1406162c1c171c140f241904143d070407140404143d16322213162c14101c1439241c1410631414143217101017343c1c101c14311d110414190404143d163c141f1c143117140d0717140d1c3c172d163014061c1711041419111436190404143d171614161710141104141f7a1c14183a1432043c140614111e141f3a072207141c14183214001017343f0c161716141719041414111410191c1418041032263c14061412343c65141c0407141c141c3217123a3214013a1414161410040413241c040418140403171416101e1c141c3d16042210162214191414261104141f7a1c14183a1432043c140614111e141f3a072207141c14183214001017343f0c161716141719041414111410191c1418041032263217383a211416101b141421171416101f0404143d16322217166510141c043e32173e123a14383a10332c14121e141e3a143203171414261b17042632142c3216171610171c1418251466171614133e10041614111c1413171402263c14010c1617142632142c3e11301614171c14183a143c2d27271d223c1064143216651d3f14100c32103c1401003b132c11040c1604161418070465141c143d1317101432143c141e1b321c14111410191c141c3216010c1614142632170465141c143a100416141e1c140717143b072404041467143214191c143913171017171416101f111410191c1404321602251714113a1414142632142c3216171614111e141c2634632232142c3e1130161400331d223d1316141b1c141f17141031241c0465191c14171714023a3d17161414190414171c32141b14042213162221171416101f0404143d16322632110465171665137a1c0465191c142d1311041432160714041c143a0410142632173e122214383a3e1416141b1c0414321465120414023a3e1416141416651814143e14321410001b14141f14143e141604141f141c14131714383a1a1732141714321c10142204191c141432143f221414146d191c141432143f651714146d191c141432143f611614146d191c141432143f3611141426192114181614666d17333c1814040617271c32183e14141f141c1413167a7a7a7a7a7a7a7a7a7a7a7a141c183c17001e14321c1614321c111422116c6c1c140316321c1614321c161422197a14141d64001710143214001c0f3c1e363d171614140016141704237a7a7a227e111c320316321c16141613043217001e14321c141c000721131710143217101217321c161417123a3d14322216162c1410040c1614321c1410343c10161c14143217001e14321c141c3d0c071614131c1b140614161c140717140d13241c041c18140426321413143217001e14321c1614321c11147a7a6d1403161413043a1614321c16143218117a7a2217071265001004161417043d381c25651d7a7a7a6d1736001214321c117e17661c3d1432221716651214321c116d172c10161c1403167a7a7a7a7a7a7a7a23627a1414130c1b141010141c041c3217001c223c1e363c171012077a32171f1104143214651004343c14141c1413167a7a7a7a7a7a7a7a05611b16321c1614321c1614221416101c320032171012177a32172710166d32142c14141c14031732336d141c140727101d2232142c3e1116161c14043d381c252c10161c14182514221432142c3e11101614111e04180c3d101c14002467101c3203041c1417167a7a7a7a1161183c14101e14321c141c03161414043a161432143d071265001004161416040413241c041c181404263217061414043a161432143c133d101c14003265141c141f17140d103214383a3d1432263214651032343c04141c141c3214001c323c1e3117321c1614321d3d2d362761193204041614666d1733321f14143e141604141f7a1c14143a1432043c143c14141e141f3a072207141c141432143e1017343f0c161716141619041414111410191c1414041032263c1465102734226111140414171414263214651022342c1017111410191c141b1719000c3d17141f141c141313143b6d321416321617161c161c14143a14383d1d1710143214161416040413241b321c101c141c21141414181404263214171406162c1c16040117271c321317163e392c1104143214163e1136101c14002265141c1414321416321617101017342f0c1617142632143c101116221f141c141317163e3e10041010141c041c11041614111c141f1716382d241c041016332c14141e141c101c321c321416321634103610041614141c141f1714023a6714320432143c651414142217162c141410171c191c04183214001022342c10161c141f172f1f382f6032171c1c141b171812263c1400101f010d101b141426321424223d17041f141c141317163e6d1b14141b141c141a211c140316163b606d043f176c1c040016332c14141e141c101c3210321416321634103610041614141c14131714023a67143204321406651414142217162c141410171c191c321b171812263c1400101f062265171c140316273a7e13646d33166363181700226514162226321400101e0604071414651416332c14141e141c101c3210321416321634103610041614141c14131714023a67143204321406651414142217162c141410171c19040117270404251f11041419162c14141e041b220432170f17101432141614141e141c10040413271b321c1016651c141c14036c1c1400321717263d1704221716651e14321c1614321c1614321c177a1c04003214163e1136101c14002265141c1414321416321617101017342f0c1617101e14321c1614321c1614321c177a1122263217042032183218043322317e140d223f14101022342c1c181f1414160416141604041f1b17101432143e101631161c16040f2225343c3216141610051c141f173e1639241e141c141c04611104141f7a1c14103a1432043c143c14171e141f3a072207141c141032143e1017343f0c161716141619041414111410191c1410041032263c143d1722110414190404103d17321f14143e1432143e1027342261111414101414042117336510171c141f1719000c371c040c321406321617161c161c14103a14383d1d1710143214061416040413241b321c101c141c211414143d14322217162c141710171c3d1432261604141f14146514321700121e12383a2614141432143e1032363e0c1004141f141c140317173e261b141614171e141c101c321c321406321634103610041614171c141f1714023a6714320432143c651414161016111410191c141004103c1016162c1413040413241c3203171610361b140422161622263217001011072207141c14031716100c1b14061411070614130404071f363265161c14031716100c1b1404263214063e1136161c000432170f17101432140614171e141c10040413271b321c10162c1411070614130404071f363265141c1707161413183d14321b141c141f1317101432140614171e141c10040413271b321c10162c1413040413271c3203171465261b141426190432143d13161814040717271c321c3e14141f7e1c14342c04221414321d7e0023161c1104337a7a7a7a6d1d36061c17040c16143214072704337a7a7a7a361d010407141c141221043d3812043a1614321c1614321c1114056622181404263214636416120c0f16321c1614321c161422057a7a141c043214001214321c116d17656d1b141725161416141707046514123c14161c141221043214321402363c14001d0714123a04192c14161e0418141c070432143c3e1116101e14321c1614321c1114141c03173c336d141c14132727001c223d3a04191c070032111614001b2218141c14223213061411040c1614321c1761363464161c1c34101b22181c1c141f1710123a3e141614181e04181c1c07043211163e111416100311141c19143e141604141f141c14001b141010141c0400110416141304363636343c2214141614160406172c07226517143e143217001017062265141c14103a1432043c143c14171e141f3a072207141c141032143e1017343f0c1617161416190414141c041c1814042632140714061c041c191c14031714023a3c17001011072265141622221716221f14143e1432170461101414101714321019143e1432143e102207226514143b6d321406321617161c131c14103a14383d1d1710143214061413040413241b321c101c1400211414141814042632140714061665133336001d0c14100c100416181404371411342c1c161f141416332c14171e141c101c3200321406321634103610041614171c14031714023a67143204321706651414142217162c141710171c191c04001604141f7a146514321700102207220714143e143217001020072265101c14103a1432043c170614171e141f3a073265141c14103217001017343f0c16171614131904141411141819170614171e141c101c3200321406321634103610336510171c043a3214061413040413241b321c101c140021141414130404103d163c141710171c191c040018140426191c1410041032263d170010171c04043217001022072265141465143213651c173306100d143b6d321406321617161c131c14103a14383d1d1710143214061413040413241b321c101c140021141414181404263214071406162c1c1304011712110414190404103d16322116321c1614321c161422056d7a1c07001604141b14143e143217001032363c1019143e141604161413040117271c323d17163e3e1b141614130406601d1c1421176104172704040f05360465101c140317193e361b1416141011041f17140610101c17043d13222217162c141904313614342c141c1c1403171a003a371c040016041614000432310d171014321706141f04040765343c101f111410191c1707161d13361004161416040117241c14000404061416040617241c173e3213001c14043a1614321c16143218116c052d140c1c141f1710123a32143c3e111c161c0f1c141c25142c323c130614161e0418221c141c25142f3204121614161c170c32121614161e0418041c141c25142d3204051614161e04181c1c073232143c3e1114161002111410191c1403131c14312c11041432143e1d0414123a321206140304321716321c1614321c161432056d7a10173232143e1314342c14021c173232143c3e11001614161e041b0c10112232143c3e110616100c0404103d172c14161e041b141c070c191c170716140d223d131010171c043a191c14103a1432043c170614171e141f3a0722077a1c14103217001017343f0c1617161413190414141706141710171c191c040018140426190406613d17042616333c141e07040714143e1416041614171e041b220432170f17101432140614171e141c101c32031714022667143204321465001b140614171c14031714382667143204321710001b143c14171c14031714672667143204181432263214226517162c14170432140400222632143e1d3214123a321727311014141414141414141414163c10136532143c3e110c1610021c141c25146732181404263213101c1d032207141c17043d13041b141c143917171d043d160614030432136d1c3d031616131c1b14142619143e141604141f141c1403170d661317651417121710143214061411101a00161c3d0316321c1614321c1614321c161433641c1b142c14111710143214063e1136101c1402046516111418190432143d133c14170432140400651c14111404190432143d130614171e041b220432170111041c191c1410321406321617101017342f0c161714211614161003162c141f070407141c141f176d1417241c1434660714141414141414141414143a3d17311c141c251466143d133c14161e041b61111410191c1736321316141012651c163d3c140333101c3233061c000404143211672021030407140431061714001d1014110c161416141604341417343c141210101032143e120414023a32143c3e113a141032143c3e11241413163365197a7a7a7a7a7a7a7e7a7a7a6d1410173232143e121414023a32143c3e113e141032143c3e11381413163365197a7a7a7a7a7a7a7e7a7a7a6d1410173232143c3e113214103d133c14161e041a1c14042217162c140504301c1734632232131336100416141f0404171a171014110416141604341411343c14021c173d1614101e14321c1614321c11147a626c7a10112232133c140c043a1614321c1614321c117a052d1132140610171c141f173e141b241c170c32121614021c141c25146314111c1413171410323c142d2632121614161e041a3a142c1411122d146d1c170716140d653d131614161e041a0c142c100c1c141c25146014111c070c3216001017311614170404171a363c1c1f0404171a1104141916221f7e1c17043211632d6c043c176d1c3d023b1c321317141614170404171e122c141a1c17003211246401122c1c1704331014013207141c141f1732141b241c140c04040614161e041a1c142c100d1c141c25146114111c07391614142217162c141604301416343e120414061417342d1133140717311c141f1765141f241c140c040406141604331416343c14161e040532143c14161e04053a143c14161e040504143c1c0f1c141c25146c32161c3d360463221c32143c3e117e141c3d123c14161e0405221432263d1306141604361416343c141f1c143917140d13131c170c3212101c140432140430651014072c14170406171c360d103c14023a043e141032143e122214383a321206140d1c141c25146d14161c141c25146d321610173232143e120414383a32143c3e1126141c32143c3e1120141c321306143410112232143e123214382516141614021c1410370432143212161417122c140f1c17360412161416040c1416343c14161e041a32143c14161e041a3a143c14161e041a04143c14161e041a0c143d146d1c141f176d1413241c141c25146114161c141c25146132161c170032123d1130140614161e04052214061c031c141c25147a32171c3d311614101c14101d211317101717641c1017043604141b321c14162c141604301417343c14031c173632131e360463321c32143c3e116114103d133c14161e04053a1404221716651d00320413172d14146714321432143e1d0414023a32173d17171c141f17221413241c141c25146c14171c141c25146c321704321716321c1614321c1614221414041216141604371417343c14161e040514140614161e04051c14001c14043a1614321c16143218141410173232143c3e112614103d133c14161e041a611404263d131614181c170c66142d1432111614001b22180c1c141f1726141b241f14143211163e11121610001c142225142d143d13042212162c14171e041b220432170111041432140614171e141c10040413271b321c10162c14171c040032173c101f1c14183d163e10141c040f17141610111c2217173e180c14342c1c101f1417171416141a1c146c241c3d1f271c07181604141f7a14651432143e102207220714143e1432143e1020072265101c14003a1432043c140614131e141f3a073265141c14003214001017343f0c16171614171904141411141819170614131e141c101c3210321706321634103610336510171c040c3217061417040413241b321c101c141021141414130404103d173c141310171c191c041c18140426191c1400041032263d143e10171c043632143e1022072265141465143213101c1733061000143b6d321706321617161c171c14003a14383d1d1710143217061417040413241b321c101c141021141414181404263217071406162c1c1604011712110414190404103d17322632171010141b321e0417321f7e143e141604141f14143e141604161416040660121c3213131c141f171812263c1610101f066613131710141104141f141c141317140d10100416141d070407141c17003d131010171c04361814322632173e003d14042210162c14030432136d1c07003214651d6d116522100416141b1c17023b1c141f1718100c371c0465321710120417383a321465101631123a3c14061419171d6d32143c14171e141c1404042526343e1022342200321614266714321717140610120404143216651017343c1c171c14131716000c3c1407263d162c14171c141b241c04181814042632143e1022073265141c1404321716321632100f17140d1c67143a171204312c051406101b16221f7a1c14003a1432043c140614131e141f3a072207141c14003214001017343f0c161716141719041414111410191c1400041032263c143e1020073c1c171c141f171812263c1610101e060d1c1b141426191c1704321306141d122c10001c140f131c141f170d6613172d04171d363e001004141f141c140032163d1139143c1c02043a1614321c1614321c1614321d6c0611041432163e001b17001c141c070c3217063e1136101c14002265141c1400321706321617101017342f0c1617142632173e001b142c14001c170f6d1c07041817042632173e003d140614160404171c110410191c140025146617161413181b141614131c14003a1432071714022667143204191c14131311041c1904310617140010361b321c1416651c141c07003217001c1410131b1614142217162c14101e141e04173c1c17070407141c1404321637311014141414141414141414163c1013653217163e11141610031c140425142232181404263213161403003c140304323903363c141a04076018040414321406141a313d212c070407141c14071718123a32160717171c1407171c123a321407160414061410040717241c140425142f143217163e111a1614101e0418321c140425142c3204121614101e0418041c07003217163e1112142217162c1405040d602127061400002207140431061714001d1014110c161416141004301414343c141f1010103217101d0414123a3217163e110c1614101e041b3a043b6c167a7a7a7a7a7a7a7a237a7a7a1417140c1c1407170412263217163e11001614101e041b0c043b6c167a7a7a7a7a7a7a7a237a7a7a1417140c1c1404251465143d130614101e041b1c111410191c146c176132132727161400030407140431061714001d1014110c1614161410040f1417343c141f101010321710121414023a3217163e113e14103217163e113814131614101e14321c1614321c11141417140c1c1407176d1417241c140425146114171c1404251461321704321716321c1614321c161422141404121614101e041b221c07003217163e1130142217162c1419171014321665101c011407141c1407173e140f241c141b17143b07241c32103a1432143d17041b141c1403171638223d17061419040413241c3221171600361b14142632140614131b321c14162c1411040413241c041819143e143211061400252c1c1d063c141b0404391a363c141d0407131e363265141c14311716000c100416141004361417343c141f101010321710122214023a32171632163e140c043e1410321710123214023a3217163e112214103217163e112c14103217163e112614103217163e1120141004121614101e041a32140610031c1404251463321711141c191c1431171610221004161410040f1416343c141f101010321710121414383a32171632163e140c043e14103217101d2214023a3217163e113e141c3217163e1138141c3217163e1132141c3217163e113c141c041216141004301417343e10141c14312704041f65040f1425343c3216141717171c140717651413241c140425147a14171c140425147a32171c140425147e14171c140425147e3217101a3e161c140425146c14171c07003217163e116714101814322632113c141d040d6426343e1037343c1c170407601804041432171632163e140c3c143c1417313d261b1416141004301416343c141f1010103217101d0414383a32143d16041406141004361416343c14101e040532143c14101e04053a143c14101e040504143c14101e04050c143d140c1c14071726141f241c143117143b07172c163d241e141c14101010321710123214383a3217163e1122141c3217163e112c141c3217163e1126141c3217163e1120141c04121614101e041a32143c10031c1404251463321611141019146514321710120417383a32142c1c16040413271c321b17143b07241e141c1407046514166510141c0426160416141d040439231c3213131710171714161017111410191c1410321400101f343c141d0404171a122c1011143e1432143e0010041010141c0413171416101611141019040c1600636c22110404143214672117143b07173e1639241e141c141c320f211c0425171416101c0404143d170010141c04101104161410040f1412343c141304041f65343c1c1b1c1432321106321614161c1b1c140f201c3d17241c3232671432143214001017343e1d7a116610321406141c070614171c14031236061c1c122c10171c14311716022632172c141c122c101d1c143a32110614121c1717263467223d16161413040413241c320032143e361b141426321610001b14161410040f1412343c141604041f65343c141c1b321c141c141f1714023a3d14322632172c14113465101f343c101d16221b14143e14321765103e013207141c1431171f10361b14061410040f1412343c141704041f65343c321614101d0763333e1001226517162c141604336d05343c10120404143d16141b141c143c211c1407173e140f241c140f177a226c2d1c321b17143b07241c320c64143217161d0c0f6d1c3d0716320f012766141b00171d6c171414003213161400043a1600636c221132161c03043a1600636c2211333b653d131614032522263d161614121c17063b1c320c6714321432143c14161c141c32142c1412122c14171c141b12122c14111c141f17140221177a226c2d072d263d143c1411040413271c040c321406141107226514162c1419040764271c0426321610001b140614161c141317140221177a226c2d1c321312171014321710120417383a3c142c141604336105343e1d7a11661317143b07241c320c32173c3216141614160404132704336d0536061c1604041f651c141b241e141c14363f0c16141426321765101f343c101d1c1407173e140f241c141317143b07241c1432671432141814042619143e1411041614160404132404336d05360610111c1407173e140f241c141f17140221177a226c2d04041f65343c101c14651432140610120404143d17041f14143e141104141f141c140032173825177a226c2d1c321032143e0c1b14161410040f1412343c141704041f65343c321614161c171c140317143b071761163d241e141c141c32251f110414321406141e062265161c14031714023a3c1700101007226517162226321765103e072265140432143d131010141c0403161416100314651432143c14131c140f2404336d0536061c17073207141c141f17140225177a226c2d1c321f17143b04321712251714110c163f140c191c14071732140f241c17043213001c14043a1614321c11393827301a221414041216141004331413343c1410040f1412343c141704041f65343c3216141716041406141004301413343c14101e041a14173c14101e041a1c173c14101e040522170614101e0405611707146d1c140425147e32131c07003217163e116114003d13161413040413241c3203171710361b1414263217101d0417023a32160717171c140717221403241c170432130614101e040504170614101e04050c1707140c1c140425146d32131c070316141610001c140425146d14131c070c3216651d2d14123a3c172c1405342c1c110404143214651014063d2632113c14111c14601c1c3200371c3213176d1417181104101817142117160010171c14311719003a371c323a3216673a3d162c14121c141c3c14000c1b14001214391a2336142c141e313c101b040d6d32163b07173366183d101010141c040032173c1017146514321710120417383a32173e101631123a3c100614131c17103a1432143c1006141e31383a3c17010c16141614170404132404336d05360614171c1403131c141032173e0f2d1c3200371c0410321765101f342c141d1c1400371c043632101614073606141b371610131c140f17140225177a226c2d1c320c32143e361b141426321700001b140614171c141b1d171014321710120417383a32143e101631123a3217010c16141614111c041c18142226321616141c1e141c140404132c1b321c141c14183d14042217162226191c1407173e140324043010171c141327101b6d17101365321710122217023a3217163e113e14003217163e1138140032133c1403101a26161c140425146232131c073e3217163e112614003d12161410040c1413343e1d2d14161417342d1133140717311c1407173a1403241c170c32130614101e041a14170614101e041a1c1707113b143c141004331410343c14021c17003217163e113a14003c131614101e041a3a17061c0d101b61171c140717611407241c173232120614101e040522171614101e0405611717146d1c140425147e32101c07003217163e116114043d13322616041614120404072404336d0536061c1e1c141f121104141604161410040f1412343c141e04041f65343c321614161c1e04337a1f21306117010407141c1425131c140f17170225177a226c2d1c141f12360465171c1407176d141b241c1438660714141414141414141b147a3a3d17311c14071761141b241c170432132c14101e040522142c14101e040561142d146d1c140425147e32111c07363217163e116114183d13142217162c141e040c111e21306117072207141c140717651407241c1438660714141414141414141a327a3a3d17311c140717221407241c170432132c14101e040504171614101e04050c1717146d1c140425146d32101c07363217163e112214043d13142217162c141f212c10371c141c32173e1013343e1d7a11661312171014321710120417123a3212650414141414141414113205631c040d061410040c1410343c14001c17363217163e113e14043217163e1138140404051614101e041a1c1716100d1c140425146114101c070418140426321710122217123a3212650414141414141414113a05631c040d06141004341410343c14001c17363217163e112614043217163e1120140404051614101e041a3a1716100d1c140425146314101c0704191c1413176222171e1104143217101d0414673a321316140d04321716321c1614321c161422056d7a101a36161c140425146c14111c140425146c321104321716141717621104143217101d1414673a321316140d04321716321c1614321c161422056d7a1011223217163e112c14183d132c14101e040514142c1000162c141004371411343c14021c1700321316140d101122321710123214673a3217163e112614183217163e11201418321216140f101b61171c140425146332111c07003217163e113a14183d13321f14040d61321038263217651d7a7a7a7a7a1766131a110414321716140304237a7a7a7a7a7a7a7a7a7a7a2216111b221a0c142c14101c170c66146014111c14071732141b241c170c3213001c14043a1614321c1614321c117a052d140c1c140425146014111c3d323217163e113814183c12001e14321c1614321c161420181414101a14171c041c32130614101e041a1c142c14160404171c1c320c371c070032133c14101e041a14142c1412122c10021c171832162c14160404171a343c1c1904306114343e6110041614131c14003214061411076610321216140f043a1614321c1614321c16612214140461141317141032370404131d110410321316140d04321716141717620704651716651d00320413172d141467143214191c1407176d141f241c170c3213061419101a3a161c140425147a14161c07003217163e117e141c191c070432111614031b2218321c142232131136111e161410040f111214123a3e141614181e04183a1c07043211163e111c161003111404191c1410251466171614133e10041614171c14103a14320717140226671432041911141019143e1416332c14171e141c101c321c321406321634103610041614171c141f1714023a6714320432143c651414142217162c141710171c1904063d12171017171406101311141019043a1614321c1614321a117a7a22143d131614171e041b220432170111041832140614171e141c10040413271b321c101114181914651416332c14171e141c101c321c321406321634103610041614171c141f1714023a6714320432143c651414142217162c141710171c191c321f1718122117163e3e32143e1d1714122117123e392c1c141f1766221712363e0032143e1d3d14122117123e6c2d070407141c14031714023a3d1704221716222116321c1614321c161461057a7a141610001c141f171e000c1b143c14171e041b221c3d311614133e10041614171c14103a143207171402266714320419143e1432142207141c14001b140422101622221716221b141c1403171402263d1706140d0432170f17101432140614171e141c10040413271b321c10162c14131104141911141c1904310617140010361b321c141c1413161417170116651c141c0704191c14143213013611141614141c1704661422323211101022343c0414166d3a121432077a1466613f141012141402263c17060414143e141604141f141c14183217101c14043214043065001b14141f7a1c1407167a7a7a7a7a7a7a7a0561183d16041f7a1c140716181c3c3b04337a7a140d103c173e1d7a7a22131d17101717171614121104103404041f17142c14111c1438100017261814322632142c141f3d1314191665001b14161416043f161c252c1c1c04337a7a140d103c173e1d7a7a22131d110410191c14031710123a32140614161c1418321717140c1c14003217063e1110161c171c140025142d323c143c14171c141c0463041c3217063e11161610161c1400251422143d17142217162c14171c141f167a7a7a7a7a7a7a7a0561183217246416181c34101c323a32142c141004237a7a7a7a7a7a7a2f7e111c140716181c3c3b04337a7a140d103c17636416181c34101c323e0430651014011407141c141032163c14111c143e04302207141c14103d17142216162c141304331414343c14171c141f1614101c141017323217063e11301610161c1400251466143d17142217162c1412171d61321404003217001d3214123a321406141e04321716321c1614321c1614221923141417140c1c1400251467323c163e1c223c1e31177e1417271c040c3217063e110c14263d1716141d070407141c140317651417241c14183216001c14043a1614321c16143218166222141404121614131e041b0c1c323916181c3c3b04333214342c101d1c1400251464143d142226321600197a7a7a7a7a7a7a6d7a32651e14321c1614321c1114141c043d1606141e04237a7a7a7a7a7a7a2f7e11043a1614321c1614321814143d16101e1c140c3217653a1004141b14143b6132163c141f330614111c140702270d653c16651c14020407141c1426321716141133061c103d13141004161413040617241c141032143e1c1404321404121614131e04183a1c041c3217063e111c161010111400191c142116140c0c3217101c7a3c1c041814042632163e1c173d3c1410043f7e1c3d14263d163c1410043212121c040432173e1017342c1c121c14311e110414191c14363d173226160416141e1c14396c1c1418321713342133061c1f0432170117101432163c101f111410191c143e321716141133061c103d101c14003265141c14031718123a3214061416043217161417140c1c140025142f323d143c14131e0418221c040418140426321600197a7a7a7a7a7a7a6d7a021407141465143217101c7a3c1610171c140f171402263d173c1410043212121c0404321406141f043212123d161c1f043a1614321c16143218141403146514162226321610121432141f2d1c043632173e1014011407141c140317041226321716141f04237a7a7a7a7a7a7a2f7e111c140f177e1417241c14312c27001c223d3a071614101e14321c1614321c1114222f6d04121614131e041b1c1c041c3217063e1104161010111410191c1439167a7a7a7a7a7a7a7a05611832173c141d36246416181c34101c041c191c14143217113611141614141c141c66142232321700121414023a3e1414262c1416141404336d1736061c141c14100462141c3c1400137a36661317140d0432141614173667263c1410132436001017311614140407032f3465100c3110100c3104202411221c133322607e1c22171765141f271c32003e1416141004237a7a7a7a7a7a7a2f7e111c042632143e197a7a7a7a7a7a7a6d7a322c101e1c141c32171c0316321c1614321c1614321c16143361183d11061410043f161c25651d7a7a22132d1c04321604141f141c141f16181c3c3b04337a7a140d103c1600101734651d6c7a22131b171014321610101734651d7e7a22131f110410191c1413041c141f167a7a7a7a7a7a7a7a7a7a7a7a141c183c11101e14321c1614321c11147a7a6d1403161418043a1614321c16143218117a7a2217071265001004161416043a1614321c1614321616101c04651814322632146414321710197a7a7a7a7a7a7a7a7a7a7a6d14322c1c16043a1614321c16143218117a7a2217001c141f16321c1614321c161422057a7a14131037070407141c140716321c1614321c16141c1c043d110614111c0410181432263214061418043a1614321c16143218117a7a2216133d131410041614111c141f16321c1614321c161422057a7a141c0210001407140432143d14001e14321c1614321c11327a7a6d141c0465181422263211001e14321c1614321c11147a7a6d143d16101b0432143d14042216162c14111c141f16321c1614321c161422057a7a141c0210001407140432143d14042216162c14171c142c1000140714043a1614321c1614321a117a7a221432110614161c141a100017263d11001c141c04101814322632143c14113d1314100416141b043a1614321c16143218117a7a2216101c0464161416101711141c191c142d167a7a7a7a7a7a7a7a056432100416141304361416343c14171c143a321406141e1c1425041c320c373006141204040f65270d2c3b1c320f1711672604196510041c140f271c040c3217063e112c141c3d163c14131e040514143c1017162c141604237a7a7a7a7a7a7a2f6c02110414321700122214383a32142c14191c141832162c141900161c1d12663e3217651012311e646d252c1c1d04046c2710166d32173c141d343e1004342c10121c140025146232161c04263217063e1126141c3d142226321700123214383a3216651e14321c1614321c1114141c043c103e1c053d3c1411043f121c3d161c1604321716321c161432191138231c19641416141633061c10043214041e2c1413040f1416343e1c141c1400251463321633001c141c140716141714271c14031732141f241c14002514603216043212121c14002514601416043f7e1c3d161c1004321432143e1c141016263217001d2214023a3217101c140432143217063e113c141f6c043214041e2c141304301417343c14131e04056114001c173d3c14131e04052214001c7a3c1c043c17101c141c141f16141714271c140317651413241c14071614101c141c140025147e321733001c141016263217001d1414023a3217063e1167141316140c0c3217063e116514131605613c101c32071614161416043214041e2c141304371417343c141004321716141614131e04051c140d6416141714271c1403173a1413241c141f16141614131e041a6114001c173d3c14131e041a2214001c7a3c1c0716140d653c143e1c14101626321700120414023a3214651c053d3e1c141c141f16141714271c1403176d1417241c141f1614101c141c140025146332171c140025146314171c32223217063e113814136d1c320432111306213316141004321302270d2d6c043214041e2c1413040c1417343e1c171c14076c04321432143e1c1410162632173c141f1c143d27343c1012143b6d3217063e1136161c01043212121c32613217063e113c14103c11651c173d3c14131e041a1414001c7a3c1c076d1c3d1716607e221433061c00043c161c1c321c32163e1e14321c1614321c1114141c043c13001c333c10197a7a7a7a7a1161183c171d613c10061417043212121c322d161c1c323c162c14041c1707022706141a1c171702270614131e041b61043212121c171b1605613c101c146c1605613d6d331d2d16140d653c10651c323c161c04333b223c113c1407031e6532113c141a1c171b167a7a7a7a7a227e111c3d183214001c7a3c161c021c142516140c341004237a7a7a7a6d05322c1c1e333b223c11393421331614101c17177e331614101c171b7e1c3d1032163c1404333b223c112c1407031e64161c1c0c3211651c323c1c076d1c146132113c1405043c161233161c1a0324646d1c146132113c140004237a7a7a7a6d05322c1c001c14257e1c3d1032143c1419333b223c112c1407031e6532112c14051c1718321110197e7a7a7a7a1161183c100d606d1c326c02270d2d6d1c326002270d2232113c14101c17077e1c3d363210161407333b223c171614161c14257e33161c1e1c1426321066606d1c3d17161c1c3232163c1404032465321716140d031e65321716141e0324646d33101c323d3a076d1c32043211390621331614101c146d32143c1407333c1c161c142632131d606d1c3221161c1c3232143c1419032464161c1c341033161c161c146c00270614161c1717161c1c0f6d1c141f00270d2d6d1c321c321713062133161c1004237a7a7a7a7a7a7a7a6d14021407141c170316140c0c32133a043d1306141304311414343c14161c140432142c14061016263214001c2d3d3c14131e041b0c330614131e041b041c32131614131e213306101e04321432140d653d162c14120433627a14123a181404263217001d3214123a3217101c7a3d3c14160432121c3d161c161c140716140c323c171614111c171c041e2c1417043f16121c14002514673d6c1c1400251467143c11101c140024646c1c04251614161418330610191c14103d1116141204337a7a14123a191c320f177a7a6d17013207141c146416321c1614321c161422057a7a141c043d11001c141c04101814042616333c14120404171e17101432163e1c173d3c1419043f7e1c3d16101e1c1407167a7a7a7a7a7a7a7a0561183217246416181c34101c04223216651c173d322217162c1412040c6c7a011407140432143d14042216162c1413040017271c141c32171010171c140f27101d223217001022343c14181c170032173e1d2214123a04192c1413040617241c141832103c14131e041b141c321c3217063e1106161c181016263217063e111a1614131e04183a043212121c140025142c143c14001c7a3c1c076c1c140025142f143c17161417043212121c321300270d653d163c14101c14136c162c10101c14031710123a32142c140604321b16141714271c140032142c140604320316141714271c142232143c14161c141832143e1c17322c1c171c14076d1c321b001c143a32140614110324646d1c32103210390c32140614060007202133161c160324646d1c320432143c14161c140716321c1614321c161422057a7a14130432142c14131e041804033c14171c140025142d323c17130c32140614100007212d270d223c1439342133161c101c141c3217101e14321c1614321c11147a7a6d14031614111c140025142217021c14103217063e1116161c11033c14171c141b071266122133161c171c141f00270d2232110c043d11042632141614171b2218141c141432110136111616141304311416343c041416626d161404137a1c221717651417271c32043e14141f141c141b17321c1417013207141c1407171c123a321406141604321716321c1614321c161432057a7a1417140c1c140425142c323d143c14101e0418321c04103214651d7a7a22131c1710143214651d7a7a2217271c0418181432263217101004343c14171c141f1614101e14321c1614321c16147a7a6d141017323214651d6c7a221c3214651d6c7a221f1c12651d7e7a2213271c04183217163e11121610161c140425142d143d14042217162c1411040c121433653a1b14161410040017271c141032143e1c14043a1614321c1614321c14601017323217163e11061610161c1404251465143d1406141104330614333e3a1004161411040c667a14123a3d14222217162c1410040117241c141032143e1c14043a1614321c1614321c14601017323214651d3a320d653214651d3a320d641e126512347a3213241c04183217163e111a1610161c140425142f143d14042632171614171c141f161416141104337a7a14122421043f161210173232141614101e04181c1b22181c1c14143217163e11141136111416141004311414343c0414162f00141c14143214013611141614141c141f167a7a7a7a7a7a7a7a0561183217101c223c1e3117321c141636061416043f161c25651d7a7a22132d36246416181c34101b22181c1661611714041b7a1c2217171012263d14041b1404302c36276c6d111c041c1604141b141c141f176637373d23140f1211041032143e12022f6d1e7e171036100416141604302c36276c6d11072265171c14103214110c16111614171c14186714323d1739267a16233207176637373d23140c32140632161117263d14322217162226321406321616161c140404136504041f2d1c141717140d1b241c04183214063216111614171e141c18040413273606101411141019162c14171e141c1c162c22141c14143a143214341c14143a143214321417161314023a341c14143a143214321417161f14023a341c14143a143214321417161314023a34162236141c141032141226191604143214161417101a6116162c2617140d6d321416321614161c171710143214071162143e137a10136013171014321416321614100005162c14140404146714321419040410191e221017332c14141e141c141c32101004161417101c1411040d6d040d3e0010041614141e141c1407046d191c14171714110c16141421171404261b141010141c1414321410137a10136137166165171404077a1c2217171012263c170604141c141032143d1123143c1c1004026c1b17101416041614100404251b171014321416141010113a3214161011111410191c1414321717160714001017343c1c1210136d3c142d171b1c141432173d17181c1414321717146016221b141c141032143e3610041614111c1410041b161411040413241c04183214001017343c101711141019162c14130404146314146d32142c141304046c241011043217001004343c041411222604132214196004041717666d3214163216171614141010183a1432171d1710143f14101004342c1c161f141432143c14141b321c141c141c321416321617161c111b321c101c141c3214651017343f0c161616141410101832143c321617161417101c22161c141c32143c321617101017343f0c1617161416101c3e161c141f1710123a3e14146d191c2217171c12263c172c04141c141404042c1c1c143b6d321765101c343c1016143b6d321417161f14001017343c10121c2217171012263c170604141c140032173f0c1611161814040717271c32043e14161414101018341c140717332f0c161116141004337a7a7a7a6d1d1b321c1c1c14071711123a321710101c343d163c14063216141610111c14071710123a3e141614111c140f05171014321417161314061c101c141b17140d0f1f1710143217061410040413651b321c1c1c14031716123a3217001018343d17671e141c141c0418191c14031710123a3e141614111114101904343637101f0c161414263d17061414101c3e171c040f17141610111c2217171012263c171604141c14071714110c161116141604042d241c14071711123a3216171610143c141317101432143c321610173a32170717331c0418191c141c32142f0c16141614161c14183217383a3c173f0c16161614161c140c6714320432143d1611140614111c1403241b321c141c14071710123a3e141614161e141c1c162c1417101c22161c141c32143c321616101017343f0c1616161414101a65161c141404042c14141e141c141c14143a14320432143e1010343c1c17101c18161c141432140717641c14171717123a32143e101c343d17641c141404042c1416101c1817101d0032143c14161e141c101b321c141c1414043c0410341c14143a143214341c14143a143214321417161314023a341c14143a143214321417161314023a341c14143a143214341c141c3a1432043c141614161e141c1c0722071414651432143c321610173a32143c14161e141c1c040413271b321c1c1c141c3a143232321410361b141426191c141c3a14321410041614161e141c04123c14161e141c141c041432143d161114063216141614161e141c14342d3a3214171404162c141d040617241f14141911221432141614141e141c0c1c1413241b321c0c162d36141c141432143f0c161d1614141c141067143d0432141614171b321c0c16640c17143b6d16041614141e141c141c321f1311041416332c14161e141c0c1c321832143c32161d100c10041614161c141032143c3216141632161b17101614142217162c14161c141b1717123a67143d3232142c14171b321c141c141019040d6d040d3e001b141614140404146714321419162c0c17140d6d16041614141e141c141c321f1311041432143c141710056116040d6d040d3e001b14161414040414671432141916223e141c141404601410041014262d1404137a1c14143a1432223c140614141e141c04073207141c14143214163216141632161e17101414146d191c14143214001010343f0c16111614171e141c14162c3617140d6d321416321611161c171c14143a143d171217101432141614141e141c141e141c3e1004141411222632140632161414260414161414100514161c1410046d141f2f0404132f1661261014040f7a1c2217171c12263c143c04141c141f1714110c161d161814040617271c32043e1416141604073d241c320f1714113a14141614141c14143a143217171112263a1432172410193e171c040032141614141e141c1404042d271e141c14343c1011143e1432170407141c14183a143e3210041614141c14143a143217171112263a143217241e141f1c101c0c1116221f141c1414321416321614101018342c321614123a3a143207173216172d070465141c14071712123a3c142c14141c14143a143217171112263a1432172410146d32142d142c1c043632142d141a1c14071710123a3214171114140610111c14071716123a043d04183d17041b14143e1432142c141310111313110414321765121422141432142d14331010071311041432142d143c1232221716222632142c141310160f1311041432141614141e141c1404042d271e141c14343e1012101c1417162c14121c1414321416321614101018342c321614123a0420041063141414181404263214651010101c1417162c1410040617241f141432173c6514141407141c141f1710123a3c171614141c14143a143217171112263a1432172410146d3217101d1c3d2210040f1610111c141f1716123a3214171114140610121c141c043d04183d170614111c140c3a1432143217063216141614141c14143a143217171112263a143217241c141f171d123a32143e1000343c14111e141c141e141c0410040014123c14101014613214041f7a1c141c3a143d0717321c1614321d3d1c17101432143c14161e141c360404072c1b321c36040c1614321c1761111410191c141c3a143d07177a7a7a7a7a22311e17101432143c14161e141c360404072c1b321c3604337a7a7a7a6d1d111410191c141c3a143d04191b321c141c1414321416321614101018342c321614123a32143c32161d17161414042632143e1032343c0414162f2617140d6d321416321612161c161c14143a143d2d1217101432141614171012003214163216141632161b17101614146d191c141432143e1017343f0c16121614161c1410631414143214071739162f1817140d6d321416321611161c171c14143a143d171217101432141614141e141c141e141c3a100414141122263214161417040413241b321c181c141026141414040f0426251404137a1c14143a1432223c140614141e141c04073207141c14143214163216141632161f17101414146d191c141026141414040f04260414161414100510161c1410046d041f2f0404132f166165171404137a143e14321416321617161c171c14103a143217171112263a143217241e141c0c070465141c14143a1432043c140614171e141c1404042d271e141c14343d16601400001b141614141e141c101c3210321406321614101018342c321614123a3a14320717321814143600001b141614141e141c101c3210321406321614101018342c321614123a3a143d320432221b173365361b141614141e141c101c3214321416321614101018342c321614122517140716141404261911221432141614141e141c141e141c0c10041414166400141c14143214010c16171614140404146314141432140614171e141c1404042d271e141c14343d1660140407141c1410321406321614101018342c321614123a3a143e3210041614171c14103a143217171112263a143217241e141f1c101c0c11162c141404041063141414191c14141916221432141010141b321c141c14141937321016332c1814040717271c32103e141614141c14143a143217171112263a143217241e141c0c171014160416141704043d241c1414043d14183c143c65141410001b141614141c14143a143217171112263a143217241e141c0c101c1811040d6c1d11041432141614141e141c1404042d271e141c14343e1017101c1417162c1416101c1c11162c1417040717241f14141916041432141711391407140416220414040d6d192d323217173b6d32141614171e1414141c321b17121d04321465101c311012143205221d360d1c321465101c313e12147a321b2d1c141b17121d0f2c363c1c131b321c141c1414321406321417161c1104073d651c141b17161d0717321c116d1766132c1c141b17161d0f17320561113606141104073d67363b1c3c173f0c16171614141c14103a1414323c1465100c3116141104043d65040c16147a14312d363c141104043d67040c117e146610321465100c313b1f2c1c32366714323232141614171e1414181c321b17121d04321465101c311012143205221d360d1c321465101c313e12147a321b2d1c141b17121d0f2c363c1c101b321c18143e1432143e121414000c10041010141c041811041614141c140717133b0f177a14312d040c141c343c651414061410040460670433221d3600121416123a3a14321717161d0717321c1614301d1032170d183217101012313e1d6d1766131732143d241904141604071765362c141004336d17360010163110121416123a2114141317161d072f362c1411040c1434343c65141410100c311d183c17010c16101614141c140032173b183c173f0c16131614141c140c321766183c172f0c16121614141c1404321766183c17110c161d161414040717241c041717163c10171c141b1714023a3c1465101e0722651416222217162c14141c14103a1417143c1465100c3116141104043d65040c16147a14312d363c141104043d67040c117e146610321465100c313b1f2c1b321c041c1414321406321413161c1104073d651c141b17161d0717321c116d1766132c1c141b17161d0f17320561113606141104073d67363b1c3c142f0c161316141604361417073207140404143d14041b141c14143214651002313e1d6d1766131732143d24190414171c141b17113b0f177a14312d040c141c343c32161410101c31101214321c176136061413362c141104040f670433221d3600121416123a2114141f17101d072f1c141b177a22132d04041f65040c141c343c65141400101c311d1b2f1c141317321725241904141404073d65362c1c131b321c0c1c14143217061412362c1c121b321c361c141432173c141d362c1c1d1b321c321c1414321716141d362c1c101b321c3e1c14131717650c100410101811220032141614141e141c041c14072f1c321c67143c3232141614161c141b2f1c321867143c223214001017343c10171c14171712123a3d141422171622141914142632141614171e14140c1c321b17121d04321465101c311012143205221d360d1c321465101c313e12147a321b2d1c141b17121d0f2c363f0c16121614141c14103a1417223c1400100c3116141704043d65040c16147a14312d363c141704043d67040c117e146610321400100c313b1f2c1c321867143d2d17332c10171c141f1732141f1d11041717141610160404613d14041b141c14143214651002313e1d6d1766131732143d24190414171c141b17113b0f177a14312d040c141c343c32161410101c31101214321c176136061413362c141104040f670433221d3600121416123a2114141f17101d072f1c141b177a22132d04041f65040c141c343c65141400101c311d1b2f1c141f17321725241904141404073d65362c1c131b321c321c14143217061412362c1c121b321c3e1c141432173c141d362c1c1d1b321c3a1c1414321716141d362c1c101b321c261c141f17173e0c1b140614141c1407177a22132d04041f65040c141c343c6514140614141e141c041c140717133b0f177a14312d040c141c343c32161410101c31101214321c1761360d18321710101a313e1d6d1766131732143d241904141604071765362c141004040f670433221d3600121416123a2114141317161d072f362c1c1c1b321c221c141432161614141e141c00362c1c1c1b321c651c141432141632161216141c362c1c1c1b321c611c141432142c141c362c1c111b321c6d1c141f1714023a3d143c1414040617241c04141814142614162c1417162c61141c14143214163216141632161f1710141410137a07320714040d6d05162c14141c14143a1432223c14101017343f0c16111614141914141410120019171417173322207a14041010332c1814040717271c32043e14141b14143e1432143c141301146514143e14321416321611161c111c14143a143d143c173e3e100416141004337a7a7a7a6d1d1b321c181c140432173c1411342f0c16161614101c141c32170226671432043217101018343c141004043d241c14071717123a04203210042032103d142c14171c14143a14322232142c321614161c1110130032141614141e141c181c141b241b321c18111410191c14143214163216141632161e17101414161c11040d6c121104103214061411101f22171a3214140404103d1422263214061411343c10171c14183217023a3d170422171622263217101004343c04141c1400191604143214101f7a1019261716223e141c141716332d1662140426101416141416223e141c141404231410041014261c14161414101d61041014261d141614141e141c18162d14141c22143214122117361d103c141604141c1414191732143214160414162204141c221419111414321417111714073a321417140416223e141c141404220410041014261314101d7e12222637141614141c14103a143232321707147e17101432140614161c14183217171110140426191a141432141614171e141c1c1c140004053207141c141032143c14111c1404042d141005162c14141e141c1c1c321432140614161c141832171614131c14143a1432143a143d04071604141939321c17173b6d32141614171e141c1c1c140004053207141c141032143c14111c1404042d141005162c1417190414641c04363214163216111610121c14131714113a141b061417190414651c043232140010141a3214651c14171710123a3c160614171c141c32142c14101c14000422321032172c1417190414641c32252c1c04363216161417190414651c32212c1c0432160416141204041f1c110414321606141204041b65343c101f1c14171712123a3d17321b141c14102114110c1b14041f141c142610041614171e141c0c0404131211041832141665141610101636046517111418191c1425131104143214166514161010173600001b14322632140010141a2210651c140c32140614161c1418321716141310181c171c1410211411003c163c141d363c101d1c1410211411043c162c141c363c101c1c140f1716123a3c173c141f06046514162226321406141d04336d1736001014072f3a141b0614171c143d177a22132d0404171d1a32146516601c17141614141c14103a143232321717147e17101432140614161c1418042222100516221f141c14143214063216141614101011601311041416041614161c14103a143d171d17101432140632161316141607226517162c14110404131d11041032140010171b321c3211222632140614161b321c001c141032142f0c161c1614171c14103a143c3d1714023a67143c3216041614171e141c3e0404131d110414321406321612101016072265141c14131714013a141b322632140010101b321c261622232f14041432141614171e141c1c1c140404053207141c141032143c14111018181711222616041614141c14103a143214321717147e17101416041614161c14103a143d171d17101432140632161316141607226517162c14110404131d11041c32140010171b321c3211222632140614111b321c32143e14321406321619101010073265141c141317141126171b1614141e141c1c1c321432140614161c141f17140614101c14143a1432143a143d040716041432140665141b0407141c141317142f0c16191614171904146507046517111418191c14131717110c1619142632140614161b321c001c141032140632161e101017343f0c161e1614171e141c3e0404131d110410321406321612101016072265171c14131714013a141b326d191c14143a1432323c141614171c141c32142c14101c14143a1432143a143d3207163214191660651014041b7a1c141432140632161616141010116110041614171c141c32142d111114046d19143e1432141614171e141c141c14040405320714143e1432143c14171e141c04072207141c14103a143d0432143e361b1404263214651017072265161c14131714010c161c146d191c141032142f0c161c1614171e141c260404071d1710143214101004343c1c131c14143a14322d17146607241c043117141610111c14101633221f1414651416041614131c14310511041432140010141a2210651c140032140614161c141f171406141010181c171c14102114110c1b14141f141c1410211411031311041432140665141b1407140404103d142c14171e141c0c0404131211040717140610121c14142114143d17143b101b14042210166510171c040c3214166514161010173600001b142226321700101c343c101311141019166510101c140f131104103416651011162f0c16191614110404132d11041c191c141032143f0c16131614171c14103a143c3d1714023a67143c3232140632161f101017072265171c14103a143d3d17143e361b140614170404106314110c05162c14141e141c181c04003214101004343c1c121c141032143c14111c1404043a14103217001016061465141c140c321700101131123a3d173c141404073d241c040016041614141e141c1c1c321717143b131317101432140632161f1010170722651716221b141c14102114110c1b143c14131c141032143c14111c1404043a1410321700101c343c1c131c140f1f11041419111410191c141717140d131317101411041614171904146711041c32140632161f101017073265161c140032140614161c141832171716321406141304043d241c320032173e3e1b141422161622141914651432140665141b3265171c14103a143c071714000c10041614171e141c0c0404131211041c191c140032140614161c141832171716321406141304043d241c320032173e3e1b14142619162236141c14143a1432041937221016332c14141c14103a14323d171417147e17101432140614161c1418042d321005162c14141e141c181c04043214101004343c1c131c141032143c141110051417143e143217101016061465141c1400321710101131123a3d1716141404073d241c041411041614141c141032143c1411100514171c14102114110c1b1406141404043d241c32143217103e1b14142619162f1c141c141432140632161610101410116110041614171c141c32142d111214046d191c14143a1432323c141614171c141c32142c14141e141c141e141c3610043214162d3e141c141432140632161610101410116110041614171c141c32142d11121404261920321817170d6d3f14101314343c1c101f141416336510171c141432140010141011611b141725171416141707046514123c1814040017241c32183e141614171e141c141c3203171712263a1432143d173c141304043d271e141c141c043632146510141b321c001c141b17270565141b321c041c14183214010c161116141104312f6c14110c16161010141c0400321465100c343e101404063604073d3a321406141d343c1017143e1432173e1d367a0417171417147e17101432146510171b321c611c140c321465101c343c14171c141317140010141c140c3a1432143a143d040716041432140010141c14183a143c171714000c371c04001814042632173c141104043d241c141317140010141c140c3a1432143a143d32071632141604141f141c14183a143c221a1432141714322632142c32161d1010141c14183a143c3d1714000c3704041432142c32161f101017073d2117141614111e141c2204041312122c1013111410191c14183a143c171714003610041614111e141c2211041032142c32161f101017072265171c14183a143c3d171400361b14042632142c321612161013162c1411040017271f141717141614131c321313110414341c14071716123a3c14651010363e101404010404073d3a32171010171b321c611c140717332f0c16131614101c141467143d1432171614171b321c1c1c141032142c14161e141c140404103214063216141632161d17101c141614101e141c321c32171714000c10041614161c14043a143d3267143214191c14171714000c191c04143217101314342c04141c14141917041404132214191422141416223e1404312c1e1407141e1232262314141f1404303c1e14066514141010173604651404303c1e1407143e0704651404312c1e14001d32640414043d141317631c3a171016181904312c1e1404261f14101d183c321004163d3a191932141604101d0c3c32102114141717140d101b14101d0c3c3210041f10001b14101d183c321317633d260403172517671c3a171016181904362c1e1404261f1410126d3c321004163d3a191922141604101d1c3c32102114141717140d101b14101d1c3c3210041f10001b1410126d3c3213173f1b0014101c041704363c1e1407143f1665126d3c32101916041717271c3a1710143a34162c6114143e1717201c3a17190414140404132d11041717201c3a171016071311041717271c3a17043122311013043404373c1e1407143f166512263c321019160417173b1c3a1710143a34162c6d14143e1717241c3a17190414140404132d11041717241c3a1710160713110417173b1c3a1704303f00141716101400123a3c3210041c2221173b1c3a1716223e14040c2c1e1407141e1232262014141f14040f3c1e140665141410101736046514040f3c1e1407143e07046514040c2c1e14001d661d071700123e120c3c3210041c2221173f1c3a1716223e1404332c1f1407141e1232262314141f14040c3c1e140665141410101736046514040c3c1e1407143e0704651404332c1f14001d10641414043d1413173c1c3a171016181904332c1f1404261f14101d263c041004163d3a191932141604101d613c04102114141717140d101b14101d613c0410041f10001b14101d263c041317603d3a04031725177e1c3e171016181904302c1f1404263714101d3a3e32103d14141b141c14171711122604163c1c14043116061400361b141426193304141604101d3a3c04102114141717140d101b14101d3a3c0410041f10001b14141f1404303c0614066514141010173604651404303c061407143e070465140431160614061014146514321417171d04042d241c321717631f1c170722651416651d3a3e3210041c222117651f1c17043311621417140004312c0614001d6d7e22140413101d3e3c041317651f1c171b321c1404303c1f1407143f16651d3e3c04103a14321419122217172c1f1c171c0414110416141404042d2710143a3c141012223e32131d1104141916662614143e1717611c3e17190414140404132d11041717611c3e17101607131104141604101d1c3e32102114141717140d101b14101d1c3e3210041f10001b141012223e32103d14141b141c14140410001018343c1c1404363c061400361b141421172c1f1c1710161819043716061400121d1d3d140304372c06140012101d3d140304312c1f140012223e32106714321717611c3e171016181904312c1f1406321614142637141012323e32103d14141b141c14171711122604163c1c14040c16041400361b1414261967041c14143e1717671c3e17190414140404132d11041717671c3e171016071311041416041012323e32102114141717140d101b141012323e3210041f10001b141012143e14103d14141b141c14140407651018343c1c14043416061400361b141421173a1f1c1710161819040c160414001d3a6c221404131012183e1413173c05321410170717381f141704342f61141714000434060414001d107e141404131012223e1413176605321410170717231f141704302f611417140004363c04140012147e04140413101d003e14131739053e1410170717611f1417043711601417140004302c0414001d0c7e04140413101d613e1413177e053e14101707173d1f1017040f2f6314171400040f160714001d147e321404131012363e04131765053a1410170717241f101704301163141714000437060714001d227e32140413101d143e04131766053214101707172f1f1017040c11621417140004313c07140012047e22140413101d3e3e0413173a052614101707176d1f1017043711621417140004332c0714001d147e2214041310121c3e3213176505261410170717391f1c1704301162141714000431061f140012143e14106714321717671c3e17101618190431061f140632161414263714101d223f22103d14141b141c14171711122604163c1c140431161b1400361b1414261922041c14143e1717651c3e17190414140404132d11041717651c3e17101607131104141604101d223f22102114141717140d101b14101d223f2210041f10001b14101d043f04103d14141b141c14140410001018343c1c14043316051400361b141421176d1c6d17101618190431161b14001236123d140304312c1b14001201123d140304303c1b14001d321d1714030433061b14001d021d171403040c161a14001d3c123d1403040c2c1a14001d191d071403040f3c1a1400123e123d14030434061a14001200122d14030437161a1400127a122d140304372c1a14001220122d140304363c1a14001267122d14030431061a14001d1f122d14030430161a14001d191d17140304302c1a14001d0c1d07140304333c1a14001d3c122d1403040c06051400123f122d1403040f160514001d3c123d1403040f2c0514001d63122d140304343c0514001d051d1714030437060514001d381d1714030436160514001d38122d140304362c0514001237122d140304313c0514001218122d14030430060514001d001d07140304362c1f14001d043f04106714321717651c3e171016181904362c1f140632161414263714101d1c3f04103d14141b141c14171711122604163c1c14043416181400361b141426196c041014143e17172c1c3e17190414140404132d110417172c1c3e17101607131104141604101d1c3f04102114141717140d101b14101d1c3f0410041f10001b141012323f14103d14141b141c14140407651018343c1c1404363c1b1400361b141421172c1c65171016181904341618140012006c041404131012263f1413172605001410170717201c221704362f64141714000436061814001d266c04140413101d043f14131739050c1410170717661c221704373f671417140004303c1814001d006c32140413101d653f1413177e050c1410170717321c6517040c3f6614171400040c2c1b1400120c6c2214041310120c3f0413172405361410170717251c651704373f66141714000437161b14001d1c6c2214041310126d3f04131767053614101707172d1c3e170434161814010c1614101d1c3c0410041c2221172d1c3e171e141c14162d2614040f3c18140610141465143214101018342d141e1c3217176d1c3a17072265141622233b1404141604101d143c04102114141717140d101b14101d143c0410041f10001b14141f14040f3c18140665141410101736046514040f3c181407143e070465140433161e14061014146514321417140704042d241c321717381c2217072265141665120c3f1410041c2221176d1c3a1704366534101703177a1c3a1704310434101703173c1c261704371c3410170317391c261704373a34101703173a1c261704343e3410170317271c26170431263410170317201c261704360434101703172d1c261704330c3710170317651c26170436183610170317661c26170436103110170317631c261704311431101703176c1c2617040f143710170317321c221704312236101703173f1c2217040f6d3710170317231c3e170433161e14010c1614101d143c0410041c222117231c3e171e141c14162226141c141717271b0414101c041716223a141c1417172d07650403173a19162214321410120c641414043d141019163214321410126d1d07170012322618141614141c14131710123a0465041019111414321416141704042d24101b1017162236141c14142614143e1917221432141622141614261f14161414101c0c1610171419160414321417161d143d1404167e0c111404037a1c141c3d14141b14143e14321716141c010614141c141b05363265141c1414261414143c173e1d7a140d103d14041f141c140f1714106110041010171c040c3214001d7a7a6d18140104651711141c191c1413172232131f1104103214001d3314006510041614111c14172704041f1c11041c321416651414061c1304361417360012141400361b143e10161c040c321700107a3606141704040f6504361405360d1f177a7a7a111410651b1404221616221f14143e143214001d2314006510041614111c14172704041b1c1104043214166514143c101d1c1414211414103d1706141704306517073265171c141317611413121710143217001d32140d13173a141312110418181704263217001d14140d13173214131d1104041814322632142c141434651010061614170433041706661c1b142c1414190414111c04363214166514143c101f1c1414211414103d17041f14143e141604141f141c1413176d1413271132001414321c1614041c191c1403176d14172404336d17360010220604651611140c191c1403176d14132d040c141707326517111400191c1403172214132d040c141707226510162c141f04361417360012141400363217651d14140d13173214131d363265110404043d173c141d04016c2d1c143917173b071722176c2d1c141317103b0717321c1122141d10321700107a36001018311d1f2c363e1d7a7a6d18140622651111141c191c1403176114132d040c141707226516162c141d04361417360012141400361b140010111c040c321765107a3606141704042d65040c1132146610321700107a36001012311d1f2c04337a7a22221719110410191c143d1714023a3d161614141c140f241c041418140426191c1414321438261961320417170d6d3f14101004342c1c141f141432141614161b321c181c14143217010c1616141f7a1c141432143f0c16111614141c1400671432321604141f1414651416041614141e141c181c321c3214656d1b141614141e141c1c1c322232173e6d1b14161416191414141c3203177a22132d1c041016041614130404171a1710143214001d7a7a6d1814010407140404103d170422161665101611140c1904041c3d163c141704361c17060465111c1413176622131b17101432142c141634651016061465131c141c211414103c16101d14140d13173214131d11040717143c10131c143d17056610321400101231101d141166132c1c3213177a7a7a111410651b14042210162c141704306d17010407141c141832143821171465321b17061416190414161c043e32143c65141406101c143e14160416141704306517072207141c1413176114131d1104103216101d32140d13173a14131211041c181722263216101d32140d131732141312110410181732263216101d14140d13173214131d110400191c1439172214132d040c1417072265100404183d1706141f04016c2d1c141317111d0717321a14113606141c04016c2d04040f65363b1c3c14001d7a7a6d181401046517111404191c1413176c14131911041832142c141634651010061465101c141c211414183d16061416190414161c042632143c65141406101c143e141604141f14143e143214001d221402261a1704141614321c171432263216101d22141225177a22132d0401171f11041c181732263216101d22140d131732141312110410181704263216101d14140d13173214131d110404191c1421172214132d040c1417072c141f04361417360012141400312c11041b17171610131c143917056610321665101231101d141d6610321400100631101214320514143606141c04016c2d04042d65363b1f2c1c3213177a7a7a111410261b14222632111614171b321c141c141432143c1413343f0c16111614141c14143a14323d1717123a6714323218140426191c141c3214653e3d163226321632221716651017162c10171c1404321416321611110c161416141d1c14143a143232671432143214101004343c04141c1410193f3204141c2217171012263c141604141c141432143f0c16111614141c14006714323216332c14141c141c6714322232141614131b321c1c1c14143a1432223d14041f141465143214061411012207140404143d14322216166510161c041c321406321614161c17040c17223600121426141b121c1413177a7a7a111410212c1104101604141f141c1413177a22171b17101717140610161c140c321416321616161c1334651014011465101c14143217001017343f0c16161614131c141063141414181404263214001d7a11656510041614121c14143a1432323c14382117143e321b143c14141c141f1714023a6714323232143c141704040f6704361417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c141317056613173214132c1a321414111410191c140c321416321616161c16342c10131c1413177a7a6d11010407141c1403171465321b143c14141c141f1714023a6714323232143c141704042d6704301417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c141317173b0f17056613173214132c1a3214141c1414321416321616161c16040413241b321c1c1c141c321400107a36001214140d1c63141414181404263217001010061465171c141432143e1017343f0c16161614161c141317103b0f176d14132c1a3214141c1414321416321616161c16040413241b321c1c1c141c3214001018313e107a36001214140d1c6314141432141614141e141c1c1c321f1714023a6714323232143c141704040f6704016c2d040c1417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c141317056613173214132c1a321414162c14141c14143a14322d1717123a3c14010c16111422171622211714042217162c1416162c10171c1404321416321611110c161416141d1c14143a143232671432143214101004343c04141c14101962321817171d6d32143c101414651416041614101c140f1b1c14143214656c2c110414321416651414161c1704337a7a2222171911041416332c1414040413241c141317121d0717121d03171410611b14173a3214001d1614003e1b1406141704316d17010407141c14183214122117143e321b143c1414190414171c3203172214132d040c1417072c141304016c2d1c141317173b071722146c2d363e1d7a7a6d181406661c1b143c141404041f2411141019143e14160416141704306d17010407141c141832141221171465321b17161414190414161c04363214166514140610131c141317620413121104103214001d3214000c1004161413043014173600123214000c1b14222213162c141304361417360012141400361b17142216162c14111c1417270404071c1c1413176c141319363c14101c140f2704041f1f363265111c1414211414183d172c1414190414161c0432321416651414061013143e141604141f14143e143214001d221402261a1704141614321c171432263217001d22141225177a22132d0401171f11041c181732263217001d22140d131732141312110410181704263217001d14140d13173214131d110404191c143d172214132d040c1417072c141d04361417360012141400312c1c143117056610321610101231101d141d6610321400100631101214320514143606141304016c2d04042d65363b1f2c04337a7a22221719363265111c140f1714023a3d173c14140404072411141c191c1403176114132d040c141707226516162c141d0436141736001214140036321765107a3606141704042d65040c1132146610321700107a36001012311d1f2c04337a7a22221719363265171c14171714673a191c041432173e1017343c101211141019162c14141c141f27166c18131404077a1c2217171012263c141604141c141432143f0c16111614141c14006714323216332c14141c141c6714322232141614131b321c1c143e141604141f1414651416041614141e141c181c32103214656d1b141614141e141c1c1c320032173e6d1b141010161c043a321406651414161c1604337a7a222217191104043214141f7a1c141f17121d0717121d031714106110041614131c141c62140414321400101734322217162c141604361c17060465131c141f176622131b17101432142c141734651016061465131c1410211414103c16101d14140d13173214131d110404321610107a3606141604040f6504361405360d1c3c143e1d7a7a6d1814062265101c140032143f26171416141704041f24111410191c141f176222131b17101432142c141734651011061465131c14102114141c3d16061417190414171c04321604141f141c141f176204131d17101432143e1d321400361b1406141c043014173600123214000c1b1432221d162c141c043014173600121414000c1b14042212162c141c04361417360012141400361b1704263216001d14140d13173214131d110404321600107a3606141c04016c2d04040f651c141f17111d072c363c1c1604337a7a146613177a7a7a111410261b171614131c141c62140414321400101134322217162c141604330417062265130404103d163c14111c1413270404071c1104183214066514142c101f1c14102114141c3d16161417190414171c04101604141f14143e141604161416043314173422611314141c1614321016162c141704331414343e1d7a140d131718106d1b16142216162c141704331417360012141400361b17222217162c141704361417360012141400361b1732263216101d14140d13173214131d1c1439172214132d040c141707661c1b170614121c1403270404071c11041b17143c101e1c1439170566103c1606141c04040f651c32211722176c2d1c141317111d0717321a1405360614160404312d1c321f17103b072c363b1f177a7a7a111410261b142c14131c143d17171d0f17146610321400101631161c17043614173606141604043d65363c141704012d2d363b1f1722056d14343e121426141b2c1a2210141c14143217001016343f0c16161614131c1421172214312d1c14392c040c166114661c6214041c3214163216111010103432266714322232141614141e141c1c04041f241b321c1c11141019162c14171c141b1f1c043a191c143a18143221171404221716651016162c10171c1404321416321611110c161416141d1c14143a143232671432143214101004343c04141c1410197e320017140d6d3f14101004342c1c141f141432141614161b321c181c14143217010c1616141f7a1c141432143f0c16111614141c140067143232321416321611161016143e141604141b141c141c3214656d10041010141c04001814222117143c10131c141c231404143c14001d7a7a6d181406226516143e14160416141704336d14010407140404103d170614121c14143a1432323c143821171410221b170614141c141f1714023a6714323232143c14171a321414111410191c1413177a226c1b17101432173c14141e141c1c1c321f2704041f1c1104043214161416040413241b321c1c1c141c3214001012313e1d14140d1c6314141432141614141e141c1c1c321f1714023a6714323232143c141704016c2d040c1417363f3a1414142217162c141704337e2314656510041614121c14143a1432323c143821171465321b171614141c141f1714023a6714323232143c141704042d6704301417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c141317173b0f17056613173214132c1a3214141c1414321416321616161c16040413241b321c1c1c141c321400107a36001214140d1c63141414181404263214001d7a21221b1b17101717140610131c141832143821171710321b17061416192210161c323d17320532113600121420141b1d11041c32173c14141e141c1c34651010061465131c143d177a22312d1c141317163b071732053211360614170436141d36061c1304042565363b1f17321c1410343e1d7a7a6d1814062265161c141432143e1016343f0c16111614141c14143a1432323c143e1017343f0c16161614161c140317173b0f1714023a3c143e1016313e1d22140d1c6314141432141614141e141c1c1c32031714023a671432323217061416040407650401172d1c141317143b0f171166132c040c1417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c143d17173b0f17116610321400101031101022360d1f173214132c1a3214141c1414321416321616161c17040413241b321c1c1c1410321610107a36001214140d1c6314141418140426321400121422141b1f11040432173c14141e141c1c1c321f2704041b1c1104183214161416040413241b321c1c1c141c3214001018313e1d32140d1c6314141432141614141e141c1c1c321f1714023a6714323232143c141704040f6704016c2d040c1417363f3a14141614141c14143a1432323c143e1017343f0c16161614161c141317056613173214132c1a321414162c14141c14143a14322d1714383a3c143f0c1611142217162221171432221616651017111410191c1400191c041032171614141e141c181b321c141c1436321416321616110c1614161414040717241f14143214042603141614141e141c1c1c3217131710171714046d191c1414043c321c193e141017173b6d1104141f141c141c3214650c321716141c010d1c1b141010171c04363214163216161610131c2217171012263c173c04141c140c3217010c161116141204043d241c140f1711123a04003c101e04041432143c14111c141f271c141317211c36171c141037101936171c040032163d17071c140f1710123a3e14141f14143e1432170010163432611114321c17141426321706101d162c141c040413241c043232172c141f343c101f1c141c3217673a3d14322217162226321604213814041b7a1c14143a1432323d143c1814040717271c32103e141614171c141c67143222321400101c343c141704042d2410131c3d143c1814040717271c32183e14161411040717241f141717141610111c141c0400061417040717241f1414321422077a040d6d131c14143a1432323c1410001004101017112226321417161e143e1017073226193e321017140d6d3f14101004342c1c131f141432171614161b321c14143b6c17143c141304042d2404041432141632161617111914061c140404132404041f1f110414340404103214101017342c1c171c1418321716321614122119110414341c14031711123a3d14321b7a1c141010332c1416190414141c041432171614101e141c141c321b1714023a6714321432142c14141a3214141c1413171402263d14061416040413241c041c181404031714142619162c10161c14031710123a3e14161416166d261214042d7a1c2217171012263c100604141c141c3d16141b14143e1432142c141c073207141c14183d16142217162c141c19041414070465141c143d1714023a3d1614221716222632172c14131b321c141c140432143f0c1614141b14143e141633221f141c141c3214650c3217061412073b1c1b141614071c1410251432146614223232141632161616101f1c2217171012263c101604141c17143216010c161116140404043d241c17171711123a04003c10011c1432321438263d110010141c043a3f141012041612263c162c04141c1426321716321614161c1a1b321c181c14003216651004343c1413122c1005143e141604141f141c1460131c140c3217022117143b031732141c321707263c1110032c110414110416141b04041f671c323e3211103e32110012111400642d11041c32112c141904042d241c1422321606141f1c142d05122c1417101b1c161c3d1f1733650c100410137a1c042517141610181c14263a1432223d11322216162c141804041432103c14051c14211710122512122c1c1f342c10181c146d321600101631123a3d112c141b1c1460241c14263a1432223c113821171416141a122c101b1c143a3210383a3d163c141a070465171c14221b141426191c146013110410191c142d131c146413363265141c143a3d16041b14143e1416041614051c14613211061417101936171c32251714382517143e651004141f14143e1432163e10173432611617321417162c1419040414671432221814322632140010141b321c14111410191c142632162c32161116141e343c1c1a1b321c181c14391714023a3d16061418040413271c32221b140426321606101e11141c191c146c1717123a3d112c141b1c1425271c0465321606101e1c14651b141426191c140010041614101c14263a14322267143214191c1421173e143d241f141432163c101f1c17180400061404040717241f14141604141f14143e14160416141f040d6c121710141104141f141c14363217010c16141614161c14043a143217121104171714061012143e141604141f141c140032143c141c1c141f271c17131716123a321416321616171619143c1c1704041f241132181c14141c17162c14101c141c67143214181704263214061012162c14161c140f241c041c32172c321614101010343c101311141019162c14101c141c671432141817042632172c141d1e141c141c143917143b07241c3200671432143217061412073265111c14043a1432143d143c14111c143d1217101432142c101c111432191c140032143e10171c1410321416321616171619143e001b1404211714322210162c141d1c14363a1432171717123a6714321432171614101e141c14040413241c321c6714321432143c101c14651432142c141c073207141c14183d16142212162c141c19041414070465131c143d1714023a3d16142214162214191c140432143f0c161410101711141c191c14043a1432143d14322632143c14110722263d14161407040717241f14143214146d191c14363a1432143d170422141622141926220017111d6d3f14101004342c1c1b1f141432143c101c14651416041614111c143d1217101432142c101c111410191c14323a143217131104143216101010343c101c11141019162c141d1c14006714321432171614161b321c141465141604141f141c141c3214650c3217061412073b1c10332c14161706141b1c1410251432146614223d17140610041c14143a1432323d16061814040717271c32613e1416141a1c143e6714322232113e101c343c141a04042d2410131c3d102c14121c14003c1602263d163e10141c046d3f14101004342c1c071f141416041614101e141c141c3221131c14323214382117143b003c103e032c11041432163e10141c143e371c043a110416140704042d241c143e32163e101006072632162c32161417113414061c18040d6c1217101717332c100511141c191c143e10332c141e04041b1b17101432163c1418060465111c143e3210001018343c141810101c34162c141e1c142d271c043a3216061418343203171414263d160614191e141c14070407140404143d16222216162c14181c146c241c046d3216651010343c10191c171f171402263c1032651416222632160407141c140432162f0c161414263210001004343c04141c146d3d1606140110131032113e1004343c0414143e141604141f14143e14160416141f0404132411321c14173210191c14363217010c1614141b14143e1432143c14101e141c14073265141c140032143c3216141614141e141c1c101826171c32131733650c1b1416141d1c14363a1432143214023a3c17010c1614161416040407241c041c18140426191c140432143f0c1614142217162c141d1c14363a1432143216023a3c17010c16141614131c140f1211041c32142c141c073207141c14043a1432143d143c14111c0432181722263211001010343e10141c14143a143232042c22103c1610137a07226517166510161c0714181422263211001010343c10161c140c32172c32161412263216103e1b14321b141c14321004161416190414141c040032172c141d1e141c141c32391714023a6714321432160614131a3214141c143d171402263d16161416040413241c041c18140426191c1404321716321614101010343c1c161b321c141c141c3d16141b141c14183216100c10041614111c04321817042632161632161410001b1716141c040407241c04321814142614162c14101e141c14162c1411072c1004162c141b040717241f14143210146d191c14363a1432143d1704221416221419160414321417160c143d1404162f36141c2217171012263c141604141c14143217110c16111614141c141832143826671432323214101018343c141404043d24101e1c171e141c141c04103214101004343c04141c1410191b141411041614171c141f12070407141c1404321406221414161c141c14183214101014013d26631414143217101017343c10101c14131714023a3d140422171622263214322618141614171c141c3214001014013d26191e321411041614171c141f12070407141c1418321406651414113a1414161411040413241c04183214001017343c101711141019162c1416166514141465143214061416072207141c1410321406221414161c140404171a171d6c17651804141e141c141c14102614141717143b07241e141c1417061414162f3a1414161417040413241c041018140426191c141c191f221432140010140132077a04311110141632161416141704336d173600101631123a3a143214131c14101904073d6504073d64162f6d141465143214061416072207141c1410321406221414161c140404171a171d6c172211323a14321432140622141410101631123a3a143214131c1414191a3214141c14131714023a3d140422171622263214322638141614170404171a171d6c172211323a1432143214001d7a140d1317143b07241e141c14170614171665100c3110100c3104261f14161414101c6116101714191b041411041614171c141f12070407141c1404321406321614161c141c1418321410121414003e371a3214141c14071714023a3d17161417040407241c041018140426191c141c1910221432140614161c1413173214131f1265100c3110100c3104262414141b141c141032143e0f1317101432142c1417191414141b321c141c141b1717123a3d142c1417040413241c041018140426191c141c1904041411041614171c141f1d17101432140614171e141c141c3217177a22171b171d6c17651804141e141c141c14103a14321717143b07241e141c1417061414162f0c1614161417040407241c041018140426191c141c191d32143214001d7a1410651033651d042d14143a143214321400101631123a3a143214131c141019166514141465143214061416072207141c1410321406321614161c1404336d140104077a043614611e141c141c14103a14321717143b07241e141c1417061414162f0c1614161417040407241c041018140426191c141c191d04143214001d7a1410651033651d141a1632161416141704041f65343c321614140032140426190714141604141b141c141c3214650c1b14041f141c141c3a143217177a2217191104171726111c3a14321432143c32161410101731123a2314041432140d131311041432143e1010343c101611141019162c14161c0418191c1418190422141104141f141c141c3214653610332c14161e141c1404336d14062265170437142c1e141c141c141c3a14321717140d0724192210141c14132d070465171c141c131c14181911222632143e1010343c1016111414191414211314141b141c141032143e3610041614111c14103a143217177a22171b171d6c1726111c3a14321432140632161410101731123a2314041413040414191a2210141c141b1714383a3d142c1417040407241c041018140426191c141c191c221432143e1d7a1410651033651222183c32161416141604041365343c6d171416141736001014072203171414261904141016332c14141e141c141e141c141c32143a143214321416321616161c1604041364343c10171c14143a1432043d141614171c141f17140d1010332c14171e141c141c1417241e141c1417061414162d101714142605141614141c14143a1432143a14320407140414191d22143214141f7a04333c1c14001d613c14103a1432171714023a3c14110c1614161414162f0c161714261f14161414101f181610171419381410141c2217171012263c142c0414143e143217071464070407141c1414321706321616110c16161614141c1400251432146614321418140426321706321614161010143e141604141f141c14003a1432043c143e1017010407141c14143d140614141c141c041a322217162c141604307a7a7a7a6d11062265171c14143214161416101c1c17040413241c3200043204103c1407171b1c141432170717181c141432143d1460162c14171c140432143e1017343d172d11141019101736141622263214651004343c041416223e141c14143217071107140420121422101c332c181404331411342c1c141f14143214101d3a14673a3c173c141110146d32173d14621c043a321707141f1710143217001014101910171e141c141c1425171907146c073c1019162c14161c14263214101d3a14673a3214101d3214673a3214101d3614673a3214101d0c14673a3214101d1c14673a0410061c181c14171720141b241010363c173c141404343211343d171d1c3236321410123e14673a0438221c32141010641b321c041c1417171612251714161414040717241c321c041d3c101c143e1416332c141310143e321416321625141b1e171014321707141f1c043e32141632162514183d1106141d10143e321606141b3465101731123a32173d141f343c14141e141e3e1467251714023a1814042632172d141f1c140c0416023a321416321625141b2404041f24162c1c1f04300014060465141c143232160010163117140f101636321616321614161c1611041404132214191c141c3214101010343c14141c14183a143204321707141b1c1400041106141310143917143b07241c143a32162c141404301411343c14141e141936142c14141e14190c142c14181c140c32172c14141e141e3e142d1634143c14171c141c3214163216171614141e141c141c1418321717173c1c041032161714311c143604163d3a32173d141e123c141810143a341c14171763141b241014613214101d2214673a3e14161417166226101404217a1c22171726143d271c32143e141614141c140066142d1432141614121b22180c1c14143214101d1417673a3c172f0c1623143632172c141404071724101b0c161c043632141010641b321e3217161414040f3210343e10141c1417173a1407241c323e041d3c101a1c1417171b010c163a14043214101204171225171416141f1017613d16321f141c1431176014170517101404133c101d1c14143217013611141614141c140c66142232321410126d17673a3217651d201d16141410133a3c1765137a073265171c14613214163216231436041f2c141e1c143117143b04041207143b1c143a043b321c1b1406141e1e141c141c043e191c1417173c1407241c323232142d14051c1432041a2c1c071c14143a1427221d1c323232172c141c343c141f1012183217651014063207141c14143a1427221d19041414040664121c046d191c141c32112c1414040c3210343c1414040c1410343c141404332211343c141404333211343c141404303211343d14071c3d143214101d0c14673a04072c1c1c1c1417172c141b241010363c162c141404360411343d1637143c141404010067143f14321410103a343e10141c14171718123a3c143d14301c042216332c14141e141910142c1c1b1c14311c17101432162d141f1c14363211022117140d07241c14320416023a32141632162d141b2404041324111410191c1426041606141c101439241c14143a14260411343e10163432263c11001d3914106d10041614181c146417143b04041207143b1c14223a1432143c143e001b14042632143c1414040607241c1417171c123a32142c32161716141f1c143e321765101631123a32100614051c141717321407241c14143a142322111c14143a142332111c171432161614191c14143a14260411101f3a161c141032143c14141e141c3e1c14143a143c1432142c141010121c3d1406141810176532162d141e123c141c10143a341c171404163d3a321410121c17123a04113c141e10176532113d14311c14171726143d241f14143214046d1910173614167a611614043d7a1c221717221413271c32143e1416141404373217343c1c121c141804112c141210111c3d163c141310143e100416141304041404162c65141416141e040665041e001d7a140d13121c0426191c141c32162c141404373217343c141404371417343c141404346d17343c141404346117343c141404341417343d14071c3222321410120414023a0410061c121c141717321413241017103c172c141404332214343d1631143c141404010067143d14321410101c343e10141c14171710123a3c143d14301c04321604141f7a1c140004160614141e141f6d063207141c1400041606101f1c14143a143b223d1106141d10143e321606141b3465101731123a32173d141f343c14141e141f6d343e101734322217162c141d10143e32173d141f343c14141e141f6d343e10163432263c16001d3914103e1b1416141c1c143e041207143b1c14323a1432143c1432651410173614162c14161c14171717123a32141614111e141c101c14000411061413101465321707141f343c141e1c1426321410122214023a3214162214272210321416221427321032111614121c1436321416321633171636143c14171c141c3214163216171614141e141c141c141832171717021c041032161714311c143604163d3a32173d141e123c141810143a341c141717201413241014613214101d1414023a3e1416141716621c101404217a1c22171765141b271c32143e141614141c140066142d1432141614121b22180c1c14143214101d3214383a3c172f0c1666141c32172c141404071724101b0c161c043632141010641b3219221406141404303217343e10141c1417176d1413241c323e041d3c101a1c1417171b010c166d14103214101d32140225171416141f1017613d16321f141c1431176014170517101404133c101d1c14143217013611141614141c140c661422323214101d3614383a3217651d201d16141410133a3c1765137a073265171c1461321416321666141c041f2c141e1c1436041207143b1c143a043b321c1b1406141e1e141c141c043e191c141717671413241c323232142d14051c143204183c1c071c14143a142122161c323232172c141c343c141f10126d3217651014063207141c14143a1421221619041414040664121c046d191c141c32112c141404313217343c141404311417343c141404366d17343c141404366117343c141404361417343d14071c3d14321410122214023a0410061c1c1c1417173a1413241017103c162c1414040f2217343d1631143c141404010067143f14321410103a343e10141c14171718123a3c143d14301c042216332c14141e141e3614061c1b1c14311c17101432162d141f1c14363211022117140d07241c14320416023a32141632163b14132404041324111410191c1426041606141c101439241c14143a14252217343e10163432263c11001d3914106d10041614181c1465041207143b1c14223a1432143c143e001b14042632143c1414040607241c1417171c123a32142c32161716141f1c14363216023a32100614051c141717651413241c14142614186d171c141426141861171c171432161614191c14143a14252217101f22161c141032143c14141e141c3e1c14143a143c1432142c141010130c3d1406141810176532162d141e123c141c10143a341c171404163d3a3214101d0c14023a04113c141e10176532113d14311c14171765141b241f14143214046d19101736141663361314041b7a1c22171722141b271c32143e141614141c141c67142714111c14143214010c1620141832141010671b321c001c14171712123a3214101032343c1414040707241c3236041d3c101f1c14171710123a3c1406141010146d32140714621c043232141010141a3214051c14171720141b241c141c32142c14171c14043a143204321706141404046c241c1432321606141d1c14171726141b24101e04161710143f14101004342c1c171f1414160416141210110010041614121e141c141c041c32140010141b321c181c141c3214001018343d142f1c140f1714171460111410191c14131714110c16161614121c14131716123a04182c1412040414041a32263214001004343c04141c14142114146d10041614121c143d171907146c10183617162c141c04011404050610171c143e3a1432143d171614141e141c001c323d171712263d14321b14143e1432143c1410010465141c14043a143214321400361b14161410040407241c040418140426191c2217171012263c140604141c140c04160610161c140c042f22103d14221f141c1404321617163c143c1c1d070465141c140c04110614100104077a1c140432173d141b1c140c04160010163112251b17001014166500100416141d1c1418321438211917101432173c14111c141c3217673a3214672632143c141610051817162c141210146532143e101631123a3d14221b141c14043216103610041614111c140404182c1410040407241c04043214651010343c101111141019162c14170404146714321432142c141710111832173c14161c143124101d32181404263f14101004342c1c161f141432140614101c1432042f321c32143e1004343c04141c1410041106101c1c141004160610161c2217171012263c17160414143e1432143c141210186d171c323632173d141f1c321b27010407141c141f1311041032173d141b1c3236321465101631123a3216161416101d1032173c14161c141b241c321c04301614100404146714322232172c141604041f65343c141004042d241011181814042632173c141d1c141c3214673a3217672632142c141104041432143c141c10050417162c1410040717241f1414321407141e1232263214001004343c0414162c141404373211343c141404371411343d143a17101432170614131e141c1404041f2c1b321c14162c14141e141e61142c10171c14171710123a04113c141f1017653214101d1414673a3e14161417166c361114041f7a1c2217176d1407271c32143e141614141c141c67142014101c14143214010c1663140432141010671b321c041c1417172c1413241c141717651413241c14171710123a041d3c10171c141717221413241c323632171714051c1436041a2c101c1c14171714113a14232210160416141404303210343c14161c141832172c14101e141c101c1400321410127a14023a32161614171c1417172d1413241c14171761140724101e0416070465141c1417173a2d613a14141467141936171c1417173b17612514141466146214171c1432321410122214023a321410126314023a321410121414023a040c2c141404010067143d14321410101c343e10141c14171710123a3c143d14301c041816041614141e141910140614171e141c143465121f14656110041614111c14143a142604171c14103a1432172704041f6404041f2410173e041f2c14111e141c14070465171c14183a1432143d143226321416651423221010041614160406656314141432143e1017343c1016162c14171e141c141c040411041614141e1419101406141001040714143e1432143e10141a3214141c141432173f0c1614161414040717241c14140464221f171400361b1416141110176518171426131c141c321410122214023a321410121414023a3c172c141d04063d241c1404046532103217672117143b0324190414141a3214141c141f1714023a3d143c1410040407241c0404181404261910173614162d140d1414263214101d3a17123a3214101d3217123a041e1407141c1400321706321614101016363f0c1614142632141632166314043d143c141404361417343d141a1c1410041d06141404331410343c04141c141c192514001714666d3f141012321402263c141604141c141432143f0c163e141032141614171b321e0c1406141404010c67143d04321410100c343c1414040617241c14171713123a3c172d14301c043e3214101004343c1c171c140404112c141710111c3d161614140404146314146d321410120c14023a32143c14111c14103217163216171614131c14171711673a321616141f1c1436321410121014023a0424221c1004161814040717271c32103e14141f141c140c041b0407141c140c3a1432143d143c14170404146314146d32143c141704046c2410110432173e101410113e1814042632140010141a32141a1c140c321400101a343d14651c140f1714171463162c1417040717241f14143214166514112207141c140c321610102110163e043a0410191c143d17181714251c04103216063216141610101c14143a143d043c16101017342c10161c1413177a22132d1c04101104141f141c141c321710651b14161410190414141c14131d1104143217101017343c101011141019162c1814040717271c32103e1416141210143e3d143c14121017183d14221f141c14043216171123143c1c1d070465141c140c04110614100104077a1c140432173d141b1c140c041602251b17001014166500100416141d1c1418321438211917101432173c14111c141c3217673a3214672632143c141610183217162c14121014653214383a3d14221b141c14043216103610041614111c1404041b161410040413241c04043214651017343c101111141019162c14170404146314146d32142c141704046c2410110432173c14161c143124101d32181404263f14101004342c1c161f141432140614101c1432046d221c32143e1004343c04141c1410041106101c1c141004160610161c2217171012263c17160414143e1432143c14121017183c172c141210143e3c1467211b17101432143e001b140614121014653c172c1411343c141c1c141c04030614121c141c3214673a3c143d17611c14071714113a14112c14161c1431241c14071711673a041b142217162c14121c143632143c1411343c141d342c14111c141b17141614161c1432047e1410191c14071710123a3e1416141710143a34162c1417040717241f1414191c141717381413241c1417173e14132410160c10041614131c14003a14321717143b1c67143214191c14143a142532171c04103214101004343d141a1c143e041d06141404341417343c04141c1410192f041817143b6d3f141012321438263c141604141c141432143f0c163e141c32141614171b321e0c143c141404010c67143d14321410120c14023a321410123214023a3214101004343d14301c0410321410120414023a3c172c141010146d32172d142c1c043232141010141a32160514041f141c14171738141f241c141c32142c141d1c14043a1432043217061414040c6d17343c141c1c1410321410120014023a321410121014383a0424221f13110414321410123f1d3c321414110c143d221032141012361d3c3e14141136113214103216161414040c1417343c1414040c3a17343c141404330c14343d17231c1417171b010c161016141404043d240404143214101004343c1c161017613d14221f141c14143a142504171c14103a1432172704301814013207141c1418321416321639141032140632161412211714383a041207143b1c14183a1432171311041032142c321614161016162c141419041605140407141c141f1719013a1414161416040413241c041c191c14103a1432143d17141b141c14143a142504171c14071b17101416041614160404146314141432141614121b321c141c14171710123a321417110d143e1017072265141c1418041d04221016220032143c141404330c14343c1c1d1c14311716383a321717110314061414342c1414343c6514163f3a1414161416040413241c041c3217101017343c101011141019162d140d14142604132214191c14171738141f241c1417173e141f2410160c10041614131c14003a14321717143b1c67143214191c14143a142532161c041c321410120414023a04113c1417101765321410123214383a3e141614161660321614041f7a1c2217173a141b271c32323e1416141c1c143d173a141b241c3218671432223f141012041402263c172c04141c1436321765121014023a67143d22321410101c343c141d040617241c321c3217651036343c14101c140032173d162d143c141d04321466142d1432172c14161b321c181c143d1710123a3c143c141c1e141c18101e61161c04043214163216161610131c2217171012263c141604141c14143217010c161116141404043d241c14171711123a04003c10131c141c3217651018343c14101c14311710123a0465321c3d171614131013103214101004343c04141c14071733650c100417140d14142632161614161c140717143b07241b321c181c1431173e1413241f14143216163216111610101c2217171012263c141604141c14143214010c1616141b141c141c32171036100416141404043d241c141c3a143214046c221c32143e1010343c101611141019162c14141e141c1c1c04103214101004343c04141c14183e141614171661001714161814040c1417342c1c161f141432143c141604330414343f0c161116141404043d241c141f1710123a3c1416141604042d241c14043217061412101910161c14143d171614161e141c181c04183f14101004342c1c141f141432141614171b321c1c14651432142c1410072207141c14171716123a321716221414171161143c1410040413241c040418140426191c14143a1432323d14061414040717241f141432143e121414023a3e14161417167e14181404137a1c22171704123a3c172c04141c14363214010c161a1614100404146714321432172c141110146d32172d14621c043232172d141a143b6d1604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f141c140f1722041727113f3e14140736101322000d1732360d132d361e132d360d132261051017360d132d1803132d360d132d360d1322141714321811132d36171322320d13223e191322220d11073619132d3607103d0402162c14141c14031712123a3217651061343c14161c140432161716641432220c162c14141c14031710123a3217651061343c14161c140432161716651432220d162c141d1c141432140614161c141832171614131c14171716123a3214163216161632161117101414161c14101465321417141b1c1414041600101631123a040c110c161a142202162c141d04013d241c141c321716141c04041c0402161014143e14321716321614161c170404072d1c14171714102d2c1c1417171d65252c070407141c14003214110c1611142217162c14101c141317171d1c6714321419111700191c143117201b10141e0418141b22180c1c143117261b10141e0418141b2218041c143117241b10141e0418141b22181c1c1431173a1b10141e0418141b2218141c143632141614171c141c32142c14101c140032172c141d0406172410121467143f32181314263217651d0c6504142514221466142d323217651d046504142514221466142d143217651d1c65041425142214661422323217651d14650414251422146614221432172c14141c141032143c14111c1404321706141d1c1431171c123a040c110c161a142201162c141d04013d241c141c321716141c04041c0402161014143e14321716321614161c170404072d1c1417171365252c070407141c14003214110c1616142217162c14101c141317171d1c671432141911171c191c1431171a123a32143c14101c143d17143d170c1c041416041614101e141c141c321317171d103214101014011d1c3214101018063b1f1317101432170614141b321c1c111410191c14043214001010363f0c16141426181004263217651061343c14161c140432161010111013323d14141f141c14043a1432143c140010103606141404306516063b1f1317101432170614141b321c36111410191c14043214001010363f0c16141426181014263217651061343c14161c140432161010161013323d14141f141c14043a1432143c140010103606141404042d1e363e0010041614131c14171714022667143d141814042632171614170404072c1b321c1416222205162c141d04013d241c141c321716141c04041c0402161014143e14321716321614161c170404072d1c1417171a65252c070407141c14003214110c1617142217162c14101c141317171d1c6714321419111461191c1431171a123a3d14161814040717271c32103e141614171c141c671432321104141f141c1414321400101c343d1467070465141c143d17321814141c1414041c07171a070465141c1414041f073a18140426191c1414321400101c343d143a17101432171614101e141c1404041f2c1b321c14162c1417040717241f1414181104263217651061343c1017143e14321410101c343c14141e141c1c1e141c1c100414141c321404160010141c14171711123a041602211217101432171614101e141c140404072c1b321c14111410191c141032143c14141c14171712123a321616141004041404263210321412263c140614131e141c1c1c3217171110312c070407141c14031714110c1616142217162c141704042d1d1c1417171665252c070407141c14003214101018343f0c1616142619111422191c143117611b101404062204043c1c121c141432140614161c141832171614131c140c32173e1026343d17321b321c61111426191c1431173a1b1c141e141c141b321c041c143117381b1c141e0418141b22181c1c1431173e1b1c141e0418141b2218141c143632141614171c141c32142c14101c140032172c141d0407072410121467143f32181632263217651061343c14161c140432161010161013323d14141f141c14043a1432143c140010103606141404012d1e363e0010041614131c1414671432141814042632171614170404072c1b321c141622221f162c141d04363f0614163e11141136111216141d0436110614163e11141136111016141d04373f0614163e11141136111616141d0437110614163e11141136111416141d1c141432140614161c141832171614131c14363217651032343d17321b321c61111432191c1431171a123a32143c14101c143d171407170c1c041416041614101e141c141c321317171d103214101012063b1f1317101432170614141b321c0c111410191c14043214001010363f0c161414261817222632141614171c141c32142c14101c1400321416321614163216131710131414221d162c141d1c141432140614161c141832171614131c14171716123a3214163216161632161217101414161c14101465321417141b1c1414041600101631123a040c110c161a142213162c1413040707241c1431171a123a32143c14101c14320426221c181714263217651061343c14161c140432161010101013323d14161410190414140404072d070407141c14003214101d2611382667143d0419111418191c140f171f000c1b14042632171614101e141c140404072c1b321c14111410191c2217171012263c141604141c141432143f0c16161010121c04101604141f141c1431171a123a3c143c141404043d241016321b141010101c04103216161416101610043d2213171f00361b141010161c041032143d14391c14171716123a041e10001b14042632171614101e141c141c14132c1b321c14162c1414040717241f1414191c14363a143f32191c04143217651314342c04141c14141907221017332c1814040717271c320c3e141614121c14106714323232173c141110146d32173d14621c041032173d141a1c14031713123a32173e101c343c14161c1404321407162f143c14121e141c1c1c041432173e1004343c04141c14141906041017332c1814040717271c320c3e141614121c14106714323232173c141110146d32173d14621c041032173d141a1c14143217001004343c141204043d241c141c3217161417101904161c140c3a1432323d14161412040717241f1414321414211f1404137a1c2217171012263c173c04141c140c3214010c16161614121c141804112c14121011263d14061412101461321416141304073d241c140f1716123a32143c14101c14100421041c32173c3216161610141c140f1710123a3e14161414162f14141c141432140614161c141832171614131c14171716123a3214163216161632161317101414161c14101465321417141b1c1414041600101631123a040c1421361404137a1c2217171c12263c173c04141c140f172c1b1c141e0418141b22180c1c140f17221b1c141e0418141b2218041c140f17201b1c141e0418141b22181c1c140f17261b1c141e0418141b2218141c141432140614161c141832171614131c140c32173e1032343c1c171012143d141614171f141432141421181404137a0436061714001d1432041032143d263214010c16141614170404171e171017173a1c1017040c161714061416122c10110404143d14321b141c141c3214673a3214161416343c651414113a1414161416040413241c321c321400361b141426191660141814041f7a1c2217171c12263c172c04141c14363214010c161216141004041467143214321765101c343c1c1f1c141804112c141f10111c3d1616141f1014611633221f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e1432173e1d171412261a1a0414171322040d17073612172d360d13223a0d132d360d11326d04132d360d102d000d132d360d132d360d141410161422180d1322100d1617360d1604260d1117361b1322260d132d100613170c191c1414321700100c343c141d04073d241c141c321716141c10193216111732191c14143217001004343c141d04073d241c141c321716141c10193616111736191c143632141614171c141c32142c14101c1400321410101c343c14141e141c1c1e141c18100414141c32140411061414101465321417141f343d173d1b321c0c11170c191c14311712123a32143c14101c143d17143d170f1c041416041614101e141c141c321317171d103214101014011d1c3214101033063b1f1317101432170614141b321c18111410191c14043214001010363f0c16141426181304263217651e396727672522202f193e233e141b22181c1c143632141614171c141c32142c14101c1400321765101c343c141d0407172410121067143d32181314263217651e3926270225652466193e2004141b22181c1c143632141614171c141c32142c14101c1400321765101c343c141d0407172410121067143d3218102226321765100c343c14161c1404321610101610133e3d14141f141c14043a1432143c14001010360614140407311e363e0010041614131c1414671432321814042632171614170404072c1b321c1416222206162c141d04073d241c141c321716141c04041c0402061014143e14321716321614161c170404072d1c14171714102d2c1c1417171110252c070407141c14003214110c1616142217162c14101c141317171d1c6714321419111710191c14311712123a32143c14101c143d17142d170f1c041416041614101e141c141c321317171d103214101d21143e252c070407141c14003214110c161d142217162c14101c141317171d1c6714321419111714191c14311712123a32143c14101c143d17143d170f1c041416041614101e141c141c321317171d103214101018063b1f131710143217061414040413271b321c04111410191c14043214001010363f0c1614142618112226321765100c343c14161c1404321610101610133e3d14141f141c14043a1432143c14001010360614140401211e363e0010041614131c1414671432041814042632171614170404072c1b321c141622221a162c141d04073d241c04143f14101004342c1c171f141432140614161b321c1c14651416041614141c14131716123a041800001b1416141c040c11141416141410176d040710001b1416141410161c3411141019162c14141c14131716123a041f3207141c1404321716321614101016363f0c161414263214001004343c0414111465191c14311712123a3d14041f141c14171716123a3214163216161632161617101414161c14101439171416141404042d2410143927073207141c1404321716321614101010363f0c1614142217162c14171c141c321416141404073d241c14323217101014101904171c1417271c3210321706321616161c1404042d1d363e00100416141304041467143232181404263214001018072c14140404211e363e0010041614131c14171711123a671432321916222218162c141d040f01071416321414110c14112c141d040c660714163e14141136111616141d1c141432140614161c141832171614131c14311716123a3217651001343d173d1b321c0c111426191c1431173b1b1014190414141a3214181c143117381b10141e1414141b321c1c1c143632141614171c141c32142c14101c1400321765101c343c141d0404642410121067143d3218163226321765100c343c14161c1404321610101610133e3d14141f141c14043a1432143c140010103606141404012d1e363e0010041614131c1414671432141814042632171614170404072c1b321c141622221f162c141d0424020463343b062c3663066522146614223232172c14141c141032143c14111c1404321706141d04043d241c14311710123a040c010c161214221c162c141d04073d241c141c321716141c0404100402061014143e14321716321614161c170404072d1c141717173e252c070407141c14003214110c1612142217162c14101c141317171d1c6714321419111436191c141432140614161c141832171614131c14143a1432143a143d04071704141817222632172c14141c141032143c14111c1404321706141404043d241c14143a1432323a143d32071414143c1417141b1c141404110614141014392410121067143d32181704263217001000343c141d04073d241c141c321716141c10190c16111404191c14311712123a32143c14101c143d171717170f1c041432171665141410101036000010041614131c141717621460271b321c0016222211162c141204060312110410191c1404321716321614101010363f0c1614142217162c1814040717271c32143e141614141c141c6714323d17173c1017143e14160416141d04073d241c321c321410101c343d143811041717171610171c143232143d1433101c32170406031d11041717143c10171c141c041c3c141404043d2410160f13110410191c1404321716321614161417363f0c161414263214101004343c0414162c141d1e141c0c162c10141c1431171c123a3e1416141416653617140d6d3f14101004342c1c121f141432173c14171b321c1c1c140c32142d14051c140c04183c10171c140c04113c1413040707241c140f1716123a32143c14101c14100421321c32173c3216161610141c140f1710123a3e1416141416653e17140d6d3f14101004342c1c121f141432173c14171b321c1c1c140c32142d14051c140c04183c10171c140c04113c14141c14031710123a32173e101c343c14161c14043214071666143c14121e141c1c1c041432173e1004343c04141c14141906041017332c1814040717271c320c3e141614121c14106714323232173c141110146d32173d142c1c041032173d141a1c1414321700100c343c141204043d241c141c3217161417101932161c140c3a1432323d14161412040717241f14143214142621141614141c141032143c14111c1404321706141404043d241c14143a1432323a143d04071414143c1417141b1c14140411061414101439241012101905221017332c1814040717271c320c3e141614120424020463343b062c3663066522146614223232141614171c141c32142c14101c140032173e101c343c1412040717241c3210040c0610141c14103e14161414166361171404037a1c221717651413271c32143e14161414040c230714166d14141126172f1410321410121d6504143a141414671426321710170c3d173c14141c140467143214321410122214023a3c172c141d1c143117131614121c1417172c1413241c14140419161c1c343c1c101c141c04052c10121c14171710123a3c1706141610146d32170714621c043e321707141a1c143e32172c14101c1400040c2c14171c1400321610101631161413343c1c171c140c3214122117143b043214122517261403271c140432173e0c371c141032143c141110121c3d1406141404311417343c04141c1410193214041717666d3f141012221467263c141604141c1417161f013611241418321410123a14672517140d1f173f2d6132143c3216171716231406101c1c1414321410121414673a671423221610170c3d17321f7a1c143210041614161e141c1c1c04363214101314342c14131b2218141c141432171136111a1614141c143667143f143214101214146725171d3c14121c14171724141b241c14171718123a0419142217162c14141c14046614641432141614131b221b0c1c14171732141b2404076132173c141404343211343c141404311414343d1426162c10121c1417171b010c163214103214101d221438251714161414040c1417343d14301c043e321410121414673a3c163c101d143e1432173e10300132071410170c3d17321f7a1c143210041614161e141c1c1c043632141614131b2218041c14143217113611161614141c1436671432143214101d6d14383a32173c141404343211343c141410133a1814042632141614101b2218321c141432170136111e16141404332216343c14121c14171724141b241c1417171c123a040232263c173e137a073265171c143e32141632167a141c041f2c14141e14196d143c101d162c141d1c140c3217673a3c162c141610116d3d1116141404010067143a14171c1417177e141724040414321410121414023a041d3c101d143e1432141632167a141c321410121414672512171014321410121414023a3d17322217162c141204041b6510173e3c173e001b1406141d1c140c041f2c14141e14196d143c101e162c141404303214343c1c1c1c141c04112c141e1c142232162c14121c1417176c1417241c1417176d1417241c14320420321c321617141a1c141032173c14141e141f651c14143a143b1432143c141110121c3d1406141d10176532160714311c14171726141b241f14143214046d1910173614166c22111404317a1c22171732141b271c32143e14161414043c0066147a32161c1417177e141f240404132c043404331c141c3a143204042722103d172c14141c14171765141f241b321918143d14021c040016332c141d17101432143c3216161610121c14143217113e111e1614141c140c67143c143214101d04143825171d3c14131c1417177e141f241c1417171c123a0419142217162c14141c140460142f143214101d04143825171d3c14131c1417177e141f241c14171718123a041914263d17061414040100671439143214101d14143825171416141404311414343d14301c04323214101d0414383a3c16061012143e1432170010300132071410170c3d17041f7a1c143610041614161e141c1c1c040c32141614101a04181c1c141432173f0c161416141404362216343c14131c1417177e141f241c14140402322217162c14141c140460142d143214101d1814383a321706141404333216343c14140407172410133a191c32031733650c1b1406141c1c14143a1426221610163632141632162f141c3d17322632173c14131c140f241c323a32143d147a1c042632141010641b321f041c1417172c1417240404143214101d0414123a041d3c1012143e1432141632162f141c3214101d04143825121710143214101d0414123a3d17042217162c141304041b6510173e3c1700001b140614121c1400041f2c14141e141918143c101f162c141404013d241c323632143d14051c143e32162c141e1c14003214101d1014123a3214101314342c141d10193a161c143604113c14171c14003214163216071614141e141f141c141c32142d173c1c041032173d14311c1432041d061414040c1411343c04141c141005162d140d1414203c14041010332c1814040c1416342c1c141f14143214101c391b2205611406141404333217343c1c120404132c0431183604041432143c32161717172110170c3d172c14141c1404661422143214101d3214023a3c1706141304073232172c14121c14140419161413343c1c1d1c141c04052c101c1c14171710123a3c173c141610146d321706141c1c14363214101032343c1c131c1417171d123a321410100c343c1412101e61171c140c04113c14171c140032141632161d1614141e141c0c1c141c32142d173c1c0410321410121414383a3e141614171662041714041b7a1c2217173a1413271c32143e14161414040c0d0714166d14141126173b141032141012176504143a14141467142532171c141717381413241c320317140d1f17673d2d17141614161e141c1010126504133c10121c14143217110c1614161414040c2617343c1c101c140717110614121c140032141714261c1407241c320c32143d147a1c04363214101004343c1c131c141c04112c14101c143632173c1414040617241c32043214101036343c141404073d241c140004273210321707141a1c141032171614141e141c361c14143a143d3232143c141110121c3d1406141404341417343c04141c1410193a321017171d6d3f141012141438263c141604141c1417161f0136117e14103214101d6114023a3c173e1017363e1d011d1010171c141c3a14320404370714021c043632141614101b2218141c141717611413241c3200321700100c1c143632173c14141016223217023a3c172c141610116d3d16161414040717241c320c32143d14051c1400321616141d1c1417171c123a3c1706141404072d241c14171712123a32173d16201406141210146132140614131c14143a143d223214163216121614161c1418040c3c10171c14171732141f241f1414321404260214101232320413172d1c10171e141c141c141c3214161417101a0c171662041714041b7a1c2217173a1413271c32143e14161414040c0d0714166d14141126173b141032141012176504143a14141467142532171c141717381413241c320317140d1f17673d2d17140614161e141c1010126504133c10121c14143217110c1614161414040c2617343c1c101c140717110614121c140032141714261c1407241c320c32143d147a1c04363214101004343c1c131c141c04112c14101c143632173c1414040617241c32043214101036343c141404073d241c140004273210321707141a1c141032171614141e141c361c14143a143d3232143c141110121c3d1406141404341417343c04141c1410192f041017140d6d3f14101022342c1c131f141432170614171b321c3a143e1432143c32161710101736000010041614141c141032143c14111c14043214163216141632161217101214161016111410191c14031712123a3c1416141610146d3214171618140610171c14140411321f141c1404100416141304073d241c14100406222217162c141304073d241c141004063226321706141304073d2410101467143d1411041614131c14031712123a0437110c1616161413040717241c14031716123a04022207141c1403171e123a3217001004343c1c141e141c141e141c14100536161c1414043904101814040032170632161e1610161c14031712123a04163d3a191622263217001022343c04141c141c1925141017170d6d3f14101d321412263c141604141c1417173c6c1014192214141a2213361c1417173d6c10141e1414141b321f0c10170c3d173c14141c1404671432143214101314342c1c1d1c143632176510001c140c3214101d0c14123a32141714261c323d241c320432143d147a1c040c3214101004343c1c131c141c04112c141310111c3d16061413101461321606141d1c140432170717231c141032170614131c143d241c321032173c1414342c1414343e1022342c14101c140f12122c14171c141c32142d17021c04103214101d3214123a3e14161417166114101404317a1c22171732141f271c32143e14161414043c0066147a32171c1417177e1413240404132c040c6d301c141c3a143204042722103d161614141c141717651413241b321918140714021c040c16332c141c17101432143c32161616101d1c1417170412263217013611141614141c140466142f32321416141d1b321c221c1417176514132404076132173c141404333217343c1414040117241016221814042632141614101b221b041c141432170136110216141404311417343e10301c140c3214101d6114023a3214101d0414123a041914263d173c141404010067143a14171c14171722141324040414321410121414023a041d3c101f1c141717651413241c323a3d17221f141c140f171d3e6110041714021c040c16332c141c17101432143c32161616101d1c14143217013611101614141c140466142232321416141d1b321c141c1417172f1413241c140c3214101d6114023a3214171734111410191c141432171136111c1614141c140066142c323214101d1814023a32173c141404333217343c14140406172410133a191c320f1733650c1b1406141f1c14143a1426221710163632141632162f14103d17222632172c14121c1431241c322632143d147a1c042232141010641b321e141406141404333214343e10141c141717321413241017613d17221f141c14143a142622171c14171765141324073207141c141717321413241c040c1814042632173e10173117140f1c320f1311041032172c141210163632141632162f14103d1632263214101d3a14123a3c1616141610146d32163c14181c142632173c141404330414343c141404331414343c141c101922161c143204113c14171c140c3214163216311614141e141f221c141c32142d17021c041032172d14311c143e041d061414040c1416343c04141c141005162d140d141423361422101d332c181404311417342c1c141f14143214101c391b22051c1406141404363217343e1017363e123e1d2c14161e141c10101e6d171c0436321416141404341417343f0c163b141004133c1013143b6d32172207141c141c3a1432323d173c14141c140460142c3232141614121b321c321c1417173a141324040761321706141404363217343c1414040617241016221814042632141614101a0418221c1417173a141324040761321706141404363217343c141404011724101622191c040032141010641b321f041c1417173e1413240404143214101d0414123a041d3c101c1c1417173a1413241c323e3d17321f141c1403171d3e6110041714021c040016332c141d17101432143c3216161610121c14143217113e11161614141c140c67143214321410123614023a321706141404363217343c141410133a1814042632141614101a0418041c1417173b1413241c14003214101d1c14023a3214101004343d1734162c1c13040d6c1211041032161614141e141e361407143b1c14143a142522171c040c191c140c3217061412343c1c1e1c141c04052c10191c1417171b010c160016141404363214343e10141c141717651417241017613d17321f141c14143a142522171c1417173a141324073207141c141717651417241c04001814042632170010173117140f1c32031311041032173c141310163632141632163b14103d1604263214101061343c1c1d1c141c04112c141f1c142632163c14131c1417172d1417241c14171704122632172d166d143c141d10146132140614131c14143a143e043214163216041614161c141804033c10171c140c041d06141c1017653214101d0414023a3e1416141711222604132214193a041017171d6d3f14101d221412263c141604141c1417161f0136113416141404303214343c1c120404132c0431183604041432143c32161717172110170c3d172c14141c1404661422143214101d0414123a3c1706141304073232172c14121c14140419161413343c1c1d1c141c04052c101c1c14171710123a3c173c141610146d321706141c1c14363214101032343c1c131c1417171d123a321410100c343c1412101914171c140c04113c14171c140032141632161d1614141e141c0c1c141c32142d17021c04103214101d2214123a3e141614171662101714041b7a1c221717651417271c32143e14161414040c0d0714166d141411261701161414040c1d071416321414110c160616141404363214343c1c130404132c04313a3604041432143c32161717172110170c3d173c14141c1404671432143214101062343c1c101c140717110614121c140032141714261c1407241c320c32143d147a1c04363214101004343c1c131c141c04112c14101c143632173c1414040617241c32043214101036343c141404073d241c140004261410321707141a1c141032171614141e141c361c14143a143d3232143c141110130c3d1406141404311414343c04141c1410193a041017171d6d3f14101d221412263c141604141c1417161f0136113416141404303214343c1c120404132c0431183604041032143c32161717172110170c3d172c14141c1404661422143214101d0414123a3c1706141304073232172c14121c14140419161413343c1c1d1c141c04052c101c1c14171710123a3c173c141610146d321706141c1c14363214101032343c1c131c1417171d123a321410100c343c1412101914171c140c04113c14171c140032141632161d1614141e141c0c1c141c32142d17021c04103214101d2214123a3e14161417167e65071404607a1c22171722141f271c320c3e141614121c141032143e1017101b3a161b321e00143c14121c140c3a14250416101f1c171b321e0c143e123f7e1c3427336512363918193933061410122c101a1c1417131c046c17260f330d203b3a3d14041b14143e141604141f14143e141604141f14143e141604141f14143e141604141f14143e141604141f141c14103c14101d2220216230140022100416141404363c2c21311f62011407141c1417172d2620273c1d25181710143214101d216019123f30100c1b162c1414040c2c1225622d600732651e1c141717396d2f326c0d391d11071c32173c321621141f17321c1017343c141219041633143f3a141410120d271822251c041018103226321410122d396c3063303e0c1b143c141404302c0f25201f63073265191c1417172d6d20273c1d251d11071032173e1d1414383a3e14146d191c1417176c193064613b60181710143214101d1f26270d0630650c1b17161414040f2c002220036c073265121c1417173f052c272d1d601d110710181014263214101d6421620d3c333e0c1b17161414043405613d24217a073265121c14171739632f181e00361b101614121e141e65143e1017343c101b040c0664616d001d1c0410181014263214101220656d2f1117002210041614140433011d23213216011407141c14613d140614140433126366216117073265071c14143d140614140430056727256116072265071c140f173a14132410143a341c140c3a1424141612322204162c141404330d1d23213216073265181c141717651a11033d221b121104363214101d3e66331a661710361b101614121e141e65143e1232320413241c140c21141f6d161a321414040f30262f163e3d14042204162c141404312c143d191812011407141c141717276c051822220312110426321410126567601d1817000c1b113c1414040f0d327e1b61130722650404360617140614111b321c1404331263662161171c0410181014263214101d31321c062f173e0c1b1116141404310d3322331812073265171c1417173d190d3f2d04311d11046d32173c141b1b321e65143e12183d24306d300012187a1e2310333c14121e141e65143c14110617263d14042205166510141c043632173c14100404171e1a321631143e1d03666d1d2f173e1d1f26270d06302c141219041631143e10173607263d140614121e141e00143c101e111461191c140f173c141f241c140c3a142504161013043c1016101e0404143d161010141c043e3f14101004342c1c171f141432163d141f1c04263f14101004342c1c1d1f141432173e1d6114023a3c14101c141b221c141c14311714110c161116141404043d241c14311711123a042f04103217651004343c0414143e14321665001b14141b14143e1432163c141f101426211414171705000c1b1416141e1c143e04162c651414161c1d040621121c1431171c1d1f17610417270407251f171d6c1714040032172d17130404171d1665101407661c3217651023073b1f131104143216651017342c10191c14131711123a3216123a32163c141f1014262114141463141417171416101d1c143d1714023a3c16101010073207141465143214001018343c141d343c1c1c1c143226141414046c0410631414143217651017343c1c1d0404071d110414191c14103214066514112c14171904141a1c323117173b07241a3214191c1410321406651411061c1c0404076704041b2d1c14102114142d17143b072c1a32141f1c14103217651016313e10053606141c04040765363f3a14163e10141c043d171416101d1465143214161417040439241c143124100504161c14311714023a3c17651011072265141622263216001017343c101f1c14261b140426191c143d131104143216101011011407141c14131711123a3216122517141010101c143d2710100c34166510141c0436110416141704042d241c1431241c323e32160622141417116414013a141416141d040413241c3231171710361b1414263214061417190414051c1410211414613c1765101231123a6314142632140614171904141b1c323917171d0f17146610321406651411101016311d1c6314143e321406141d04041f6704046c2d1c143917171d072c1a32141e1c143d17143e321b1416141c040413271c043d171416101d1465143214161417040439241c143124100504161c14311714023a3c172c141c072265141622263214001004343c04141c1414043c04103d100614141e141c141c042232173e12211d2c321414110c166d141032173e12391d2c3e141411361163141032173e1c141b22050c1406141204321466146c14171c140f16141136112c141032173e1c141b2205141406141204321466146232171c140f1614113611261410321417161f140610191c140f17261413241c043a3f14101022342c1c171f14143214001032343c101c1c1400321717167e143c1c1d1710143216101c141b2214141c143d16141136141616141d1c1432321617163b14042632173e127a14383a3d103c141204311417343c10011c143610332c1814040717271c323e3e14161417040717241c323232173c3e146314106614141432161614121e14112214010c141616141c040c1614321432671414223216001004343c04141c2217171012263c160604141c1426100416141f1c14322514141466142214321606141c1e04141c1b22181c1c143e0463221032172c141f1c142232162c141e101c0016162c141f040717241f14143f14101004342c1c1f1f14143214001c141b2214141c1413161411361416161417040617241c322232103e10141c141004232210321116141e1c1426321407167a1406141f04321404620410321600101c363c141904041b6527071121140614181c1439171016141710196d171c14391710123a3e1416141d1c143232140010041c1718043d041c32172d140404041413040d6d19123c1417040117241f14143214171121143c14141e141c14171014321416321617161c171c14143a1432143c1765361004141b141c141404042d3a32172c1417040413271c32131d11041419162c14141c1436671432043214171711123c14141e141c141c0410321417161314073a3214071404162c140410143a34040617171016140704011712122c101d0436382c21311f621c04101811042632173c14051a321630143c14121c143667142714161c140c32163f0c1627141f176c373064613b60173930116166320032173c65143b321f17140d10371c04101811142117221c10171c141867143217176d3727306632103d1404221916651d04611b021d1465123f7e1c3427332c14121e141e0c143c1411073d263d1404221e16651d04611b021d14651d216019123f301614121e141e22143e1004073d21176230062d3a663232173c65143b041f17140d10371c041018160421173d190d3f2d04363d140010141c04651816142632173c14121e141e26143c14121e141e6514383a2114141463141f6d161c140c21141f6d16123e120d2f1a116430001d3e66331a661716141219041630143e10173607263d1404221d162c14121c140f173a1413241c321467142414161c140c3a14241416123c14141c140c3a142422161013043404302c0f25201f631c0413171416101611140c191c140c32143f0c1620141f17276c051822220317617a34203b321c32173c321620141c32146532371c04101817042632173c1412040717241c321467142404161c140c3a14240416123c141410182216123c14121c140f1711123a3c16110c1624141c32173c321624141c341c140c3a1424041604043d2410181c161c043e32173e122214023a3c1406141204341417343c14121e141e61143e101731171114143c141f1c14100423041c321407141e123c14141c1432047a041f176c36307e67141f17660c161026220c32173c65143b321f17140d10371c04101817142632173c321620141f17321c1017343c14121e141c181a321414043701373e3622131c04101814222632173c321620141f173a1c1017343c14121e141c181a321414043701373e3622131c04101814322632173c321624141c341c140f1710123a043c3210341c140c3a14240416123c14121e141e61143c1c140404136504041f2d1c141717140d1b241c041f17621f3838613b3a3d1404221716651d1d2c63201c303c1017111414191414202d14041011332c181404311414342c1c141f14143214101213650414231414146214002232141012176504143a14141467143e323214101d1c14123a3c17001017363e1d341d1010171c141c3a14320404370714021c040c32141614101b321c141c1417171a673a3c1716141004046532173c14131c14140419161410343c1c121c141c04052c101d1c14171710123a3c1706141610146d321716141d1c140c3214101032343c1c101c1417171d123a321410100c343c1413101914171c140004113c14171c140432141632161d1614141e141c0c1c141c32142d17021c04103214101d0414123a3e14161417166d65171404137a1c2217171812263c170604141c14003214010c161e141f141c141c3a14320717140d131317101432141614171c141c32142c14101c14143a1432143a143d32071732143d14322217162c141304073d241c321432143d14051c1414043f32103d140614141014611604161410171014321700100c343c141710102618140426321700100c343c141710103a191c1400321700100c343d17141b321c04146514321706141304073d24101261671432323217001004343c141304043d24101326100416141304063d241c14031710123a3c141632161416221414171161143c1414101f3617111410131c14003a143c323d143c141304073d2410143a34162226191c14031718123a3e14161416167a1c161404137a1c22171761141f271c32143e141614141c141c67142114161c14143214010c1667141c3214101d0414023a04100610121c14171710123a3c143c141110146d32143d14620430110414101d636514143214101d3214023a040c2c14161014613214101d1414023a0410061c111c141804102d14181c141432146510141014263c14010c1623141032141614161b321c181c14171714110c1616141b14143e143214101d0c14383a3214101d0414383a041b3e001b141614141e141e6d1406141110143e321402251217101432142d141f1c041c32142c141110143917140d0404111614111c141804102d14181c141432143c141104041404162c1c17343f0c16231410191c14171767141f2410161317101614171c141717231413241c14171716122517141614121c14171710123a3214101018343c141404301417343d1619140465141c14171767141f241016003411141019162c14111c14143a142722171c14132710142232142d141b1c041c04133c10171c14143217010c16141614161c14103214171117143e1017072207141c14071717110c161414263214101d0c14383a3214101d0414383a041e1407141c1404321716321614101016363f0c16141426321416321667141c3d1406141110143a341c140c04163d3a3214101d3214383a3e14161417166c1c111404137e1c22171732141b271c32143e141614141c141c67142314161c14143214010c167e141c3214101d0c14023a32142c141404331417343c141404302217343c141404303217343d11001406141404363217343d14071c32103214071401101422321416141704041404162c1c161b321910140614141c1417171c123a67143d2232141010141b321c0c1c14171714013a14132c1414043600141a321402146514160416141404333216343c141404331416343d1467070465141c14143a142604171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b3219101404263214101d6114383a041c061414040731241c14171713383a32143c141404360417343c14141e141926140614141e14193a1406141404313217343c1414040617241c1417171d123a321410100c343c141404331417343d1101140465141c1417177e141f24101600341114101916221f141c141717671413241014391311041432141665141365001b141614141e141c361c32183214101032343821173b22131e1104143214161411040407241b321c361c1418321416321612110c1614142632141614161c14143a142604171c14040422221c3214163e11141610121c14003214163e1116113611161614131c140c661422143214101d0c14023a3214101032343c14141e141c361c1404041906141404333216343c141404331416343d143a17101432171614101e141c1404041f2c1b321c14162c14141e141961143c10161c141004163d3a3214101d0c14023a04163d3a321410121414673a3e14161416166226111416181404331416342c1c141f141432141614161b321932143c14141c141067142032161c1417172c1413241c14183214101d3214023a3214101d3614023a3214101d0c14023a04641410321410126114023a0410061c171c141004102d14181c141432140010141014263c143f0c162114103214161414040717241b321c181c14171714110c1616161414040410631414363214101d1314113a1417321b14143e143214101d3a14383a3214101d3214383a041b3e001b141614141e141e651406141710143e3214382512171014321407141f1c0418321406141710143917140d0404111614171c141004102d14181c141432142c141704041404162c1c16343f0c16211410191c14171763141f24101610321410101d343c141404040f241c141c321410126514023a321416321666141032141632166714103214101d1c14023a3214101004343c141404042d241c14171716123a3214101d3214023a046522101b1416141404303216343d143912322217162226160416141404363217343d141f070465141c14142114143113110414321416321611161c111c14171710122527040f6d17063265141c14143214651010343f0c16111614111c14143a14323267143214191c140032143c14141e141e6514061410101804161a0418141c1417172c1413241c14171710123a3214163216111614101016653214101d3a14383a3214101d3214383a041e1407141c1404321716321614101016363f0c16141426321416321663141c3d143c141710143a341c1417172c14132410143a341c1417176d141f241f141432143220621422143f14101d221438263c141604141c141432143f0c1661141c32141614171b32193a143c141404363217343c14111c141717611413241c141717661413241c14171767141324101b04171c141717201413241017103c1406141710171804111614141c141317141714191c321c67142704171c14143214101004343f0c16111614140404146714323232141010171a32141d1c1417172d04146314140c1104141f141c14171763141f241c14171761141f2410110f131104143214163216211410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714270417162c141404303216343d143d1c14171717673a3214101012343c14161c141717211413241c14143a142122171c14143a142132171c1417172c1413241c14171710123a3214101018343c141404043d241c14171761141324101b18171104143214101d3a14383a041f073a1814042619143e143214101d1c14023a041600001b141614141904141d070465141c14143a1432223c142c1414040717243465123314003a1b141614141c141b1717123a6714322232142c14141e141c1c1b321c14162c14131c141c32141632162114103217171113143f32161416141404363217343c1414040717241c14143a14322232171714211c14171763141f241c14171761141f2410163210041614101c14043a14321717143b1c67143214191c14143a142032161c041c321407141e123c141404363217343d141e123c141404331416343c04141c141c193b041817143b6d3f14101d321438263c141604141c141432143f0c1665141c32141614171b32190c143c14111013223d173c14111c14171761141324101f3e171c04363214101d0414023a32142c141404362216343d160c1406141404361417343d14071c32103214071401101422321416141704041404162c1c161b321e6d140614141c14171710123a6714322232141010141b321c1c146514160416141404313216343c141404311416343d1467070465141c14143a142722171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b321e6d1404263214101d0c14383a041c0614121c141c321410126d14023a321410101c343c14141e141918143c141404311417343c1414040717241c14171711123a32172d1619140465141c14171767141f24101600341114101916221f141c1417176514132410143913110414321416321611161c111c14171710122527040f6d17063265141c14143214651010343f0c16111614111c14143a14323267143214191c140032143c14141e141e6d140614101c140c042d321c661422143214101d0414023a3214101004343c14141e141c181c1404041906141404313216343c141404311416343d143a17101432171614101e141c1404041f2c1b321c14162c14141e14190c143c10161c141004163d3a3214101d0414023a04163d3a3214101d3214383a3e141614161660651114041f7a1c22171761141f271c32143e141614141c141c67142114161c14143214010c1667141c32142d17361c040c32142c141404301417343d160f1406101d1c141717651413241c14183214101d1814383a043814103214101d1414023a0410061c171c141004102d14181c141432140010141014263c143f0c162314103214161414040717241b321c181c14171714110c1616141b14143e143214101d0c14383a3214101d0414383a041b3e001b141614141e141e6d1406141710143e3214382512171014321407141f1c0418321406141710143917140d0404111614171c141004102d14181c141432142c141704041404162c1c16343f0c16231410191c14171767141f2410161032173c14161c141717231413241c14171716123a32141632162f141c3214101d0414023a3214101004343c141404042d241c1436043c22101b1416141404313216343d143912322217162226160416141404311417343d141f070465141c14143a1432223c142c1414040717243465123314003a1b141614141c141b1717123a6714322232142c14141e141c1c1b321c14162c14131c141c3214163216231410321716141210183e161a2210141c141717651413241c14171710123a3214163216111614101016653214101d0c14383a3214101d0414383a041e1407141c1404321716321614101016363f0c16141426321416321667141c3d143c141710143a341c1417176514132410143a341c14171761141f241f1414321432203114221016332c181404301416342c1c141f141432141614161b321904143c14141c141067142132161c1418040d1610121c14183214101d3214023a043804103d172c141404311417343c14111c1417172f141f24101f32171c141717221413241017103c1406141710171804111614141c141317141714191c321c67142722171c14143214101004343f0c1611161414040414671432321104141f141c14171767141f241c14171765141f2410110f131104143214163216231410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714272217162c141404313216343d143d1c140c32143c141404372217343c141404043d241c14143a142622161c141717651413241c14171710123a3214101018343c141d101c26171104143214101d0c14383a041f073a1814042619143e143214101d0414023a041600001b141614141e141c181c32183214101004343821173b22131e1104143214161411040407241b321c181c1418321416321616110c1614142632170614161c14143a142722171c140432173d111e143f36111416141404311417343c1414040717241c14143a14322232171714211c14171767141f241c14171765141f2410163210041614101c14043a14321717143b1c67143214191c14143a142132161c041c321407141e123c141404311417343d141e123c141404301416343c04141c141c193b041817143b6d3f14101d321438263c141604141c141432143f0c1665141c32141614171b32190c143c14111013223d173c14111c14171761141324101f3e171c04363214101d0414023a32142c141404362216343d160c1406141404361417343d14071c32103214071401101422321416141704041404162c1c161b321e6d140614141c14171710123a6714322232141010141b321c1c146514160416141404313216343c141404311416343d1467070465141c14143a142722171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b321e6d1404263214101d0c14383a041c0614121c141c321410126d14023a321410101c343c14141e141918143c141404311417343c1414040717241c14171711123a32172d1619140465141c14171767141f24101600341114101916221f141c1417176514132410143913110414321416321611161c111c14171710122527040f6d17063265141c14143214651010343f0c16111614111c14143a14323267143214191c140032143c14141e141e6d140614101c140c042c221c671432143214101d0414023a3214101004343c14141e141c181c1404041906141404313216343c141404311416343d143a17101432171614101e141c1404041f2c1b321c14162c14141e14190c143c10161c141004163d3a3214101d0414023a04163d3a3214101d3214383a3e14161416167e22171404137a1c2217171c12263c173c04141c140c3214010c1612141f141c14183a14320717140d131317101432173e137a1b321c141c140c32141614171c141c32142c14101c140c3214163216141632161017101314161c171b321c0c143e141604141f141c140c3a1432141a1432141714322632170010141a321414111418191c14031714013a1414142216162c14130404106314141432171010101b321c14111410191c140c32142d14051c140c041a2c10171c140c04113c14121c141804112c1412101c22171c041432173d141a1c140c32141717191c140f17111d1c321417171e1c140032173e100c343c1c111c141c32173c14111c1410321710101710191c171c140f121a3214141c140c3a143d323d14041b141c141b1711122604163c1c111c140f1d11041419162c1412040617241f1414321404232c14321017332c1814040f1416342c1c141f141432141614161b321e14143c14141c141067143a32161c141717651413241017103d173c1414040717241c321c32142d14051c141c04183e1d32651417177e2114141c1417176114132410126d32143d141a1c141717221413241017103c142c141110171804111614141c141b17141714191c321067142722171c141432143f0c1611161414040414671432321104141f141c1417173c141f241c14171732141f2410111313110414321416321623141032142d141f1c141324073207141c141804160610161c141832142d141f0404136510142232142c141110171804111614141c141c32146510141014263c14023a6714272217162c1414040c3216343d1433040714321406141404372217343c141404043d2404041432173c1414040717241c14171711123a3214101d3214023a043f04101b14161414040c3216343d143c1232221716222632142c14141e141e6d14061417342d14181c1418041106101610170c3d140614141c14006714321432143c14171c14140422041f17140036100416141004040467143214191c1417173c141f241c14171732141f2410160c10041614101c14043a14321717143b1c67143214191c14143a143a32161c041032142d141e123c141210143a341c1417173e141f241f1414321404230614221017333c181404341416342c1c141f141432141614161b321e04143c14141c141067142532161c141717611413241c14183214101d2214023a3214101d2314023a3214101d2014023a046422103214101d0414023a0410061c171c141004102d14181c141432140010141014263c143f0c162f14103214161414040617241b321c361c14171714110c1612161414040410631417363214101d1314113a1413321b14143e14321410120c14383a321410120414383a041800001b141614141e1419181406141710143e3214382512171014321407141f1c0418321406141710143917140d0404111614171c141004102d14181c141432142c141704041404162c1c16343f0c162f1410191c14171738141f2410176d321410100d343c141404070f241c141c3214101d1814023a321416221462221032141622146232103214101d3214023a3214101032343c141404072d241c14171712123a3214101d2214023a046432101b14161414040f3216343d143c12322217162226160416141404301417343d141f070465141c1414211417311311041432141632161d161c111c1417171c122527040f6d17063265141c14143214651010343f0c161d1614111c14143a143d3267143214191c141432143c14141e14191814061410101818161c1414251422143d173c14131c1414251422326614223232170614121b2218141c141717611413241c1417171c123a32141632161d161410101665321410120c14383a321410120414383a041f3207141c1404321716321614101016363f0c16141426321416321638141c3d143c141710143a341c1417176114132410143a341c1417173a141f241f141432143220621422143f141012041438263c141604141c141432143f0c1632141c32141614171b321e1c143c141404311417343c14111c141717611413241c141717662213241c14171766321324101b36171c141717221413241017103c1406141710171804111614141c141317141714191c321c67142722171c14143214101004343f0c16111614140404146714323232141010171a32141d1c1417172d04146314140c1104141f141c1417173c141f241c14171732141f24101113131104143214163216231410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714272217162c1414040c3216343d14331c14171717673a3214101012343c14161c141717231413241c141426141b6d171c141426141b61171c141717651413241c14171710123a3214101018343c141404043d241c14171761141324101b0c17110414321410121c14383a041c3d3a1814042619143e143214101d0414023a041600001b141614141904141d070465141c14143a1432223c142c1414040717243465123314003a1b141614141c141b1717123a6714322232142c14141e141c1c1b321c14162c14131c141c32141632162314103217171110143f3e111416141404311417343c1414040717241c14143a14322232171714211c1417173c141f241c14171732141f2410160c10041614101c14043a14321717143b1c67143214191c14143a143a32161c041c321407141e123c141404311417343d141e123c1414040f1416343c04141c141c19202218141c2217173e141f271c32143e141614141c141c67143a14161c14143214010c163c141c3214101d0414023a32142c141404301417343c141404316d17343c141404316117343d110d1406141404361417343d14071c32103214071401101422321416141704041404162c1c161b321e6d140614141c14171710123a6714322232141010141b321c1c1c14171714013a14172c1414043600141a3214121465141604161414040c3216343c1414040c1416343d142d070465141c14143a142722171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b321e6d140426321410121c14383a041d2c1414040431241c14171717383a32143c141404372217343c14141914113314061414191411301406141404311417343c1414040717241c14171711123a321410101c343c141404301417343d1102140465141c1417173c141f2410161c341114101916221f141c141717651413241014391311041432141665141765001b141614141e141c181c32183214101004343821173b22131e1104143214161411040407241b321c181c1418321416321616110c1614142632170614161c14143a142722171c1404042d041c611432143214101d0414023a3214101004343c14141e141c181c14040419061414040c3216343c1414040c1416343d143817101432171614101e141c1404041f2c1b321c14162c14141e141e1c143c10161c141004163d3a3214101d0414023a04163d3a321410120414383a3e1416141616601c111404137a1c2217173e141f271c32143e141614141c141c67143a14161c14143214010c163c141c32142d17361c040c3214101d0414023a32142c141404336d17343d16341406141404361417343d14071c32103214071401101422321416141704041404162c1c161b321e6d140614141c14171710123a6714322232141010141b321c1c1465141604161414040c3216343c1414040c1416343d142d070465141c14143a142722171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b321e6d140426321410121c14383a041d2c14121c141c321410126d14023a321410101c343c14141914117a1406141404311417343c1414040717241c14171711122517611b1414101c6517110414321410121c14383a041c3d3a1814042619143e143214101d0414023a041600001b141614141e141c181c32183214101004343821173b22131e1104143214161411040407241b321c181c1418321416321616110c1614142632170614161c14143a142722171c140432173d1112143f36111416141404311417343c1414040717241c14143a14322232171714211c1417173c141f241c14171732141f2410160c10041614101c14043a14321717143b1c67143214191c14143a143a32161c041c321407141e123c141404311417343d141e123c1414040f1416343c04141c141c191f0414321416321617173a32141614141e141c100437037a36010c16171614141c14143a14320717161d1c67143204321414200614221017332c1814040f1416342c1c141f141432141614161b321e14143c14141c141067143a32161c1418040d1610121c141717651413241c14183214101d7a14023a043832103214101d1414023a0410061c171c141004102d14181c141432140010141014263c143f0c162314103214161414040717241b321c181c14171714110c1616141b14143e14321410121c14383a321410121414383a041800001b141614141e141e6d1406141710143e3214382512171014321407141f1c0418321406141710143917140d0404111614171c141004102d14181c141432142c141704041404162c1c16343f0c16231410191c1417173c141f2410176d32173c14161c141717231413241c14171716123a32141622147a22103214101d0414023a3214101004343c141404042d24043011041417161b140465141c1417173c141f2410161c341114101916221f141c1417176514132410143913110414321416321611161c111c14171710122527040f6d17063265141c14143214651010343f0c16111614111c14143a14323267143214191c140032143c14141e141e6d140614101c140c042c041c621404143214101d0414023a3214101004343c14141e141c181c14040419061414040c3216343c1414040c1416343d143817101432171614101e141c1404041f2c1b321c14162c14141e141e1c143c10161c141004163d3a3214101d0414023a04163d3a321410120414383a3e1416141616601c111404137a1c2217173e141f271c32143e141614141c141c67143a14161c14143214010c163c141c32142d17361c040c3214101d0414023a32142c141404336d17343d16341406141404361417343d14071c32103214071401101422321416141704041404162c1c161b321e6d140614141c14171710123a6714322232141010141b321c1c1465141604161414040c3216343c1414040c1416343d142d070465141c14143a142722171c14100416061416343e0c100416141710143e3d142c14171c14100416001017311714181c1410321407140110142232141614111c141317141714191c321f241b321e6d140426321410121c14383a041d2c14121c141c321410126d14023a321410101c343c14141914117a1406141404311417343c1414040717241c14171711122517611b1414101c6517110414321410121c14383a041c3d3a1814042619143e143214101d0414023a041600001b141614141e141c181c32183214101004343821173b22131e1104143214161411040407241b321c181c1418321416321616110c1614142632170614161c14143a142722171c140432173d111e143f36111416141404311417343c1414040717241c14143a14322232171714211c1417173c141f241c14171732141f2410160c10041614101c14043a14321717143b1c67143214191c14143a143a32161c041c321407141e123c141404311417343d141e123c1414040f1416343c04141c141c193e321817140d6d3f141012041438263c141604141c141432143f0c1632141c32141614171b321e1c143c14111013223d173c141404311417343c14111c1417177a221324101f3a171c141717221413241017103c1406141710171804111614141c141317141714191c321c67142722171c14143214101004343f0c1611161414040414671432321104141f141c1417173c141f241c14171732141f24101113131104143214163216231410321407141f1c141f24073207141c141004160610111c1410321407141f04041365101422321406141710171804111614141c141832140010141014263c14383a6714272217162c1414040c3216343d14331c140c32143c141404372217343c141404043d241c14142614056d171c141717651413241c14171710123a3214101018343e1d32651414043f04101b14161414040c3216343d143c12322217162226160416141404311417343d141f070465141c14143a1432223c142c1414040717243465123314003a1b141614141c141b1717123a6714322232142c14141e141c1c1b321c14162c14131c141c32141632162314103217161412101826161b321c141c141717651413241c14171710123a321416321611161410101665321410121c14383a321410121414383a041f3207141c1404321716321614101016363f0c1614142632141632163c141c3d143c141710143a341c1417176514132410143a341c1417173e141f241f141432143223031704101c332c181404311417342c1c121f141432142d140f1c043632173c14161b321e6d140614121c143667142732170437302538200f6d04303b666d231f601c14031710100c3704303b666d231f601c141b171c100c371c042632173e1032343c1018146517172c2333386c221c3d14321b14143e141604141f14143e141604141f14143e141604161416043723012437176c011407141c141f1732261a3a3f3b2d1817101432143e1d3b7e1c306030100c1b143c1416043106667e261761073265131c141f176333332c6d3b391d11042517326d1a3a3f3b223d143e10141c04361816322632143e121122633c1a33100c1b172c1416040c63132620076d073265131c141f1721633834603b2d1d11043e32173c141204343217343c1c161b321914140614121e14191414073a32143c14121e141e6114071700123e121a3d37193e331610160404143d1614221f162c1416040c3816211a6116063265171c141f17231b1a25261d641211041c32143e1d0661622c06143e0c1b170614160430027a7e1f6d160722651c1c140f172414132410143a341c140c3a14261417123221173c3a1e6562321c3d1432221d162c14160436276660233616072207141c141f17252633032532071211040c32143e121e32270120143e361b172c14121e141e61140714041c140f17651413241f141405162c14121c143a6714260417043106667e26176104372f012437176c1c140c3a142604171c141b1c122c101611140c1904360617140614131b321c141c141432140614101c140c3a142732171c14180460321032162c1016111400191c140c3a142732171c140c3a14260417343c14121e141e6d140614121e14191014023a211414146314141432173c32162d14131714023a3d16322213162c14121c143267142632170431193f231f1c160430027a7e1f6d161c140c3a142632171c14031c122c1016111418191c140f1712123a3c11071118143c10161c14220422321c3d1616141204043d241c323e32173e123a14023a32173c32162c141317140d040422141c321616141f101965161c143e04163d3a321106141f100565161c140c3a142632170434161714023a32173c321616113a1414161416101c3a17123c14121e14191c14001017343c101c040c63132620076d1c041c1814322632173c141d1b321918140012382d6c023817101d3b7e1c3060301614121e141918140614130617263d14322217162c14121e14191814001232320413241c140c3a142732171c140c3a14262217343c651414113a14141614121e14191814001017343c101d040c0511241c606d1c041c18141426141622141962141017140d6d3f14101032342c1c121f141432173c14171b321c0c143e1432142c3216171010173600001004161412040d6d6714321432173c14141c141032143c14111c140432173c14141e141c141e141c04100400141c321067143d321604141f14143e1432173c32161414611614141016162c1413040414631414141814222632170010171a32141411141c191c14031714013a1414161410040404671432141814042632173c141110146d32173d142c1c041032173d141a1c140c32142d14051c140c043f32103d1416141210146132173c141410102632173e1018363c141410103a321706141204073d241c321832143c14121c141832140614100404100421141032173e0c6314141432173c3216121610171465143214651018342d141e1c321832173e361b141426191c140f171c123a3e1416141716651417140d6c171416101414666d32140614160732077a1c1414131c14103a143214321410101031123a3c14101214321c16143366103c1465100c313c1411363c1414362c10141c14131717123a3d14042217162226191222143f14101004342c1c171f141432141614161c1418042f321c3214001004343c041416640417143b6d1604141b141c141832171036100410137a1c04143214061416073265161c14103a1432143c170614111e141c141c320f1c11041c3217061412063207140404100517061411040407241c04183214001010343c101711141c19141426191c141032143e363d14142632141421141404137a0404143d14141b7a1c141032143e0c10332c141417061417191414141c141717171d07241c321717321c1614321d6c2d1c321b17121d0c3214661c32141d183d14161417040413241c04101814042619167a361714041b7a1c14171317101717221c10171e141c141c04143f14101032342c1c101f141717321c10171c14140423321c3c1704077a1c140432142c3e1414113611101614101c14182514143266142d3232143207141465143217061410040717241c14040425221032143e10041c141f1710103e371c041b17141610141465143214161417343c1c121c140c211414143214161410343c6514141d18631414143214101017343c1c141c141b1d110414191c141c321467263d143c14171c141b241c041317112c101414651416041614141c3218321710100434383a3c1416141419041414040413241c3214631414143214101d7a140d101b14161411040413271c041432142265171622263214326514162226321707140404041413040d6d19123c1410040617241f14140516651232320413172d1c10171e141c141c14183214061416101a0c17162d26141c2217171012263c140604141c141432143c1411100518161c14131710123a3e1414213014041b7a1c1410321716141134673a3d17041f1414651432142c141007220714040d6d3d141614171c141f1211041c321406221414161c121c1418261414143c1765321b143c14121c14311e1710171714046d131c141b1714023a3d142c1417040413241c0410181432261416222632143c1413072c1014162c141416633e171404077a1c14143a1439043c142c321617161c131c14143a143d0432141632161d161c12342c1c101c140432170026371c320410041614111e141c141c140c3217171716123c14111c14183a1432143217123a6714321432142c14111e141c101c1407271c320067143204191c14183a1432143d171614131c141c32143c1413062d263c170407141c1404321406141310101c341c141832142c321614161413343c1c101b321c141c141832142c321617161413342f0c1617142632171010141a3214141c1414321416321619161c171b321c361c14143214010c1613161416162c3e141c141032140632161410101d343e136136061c17040717241b321c141c14143214063e11141614171e04181c101b65171a0418141662040c142d1f7a140d2216333c181404371410342c1c191f141432166510141b321c26143e14321437653c12001c14002207140404103d10101d60123c10011c1412341c32126c1c073e181404263217101214101d1010041010171c0717177a173a3d1022221716651d7a123e1d63123c14100404132d1c3d14371c0718321010003d131426160416140f043a1614321c1614321c11617a221611043a1614321c1614321c11617a22170717101432141010321c141c3210101011343c1c111c1407177a7a6c62360714201c141432102c140410163a3214101d1d1d1012141d3c14130406172d1c32003704303a36040f0c301c1400371c14103214021c37040418041e3c141404061432143c14111c14071732181414362d14201c141c32142c14161c141b1e122c101f111410191c14211710123a3d10041f14143b6d16041614171c14211719123a0466041c3c140614173a161c170714141414141414141414140c3207141c142632162c321619161c12040413271b321c261c1403171c1d1c3c113e1d3d1410361b14042211162c14130406172c1c3260176104171211041c32162c32161916101e04040c32142c14110404171c12222217162c14191c140f171d02263c163f0c16191614170714141414141414141917173a3c101704040c32142c14110404171c1222263d11161419040117241c14211765141f241c142517141032371c32653d17221b141c143616332c14170714141414141414140517170c2c14170714141414141414141414140f3b1010041614172422221716651014162c1c111b321c141c14311717123a3d172c14171c141a613a000414141414140f36661b04341c3c14000414141414141414141414121c1b141426160416141e0404171817101432163c10111c14363d173c141b1c043218140426321106101c1c143a3d14221b141c141b171d0614110407641c122c1011143e143217651010342c1c121c143d1f110414321463653d123e1c141c073e11041614121c1739167a7a7a7a7a227e111c140c6414321432123a0f6d1c3d3e3212001e14391a23361461143c12001e14391a23361466606c05321c141c140f171712263c173c141c01226514162c140f252c1c12070465141c143d171712263c161614121b321c1416221b141c143232172c1c12060407141c140f171712263c172c32161410001b140426191c142632162c321619161411342c1c111b321c261c140c3d172c14110404171e11041419162c141804073924040439201c04363214651014061407141c14311714023a3d103c141a04300c14073c10031465171714161411342c1c1104043e321465101f0617263d16041f141c140c321610261004101214391a2336142c141f313c1002040d6d32160d07173366183d116510141c0418321616101d14651432172c14111c14363a1432143c132c141f31383a6714321432112c140d36061402371610111c14311717123a3c172c141206046514162c141c1e141c141c0436321465001b140614121c14186714321432173e1010343c1012111410191c14323a1432143d17222632162c14191e141c261c1439241c321867143c22321106141c1c14311304041f65343c1c1c1c1700371c323632103e101631123a32173c14121c14312704041f641c171f1e122c10121c141b171410321b141426190404143d14221f141c140c321610651b1416141b1c143d2704041f64040439261c041b17163c101d1c14323a1432143c1600101e060465141465143214651017343c10111c143e321765101e37161c1d0122651416222632111010141c141832113e1d3814100c37342c141a04303614073c14180404171d3602263c172c14121c14642704041f640404392604043927061407140404071725141c32163e10140617263216673a32176512142c1417241c3239171602653c116510163112251765176c271c042517163c101d1c143e321165101f3712263c1600101d01140714146514321765101e3716101d1c14391714023a3c1600101c07226514162226160416141e1e141c141c3d1c32103c141d373c1c031c143126342c1c1f0706141e040407241c326d32173e0f2d11041416041614030404132d070407140714141414141414141017111c04103217651214391a2336146536321616141e01661c1b1406141e04040727190414140404132d07046517166504171414141414141714042c1017166504141414141414141132056504141414141414141122056504141414141414141161052c14121c146c12126504141414141414141161052c141f1c143117140d0c3c11650c371c143e3211653e371c0732160416140011041432102c651414101021072265141c173c341c073232140f3a3d14042632163c14061c1439271c323e67143214321406140c3a1614170c0465141c143a32172c141f343c1c111b321c141c141b17321f012766141b05171014110416141e04041467143214321616141e040407271c3225191710143216101010342c1c1c04041467143214191c143a32163c321614101017343c1c111b321c141c141b177a60052766141b1911041419162c141b1c143d2704041f64040439261c041b17163c101d1c14323a1432143c1600101e060465141465143214651017343c10111c143e321765101e37161c1d0122651416222632163e1010343c1c1d1c140c32173c141d062d263d17322611041614121c3236321610653c160000100416141d040407271c320c3a143217131104101916221f141c1460176022171d171014321710101c3606101e111410191c141b1733661b17332c1418040410321117263c173c1411063c1411040d211e36061c1e122c1412343c1018040d6c17333c141e122c1413343c10131c140717161d103c16326514040d363d17321f141c143e1b1416141d040407271e141c141c32601311041717163c101f0404143d173c141a0404252211041411041614121c32251714023a3d173c141a1c1439171638223c160d1713110414191c1425173366183d17322632172c141b346510163100101f3716101f1c1403170d6613172d321712171017171416101e1c142232173c141f343e101f342c1c1204041432173e1014063d263c173c14121c142d1e122c1018111410190404143d163c14181c14183216023a32173825171602263c173e10141c140f1714103a371c320c32173c1418063d263d11142117332c101f1c142d177a337a7a7a2231177a237a7a7a223632163c1418363c1c1212653a1b140614181c140f171410363c1038251714023a3d11321f141c1403170d66103c13101d1214100c100416141104337a7a7a7a6d1d1c146027063265111c141b17141614110404171e122c1012111410191c171032142c141104076c641c320f241c140f2f27061407101c6d171c320f27040413181710141104161412040413271c320f1718113a14141614071c140f2704041f1c11041419162c141204041f271c326d3217013a141416141204041327040664171e2c14110404171c122f3a14141614071c146c271c320f177a7a7a7a7a2236321138211e11041c191c140c3211383a3c142c140404337a7a7a7a6d1d36653a1b1406141404061432143c14111c1717241c320032171714201c141432102c140410163a32141010221c141c3217061410040c1614171d180419321f14143e14160416140004360c14073207141c14211710123a3c173e101c363c10111c140f17160d1c3d163c141b1c1432321616141b062d263c1606101c14651432161100161416141e101c6d171c040c160416141c1c14391d17101432173c1419040717240104651714651432173e1017342c1c120401146314141432173c1419040717240622651416222217162c14121c14251d11041432166510221a32140c1c14183d17322632141614121c143a32173826041e3c141c040407241c3232321100651b14142117141610121c171f1311041c3214101d7e1d3e101710163a32111010140116141d1c143d1b3632651714651432161100161416141e101c6d171c320c3216651004343e261004141b141c140f171402263c173e10221a3214141c140c3216651004343e261b141426191c141432173c141804043e321110101f061726041e3c1418040439271c040c3216101010343c1c1c1c143105110418321110101f063c10111c140c3d111614111104141911141c19143e143211101014061465141c14363216101010343c141d1c143d19122c101f1c14211710123a3c1465101f363c101b1c141b17161d1c3d142c141c1c0436110416141b1c143664143214321107160514061c12073207141c14211718113a14121614111c040c19143e1432172c141c072207141c140c3216651004343e651b14041b141c140f171402263c173e10221a3214141c140c3216651004343e261b141426181404263214161412040410041e3c1412040413241c040f1714161418040417181c143a371104143214101d7e1d3e101710163a191c141432173c141b1c140f271c320c32111614121c142d1c122d14241c1422321738263d1116141d040407241c32363216006d1b140614180404171a11041419162c14140401143211101006343e100604041404193c14141c146d3210061405342d142411141c191c14223d17322632141010221c140f171602251716001014101661191c1417171c1614161c140032171012142214172f10166132143c14131c141c3217003a371c043e1814042632102c14130407256504076c640404392d343c1018143e14321465101906226514040422321467263d173e041414141414141414220416100c14651432121004141414141414141422041e1c3d12161412040413271c320c1b141426321116651414101021073207141c173232140f3a32121e1232383c1017111410191c141032121e1432121e103d14042632100614191e141c261c320c32173e103331061c12343c1412366365321007160514061c12073207141c14211718113a14112c141904046c241c040c191c171717143b1c3d163c14130406172d1c043232162c32161916101d1c140f171438263c1106141304046c241a3214141c140f1714022117190010271c143117141032371a3214141c140717161d103d173c1419040717241c0436110416141d1c320016332c141738000414141414141414113204021810041614172432221716651214321c16143014263c1765123218383a2114141432161d1c6314141717140614110404171e1c1410321762303d0714141414141414141117143a3c1c170714141414141414141414140c3b1c32173d21131c14031714023a3c172c1419040717243465101707661f1317101432170010201a3214171c14031714383a3d1722263214000414141414141414141414121c1b14142117332c101f0433667a7a7a6d1d1c143a321006141b342c1c13343c1c12342c1411061465141c1417171c1614161c140c1633221f141c141b1311041432172c141904071724342c1c1c04041f271c141b1a110414321465101634322217162c141d1c142117101225271c3232191c3231241c321832171714201c1414321116141e10163a32141010221c141c32142c1410040c1614171d1804193c14141c14211710123a32161714241c1417171816141d1c143d2704041717141714201c1414321106141310163a32141010321c141c32142c1410040c1114141d1804193c14161c141832143c1411063d263d160426321665122217123a3e1416141f16640417143b6d32140614141e141f001c321032140010141c141f1732141f241c3218046614103c17161417342c14111c1404371c321832143c14161c141b19122c1c1610101c341c14143214061411343c1c111b321f001c141432142f0c16161614141c14103214383a67143204321432261f14161414101a10171017141910221432141614141e141c1404042d271e141c14343d113c14042601141614141c14143a143217171112263a14321724101c3a1716223a141c1417171612260461321019163214321410101c342d161e14042634141614141c141032143c3e11161010141c1418321406321614163216101710021414261f14161414101b14171017141939141c16140d6d11333c14171e141c0c1c14103a143c2d1917101432140614171e141c0c1b321c2616651f7a1c0432160416141004073d2d1c3203131c14031712100c3214651017073b132c110414321406321619161c13171014321706141704061724101464272716101216221f14143e1416041614111132181614141011162c141004043d2d1710143214063216111614171e141c1c3463223d17222216162c14171e141c0c1c14103a143d07272716101d111410191c140c3d17222632143c141d33161c16043217011c141c321739032c110414321710101c36061011143e14321439141b1416141117101432140632161110001b14322632171010043600001b141614171e141c0c07046517162c141117101432140614171e141c1c1c14103a14323232142431241c14103a143c2204382210191c140717101d1010041614171c14103a143d0432140632161d171167143c14171c141e3b10050016162c14161c0432191c14143216171662140420111432101f332c1814040717271c32183e14141f7a1c141317332d1730070407141c14143a1432223d171614141e141c1c1c04003214163216121614141e141c3607320714040d6d3214166514181010043600001b143d3a3214163216121610121c14143a143d043d172c14141e141c261c043232141632161316101f1c1417171c123a3c143e1014101e10171c141c32143d140110142232141614161014653c163c141610143e3216383a046c321c32141614121c143127100500161c141432141632161316141c1c143927343f0c1619142632142c14141e141c0c040413241b321c181c14143214651018343c141404062d24101d0c3a14321467143c2232141665141810101c360407141c14143214101032343d141b1c321c32143c14101c140327343c14141e141c26101f2617162c14141c1410043b1410047a321c18140426321407112c1432263d14161411040717241f1414321414203214041017332c14141e141c0c1c14143a143c2d1917101432141614141e141c0c1b321c2616221f141c14143a143232321416321611106d1b14161417040d6d040d3207141c14143214163216161614141e141c18040413271c14143a143c2204382210321407112c14326d191c14142114111717101d13131710143214071636140614141e141c18040413271914141410136013110410191c14143214163216161614141e141c18040413271c14143a143c22043822103214071636140610161c14143a14322232143f3a1414161417112221173322213e141614141e141c0c1c14143a143c2d1917101432141614141e141c0c1b321c2616221f141c14142114111717161d13131104143214163216101614141e141c26060407141c14143214163216161614141e141c181c14143a143c2204382210191c14143a143222321416321610106d1b141614141e141c1819141414101200051665137a162236141c14143a1432321910221432141614141e141c1404042d271e141c14343d113f1404261e1416141404043d27101a1817162d18141c1414321416321614101018342c321614123a0420141019163214321410101c342d166114042601141614141c14143a143217171112263a1432172410053e16162d18141c1414321416321614101018342c321614123a0460141019160417172c1c101710143a34162d18141c1414321416321614101018342c321614123a043d22181910221432141614141e141c1404042d271e141c14343d11391404202114041010332c1814040717271c32003e14141b14143e1432143c1410011465141c14143a143d323c142c14141e141c361c320f051710143214161417191414141012003214163216141632161b1710161410137a073265171c14071714023a3d17161417040413241c0410131c140032173c1411342f0c16111614131c141c32171226671432323217001018343c141304043d2410193a171c04183214163216121614171c14183a1432143c142d17031c141432142c14141e141c0c343f0c16121614111c1407241c04043214061411343c1017162222171622263217001004343c04141c140419167a1f3c1c32171732143219262c02390c6705123d1d2d6d7e1f3966317e631b306623671133192c7a626427346c342d37677a3003180d133e03142218121411140410162402313b2f3b65271e640c0f7a23623b0c21330d2130342724656734313b37260736271e3f606716323d6c142c36381f3d66646c7e3d0d637e207a270203382c2c00311d3f3223226d052326273464170f6c0100267a673c3a397a2427636c1323602c361c7a303e25131a02363b193e026d1114386d1e66216600367a33663d27251a0105023a381f3e2d341b3f0f2604016d7a333219666c7a03052f182c110d110465340506392503106560300d0716051d2d7e0f1b2d36301f2f671b3c27002f102d0c3f6d0313063a181714041c0026331d3902003f1c650f30226d1a311e17320c181e1202393f36051704001e210f243419223e1d17226167103d1c3e38611614122f663c61216d38637e231b3406363b0126672c263b7e33310d0d2412223e1f10256311322d646519162d0c193d3a341b166537122f342c3738623662392534210520323a13236700391e3e0101266231381d026427331a26621b6c302c3e25003f623f616c642d192c6c3039610610107a030100630f3a653112601414141414162f21623613321c1617141d7a2f6d616d3c2d260d3b210264206723382524641037192c61660f2327603b062f3e603621601e0625010001102c0c63133d0c261027052f610327651b16621e207a232d300224243e6d027e7a23212d001b113d21311b010f2503182f1b38391c021310366c13070c3a047e333b2517321c16171c137a337a6222001316320711226d301924333b2c0d3f241e3d196d6413073a23633f3a646614041016143c3a7e05173467063e3f7e6d3b0f653d06113261361401646c331d3323192d3f2237346731660d3467246c3f1c061316181714041c17277a7a7e001a6d7a056c3731190623652f1b2f0c10001114220c1b0718011f3c7a266218053d0d647e7e3a25300d1b362d10071c3260132d3620036d01103e7a1e3b25640216333b626d072f656c30242d3e0f183f3b0d0367631e2d3e0f1825032f367e34320c121114381c1217123113050160607a661b2c3f0f3c1c3c071d61241e3906273e1f146232613c1c166d2512073a22256220621d65623c61342f220013163d606621633b6139603023176519162d0f67676c20211a7e113267640c2c1838071a1a3f25651d323a1e131b211f060f1c1e17320c183716043e061a07360d193d3122261e333721050123307e2627101a380c381910241f12071a34060339011066601a01013c6639606d3f193b606c03112c183c190201366637273121373124183f0c65170f1b0d0326311f1a01252f322434391f21122d26670525020324221d6c05012f1f3027242f636c390f36241a303b276563346320072d321c16171103202725233c1d3d616d126d391f00252c193c60361f1722361a0512382539331d2119072f00363712392c053a6318216d6631673d3b1d0765631610331d2f6231066520026619676c0c0c34193c2267133c3a3a053e1d172261101c7e053b2f102137032d24380f382f1b3d1c061f141314221812143337676c2d1c1a113d2c3f0c021d160d2f00643423390d03636204203739253e0c341213643f17220f3e3b1d076563200f63301f2f3f3d61313e017e053f2726603c0c1e2f180710061e6234023b06361b3b0f240c381a3f32303b391f042f2125203719061c301d3f2c063d6136031c1a3b252c003b1a2f3a337a030302243016323a001d2733666302053f1c22117e1e123d020c161f3c043e0d1104653467277e7a0f011d3860213312043e1e1020123d3a65181b17040c1e22380f3e25312c6521023d1005112d6219261917627a130700241b346220676563133d0c26001e336500031b39040d6211251736343939613b1a262127242f232d070f653324643f63271f1811616521037e3f14326c386467270f13672f1c3239011419647a1b3339016c33191e260214071100383f631b3c210039342631603b12623a393814622407301d147a39651631067a111023171832341a0d073a66127e311b2760647e05146002363e3d0d273038677a6739390639066711232101011c0d070c1e023b320600011c2c0c60243c361f64301d381a6c12267e021f3b3136373e3b213e7a3d233d30213c0517382716111f2111271a33073d1e66671a16180727390c111b073965037a006719323167062d3d1e6027202d2c32323363001e223f6002123d1c36173b6c070c7e1d371b6300217a3d62003c05013663233c143e212c03616d33612c242703020c1d1e1a202c146d1e64196025622d0c3439161133016d3a363a18191e39232c1a63343218160d1c1c02620626362f612406211d383b6d051c1d6d631d3c3400621b6c1b253964376113173d6c3c1b1b121e7a2437103b0318201b1e17036d631c2c610c3a133130236725113b26322220246267171417256c2d0d391004372766603c3c107e05043731392461130521641223300f1b210c64003e0403312d1d132364140c107a2d03040c1601623817380d633766022f101b143c0d30306702306c04203c223c1c201f172f3d371230333762263d600722256d3a303e05043b2f1f1d3a016114141414141c1a123214391c6206262c271d14071d3e602c02382f627a22626c033f3c13112d6203273f653b1a0665670f1b3e05163c12380d123f07031320371a3c61671f19133b163222056064300165253720211f6307382d21052d3616143a3c11360c02391931643a02123d1c3616272401612000243a18171161161c6d1d0736371032261b160463212d61232c20343c6719363c251d3d06131233130d01143164276223313830626c0c1d7e3f3b2c0c176c622f6436392f131a670f101b1d626202660c25046123362d3c051934052f212138052d60193f1e66111d0d101c033f043e143c392d1832103634103306071e3d33326c206c1c0718233820373410252d6526233b3d662f1819193662131e121131113f220d312613271827383739222433251c3917103c0f1a391d2d1c2f6d24173a7a6d1e110c191d64026260142f1c26311a060c331765013f0f7a24191e3f110c19641f3f05323302381e1b60632506341a216c243e2363657a601f656319146706301316372f136c240c3e0f7e03181c013f33373a201b3c040d2336601923022322611e7e32136733331f050434343e2164027e2f103c0d051a6038262c1e316c121717200c602f3a30622662672239611f2666651213392014373034621e3c3401611b3937250d383320377a24323f0523161d3863170d23670f233b2026616737652700160f7a24643b2c221e347e2c2511102d1c2f6d24181f06392d2617383a3f006623106065252624167a1911043e1a1403671e362f062532106d3333346210101a0018647a197a340713616602010d0f1b261a6c11031067242f1b6d103920013f2131123012613d24011932331918137a00020312171a25303b0365643f14132f311c3363193e10197e643a310f621b066521200618640c0463071b1d643867180c31303430322c3d1b6161007e13381f05170527623c30252f3f0d1f0c37332160072f3d0519131d30393b336525227a367a1f033036610012196d662d6605242f3331010263276c0d2d072305317e126765076132331a232c3f621034193e261b1604610d65163f223b19111d070c181f301e6d3c653e6d1e10120311336c2d1434326066271818161f2f3e211b3c0422030f3e0c0c011930661667182103650d122d1c0439306165131c1f342100221b2400612365163f3b3a1d2f647a216d612f3816382c7a7a3d2f061a0465011066203b19031d2000182437161c2f6620011f001904232711013232203a020c3a6706062c3139203c060267196506032c7e050f3e3d383c0c1321063e0d182d310f373406371d171c000566212031253013000f0d256167313d1f110c24221618231b181e6c7e070c17373c2f07043704191763052c3f6d051426122323041817106125271a25100704006c3b661a240d6d267a1a6d190138366034263116193b2701021361233e6663172d646667601d6d07252d1d063b133c027e660c326324121961377a130c7e066d370630061634676d117e301864346c177a3124111a1c176d362d26071c040206301462136c32000d7e251237031e1106663930257e012c0f2f233a1a1462013461246c37111c6362266d32641a0f0c073627171d6363316c0c3861023e000c64003d111d65171432041c10161714321726673402603834026025311d3e140738033c363b033d363b3e14063813203102132c3004171e31022d601413073a310d1f2f0f121360141307640f0d1b3e0c0d3e140367033e3738032f0f12136014131b3d311d032c0f12136014131b643738073d3004171b3767603e0c0d3e14073b1f250f1213601410643d3004143937066d390f166d39300414211e2c14321c11170c181d32141901170c1e2f170c1c11170c190117611e2f17611c1117611410602331321700341d0014040d033b310d1b6514106c3f311417010c0d0414040d172c141d0f390c660723363217050c6607230c38032c14106023313803210c38032c14131b39361d073937021f39363217100f021b3937021f393632172537661b330c38132f0f013a630c672d390c0d1c140102132c14131b393614143906013a3901013a39002c14393614170131026114063b0320141d1b650f113a630f0d3d3f0f0d176534026c2014136c330c663d3d0d6731640c0d1f3e0d67133f360d0325363800320f1203650f021b650f0204323638033f310d1f2f340d0f391c123920340d07250c022d253038136534026c2014106423373217200c02611406381320141025643714172637141717361d1f253714171236383e140102132c0c673214040d033b141239200f321439193f17180f32143901120c140c022d2637671b3d31126c2c0513047e1a3f253d37122d230c6713650f063d2f340d25390d660432373c3e321f67613b1c1203610c6703390f1d183237021361340264643706172f310d172237661f650f020432366739630f041765363b0339141307640f0417380c022d2f0f04171e31026039141331390f1417100f0218140738033c1416033d1c16033c1c16033e1c16031c1a3c031b1a3c03011c16030f141317050065390c1416031c1a3c031b1a3c03011410601701321704010417170104171804646c17011022140110131a0722171f013e0c140422142218011c2f1b1100671b2f32601410182003030712190132140c0d17220d660c2c141d31390c396c6718321717043e1b1007000f1d0610391e06652d1b013e6c0400031f010313030203643d0f0238133c0c6707390f38313a34022527371264203766172d363b1b65310d0f66301d39631811102c182f04641b3f36611a062623141661141e1260643712222514131764363800323138392c311d033d371617383102603f31123923373c173f0c022d260f02043d1413213a07002036247e601d2c32016517041414141414141414173a100414141714141414140014141414121414141417221414141432141414141f14141414163214141414261414141418141414141104141414146114141414051414141410141414141710141414141c1414141414141414141e140714141406141414141022141414053f7a7a7a7a617a7a7a7a3a1710141417041414141403141414141417141414170404141414101414141414141414141a320714141402141414141322141414052f7a7a7a7a6d7a7a7a7a63171014141732141414140f141414141817141414100404141414181414141414141414141c140614141434141414141222141414140414141411617a7a7a7a32171c141417221414141431141414146c057a7a7a7a017a7a7a7e14103214141d32141414176d14141417321014141411171c1414161406141414651032141406171c14141c3204141417651014141414141414141a040614141432141414141c04141414140c141414141d141414141c321414141618141414141e1414141416221414141422141414143e14141414113214141416001414141404141414141f321414141414141414143a100414141f221414141632141414171a0066042f0d646d2c1a021f3d3667393f0d6739233665393f01391b331801133f3412132c0d66072c0c0239653665393f07000313070414141417327a1414116d10141414021704141410600131111b330d2f1c2d1b021f3d3667393f0d661b653638033d37021f640f3e393f01391b331801133f3412132c0d66072c0c0239653665393f070003130704141414141122053214141b1710141410600131111b330d2f1c2d18671f3d3667393f0d67392f311d1f390c02641f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c65031307000014141d047a141417221004141414141414141410141414143a10041414147a017a7a65600131111b330d2f1c2d18671f3d3667393f0d676c2f311d1f390c02641f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c65031307000014141d047a141416611004141414141414141410141414143a10041414147a017a7a22221414141414141414143a17101414171c1414141401141414146c057a7a7a7a017a7a7a7e32100414141314141414170014141414101414141414141414141a320714141402141414141322141414052f7a7a7a7a6d7a7a7a7a63171014141732141414140f1414141401391b6518646c33183f10650c38132f34021b3334026c2f311d1f390c02641f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c6503130700001431116d1414131406141414111414141414321414141e140714141416141414146317101414141c1c1414171a0066042f0d646d2c1801033c0c0d1b250c646c2f311d1f253738313c31020f1f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c65031301391b331a02132637126c3f0c0d0723363e393f07000313070414141417327a1414163210321414341710141410141414141414141414141e17041414163e1414141424141414141a14141414053f7a7a7a6d3a131414141e22141414162214141411147a7a7a7a22057a7a7a2c32001414142114141414193214141405220614141732102214143b17181414191401141411101022141467171814141c320114141765102214141f17181414171401141417141414141414141414141c140614141434141414141222141414113214141411617a7a7a7a32171c1414172214141414311414141422057a7a7a6d117a7a7a7e14103214141d32141414176d14141417141414141414141414141e14071414140614141414102214141418117a7a7a7a147a7a7a7a3a1710141417041414141403141414141a141414141414141414113a1004141413321414141736141414111c7a7a7a7a2c057a7a7a7e32071414140c14141414120414141410600131111b330d2f1c2d1a121f3d3667393f0d661b65363839200f661b653638033d3700393f01391b331801133f3412132c0d66072c0c0239653665393f0700031a00646d600c022d2637671b3d31126c2c06021b1307000313141414141417327a141411321022141432171c14141414141414170c1314141419221414141114141414171a0066042f0d646d2c1a12392336646c3c0c0d1b39070414141405147e1414171013141414650d0630141330312306241436131c057a7a6d7e1f223a141414173e14141414631418141417143b141416323d32101404101c05141c1602381414146133001312141414141100141414172d14141414347a7a7a7a6d62627a7a7e06237a7a7a14141414141414141414117a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a14141016142204131732361c16337a7a7a7a7a7a7a7a6d1e1622221b11326d0410071c0113170002132d320f123d26361d0761331c16103c1c7a7a7a7a7a7a7a7a223a191114651a112d1407103d180013070c0d12173e34122d22311d3d6d321c061c3f7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a2214171432041d14220c13141414141414141414141c1414181411141411141714141422140014141814121414111417221414221432141418141f141411141632141422142614141814181414111411041414221461141418140514141114101414142217101414181406141411141022141422170414141814031414111413321414221736141418140c141411141204141422173a1414181437141411141d1414142217651414181430141411141d221414221414141419181714141111143214142222181414181810141411111704141422220c141418181d141411111614141422223e141418181e1414111116221414222222141418181b141411011132141422226d141418181414142c621404141822221c141118181114142f11171414186722141414141130103206031414141414057a7a7a7a7a7a7a7a7a7a7a7a7a7a7a6014021414140014141414042c600303100c211a1417176116651914240402141012141932211d01101b330464070f001000141414141401101b330139031b07031f1f0422141401101b330310391b070414141414141401101b3304656c18011013000704141401101b3301006c1a0703071700393e1401101b33010003010065131d07031814043114201665100f14143a1412073e0f1414141414140014141414141414141f1414141414142614141414141414141414173e1410043a0f12073e11163236141404141f162d321414143e1216221414162214121204141414173e0f120417173a066d191c046114141414141414141414173e141632650f12073e14110414141432141f1132141414143e141132141411321717672c6d191404221404303623162d000114141414141718141414141416042214141414141414221414142214040f0022162210041410123d1814260311221414141404051414141414143e0414141414141414041414140414101d051814261710321717672f14191d3d101414141414100414141414141f103214141414141410321414103214141232141414173a34123217173e3f1019113d3a1414141434123d3a14141414141414141f14101d1118042617131417172f2f10191307361414141414132214141414141f131414141414141413141414131417177a01101914070c14040c3e2c162c3e0314141414141700141414141416070c141414141414170c1414170c141411142d183f18651b010c661a113917043e1b1007000f1412321717221104197a22101614141c141432141614141c141432141614141c14143214111c141c32143c14161c141c321432141614141c141432141614141c141432141614141c141432141614141c141432141614141c141432141614141c14140214102214011417181410221401141718141022140114171814102214011417181410221401141718141c67143f0c161b321c67143f0c161b321c67143f0c161b321c6714011417181410221401141718141022140114161b001c64043f03161b001c64043f031618001c2d043f131618001c2d043f131618001c2d043f131618001c2d043f131618001c2d043f131618001c2d043f131618001c2d04011417181410221401141718141022143f02161b0c1c64323f02161b0c1c64323f1216180c1c2d323f1216180c1c2d323f1216180c1c2d323f1216180c1c2d323f1216180c1c2d323f1216180c1c2d323f1216180c10221401141718141022141c140436146116221f041d321717641122197e04181714141414143214141414181414141410141414141704141414140c141414141d141414141614141414143e141414141e1414141416221414141422141414141b141414141132141414146d1414141404141414141004141414171c1414141401141414141314141414170014141414021414141413221414141732141414140f14141414123214141417261414141436141414141d0414141417611414141433141414141c141414141610141414143c141414141c2214141416041414141439141414141f321414141636141414143a141414141e04141414163a1414141427141414141914141414166514141414201414141419221414141114141414142d14141414183214141411181414141465141414141b04141414110c1414141466141414141a14141414113e1414141463141414141a221414141122141414146c141414140532141414116d1414141714141414140404141414101c1414141711141414140714141414100014141417121414141407221414141032141414171f141414140632141414102614141417181414141401041414141061141414170514141414001414141413101414141706141414140022141414130414141417031414141403321414141336141414170c141414140204141414133a1414141737141414140d1414141413651414141730141414140d221414141214141414171714141414043214141410181414141710141414140704141414100c141414171d141414140614141414103e141414171e1414141406221414141022141414171b141414140132141414106d1414141704141414140004141414131c1414141701141414140314141414130014141417021414141403221414141332141414170f1414141402321414141d26141414176d1414141433041414141d61141414177a14101d042d1414191438143e14101d3e2c1414197e04181714141414143214141414181414141410141414141704141414140c141414141d141414141614141414143e141414141e1414141416221414141422141414141b141414141132141414146d1414141404141414141004141414171c1414141401141414141314141414170014141414021414141413221414141732141414140f14141414123214141417261414141436141414141d0414141417611414141433141414141c141414141610141414143c141414141c2214141416041414141439141414141f321414141636141414143a141414141e04141414163a1414141427141414141914141414166514141414201414141419221414141114141414142d14141414183214141411181414141465141414141b04141414110c1414141466141414141a14141414113e1414141463141414141a221414141122141414146c141414140532141414116d1414141714141414140c04141414121c141414173f141414140f1414141412001414141738141414140f221414141232141414172514141414343214141412261414141726141414143704141414126114141417231414141436141414141d10141414172c1414141436221414141d0414141417641414141431321414141d3614141417611414141430041414141d3a1414141737141414140d1414141413651414141730141414140d221414141214141414173d141414140c321414141218141414173e141414140f04141414120c141414173b141414143414141414123e141414172414141414342214141412221414141721141414143732141414126d14141417221414141436041414141d1c141414172f1414141431141414141d0014141417671414141431221414141d3214141417601414141430321414141d26141414176d1414141433041414141d61141414177a14101d32651414192204102218011c2f1b1100671b2f32600c021f3f0f12033804001f110710031230133227190d170434003920013214391414141414141439361414141414143906013a3901013a39002c14393616031c1a3c031b141414141f0414141412651414141423141414141f0414141412041414141423141414141f041414141d3e14141414391414141402041414141665141414143914141414370414141416651414141439141414140f141414141600141414171f141414141a321414141600141414171b141414141a3214141416001414141701141414141c14141414160014141417221414141414141414141600141414171c141414141a321414141600141414171b141012226532141967041839141414140614141414113a1414141439141414140104141414113a1414141439141414140022141414141414141416651904141407221414141032141414171f1414141414141414141704201414171e141414140622141414103e141414171814141414010414141410611414141705141414140014141414131014141417061414141400221414141414141414176d1904141403141414141300141414171f1414141403321414141336141414170c141414140204141414133a1414141737141414140d1414141414141414141718193214140d041414141361141414171f141414140d221414141214141414173d141414140c321414141218141414141414141414361661141412041414141739141414140604141414120c141414173b141414143414141414123e14141417241414141431141414141d1c1414141764141414140f0414141414141414141738141414140c041414141222141414172f141414140f0414141414141414141439141414143704141414166d1414141439141414140f14141414166d141414143914141414300414141414141414141439141414140614141414113a1414141439141414140104141414113a141414143914141414002214141414141414141439141414140c0414141416141414141439141414140c3214141416141414141439141414140f1414141416141414141439141414140614141414113a1414141439141414140104141414113a14141414391414141400221414141614141414143914141414020414141414141414141439141414140604141414113a1414141439141414140104141414113a1414141439141414140022141414161414141414391414141436141717391b0c1416600c1f05162614141226141414172614141414060414141410600131111b330d2f1c6737126c3f0c022d391b020f3d0c670365070414141417327a1414143e1e22141432116114141414141414166d1e22141434221414141265141414171f141414143732141414126d14141417221414141436041414141d1c141414172f1414141431141414141d0014141417671414141431221414141d3214141417601414141401391b6518646c33183f033f311d39220f0039660700001401391b6518646c33183f10220c660760361203330c38132f0f0000141405147e141416301e22141431116d14141c22271414141414141414143214141411222714141416141414142116261414141c1414141414141414140016221414122614141417631414141406041414141d26141414176d1414141433041414141d61141414177a1414141432141414141c10141414171a0066042f0d646d2c1b671b230f12033f313b071f0c67182d18036c3337021f2f311213650f036c650700001401391b6518646c33183f102c0c676c3e0f021b6731136c3c0c0d1b39070414141414112205321414193c2214141d047a14141418191414141414141414141c141414146d1e22141414321414141032261414141614141414141414141418042614141727141414143232141414103e1414141611141414143d141414141c001414141612141414143d221414141c32141414161f1414141401391b6518646c33183f313f376707390c660f650600072f0c2f102d0d646c210c3b1b650c0d07390d6607130704141431116d14141e14261414141414141414143214141411222714141416141414140616221414141c1414141414141414141a166514141226141414161e1414141406041414141c261414141618141414143f041414141c611414141605141414143e141414141f10141414171a0066042f0d646d2c1b671b230f12033f313b071f0712393f180113330d67643c3666073d31120333311003131414176505221414131665141414141414141416141414140516261414141c141414171c19141414143214141410600131111b330d2f1c660c676c3e0f021b67311039660c2f102d0d646c210c3b1b650c0d07390d66071307041414141d047a1414170c190414141414141414141c141414146d1e2214141432141414103226141414161414141401391b6518646c33183f0f2637671b3d371200640d646c25370d17131414141412116d14141f22211414146d1e22141401391b6518646c33183f313f37672d260c0d073906021b130704140c0522141422166514141122271414171a0066042f0d646d2c1b671b2337122d3d3112031f316503131417327a1414113219041414051626141410600131111b330d2f1c640c6607603612031f0c6503131414141431116d14141414201414141414141414143214141411222714141416141414142116261414141c141414171a0066042f0d646d2c1a126064370d176437381b6506021b13070414141414140c052214141b166114141122271414171a0066042f0d646d2c1a126064370d176437381b65060d3113070414141414140c052214140216611414112227141414141414141464166514141f1c14141416011414141406041414141f041414141603141414143932141414141414141411651904141439221414141f32141414171f1414141438041414141f3a14141416371414141414141414141f142314141727141414143b14141414103e1414141631141414143b321414141f6d1414141632141414143a041414141e1c141414163f1414141425141414141e00141414163814141414252214141410600131111b330d2f1c66373b03210d6731393110393f01391b33180139253666072c0f0213210c3b03380d6739650f0d1f3d31126c2c06021b1a00646d2d18021b3a0c0d1f33311d1f3d340d072f06021b13070003130700001401391b6518646c33183f39330d67606437036c3b0f0d071f0c6503131410600131111b330d2f1c2d1b136c33373b03210d67313931136c3c0c0d1b39070414146d11611414130c23141417650522141404166d1414141414141414171414141436166d141414141414141765052214147a1661141414141414141416141414140516261414141c141414176119221717211b6d14166d3a170f111414141226141414163a1414141406041414141e3e14141416241414141424221414141e2214141416211414141427321414141e6d1414141622141414142604141414191c141414162f1414141401391b6518646c33183f3120310264330f670365060d311a00646d2d1a02392f311d1f390c02643c31020f33340d07393638136537661f1f316560010d2f102d0c673d3d36396c6536381325311d1b1f31650313070003130704171a0066042f0d646d2c1a036c33373b03210d673139311039660700001414141765052214141b11141414141414141414171414141436166d141414141414141765052214146d166d141414141414141416141414140516261414141c1414141718181417173c1a1014166c611701111014141226141414166514141414060414141419001414141667141414142122141414193214141416601414141420321414141926141414166d1414141401391b6518646c33183f312031026433361d036506021b1a00646d2d1a026c2f311d1f390c02643c31020f33340d07393638136537661f1f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c650313070003130704171a0066042f0d646d2c1a036c33373b03210d6617643110393f0700001401391b6518646c33183f10650d646c2031026433361d03650d671f3d366703131414112205321414103f1014141d047a1414116d181414141414141414141014141414261804141414141414141d047a14141661181414141414141414141c141414146d1e221414143214141411042d14101d2261321419233210001832141434221414141965141414171f141414142332141414196d1414141114141414142204141414181c1414141111141414142d141414141800141414171a0066042f0d646d2c1b67606437036c22310d071f316560010d2f106037661b653638033d37021f640f396c253112032c0c0d0723363e396601391b331801133f3412132c0d66072c0c0239653665396607000313070003131410600131111b330d2f1c600d646c2031026433361d0365060d311307041414141d047a1414113e180414141414141414141014141414261804141414141414141d047a14141632180414141414141414141c141414146d1e221414143214141405222d141012616014141938322600182214142d321414141836141414171f141414142c14141414183e141414111e141414142c221414141822141414111b141414142f32141414053f7a7a7a6d00182214142f221414141b1414141411071414141465321414141b18141414110014141414640414141410600131111b330d2f1c61311239210f036c3b0f0d071f0c6560010d2f1060340d1b653638033d37021f640f396c253112032c0c0d0723363e393f01391b331801133f3412132c0d66072c0c0239653665393f07000313070003131410600131111b330d2f1c60311239210f036c3c0c0d1b3907041122053214142f011c141410600131111b330d2f1c2c18136c33311239210f036c3b0f0d07330c646c2f31126c2c0c02313906021b13070414141405147e1414113a1832141431116d14141c322c14141414141414141422141414112227141414161414141461111c1414141c1414141418182214141414321414141414141414141b14141464321414141b36141414171f1414141467141414141b3e14141411341414141467221414141b221414141131141414146632141414053f7a7a7a6d141b14141466221414141a14141414113d1414141461321414141a18141414113e14141414600414141410600131111b330d2f1c61311239210f036c3b0f0d071f316560010d2f1060340d1b653638033d37021f640f396c253112032c0c0d0723363e396601391b331801133f3412132c0d66072c0c0239653665396607000313070003131410600131111b330d2f1c2c18136c33311239210f036c3b0f0d07330c646c2f31126c2c0c023139060d3113070414146d116114141b002f14141765052214143e1118141414141414141411141414140516261414141c141414113218321414143214141405322f141414141614141414141414141e046514141138141414146022141414103e141414113a1414141401391b6518646c33183f3d65340264390d6617643110393f01391b33180139233666072c0f0213210c3b03380d6739650f0d1f3d31126c2c06021b1a00646d2d18021b3a0c0d1f33311d1f3d340d072f06021b13070003130700001401391b6518646c33183f10220d646c65340264390d6617643110001414141122053214143d010414141d047a141417141b1414141414141414141c141414146d1e22141414321414141f22651414141416141414141414141416046414141125141414146332141414103e14141411271414141401391b6518646c33183f3d65340264390d6617643110396601391b33180139233666072c0f0213210c3b03380d6739650f0d1f3d31126c2c060d311a00646d2d18021b3a0c0d1f33311d1f3d340d072f060d311307000313070000141414141431116d14141b22651414141414141414143214141411222714141416141414143b1104141414141c14141414141414142011001414122614141411261414141406041414141a6514141411201414141462221414140514141414112d141414146d3214141405181414141165141414146c0414141410600131111b330d2f1c2d1812642337380360361d03200c66071f0c652d3c181003130704171a0066042f0d646d2c180117213767603930036c3c0c0d1b3907041414141411220532141438110014141d047a1414176d1b0414141414141414141c141414146d1e22141414321414141914641414141614141414141414141416226714141727141414146c32141414103e1414141166141414147e14141414053e1414141163141414147e221414140522141414116c141414147a32141414056d141414171a0066042f0d646d2c1801172137676039300d176437381b6506021b180c3f13130700001431116d14141714671414141414141414143214141411222714141416141414142611001414141c1414141414141414143a110c14141226141414141414041414060414141414101714141416140414141422101414140417141414131404141417321014141436171414141c14041414160410141410600131111b330d2f1c2d1812642337380360361d03200c66071f31652d3c1810031307041765052214143d110c141414141414141416141414140516261414141c14141416221b0414141432141414141414141414001b2214143422141414143a171414171f1414141416221014141422171414141b140414141132101414146d1714141404140414141004101414171c17141414011404141401391b6518646c33183f102237026c200f0d39223102603f3110396601121c2d07000313141d047a141411611b3214141414141414141c141414146d1e22141414321414141914641414141614141414141414141419326614141727141414141314101414103e141414140314041414133210141410600131111b330d2f1c6037026c200f0d39330f67036506021b1a00646d2d1a02392f311d1f390c02643c31020f33340d07393638136537661f1f0c6560010d2f102d0c673d3d36396c6536381325311d1b1f0c650313070003130704171a0066042f0d646d2c180113330d676423373803600d6731393110393f070000141405147e141416021b22141431116d14141314661414141414141414143214141411222714141416141414142611361404312f23141420341403226114141727141414141322101414103e141414140c14041414120410141410600131111b330d2f1c6037026c200f0d39330f670365060d311a00646d2d1a02392f311d1f390c02643c31020f33340d07393638136537661f1f316560010d2f102d0c673d3d36396c6536381325311d1b1f31650313070003130704171a0066042f0d646d2c180113330d676423373803600d67313931103966070000141405147e141414631a14141431116d141405046614141414141414141432141414112227141414161414141403113214040c1d2d1414200f14013e141412261414141434140414140604141414172617141414361404141401391b6518646c33183f39213767603930036c22310d071f0c6560010d2f106037661b653638033d37021f640f396c253112032c0c0d0723363e393f01391b331801133f3412132c0d66072c0c0239653665393f07000313070003131410600131111b330d2f1c2d18036c3337026c200f0d3933361d036506021b13070414146d116114141b61611414176505221414381132141414141414141416141414140516261414141c14141411611a14171725051c1416603a1725113e141412261414141431140414140604141414176117141414331404141401391b6518646c33183f39213767603930036c22310d071f316560010d2f106037661b653638033d37021f640f396c253112032c0c0d0723363e396601391b331801133f3412132c0d66072c0c0239653665396607000313070003131410600131111b330d2f1c2d18036c3337026c200f0d3933361d0365060d3113070414146d116114141c1c60141417650522141405113e141414141414141416141414140516261414141c14141416361a0417172c05181416623e1c1d113a1414122614141414321404141406041414141610171414143c140414141c2210141410600131111b330d2f1c613702032f3667133b0f0d1b1f0c6503131410600131111b330d2f1c2d1867643936661b3d0f67032f0d671f3d36670313141414141405147e141411601a04141431116d14141a046014141414141414141432141414112227141414161414141413113a1414141c14141414141414141431113a14141226141414143e14041414060414141416001714141438140414141f2210141410600131111b330d2f1c613702032f3667133b0f0d1b1f3165031314141414141d047a141417361a3214141414141414141c141414146d1e2214141432141414170463141414161414141400221414141d001414141720141414140f1414141412101414141760141414141414141414106514141417231414141437321414141204141414173d141414143004141414141414141417001414141431041414141200141414172f141414140f141414141210141414176014141414141414141413361414141739141414140f14141414126114141417391414141436221414141204141414173d141414143004141414141414141417001414141434141414141d00141414172c1414141436221414141204141414173d14141414300414141414141414141712141414143632141414123e141414173e141414140c041414141d3e1414141414141414140022141414121014141417651414141431041414141d1c141414173e141414140c041414141d3e14141414141414141400221414141d0014141417201414141414141414141065141414172314141414373214141414141414141700141414143104141414120014141414141414141403221414141200141414173e1414141414141414141304141414173a14141414310414141414141414141712141414143632141414123e141414141414141414002214141412101414141765141414141414141414103a141414173d1414141437321414141d00141414173d1414141436321414141d3e14141414141414141407321414141200141414173c1414141436321414141d00141414173d1414141436321414141d3e14141414141414141401041414141210141414172c141414140c22141414123214141414141414141404041414141d14141414172c1414141434041414141222141414141414141414010414141412101414141760141414141414141414103a1414141764141414143732141414120014141414141414141406321414141d00141414172614141414300414141414141414141717141414143104141414123614141417641414141436221414141d0414141414141414141400221414141200141414172214141414311414141412001414141721141414140c321414141200141414172c141414141414141414106d141414173f141414143114141414126d141414173c141414140f041414141d1c1414141414141414140132141414126d1414141767141414140f041414141265141414173c141414140f041414141d1c14141414141414141407141414141200141414173f141414140f041414141265141414173c141414140f041414141d1c141414141414141414063214141412101414141720141414141414141414100c1414141739141414140c321414141414141414171b141414140c041414141d1c14141414141414141404041414141d14141414172c141414141414141414103a14141417641414141437321414141414141414171e141414143104141414122214141414141414141404041414141d00141414173b1414141414141414141318141414173914141414361414141414141414141705141414140c221414141d041414141414141414140132141414126d141414176714141414141414141410041414141739141414140c22141414141414141417171414141401041414141414141414170414141414010417173f052214167e1c101111181414186d14141411041414141465041414141b1c14141411011414141464141414141b001414141414141414147e111814141b6d14141411321414141461041414141a1c141414113f1414141460141414141a00141414141414141414321161141416321714141425140414141e3210141410600131111b330d2f1c2d1b136c3336673d3d3638033e0d671b23310260650704141414141122053214140f1161141410612d18136c330c663d610c021f25313f102d1b396c3336673d2537036c65300d17390d6739200f386c13141414141417327a1414161c05321414341014141410612d18136c330c663d610c021f25313f102d1b646c330c672d3d36661b33311d39220f036c2537380f23070414141417327a1414166105321414271161141414141414141136053214141e2210141416221714141421140414141932101414166d1714141422140414141804101414111c1714141414141414140c116d14141626171414142f14041414190410141416611714141423140414141b141014141100171414146714041414013f10220d646c3f301d3d3d0c38396718011c220d646c2f34036c3f3712132f36646c65300d17390d6739200f386c13141414141417327a141414610522141466116114141414141414166d052214141e2210141411361714141421140414141932101414166d1714141461140414141a04101414113a171414171a180117330d671b613012133c340d0c2d183f13330d660f2134036c3f3712132f36646c65300d17390d6739200f386c131414141412116d14141f047a141411360532141414141414141a227a14141462140414140514101414116517141417013111393930121b39361d072537676114141414146d116114141b227a141414141414141412101414141418141414147e140414140522101414131b6518011326376731250c646c39363b1f233632140c0522141416101414141a227a1414141414141414011014141414181414141714140414140522101414131b6518011f260f02603b31123d330f0d1f2c37661c141414141412116d1414113d141414140c0414141400660460311d39220f036c2537380f23141414141405147e1414170c041417176d1c141716221e323422686807302d253a2721260f3c3b2621343b213c34213002342638063426263c323b0e7b7a213d3c267b25273a3227343808393a3634213c3a3b043d273033073c3b31302d1a330537393a376f06262037262127060e6a76087b7f0b393426211c3b31302d1a33017a043a25303b031210010b342727342c3720333330270c273026253a3b2630012c25300426303b3108273026253a3b26300525273c3b2103393a3204373c3b310825273c3b21102727042234273b093427322038303b21260b213d3c2605273a322734380424203c210a22342638173c3b34272c0d3b3a102d3c2107203b213c3830063a373f30362109203b3130333c3b30311f3b3a753b34213c2330752234263875262025253a2721753130213036213031042021336d08262037342727342c063130363a31300c33273a38163d3427163a313003263021051d1014056d061d1014056463061d1014056667061d101405006d071d101405006463071d101405006667071d101405136667071d1014051363610e1c1b1c011c14190a1810181a070c073a3b14373a27210814373a272130317d017c2b7b7517203c393175223c213d757826751406061007011c1a1b06686475333a2775383a2730753c3b333a7b0c07203b213c38301027273a2725313421346f342525393c3634213c3a3b7a3a36213021782621273034386e373426306361792f373a213d7534262c3b3675343b3175262c3b3675333021363d3c3b32753a3375213d3075223426387533343c39303105263d3c33210433203b36063b20383730270334273206302d3605212703252127082630210a212c2530083230210a212c25300e2630210a31302621272036213a270e3230210a31302621272036213a270c2630210a273033363a203b210a2630210a363420323d210a3230210a363420323d210c2630210a2730213d273a223b0c3230210a2730213d273a223b043c3b3c21073431310a2730330b273039303426300a2730330432273a220a372c213019303b32213d063720333330270f252730393a343130311c38343230260f252730393a343130311420313c3a260734227b223426380a393a36342130133c3930072621273c3b3226082230370a20263027040006100707191a121b141810040514011d030502110e7a3d3a38307a2230370a20263027041d1a18100939343b32203432302601160178010a067b000113786d0419141b12042520263d016807323021013c38300b323021132039390c30342708323021183a3b213d0732302111342130072630211134213008263021183a3b213d0b263021132039390c303427013d013201340a363a252c023c213d3c3b01330a67646162616d6663616d03657b6703383c3b0338342d013007333a271034363d013601310621380a2630360621380a383c3b0721380a3d3a20270721380a3831342c0621380a383a3b0721380a2c3034270721380a2231342c0721380a2c31342c0821380a3c263126210921380a3238213a33330721380a2f3a3b3014703475703775703175701d6f70186f700675700c0270360870387a70317a702c02701108700c78703878703102701302703702703d0b701c6f70186f700675702502702705701d6f701802700708701d6f70186f700602700102702d02700d03701036027016037010160370102d0370100d02702c0370102c02700c0370100c02703103701a3102703003701a3002701d03701a1d02701c03701a1c02703803701a3802701803701a1802700603701a0602702003701a2002700003701a0002700303701a0302702203701a2202700203701a0203701a2c0606203b31342c06183a3b31342c070120302631342c090230313b302631342c08013d20272631342c0613273c31342c08063421202731342c071f343b2034272c08133037272034272c05183427363d051425273c390318342c041f203b30041f20392c0614203220262109063025213038373027071a36213a373027081b3a23303837302708113036303837302708213a0621273c3b3201650632302111342c092620372621273c3b32027034027014027017017502703202701202703f015f02703b021418020518027025015c0270210436303c3902656402656502606603343726017e04656565650526393c363002702f02700f0170027070083c3b363920313026013703342638013c0121013f07203b263d3c332116383a3b3c213a2707203b113025303b31303b363c3026072730263a3923300b26343830783a273c323c3b0b36273031303b213c343926023a3e2433343c39303175213a75393a3431752234263875373c3b34272c75333c39307534217572017205363421363d2733343c39303175213a7534262c3b363d273a3b3a2026392c752527302534273075223426386f7533183a312039307b3c3b2621343b213c3421300234263875363439393734363e7533343c39303175223c213d753027273a276f751f22342638752621273034383c3b3275363a38253c39307533343c3930316f7529333439393c3b32753734363e75213a75142727342c172033333027753c3b2621343b213c34213c3a3b120a0a0a223426380a363439390a36213a272605342525392c013e070a383439393a360139050a332730300138080a3a25303b173a2d013b090a31302636272c2521013a0f0a31302636272c25211e31261e302c01250b0a313036272c25211e302c01240c0a31302636272c25211617160127080a273039303426300126070a263021073422012009262134363e0634233001230c262134363e073026213a273001220a262134363e1439393a360936343939303107203b143a3b07203b213c38301c3b3c213c34393c2f303107253a262107203b0625273007203b092630210621342120260a07203b3b3c3b327b7b7b123c3b21142727342c13273a380621273c3b32062621273c3b3205342727342c07373a3a3930343b0536363439390c0001136d013a0621273c3b320c3439393a363421300001136d0327203b072527301c3b3c2103253a2505273034312c0d223c213d0730263a39233027260627303f3036210725273a383c2630033e302c0523343920300816101b160a1e100c071d19060a1e100c06383a312039300b31302636272c25211e302c0434213a370831302636272c25210e31302636272c25211e31261e302c0b31302636272c2521161716062630210734220731302621273a2c016c012f0a363a3b233027211e302c0a363a3b2330272119303b043f3a3c3b063830213d3a31093830213d3a3119303b026464026767093425253130233c3630092230373130233c3630063425250a2367062230370a236705383c2d1c3b0536393a3b300b363a3b2621272036213a27063627303421300a372c21301a333326302105223a27312608263c32172c213026092621273c3b323c332c06363a3b3634210536393438250a61676c616c6362676c6004363439390627343b313a380a61676c616c6362676c6303657b6005253427263014183439333a2738303175000113786d75313421340e0a383c3b172033333027063c2f30052730263021050a313421340b0a3b11342134172c213026070a342525303b31080a25273a363026260937393a363e063c2f300f0a313a05273a3630262617393a363e062625393c363003363332080a313a07302630210620253134213008333c3b34393c2f300b0a313a133c3b34393c2f300d0a3627303421301d3039253027110a3627303421301d3834361d3039253027070a3d34263d3027050a3a1e302c050a3c1e302c040a38342504657b626006363d342714210b0a2730233027263018342541141716111013121d1c1f1e19181b1a05040706010003020d0c0f343736313033323d3c3f3e39383b3a25242726212023222d2c2f65646766616063626d6c7e7a6803263c3b0a616567666766666164620a67606367666d66646567050a3d34263d0a6167626d6760606663650533393a3a27073e302c063c2f30063d34263d30270a3c21302734213c3a3b2607363a38252021300a0a2d333a2738183a3130040a3e302c0725273a363026260f362730342130103b36272c25213a270f0a101b160a0d131a07180a181a11100f362730342130113036272c25213a270f0a1110160a0d131a07180a181a111007303b36272c252107313036272c2521063c23063c2f30070a363c253d3027030a3c2309103b36272c25213a2709113036272c25213a270a0a2527302317393a363e0c25273a3630262617393a363e0c303b36272c252117393a363e0c313036272c252117393a363e0325343105203b25343104383a313007253431313c3b32023c23050a383a3130090a0a36273034213a2709333a273834212130270a363c253d302721302d210426343921093439323a273c213d3806333a27383421060a253427263007302d3036202130033e3133080a3b073a203b31260e0a3e302c05273c3a2707302630210c0a3e302c06363d30312039300f0a3c3b231e302c06363d30312039300d0a313a16272c252117393a363e052625393c21016f07303b36113421340925273a213a212c2530073c26142727342c06273031203630010b140e7b7f7e6a0b712e287d7c290e0908097a090908030971732f213a0621273c3b32297d33203b36213c3a3b7c7b7f6a7d6a680909097d7c2975333a27757b7e6a7d6a68090909087c0571647b7f6a01710421302621063c26033c302206262037213930053430261c030714100678161716043b34383008323021003c3b216d09302d25343b311e302c093c38253a27211e302c032734220a393a32103b343739303111263a332122342730113036272c252130270d273038343c3b313027113421340936202727303b211c030d36202727303b2107302620392109342218343b343230270b2234263805273a383c2630122730383a2330051e160662053431313c3b3206363a3b333c320636272c25213a0c2230373e3c2106203721393011303b34373930063a332122342730141006063c26062c3b3605333920263d1125273c233421301e302c113036272c2521043834273e0422273425043b302d21042527302303303b310264780221651022303716272c25213a113036272c25210921343219303b32213d04313421340426303b21063437272025210627302120273b0426213a251525273c233421301e302c113036272c252102342638130621273c3b32013a142727342c1720333330270b173426306361013a1d302d0f263a332122342730113036272c252107393a321a3b36300e1f067514100675313036272c25210d3230210334393c31163d203b3e1722303736272c25213a75363d30363e7533343c39202730370e313036272c252130277b2126086f7502303716272c25213a751027273a277975313c26343739307502303716272c25213a7514051c6f103a3b02303716272c25213a1027273a270a0a313036272c252130270f313036272c25217533343c39202730",{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 Pe},get 38(){return _e},get 39(){return ye},get 40(){return me},get 41(){return we},get 42(){return Re},get 43(){return ve},get 44(){return Ae},get 45(){return pe},get 46(){return De},get 47(){return qe.aes4js},get 48(){return qe.TRANSFORM_IV},get 49(){return qe.util},get 50(){return Ue},set 50(e){Ue=e},get 51(){return Ne},set 51(e){Ne=e},get 52(){return Fe},set 52(e){Fe=e},get 53(){return Ge},set 53(e){Ge=e},get 54(){return Ve},set 54(e){Ve=e}},void 0);var ze="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var He={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},Ke={exports:{}};!function(e,c){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:a,MAX_LENGTH:r}=He,n=ze,i=(c=e.exports={}).re=[],d=c.safeRe=[],o=c.src=[],s=c.safeSrc=[],f=c.t={};let b=0;const u="[a-zA-Z0-9-]",l=[["\\s",1],["\\d",r],[u,a]],h=(e,c,t)=>{const a=(e=>{for(const[c,t]of l)e=e.split(`${c}*`).join(`${c}{0,${t}}`).split(`${c}+`).join(`${c}{1,${t}}`);return e})(c),r=b++;n(e,r,c),f[e]=r,o[r]=c,s[r]=a,i[r]=new RegExp(c,t?"g":void 0),d[r]=new RegExp(a,t?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),h("MAINVERSION",`(${o[f.NUMERICIDENTIFIER]})\\.(${o[f.NUMERICIDENTIFIER]})\\.(${o[f.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${o[f.NUMERICIDENTIFIERLOOSE]})\\.(${o[f.NUMERICIDENTIFIERLOOSE]})\\.(${o[f.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${o[f.NUMERICIDENTIFIER]}|${o[f.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${o[f.NUMERICIDENTIFIERLOOSE]}|${o[f.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${o[f.PRERELEASEIDENTIFIER]}(?:\\.${o[f.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${o[f.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[f.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${u}+`),h("BUILD",`(?:\\+(${o[f.BUILDIDENTIFIER]}(?:\\.${o[f.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${o[f.MAINVERSION]}${o[f.PRERELEASE]}?${o[f.BUILD]}?`),h("FULL",`^${o[f.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${o[f.MAINVERSIONLOOSE]}${o[f.PRERELEASELOOSE]}?${o[f.BUILD]}?`),h("LOOSE",`^${o[f.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${o[f.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${o[f.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${o[f.XRANGEIDENTIFIER]})(?:\\.(${o[f.XRANGEIDENTIFIER]})(?:\\.(${o[f.XRANGEIDENTIFIER]})(?:${o[f.PRERELEASE]})?${o[f.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${o[f.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[f.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[f.XRANGEIDENTIFIERLOOSE]})(?:${o[f.PRERELEASELOOSE]})?${o[f.BUILD]}?)?)?`),h("XRANGE",`^${o[f.GTLT]}\\s*${o[f.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${o[f.GTLT]}\\s*${o[f.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),h("COERCE",`${o[f.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",o[f.COERCEPLAIN]+`(?:${o[f.PRERELEASE]})?(?:${o[f.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",o[f.COERCE],!0),h("COERCERTLFULL",o[f.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${o[f.LONETILDE]}\\s+`,!0),c.tildeTrimReplace="$1~",h("TILDE",`^${o[f.LONETILDE]}${o[f.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${o[f.LONETILDE]}${o[f.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${o[f.LONECARET]}\\s+`,!0),c.caretTrimReplace="$1^",h("CARET",`^${o[f.LONECARET]}${o[f.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${o[f.LONECARET]}${o[f.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${o[f.GTLT]}\\s*(${o[f.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${o[f.GTLT]}\\s*(${o[f.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${o[f.GTLT]}\\s*(${o[f.LOOSEPLAIN]}|${o[f.XRANGEPLAIN]})`,!0),c.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${o[f.XRANGEPLAIN]})\\s+-\\s+(${o[f.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${o[f.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[f.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ke,Ke.exports);var $e=Ke.exports;const We=Object.freeze({loose:!0}),Ye=Object.freeze({});var Xe=e=>e?"object"!=typeof e?We:e:Ye;const Qe=/^[0-9]+$/,Je=(e,c)=>{const t=Qe.test(e),a=Qe.test(c);return t&&a&&(e=+e,c=+c),e===c?0:t&&!a?-1:a&&!t?1:e<c?-1:1};var Ze={compareIdentifiers:Je,rcompareIdentifiers:(e,c)=>Je(c,e)};const ec=ze,{MAX_LENGTH:cc,MAX_SAFE_INTEGER:tc}=He,{safeRe:ac,safeSrc:rc,t:nc}=$e,ic=Xe,{compareIdentifiers:dc}=Ze;const oc=class e{constructor(c,t){if(t=ic(t),c instanceof e){if(c.loose===!!t.loose&&c.includePrerelease===!!t.includePrerelease)return c;c=c.version}else if("string"!=typeof c)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof c}".`);if(c.length>cc)throw new TypeError(`version is longer than ${cc} characters`);ec("SemVer",c,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const a=c.trim().match(t.loose?ac[nc.LOOSE]:ac[nc.FULL]);if(!a)throw new TypeError(`Invalid Version: ${c}`);if(this.raw=c,this.major=+a[1],this.minor=+a[2],this.patch=+a[3],this.major>tc||this.major<0)throw new TypeError("Invalid major version");if(this.minor>tc||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>tc||this.patch<0)throw new TypeError("Invalid patch version");a[4]?this.prerelease=a[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const c=+e;if(c>=0&&c<tc)return c}return e})):this.prerelease=[],this.build=a[5]?a[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(c){if(ec("SemVer.compare",this.version,this.options,c),!(c instanceof e)){if("string"==typeof c&&c===this.version)return 0;c=new e(c,this.options)}return c.version===this.version?0:this.compareMain(c)||this.comparePre(c)}compareMain(c){return c instanceof e||(c=new e(c,this.options)),dc(this.major,c.major)||dc(this.minor,c.minor)||dc(this.patch,c.patch)}comparePre(c){if(c instanceof e||(c=new e(c,this.options)),this.prerelease.length&&!c.prerelease.length)return-1;if(!this.prerelease.length&&c.prerelease.length)return 1;if(!this.prerelease.length&&!c.prerelease.length)return 0;let t=0;do{const e=this.prerelease[t],a=c.prerelease[t];if(ec("prerelease compare",t,e,a),void 0===e&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===e)return-1;if(e!==a)return dc(e,a)}while(++t)}compareBuild(c){c instanceof e||(c=new e(c,this.options));let t=0;do{const e=this.build[t],a=c.build[t];if(ec("build compare",t,e,a),void 0===e&&void 0===a)return 0;if(void 0===a)return 1;if(void 0===e)return-1;if(e!==a)return dc(e,a)}while(++t)}inc(e,c,t){if(e.startsWith("pre")){if(!c&&!1===t)throw new Error("invalid increment argument: identifier is empty");if(c){const e=new RegExp(`^${this.options.loose?rc[nc.PRERELEASELOOSE]:rc[nc.PRERELEASE]}$`),t=`-${c}`.match(e);if(!t||t[1]!==c)throw new Error(`invalid identifier: ${c}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",c,t);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",c,t);break;case"prepatch":this.prerelease.length=0,this.inc("patch",c,t),this.inc("pre",c,t);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",c,t),this.inc("pre",c,t);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(t)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let a=this.prerelease.length;for(;--a>=0;)"number"==typeof this.prerelease[a]&&(this.prerelease[a]++,a=-2);if(-1===a){if(c===this.prerelease.join(".")&&!1===t)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(c){let a=[c,e];!1===t&&(a=[c]),0===dc(this.prerelease[0],c)?isNaN(this.prerelease[1])&&(this.prerelease=a):this.prerelease=a}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var sc,fc,bc,uc,lc,hc=Me(((e,c,t=!1)=>{if(e instanceof oc)return e;try{return new oc(e,c)}catch(a){if(!t)return null;throw a}})),pc={exports:{}};sc=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,fc=/^(?=([^\/?#]*))\1([^]*)$/,bc=/(?:\/|^)\.(?=\/)/g,uc=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,pc.exports=lc={buildAbsoluteURL:function(e,c,t){if(t=t||{},e=e.trim(),!(c=c.trim())){if(!t.alwaysNormalize)return e;var a=lc.parseURL(e);if(!a)throw new Error("Error trying to parse base URL.");return a.path=lc.normalizePath(a.path),lc.buildURLFromParts(a)}var r=lc.parseURL(c);if(!r)throw new Error("Error trying to parse relative URL.");if(r.scheme)return t.alwaysNormalize?(r.path=lc.normalizePath(r.path),lc.buildURLFromParts(r)):c;var n=lc.parseURL(e);if(!n)throw new Error("Error trying to parse base URL.");if(!n.netLoc&&n.path&&"/"!==n.path[0]){var i=fc.exec(n.path);n.netLoc=i[1],n.path=i[2]}n.netLoc&&!n.path&&(n.path="/");var d={scheme:n.scheme,netLoc:r.netLoc,path:null,params:r.params,query:r.query,fragment:r.fragment};if(!r.netLoc&&(d.netLoc=n.netLoc,"/"!==r.path[0]))if(r.path){var o=n.path,s=o.substring(0,o.lastIndexOf("/")+1)+r.path;d.path=lc.normalizePath(s)}else d.path=n.path,r.params||(d.params=n.params,r.query||(d.query=n.query));return null===d.path&&(d.path=t.alwaysNormalize?lc.normalizePath(r.path):r.path),lc.buildURLFromParts(d)},parseURL:function(e){var c=sc.exec(e);return c?{scheme:c[1]||"",netLoc:c[2]||"",path:c[3]||"",params:c[4]||"",query:c[5]||"",fragment:c[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(bc,"");e.length!==(e=e.replace(uc,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};var vc=Me(pc.exports);function yc(e,c){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);c&&(a=a.filter((function(c){return Object.getOwnPropertyDescriptor(e,c).enumerable}))),t.push.apply(t,a)}return t}function mc(e){for(var c=1;c<arguments.length;c++){var t=null!=arguments[c]?arguments[c]:{};c%2?yc(Object(t),!0).forEach((function(c){Tc(e,c,t[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):yc(Object(t)).forEach((function(c){Object.defineProperty(e,c,Object.getOwnPropertyDescriptor(t,c))}))}return e}function gc(){gc=function(){return e};var e={},c=Object.prototype,t=c.hasOwnProperty,a=Object.defineProperty||function(e,c,t){e[c]=t.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function o(e,c,t){return Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[c]}try{o({},"")}catch(I){o=function(e,c,t){return e[c]=t}}function s(e,c,t,r){var n=c&&c.prototype instanceof u?c:u,i=Object.create(n.prototype),d=new x(r||[]);return a(i,"_invoke",{value:k(e,t,d)}),i}function f(e,c,t){try{return{type:"normal",arg:e.call(c,t)}}catch(I){return{type:"throw",arg:I}}}e.wrap=s;var b={};function u(){}function l(){}function h(){}var p={};o(p,n,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==c&&t.call(y,n)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(c){o(e,c,(function(e){return this._invoke(c,e)}))}))}function _(e,c){function r(a,n,i,d){var o=f(e[a],e,n);if("throw"!==o.type){var s=o.arg,b=s.value;return b&&"object"==typeof b&&t.call(b,"__await")?c.resolve(b.__await).then((function(e){r("next",e,i,d)}),(function(e){r("throw",e,i,d)})):c.resolve(b).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,d)}))}d(o.arg)}var n;a(this,"_invoke",{value:function(e,t){function a(){return new c((function(c,a){r(e,t,c,a)}))}return n=n?n.then(a,a):a()}})}function k(e,c,t){var a="suspendedStart";return function(r,n){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===r)throw n;return{value:void 0,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=E(i,t);if(d){if(d===b)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===a)throw a="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);a="executing";var o=f(e,c,t);if("normal"===o.type){if(a=t.done?"completed":"suspendedYield",o.arg===b)continue;return{value:o.arg,done:t.done}}"throw"===o.type&&(a="completed",t.method="throw",t.arg=o.arg)}}}function E(e,c){var t=c.method,a=e.iterator[t];if(void 0===a)return c.delegate=null,"throw"===t&&e.iterator.return&&(c.method="return",c.arg=void 0,E(e,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),b;var r=f(a,e.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,b;var n=r.arg;return n?n.done?(c[e.resultName]=n.value,c.next=e.nextLoc,"return"!==c.method&&(c.method="next",c.arg=void 0),c.delegate=null,b):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,b)}function S(e){var c={tryLoc:e[0]};1 in e&&(c.catchLoc=e[1]),2 in e&&(c.finallyLoc=e[2],c.afterLoc=e[3]),this.tryEntries.push(c)}function w(e){var c=e.completion||{};c.type="normal",delete c.arg,e.completion=c}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var c=e[n];if(c)return c.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,r=function c(){for(;++a<e.length;)if(t.call(e,a))return c.value=e[a],c.done=!1,c;return c.value=void 0,c.done=!0,c};return r.next=r}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,a(m,"constructor",{value:h,configurable:!0}),a(h,"constructor",{value:l,configurable:!0}),l.displayName=o(h,d,"GeneratorFunction"),e.isGeneratorFunction=function(e){var c="function"==typeof e&&e.constructor;return!!c&&(c===l||"GeneratorFunction"===(c.displayName||c.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,o(e,d,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),o(_.prototype,i,(function(){return this})),e.AsyncIterator=_,e.async=function(c,t,a,r,n){void 0===n&&(n=Promise);var i=new _(s(c,t,a,r),n);return e.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(m),o(m,d,"Generator"),o(m,n,(function(){return this})),o(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var c=Object(e),t=[];for(var a in c)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in c)return e.value=a,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,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(w),!e)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=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 c=this;function a(t,a){return i.type="throw",i.arg=e,c.next=t,a&&(c.method="next",c.arg=void 0),!!a}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return a("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),o=t.call(n,"finallyLoc");if(d&&o){if(this.prev<n.catchLoc)return a(n.catchLoc,!0);if(this.prev<n.finallyLoc)return a(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return a(n.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return a(n.finallyLoc)}}}},abrupt:function(e,c){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc<=this.prev&&t.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var n=r;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=c&&c<=n.finallyLoc&&(n=null);var i=n?n.completion:{};return i.type=e,i.arg=c,n?(this.method="next",this.next=n.finallyLoc,b):this.complete(i)},complete:function(e,c){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&&c&&(this.next=c),b},finish:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),w(t),b}},catch:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var r=a.arg;w(t)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,c,t){return this.delegate={iterator:T(e),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=void 0),b}},e}function _c(e){return(_c="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 kc(e,c,t,a,r,n,i){try{var d=e[n](i),o=d.value}catch(s){return void t(s)}d.done?c(o):Promise.resolve(o).then(a,r)}function Ec(e){return function(){var c=this,t=arguments;return new Promise((function(a,r){var n=e.apply(c,t);function i(e){kc(n,a,r,i,d,"next",e)}function d(e){kc(n,a,r,i,d,"throw",e)}i(void 0)}))}}function Sc(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}function wc(e,c){for(var t=0;t<c.length;t++){var a=c[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,Bc(a.key),a)}}function xc(e,c,t){return c&&wc(e.prototype,c),t&&wc(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Tc(e,c,t){return(c=Bc(c))in e?Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[c]=t,e}function Ac(e,c){if("function"!=typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(c&&c.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),c&&Dc(e,c)}function Ic(e){return(Ic=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dc(e,c){return(Dc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,c){return e.__proto__=c,e})(e,c)}function Oc(e,c){if(null==e)return{};var t,a,r=function(e,c){if(null==e)return{};var t,a,r={},n=Object.keys(e);for(a=0;a<n.length;a++)t=n[a],c.indexOf(t)>=0||(r[t]=e[t]);return r}(e,c);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)t=n[a],c.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function Rc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lc(e){var c=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 t,a=Ic(e);if(c){var r=Ic(this).constructor;t=Reflect.construct(a,arguments,r)}else t=a.apply(this,arguments);return function(e,c){if(c&&("object"==typeof c||"function"==typeof c))return c;if(void 0!==c)throw new TypeError("Derived constructors may only return object or undefined");return Rc(e)}(this,t)}}function Cc(e,c){return function(e){if(Array.isArray(e))return e}(e)||function(e,c){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,n,i,d=[],o=!0,s=!1;try{if(n=(t=t.call(e)).next,0===c){if(Object(t)!==t)return;o=!1}else for(;!(o=(a=n.call(t)).done)&&(d.push(a.value),d.length!==c);o=!0);}catch(f){s=!0,r=f}finally{try{if(!o&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(s)throw r}}return d}}(e,c)||jc(e,c)||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 Pc(e){return function(e){if(Array.isArray(e))return Mc(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||jc(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 jc(e,c){if(e){if("string"==typeof e)return Mc(e,c);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Mc(e,c):void 0}}function Mc(e,c){(null==c||c>e.length)&&(c=e.length);for(var t=0,a=new Array(c);t<c;t++)a[t]=e[t];return a}function Bc(e){var c=function(e,c){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,c||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(e)}(e,"string");return"symbol"==typeof c?c:String(c)}function Uc(e,c){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);c&&(a=a.filter((function(c){return Object.getOwnPropertyDescriptor(e,c).enumerable}))),t.push.apply(t,a)}return t}function Nc(e){for(var c=1;c<arguments.length;c++){var t=null!=arguments[c]?arguments[c]:{};c%2?Uc(Object(t),!0).forEach((function(c){$c(e,c,t[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):Uc(Object(t)).forEach((function(c){Object.defineProperty(e,c,Object.getOwnPropertyDescriptor(t,c))}))}return e}function Fc(){Fc=function(){return e};var e={},c=Object.prototype,t=c.hasOwnProperty,a=Object.defineProperty||function(e,c,t){e[c]=t.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function o(e,c,t){return Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}),e[c]}try{o({},"")}catch(I){o=function(e,c,t){return e[c]=t}}function s(e,c,t,r){var n=c&&c.prototype instanceof u?c:u,i=Object.create(n.prototype),d=new x(r||[]);return a(i,"_invoke",{value:k(e,t,d)}),i}function f(e,c,t){try{return{type:"normal",arg:e.call(c,t)}}catch(I){return{type:"throw",arg:I}}}e.wrap=s;var b={};function u(){}function l(){}function h(){}var p={};o(p,n,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==c&&t.call(y,n)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(c){o(e,c,(function(e){return this._invoke(c,e)}))}))}function _(e,c){function r(a,n,i,d){var o=f(e[a],e,n);if("throw"!==o.type){var s=o.arg,b=s.value;return b&&"object"==typeof b&&t.call(b,"__await")?c.resolve(b.__await).then((function(e){r("next",e,i,d)}),(function(e){r("throw",e,i,d)})):c.resolve(b).then((function(e){s.value=e,i(s)}),(function(e){return r("throw",e,i,d)}))}d(o.arg)}var n;a(this,"_invoke",{value:function(e,t){function a(){return new c((function(c,a){r(e,t,c,a)}))}return n=n?n.then(a,a):a()}})}function k(e,c,t){var a="suspendedStart";return function(r,n){if("executing"===a)throw new Error("Generator is already running");if("completed"===a){if("throw"===r)throw n;return{value:void 0,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=E(i,t);if(d){if(d===b)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if("suspendedStart"===a)throw a="completed",t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);a="executing";var o=f(e,c,t);if("normal"===o.type){if(a=t.done?"completed":"suspendedYield",o.arg===b)continue;return{value:o.arg,done:t.done}}"throw"===o.type&&(a="completed",t.method="throw",t.arg=o.arg)}}}function E(e,c){var t=c.method,a=e.iterator[t];if(void 0===a)return c.delegate=null,"throw"===t&&e.iterator.return&&(c.method="return",c.arg=void 0,E(e,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),b;var r=f(a,e.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,b;var n=r.arg;return n?n.done?(c[e.resultName]=n.value,c.next=e.nextLoc,"return"!==c.method&&(c.method="next",c.arg=void 0),c.delegate=null,b):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,b)}function S(e){var c={tryLoc:e[0]};1 in e&&(c.catchLoc=e[1]),2 in e&&(c.finallyLoc=e[2],c.afterLoc=e[3]),this.tryEntries.push(c)}function w(e){var c=e.completion||{};c.type="normal",delete c.arg,e.completion=c}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var c=e[n];if(c)return c.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,r=function c(){for(;++a<e.length;)if(t.call(e,a))return c.value=e[a],c.done=!1,c;return c.value=void 0,c.done=!0,c};return r.next=r}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,a(m,"constructor",{value:h,configurable:!0}),a(h,"constructor",{value:l,configurable:!0}),l.displayName=o(h,d,"GeneratorFunction"),e.isGeneratorFunction=function(e){var c="function"==typeof e&&e.constructor;return!!c&&(c===l||"GeneratorFunction"===(c.displayName||c.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,o(e,d,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),o(_.prototype,i,(function(){return this})),e.AsyncIterator=_,e.async=function(c,t,a,r,n){void 0===n&&(n=Promise);var i=new _(s(c,t,a,r),n);return e.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},g(m),o(m,d,"Generator"),o(m,n,(function(){return this})),o(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var c=Object(e),t=[];for(var a in c)t.push(a);return t.reverse(),function e(){for(;t.length;){var a=t.pop();if(a in c)return e.value=a,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,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(w),!e)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=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 c=this;function a(t,a){return i.type="throw",i.arg=e,c.next=t,a&&(c.method="next",c.arg=void 0),!!a}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return a("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),o=t.call(n,"finallyLoc");if(d&&o){if(this.prev<n.catchLoc)return a(n.catchLoc,!0);if(this.prev<n.finallyLoc)return a(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return a(n.catchLoc,!0)}else{if(!o)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return a(n.finallyLoc)}}}},abrupt:function(e,c){for(var a=this.tryEntries.length-1;a>=0;--a){var r=this.tryEntries[a];if(r.tryLoc<=this.prev&&t.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var n=r;break}}n&&("break"===e||"continue"===e)&&n.tryLoc<=c&&c<=n.finallyLoc&&(n=null);var i=n?n.completion:{};return i.type=e,i.arg=c,n?(this.method="next",this.next=n.finallyLoc,b):this.complete(i)},complete:function(e,c){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&&c&&(this.next=c),b},finish:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),w(t),b}},catch:function(e){for(var c=this.tryEntries.length-1;c>=0;--c){var t=this.tryEntries[c];if(t.tryLoc===e){var a=t.completion;if("throw"===a.type){var r=a.arg;w(t)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,c,t){return this.delegate={iterator:T(e),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=void 0),b}},e}function Gc(e){return(Gc="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 Vc(e,c,t,a,r,n,i){try{var d=e[n](i),o=d.value}catch(s){return void t(s)}d.done?c(o):Promise.resolve(o).then(a,r)}function qc(e){return function(){var c=this,t=arguments;return new Promise((function(a,r){var n=e.apply(c,t);function i(e){Vc(n,a,r,i,d,"next",e)}function d(e){Vc(n,a,r,i,d,"throw",e)}i(void 0)}))}}function zc(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}function Hc(e,c){for(var t=0;t<c.length;t++){var a=c[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,it(a.key),a)}}function Kc(e,c,t){return c&&Hc(e.prototype,c),t&&Hc(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function $c(e,c,t){return(c=it(c))in e?Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[c]=t,e}function Wc(e,c){if("function"!=typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(c&&c.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),c&&Xc(e,c)}function Yc(e){return(Yc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xc(e,c){return(Xc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,c){return e.__proto__=c,e})(e,c)}function Qc(){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 Jc(e,c,t){return(Jc=Qc()?Reflect.construct.bind():function(e,c,t){var a=[null];a.push.apply(a,c);var r=new(Function.bind.apply(e,a));return t&&Xc(r,t.prototype),r}).apply(null,arguments)}function Zc(e){var c="function"==typeof Map?new Map:void 0;return Zc=function(e){if(null===e||(t=e,-1===Function.toString.call(t).indexOf("[native code]")))return e;var t;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==c){if(c.has(e))return c.get(e);c.set(e,a)}function a(){return Jc(e,arguments,Yc(this).constructor)}return a.prototype=Object.create(e.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}}),Xc(a,e)},Zc(e)}function et(e,c){if(null==e)return{};var t,a,r=function(e,c){if(null==e)return{};var t,a,r={},n=Object.keys(e);for(a=0;a<n.length;a++)t=n[a],c.indexOf(t)>=0||(r[t]=e[t]);return r}(e,c);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)t=n[a],c.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}function ct(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tt(e){var c=Qc();return function(){var t,a=Yc(e);if(c){var r=Yc(this).constructor;t=Reflect.construct(a,arguments,r)}else t=a.apply(this,arguments);return function(e,c){if(c&&("object"==typeof c||"function"==typeof c))return c;if(void 0!==c)throw new TypeError("Derived constructors may only return object or undefined");return ct(e)}(this,t)}}function at(){return at="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,c,t){var a=function(e,c){for(;!Object.prototype.hasOwnProperty.call(e,c)&&null!==(e=Yc(e)););return e}(e,c);if(a){var r=Object.getOwnPropertyDescriptor(a,c);return r.get?r.get.call(arguments.length<3?e:t):r.value}},at.apply(this,arguments)}function rt(e,c){(null==c||c>e.length)&&(c=e.length);for(var t=0,a=new Array(c);t<c;t++)a[t]=e[t];return a}function nt(e,c){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=function(e,c){if(e){if("string"==typeof e)return rt(e,c);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?rt(e,c):void 0}}(e))||c&&e&&"number"==typeof e.length){t&&(e=t);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}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 n,i=!0,d=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){d=!0,n=e},f:function(){try{i||null==t.return||t.return()}finally{if(d)throw n}}}}function it(e){var c=function(e,c){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,c||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(e)}(e,"string");return"symbol"==typeof c?c:String(c)}var dt,ot=function(){function e(){zc(this,e)}return Kc(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(c){}}},{key:"buffers",value:function(e,c){if(!e||!e.length)return[];for(var t=[],a=0,r=e.length;a<r;a++){var n=t.length;if(n&&c){var i=t[n-1],d=i[1];if(e.start(a)-d<=c){var o=e.end(a);o>d&&(i[1]=o)}else t.push([e.start(a),e.end(a)])}else t.push([e.start(a),e.end(a)])}return t}},{key:"totalLength",value:function(e){return e&&e.length?e.reduce((function(e,c){return e+(c[1]-c[0])}),0):0}},{key:"info",value:function(c){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!c||!c.length)return{start:0,end:0,buffers:[]};for(var r=0,n=0,i=0,d=0,o=0,s=0,f=0,b=e.buffers(c,a),u=0,l=b.length;u<l;u++){var h=b[u];if(t+a>=h[0]&&t<=h[1])r=h[0],n=h[1],i=u;else{if(t+a<h[0]){d=h[0],o=h[1];break}t+a>h[1]&&(s=h[0],f=h[1])}}return{start:r,end:n,index:i,buffers:b,nextStart:d,nextEnd:o,prevStart:s,prevEnd:f,currentTime:t,behind:t-r,remaining:n?n-t:0,length:e.totalLength&&e.totalLength(b)}}},{key:"isBuffered",value:function(c,t){if(c){var a=e.get(c);if(null!=a&&a.length)for(var r=0;r<a.length;r++)if(t>=a.start(r)&&t<=a.end(r))return!0}return!1}}]),e}(),st="undefined"!=typeof window,ft="manifest",bt="network",ut="network_timeout",lt="network_forbidden",ht="network_notfound",pt="network_range_not_satisfiable",vt="demux",yt="remux",mt="media",gt="drm",_t="other",kt="runtime",Et={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"},St=($c(dt={},ft,{HLS:1100,DASH:1200}),$c(dt,bt,2100),$c(dt,ut,2101),$c(dt,lt,2103),$c(dt,ht,2104),$c(dt,pt,2116),$c(dt,vt,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),$c(dt,yt,{FMP4:4100,MP4:4200}),$c(dt,mt,{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}),$c(dt,gt,{LICENSE:7100,CUSTOM_LICENSE:7200}),$c(dt,_t,8e3),$c(dt,kt,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),dt),wt=function(e){Wc(t,e);var c=tt(t);function t(e,a,r,n,i){var d;return zc(this,t),(d=c.call(this,i||(null==r?void 0:r.message))).errorType=e===ut?bt:e,d.originError=r,d.ext=n,d.errorCode=St[e][a]||St[e],d.errorMessage=d.message,d.errorCode||(d.errorType=_t,d.errorCode=St[d.errorType]),d}return Kc(t,null,[{key:"create",value:function(e,c,a,r,n){return e instanceof t?e:(e instanceof Error&&(a=e,e=""),e||(e=_t),new t(e,c,a,r,n))}},{key:"network",value:function(e){var c;return new t(null!=e&&e.isTimeout?ut:bt,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(c=e.response)||void 0===c?void 0:c.status})}}]),t}(Zc(Error)),xt={DEBUG:1,LOG:2,WARN:3,ERROR:4},Tt=["Boolean","Number","String","Undefined","Null","Date","Object"],At=function(){function e(c,t){zc(this,e),this.name=c||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==t?void 0:t.logCacheLevel)||3,this.logMaxSize=(null==t?void 0:t.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return Kc(e,[{key:"debug",value:function(){for(var c,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];this.logCache.apply(this,[xt.DEBUG].concat(a)),e.disabled||(c=console).debug.apply(c,["[".concat(It(),"]"),this._prefix].concat(a))}},{key:"log",value:function(){for(var c,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];this.logCache.apply(this,[xt.LOG].concat(a)),e.disabled||(c=console).log.apply(c,["[".concat(It(),"]"),this._prefix].concat(a))}},{key:"warn",value:function(){for(var c,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];this.logCache.apply(this,[xt.WARN].concat(a)),e.disabled||(c=console).warn.apply(c,["[".concat(It(),"]"),this._prefix].concat(a))}},{key:"error",value:function(){for(var c,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];this.logCache.apply(this,[xt.ERROR].concat(a)),e.disabled||(c=console).error.apply(c,["[".concat(It(),"]"),this._prefix].concat(a))}},{key:"logCache",value:function(e){if(!(e<this.logCacheLevel)){var c="";try{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=a.map((function(e){return Ot(e)}));c="[".concat(It(),"]")+this._prefix+JSON.stringify(n)}catch(d){return}if(e>=this.logCacheLevel&&(this.logSize+=c.length,this.logTextArray.push(c)),this.logSize>this.logMaxSize){var i=this.logTextArray.shift();this.logSize-=i.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 c;e.disabled||(console.group(this._prefix),(c=console).table.apply(c,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 It(){return(new Date).toLocaleString()}function Dt(e){if("object"!==Gc(e))return e;var c=Object.prototype.toString.call(e).slice(8,-1);switch(c){case"Array":case"Uint8Array":case"ArrayBuffer":return c+"["+e.length+"]";case"Object":return"{}";default:return c}}function Ot(e,c,t){t||(t=1),c||(c=2);var a={};if(!e||"object"!==Gc(e))return e;var r=Object.prototype.toString.call(e).slice(8,-1);if(!Tt.includes(r))return r;if(!(t>c)){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t===c?a[n]=Dt(e[n]):"object"===Gc(e[n])?a[n]=Ot(e[n],c,t+1):a[n]=e[n]);return a}}function Rt(){var e,c,t=new Promise((function(t,a){e=t,c=a}));return t.used=!1,t.resolve=function(){return t.used=!0,e.apply(void 0,arguments)},t.reject=function(){return t.used=!0,c.apply(void 0,arguments)},t}function Lt(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}$c(At,"disabled",!0);var Ct=function(e){try{return JSON.stringify(e)}catch(c){return""}};function Pt(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return st?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(c){}}function jt(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}var Mt="appendBuffer",Bt="removeBuffer",Ut="updateDuration",Nt=function(){function e(c,t){var a=this;zc(this,e),$c(this,"media",null),$c(this,"mediaSource",null),$c(this,"_openPromise",Rt()),$c(this,"_queue",Object.create(null)),$c(this,"_sourceBuffer",Object.create(null)),$c(this,"_mseFullFlag",{}),$c(this,"_st",0),$c(this,"_opst",0),$c(this,"_logger",null),$c(this,"_config",null),$c(this,"_url",null),$c(this,"_onStartStreaming",(function(){a._logger.debug("startstreaming")})),$c(this,"_onEndStreaming",(function(){a._logger.debug("endstreaming")})),$c(this,"_onSBUpdateEnd",(function(e){var c=a._queue[e];if(c){var t=c[0];if((null==t?void 0:t.opName)!==Ut&&c.shift(),t){var r,n,i=Lt()-a._opst;a._logger.debug("UpdateEnd(".concat(e,"/").concat(t.opName,")"),Ct(function(e){var c=[];if(e instanceof TimeRanges)for(var t=0;t<e.length;t++)c.push({start:e.start(t),end:e.end(t)});return c}(null===(r=a._sourceBuffer[e])||void 0===r?void 0:r.buffered)),i,t.context),t.promise.resolve({name:t.opName,context:t.context,costtime:i});var d=null===(n=t.context)||void 0===n?void 0:n.callback;d&&"function"==typeof d&&d(t.context),a._startQueue(e)}}})),$c(this,"_onSBUpdateError",(function(e,c){var t=a._queue[e];if(t){var r=t[0];r&&(a._logger.error("UpdateError",e,r.opName,r.context),r.promise.reject(new wt(mt,Et.MSE_APPEND_BUFFER,c)))}})),this._config=Object.assign(e.getDefaultConfig(),t),c&&this.bindMedia(c),this._logger=new At("MSE"),this._config.openLog&&At.enable()}var c,t,a;return Kc(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,c=!1;return Object.keys(this._queue).forEach((function(t){var a=e._queue[t];Array.isArray(a)&&(c||(c=a.length>0))})),c}},{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!jt(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(c){return c?this._mseFullFlag[c]:this._mseFullFlag[e.VIDEO]}},{key:"updateDuration",value:function(e){var c=this,t=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){var a=0;if(Object.keys(this._sourceBuffer).forEach((function(e){try{a=Math.max(c.bufferEnd(e)||0,a)}catch(t){}})),e<a)return Promise.resolve()}return this._enqueueBlockingOp((function(){c.isEnded?c._logger.debug("setDuration but ended"):c.mediaSource&&(c.mediaSource.duration=e,c._logger.debug("setDuration",e))}),Ut,{isReduceDuration:t})}},{key:"open",value:function(){var e=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var c=this.mediaSource;c.addEventListener("sourceopen",(function t(){var a=Lt()-e._st;e._logger.debug("sourceopen",a),c.removeEventListener("sourceopen",t),e._openPromise.resolve({costtime:a})})),this._openPromise=Rt()}return this._openPromise}},{key:"bindMedia",value:(a=qc(Fc().mark((function e(c){var t,a,r,n,i=this;return Fc().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(t=Pt(this._config.preferMMS),c&&t){e.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=c,a=this.mediaSource=new t,r=jt(a),this._st=Lt(),n=function e(){var t=Lt()-i._st;i._logger.debug("sourceopen"),a.removeEventListener("sourceopen",e),URL.revokeObjectURL(c.src),i._openPromise.resolve({costtime:t})},a.addEventListener("sourceopen",n),r&&(a.addEventListener("startstreaming",this._onStartStreaming),a.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(a),c.src=this._url,c.disableRemotePlayback=r,e.abrupt("return",this._openPromise);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"unbindMedia",value:(t=qc(Fc().mark((function e(){var c,t,a,r=this;return Fc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),c=this.mediaSource){if(Object.keys(this._queue).forEach((function(e){var c=r._queue[e];c&&c.forEach((function(e){var c,t;return null===(c=e.promise)||void 0===c||null===(t=c.resolve)||void 0===t?void 0:t.call(c)}))})),t=!!this.media&&this.media.readyState>=1,a="open"===c.readyState,t&&a)try{c.endOfStream()}catch(n){}Object.keys(this._sourceBuffer).forEach((function(e){try{c.removeSourceBuffer(r._sourceBuffer[e])}catch(n){}})),jt(c)&&(c.removeEventListener("startstreaming",this._onStartStreaming),c.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(n){}this.media=null}this.mediaSource=null,this._openPromise=Rt(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"createSource",value:function(e,c){if(!this._sourceBuffer[e]&&this.mediaSource){var t;try{t=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(c)}catch(a){throw new wt(mt,Et.MSE_ADD_SB,a)}t.mimeType=c,t.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),t.addEventListener("error",this._onSBUpdateError.bind(this,e))}}},{key:"changeType",value:function(e,c){var t=this,a=this._sourceBuffer[e];return this.mediaSource&&a&&a.mimeType!==c?"function"!=typeof a.changeType?Promise.reject(new wt(mt,Et.MSE_CHANGE_TYPE,new Error("changeType is not a function"))):this._enqueueOp(e,(function(){try{a.changeType(c)}catch(r){throw new wt(mt,Et.MSE_CHANGE_TYPE,r)}a.mimeType=c,t._onSBUpdateEnd(e)}),"changeType",{mimeType:c}):Promise.resolve()}},{key:"createOrChangeSource",value:function(e,c){return this.createSource(e,c),this.changeType(e,c)}},{key:"append",value:function(e,c,t){var a=this;return c&&c.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(function(){var r;a.mediaSource&&!a.media.error&&(a._logger.debug("MSE APPEND START",t),a._opst=Lt(),null===(r=a._sourceBuffer[e])||void 0===r||r.appendBuffer(c))}),Mt,t):Promise.resolve()}},{key:"remove",value:function(e,c,t,a){var r=this,n=!1;return this._mseFullFlag[e]&&(n=!0),this._enqueueOp(e,(function(){if(r.mediaSource&&!r.media.error){var n=r._sourceBuffer[e];c>=t||!n?r._onSBUpdateEnd(e):(r._opst=Lt(),r._logger.debug("MSE REMOVE START",e,c,t,a),n.remove(c,t))}}),Bt,a,n)}},{key:"clearBuffer",value:function(e,c){var t,a=this;return Object.keys(this._sourceBuffer).forEach((function(r){t=a.remove(r,e,c)})),t||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var e,c=this;return Object.keys(this._sourceBuffer).forEach((function(t){var a=c._sourceBuffer[t];e=c.remove(t,0,ot.end(ot.get(a)))})),e}},{key:"clearOpQueues",value:function(e,c){var t;this._logger.debug("MSE clearOpQueue START");var a=this._queue[e];if(c&&a)this._queue[e]=[];else if(a&&a[e]&&!(a.length<5)){var r=[];a.forEach((function(e){e.context&&e.context.isinit&&r.push(e)})),this._queue[e]=a.slice(0,2),r.length>0&&(t=this._queue[e]).push.apply(t,r)}}},{key:"endOfStream",value:function(e){var c=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var t=c.mediaSource;t&&"open"===t.readyState&&(c._logger.debug("MSE endOfStream START"),e?t.endOfStream(e):t.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(e,c){var t=this.mediaSource;e<0||c<e||null==t||!t.setLiveSeekableRange||"open"!==t.readyState||t.setLiveSeekableRange(e,c)}},{key:"getSourceBuffer",value:function(e){return this._sourceBuffer[e]}},{key:"buffered",value:function(e){return ot.get(this._sourceBuffer[e])}},{key:"bufferStart",value:function(e){return ot.start(this.buffered(e))}},{key:"bufferEnd",value:function(e){return ot.end(this.buffered(e))}},{key:"_enqueueOp",value:function(e,c,t,a,r){var n=this;if(!this.mediaSource)return Promise.resolve();var i=this._queue[e]=this._queue[e]||[],d={exec:c,promise:Rt(),opName:t,context:a};return r?(i.splice(0,0,d),this._mseFullFlag[e]=!1,this._startQueue(e)):i.push(d),this.isOpened||this.isEnded?1===i.length&&this._startQueue(e):this._openPromise.then((function(){1===i.length&&n._startQueue(e)})),d.promise}},{key:"_enqueueBlockingOp",value:(c=qc(Fc().mark((function e(c,t,a){var r,n,i=this;return Fc().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((r=Object.keys(this._sourceBuffer)).length){e.next=5;break}return e.abrupt("return",c());case 5:return n=[],r.forEach((function(e){var c=i._queue[e],r=Rt();n.push(r),c.push({exec:function(){r.resolve()},promise:r,opName:t,context:a}),1===c.length&&i._startQueue(e)})),e.abrupt("return",Promise.all(n).then((function(){try{return c()}finally{r.forEach((function(e){var c=i._queue[e],t=i._sourceBuffer[e];null==c||c.shift(),t&&t.updating||i._startQueue(e)}))}})));case 8:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return c.apply(this,arguments)})},{key:"_startQueue",value:function(e){var c=this._queue[e];if(c){var t=c[0];if(t&&!this._mseFullFlag[e])try{t.exec()}catch(n){var a,r;if(n&&n.message&&n.message.indexOf("SourceBuffer is full")>=0)this._mseFullFlag[e]=!0,t.context&&"object"===Gc(t.context)&&(t.context.isFull=!0),this._logger.error("[MSE error], context,",t.context," ,name,",t.opName,",err,SourceBuffer is full"),null==t||null===(a=t.promise)||void 0===a||a.reject(new wt(mt,Et.MSE_FULL,n));else this._logger.error(n),null==t||null===(r=t.promise)||void 0===r||r.reject(n.constructor===wt?n:new wt(mt,Et.MSE_OTHER,n)),c.shift(),this._startQueue(e)}}}},{key:"setTimeoffset",value:function(e,c,t){var a=this;return this._enqueueOp(e,(function(){c<0&&(c+=.001),a._sourceBuffer[e].timestampOffset=c,a._onSBUpdateEnd(e)}),"setTimeoffset",t)}},{key:"abort",value:function(e,c){var t=this;return this.isOpened?this._enqueueOp(e,(function(){t._sourceBuffer[e].abort(),t._onSBUpdateEnd(e)}),"abort",c):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"',c=Pt();if(!c)return!1;try{return c.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}();$c(Nt,"VIDEO","video"),$c(Nt,"AUDIO","audio");var Ft="fetch",Gt="xhr",Vt="arraybuffer",qt="text",zt="json",Ht=function(e){Wc(t,e);var c=tt(t);function t(e,a,r,n){var i;return zc(this,t),$c(ct(i=c.call(this,n)),"retryCount",0),$c(ct(i),"isTimeout",!1),$c(ct(i),"loaderType",Ft),$c(ct(i),"startTime",0),$c(ct(i),"endTime",0),$c(ct(i),"options",{}),i.url=e,i.request=a,i.response=r,i}return Kc(t)}(Zc(Error)),Kt=Object.prototype.toString;function $t(e){if("[object Object]"!==Kt.call(e))return!1;var c=Object.getPrototypeOf(e);return null===c||c===Object.prototype}function Wt(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var c="bytes="+e[0]+"-";return e[1]&&(c+=e[1]),c}}function Yt(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xt(e,c){if(e){if(!c)return e;var t,a=Object.keys(c).map((function(e){if(null!=(t=c[e]))return Array.isArray(t)?e+="[]":t=[t],t.map((function(c){var t;return t=c,"[object Date]"===Kt.call(t)?c=c.toISOString():function(e){return null!==e&&"object"===Gc(e)}(c)&&(c=JSON.stringify(c)),"".concat(Yt(e),"=").concat(Yt(c))})).join("&")})).filter(Boolean).join("&");if(a){var r=e.indexOf("#");-1!==r&&(e=e.slice(0,r)),e+=(-1===e.indexOf("?")?"?":"&")+a}return e}}function Qt(e,c,t,a,r,n,i,d,o,s,f){return r=null!=r?parseFloat(r):null,a=parseInt(a||"0",10),Number.isNaN(a)&&(a=0),{data:e,done:c,options:{range:o,vid:s,index:d,contentLength:a,age:r,startTime:n,firstByteTime:i,endTime:Date.now(),priOptions:f},response:t}}function Jt(e,c){return Math.round(8*e*1e3/c/1024)}var Zt={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"},ea={exports:{}};!function(e){var c=Object.prototype.hasOwnProperty,t="~";function a(){}function r(e,c,t){this.fn=e,this.context=c,this.once=t||!1}function n(e,c,a,n,i){if("function"!=typeof a)throw new TypeError("The listener must be a function");var d=new r(a,n||e,i),o=t?t+c:c;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],d]:e._events[o].push(d):(e._events[o]=d,e._eventsCount++),e}function i(e,c){0==--e._eventsCount?e._events=new a:delete e._events[c]}function d(){this._events=new a,this._eventsCount=0}Object.create&&(a.prototype=Object.create(null),(new a).__proto__||(t=!1)),d.prototype.eventNames=function(){var e,a,r=[];if(0===this._eventsCount)return r;for(a in e=this._events)c.call(e,a)&&r.push(t?a.slice(1):a);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},d.prototype.listeners=function(e){var c=t?t+e:e,a=this._events[c];if(!a)return[];if(a.fn)return[a.fn];for(var r=0,n=a.length,i=new Array(n);r<n;r++)i[r]=a[r].fn;return i},d.prototype.listenerCount=function(e){var c=t?t+e:e,a=this._events[c];return a?a.fn?1:a.length:0},d.prototype.emit=function(e,c,a,r,n,i){var d=t?t+e:e;if(!this._events[d])return!1;var o,s,f=this._events[d],b=arguments.length;if(f.fn){switch(f.once&&this.removeListener(e,f.fn,void 0,!0),b){case 1:return f.fn.call(f.context),!0;case 2:return f.fn.call(f.context,c),!0;case 3:return f.fn.call(f.context,c,a),!0;case 4:return f.fn.call(f.context,c,a,r),!0;case 5:return f.fn.call(f.context,c,a,r,n),!0;case 6:return f.fn.call(f.context,c,a,r,n,i),!0}for(s=1,o=new Array(b-1);s<b;s++)o[s-1]=arguments[s];f.fn.apply(f.context,o)}else{var u,l=f.length;for(s=0;s<l;s++)switch(f[s].once&&this.removeListener(e,f[s].fn,void 0,!0),b){case 1:f[s].fn.call(f[s].context);break;case 2:f[s].fn.call(f[s].context,c);break;case 3:f[s].fn.call(f[s].context,c,a);break;case 4:f[s].fn.call(f[s].context,c,a,r);break;default:if(!o)for(u=1,o=new Array(b-1);u<b;u++)o[u-1]=arguments[u];f[s].fn.apply(f[s].context,o)}}return!0},d.prototype.on=function(e,c,t){return n(this,e,c,t,!1)},d.prototype.once=function(e,c,t){return n(this,e,c,t,!0)},d.prototype.removeListener=function(e,c,a,r){var n=t?t+e:e;if(!this._events[n])return this;if(!c)return i(this,n),this;var d=this._events[n];if(d.fn)d.fn!==c||r&&!d.once||a&&d.context!==a||i(this,n);else{for(var o=0,s=[],f=d.length;o<f;o++)(d[o].fn!==c||r&&!d[o].once||a&&d[o].context!==a)&&s.push(d[o]);s.length?this._events[n]=1===s.length?s[0]:s:i(this,n)}return this},d.prototype.removeAllListeners=function(e){var c;return e?(c=t?t+e:e,this._events[c]&&i(this,c)):(this._events=new a,this._eventsCount=0),this},d.prototype.off=d.prototype.removeListener,d.prototype.addListener=d.prototype.on,d.prefixed=t,d.EventEmitter=d,e.exports=d}(ea);var ca=Me(ea.exports),ta=2097152,aa=function(e){Wc(a,e);var c,t=tt(a);function a(){var e;return zc(this,a),$c(ct(e=t.call(this)),"_abortController",null),$c(ct(e),"_timeoutTimer",null),$c(ct(e),"_reader",null),$c(ct(e),"_response",null),$c(ct(e),"_aborted",!1),$c(ct(e),"_index",-1),$c(ct(e),"_range",null),$c(ct(e),"_receivedLength",0),$c(ct(e),"_running",!1),$c(ct(e),"_logger",null),$c(ct(e),"_vid",""),$c(ct(e),"_onProcessMinLen",0),$c(ct(e),"_onCancel",null),$c(ct(e),"_priOptions",null),e}return Kc(a,[{key:"load",value:function(e){var c,t=this,a=e.url,r=e.vid,n=e.timeout,i=e.responseType,d=e.onProgress,o=e.index,s=e.onTimeout,f=e.onCancel,b=e.range,u=e.transformResponse,l=e.request,h=e.params,p=e.logger,v=e.method,y=e.headers,m=e.body,g=e.mode,_=e.credentials,k=e.cache,E=e.redirect,S=e.referrer,w=e.referrerPolicy,x=e.onProcessMinLen,T=e.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=x,this._onCancel=f,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=o,this._range=b||[0,0],this._vid=r||a,this._priOptions=T||{};var A={method:v,headers:y,body:m,mode:g,credentials:_,cache:k,redirect:E,referrer:S,referrerPolicy:w,signal:null===(c=this._abortController)||void 0===c?void 0:c.signal},I=!1;clearTimeout(this._timeoutTimer),a=Xt(a,h);var D=Wt(b);D&&(y=l?l.headers:A.headers=A.headers||(Headers?new Headers:{}),Headers&&y instanceof Headers?y.append("Range",D):y.Range=D),n&&(this._timeoutTimer=setTimeout((function(){if(I=!0,t.cancel(),s){var e=new Ht(a,A,null,"timeout");e.isTimeout=!0,s(e,{index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions})}}),n));var O=Date.now();return this._logger.debug("[fetch load start], index,",o,",range,",b),new Promise((function(e,c){fetch(l||a,l?void 0:A).then(function(){var r=qc(Fc().mark((function r(n){var s,f,l,h;return Fc().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(clearTimeout(t._timeoutTimer),t._response=n,!t._aborted&&t._running){r.next=4;break}return r.abrupt("return");case 4:if(u&&(n=u(n,a)||n),n.ok){r.next=7;break}throw new Ht(a,A,n,"bad network response");case 7:if(s=Date.now(),i!==qt){r.next=15;break}return r.next=11,n.text();case 11:f=r.sent,t._running=!1,r.next=37;break;case 15:if(i!==zt){r.next=22;break}return r.next=18,n.json();case 18:f=r.sent,t._running=!1,r.next=37;break;case 22:if(!d){r.next=29;break}return t.resolve=e,t.reject=c,t._loadChunk(n,d,O,s),r.abrupt("return");case 29:return r.next=31,n.arrayBuffer();case 31:f=r.sent,f=new Uint8Array(f),t._running=!1,l=Date.now()-O,h=Jt(f.byteLength,l),t.emit(Zt.REAL_TIME_SPEED,{speed:h,len:f.byteLength,time:l,vid:t._vid,index:t._index,range:t._range,priOptions:t._priOptions});case 37:t._logger.debug("[fetch load end], index,",o,",range,",b),e(Qt(f,!0,n,n.headers.get("Content-Length"),n.headers.get("age"),O,s,o,b,t._vid,t._priOptions));case 39:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()).catch((function(e){var r;clearTimeout(t._timeoutTimer),t._running=!1,t._aborted&&!I||((e=e instanceof Ht?e:new Ht(a,A,null,null===(r=e)||void 0===r?void 0:r.message)).startTime=O,e.endTime=Date.now(),e.isTimeout=I,e.options={index:t._index,range:t._range,vid:t._vid,priOptions:t._priOptions},c(e))}))}))}},{key:"cancel",value:(c=qc(Fc().mark((function e(){return Fc().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(c){}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 c.apply(this,arguments)})},{key:"_loadChunk",value:function(e,c,t,a){var r=this;if(!e.body||!e.body.getReader){this._running=!1;var n=new Ht(e.url,"",e,"onProgress of bad response.body.getReader");return n.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(n)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(ta),this._writeIdx=0);var i,d,o,s=this._reader=e.body.getReader(),f=function(){var n=qc(Fc().mark((function n(){var b,u,l,h,p,v,y,m;return Fc().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return d=Date.now(),n.prev=1,n.next=4,s.read();case 4:i=n.sent,o=Date.now(),n.next=13;break;case 8:return n.prev=8,n.t0=n.catch(1),o=Date.now(),r._aborted||(r._running=!1,n.t0.options={index:r._index,range:r._range,vid:r._vid,priOptions:r._priOptions},r.reject(n.t0)),n.abrupt("return");case 13:if(u=(null===(b=r._range)||void 0===b?void 0:b.length)>0?r._range[0]:0,l=u+r._receivedLength,!r._aborted){n.next=19;break}return r._running=!1,c(void 0,!1,{range:[l,l],vid:r._vid,index:r._index,startTime:d,endTime:o,st:t,firstByteTime:a,priOptions:r._priOptions},e),n.abrupt("return");case 19:h=i.value?i.value.byteLength:0,r._receivedLength+=h,r._logger.debug("【fetchLoader,onProgress call】,task,",r._range,", start,",l,", end,",u+r._receivedLength,", done,",i.done),r._onProcessMinLen>0?r._writeIdx+h>=r._onProcessMinLen||i.done?((p=new Uint8Array(r._writeIdx+h)).set(r._cache.slice(0,r._writeIdx),0),h>0&&p.set(i.value,r._writeIdx),r._writeIdx=0,r._logger.debug("【fetchLoader,onProgress enough】,done,",i.done,",len,",p.byteLength,", writeIdx,",r._writeIdx)):h>0&&r._writeIdx+h<ta?(r._cache.set(i.value,r._writeIdx),r._writeIdx+=h,r._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",r._writeIdx)):h>0&&(v=new Uint8Array(r._writeIdx+h+2048),r._logger.debug("【fetchLoader,onProgress extra start】,size,",r._writeIdx+h+2048,", datalen,",h,", writeIdx,",r._writeIdx),v.set(r._cache.slice(0,r._writeIdx),0),h>0&&v.set(i.value,r._writeIdx),r._writeIdx+=h,delete r._cache,r._cache=v,r._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",r._writeIdx)):p=i.value,(p&&p.byteLength>0||i.done)&&c(p,i.done,{range:[r._range[0]+r._receivedLength-(p?p.byteLength:0),r._range[0]+r._receivedLength],vid:r._vid,index:r._index,startTime:d,endTime:o,st:t,firstByteTime:a,priOptions:r._priOptions},e),i.done?(y=Date.now()-t,m=Jt(r._receivedLength,y),r.emit(Zt.REAL_TIME_SPEED,{speed:m,len:r._receivedLength,time:y,vid:r._vid,index:r._index,range:r._range,priOptions:r._priOptions}),r._running=!1,r._logger.debug("[fetchLoader onProgress end],task,",r._range,",done,",i.done),r.resolve(Qt(i,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),t,a,r._index,r._range,r._vid,r._priOptions))):f();case 25:case"end":return n.stop()}}),n,null,[[1,8]])})));return function(){return n.apply(this,arguments)}}();f()}},{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)}}]),a}(ca);var ra=function(e){Wc(t,e);var c=tt(t);function t(){var e;return zc(this,t),$c(ct(e=c.call(this)),"_xhr",null),$c(ct(e),"_aborted",!1),$c(ct(e),"_timeoutTimer",null),$c(ct(e),"_range",null),$c(ct(e),"_receivedLength",0),$c(ct(e),"_url",null),$c(ct(e),"_onProgress",null),$c(ct(e),"_index",-1),$c(ct(e),"_headers",null),$c(ct(e),"_currentChunkSizeKB",384),$c(ct(e),"_timeout",null),$c(ct(e),"_xhr",null),$c(ct(e),"_withCredentials",null),$c(ct(e),"_startTime",-1),$c(ct(e),"_loadCompleteResolve",null),$c(ct(e),"_loadCompleteReject",null),$c(ct(e),"_runing",!1),$c(ct(e),"_logger",!1),$c(ct(e),"_vid",""),$c(ct(e),"_responseType",void 0),$c(ct(e),"_credentials",void 0),$c(ct(e),"_method",void 0),$c(ct(e),"_transformResponse",void 0),$c(ct(e),"_firstRtt",void 0),$c(ct(e),"_onCancel",null),$c(ct(e),"_priOptions",null),e}return Kc(t,[{key:"load",value:function(e){var c=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=Xt(e.url,e.params);var t=Date.now();return new Promise((function(e,t){c._loadCompleteResolve=e,c._loadCompleteReject=t,c._startLoad()})).catch((function(e){if(clearTimeout(c._timeoutTimer),c._runing=!1,!c._aborted)throw(e=e instanceof Ht?e:new Ht(c._url,c._request)).startTime=t,e.endTime=Date.now(),e.options={index:c._index,vid:c._vid,priOptions:c._priOptions},e}))}},{key:"_startLoad",value:function(){var e=null;if(this._responseType===Vt&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var c=1024*this._currentChunkSizeKB,t=this._range[0]+this._receivedLength,a=this._range[1];c<this._range[1]-t&&(a=t+c),e=[t,a],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 c=this;try{this._startTime=Date.now();var t=this._xhr=new XMLHttpRequest;t.open(this._method||"GET",this._url,!0),t.responseType=this._responseType,this._timeout&&(t.timeout=this._timeout),t.withCredentials=this._withCredentials,t.onload=this._onLoad.bind(this),t.onreadystatechange=this._onReadyStatechange.bind(this),t.onerror=function(e){var t,a,r;c._running=!1;var n=new Ht(c._url,c._request,null==e||null===(t=e.currentTarget)||void 0===t?void 0:t.response,"xhr.onerror.status:"+(null==e||null===(a=e.currentTarget)||void 0===a?void 0:a.status)+",statusText,"+(null==e||null===(r=e.currentTarget)||void 0===r?void 0:r.statusText));n.options={index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions},c._loadCompleteReject(n)},t.ontimeout=function(e){c.cancel();var t=new Ht(c._url,c._request,{status:408},"timeout");c._onTimeout&&(t.isTimeout=!0,c._onTimeout(t,{index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions})),t.options={index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions},c._loadCompleteReject(t)};var a=this._headers||{},r=Wt(e);r&&(a.Range=r),a&&Object.keys(a).forEach((function(e){t.setRequestHeader(e,a[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),t.send(this._body)}catch(n){n.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(n)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(e){var c,t=e.target.status;if(t<200||t>299){var a=new Ht(this._url,null,Nc(Nc({},e.target.response),{},{status:t}),"bad response,status:"+t);return a.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(a)}var r,n=null,i=!1,d=(null===(c=this._range)||void 0===c?void 0:c.length)>0?this._range[0]:0;if(this._responseType===Vt){var o,s=new Uint8Array(e.target.response);if(r=d+this._receivedLength,s&&s.byteLength>0){this._receivedLength+=s.byteLength;var f=Date.now()-this._startTime,b=Jt(this._receivedLength,f);this.emit(Zt.REAL_TIME_SPEED,{speed:b,len:this._receivedLength,time:f,vid:this._vid,index:this._index,range:[r,d+this._receivedLength],priOptions:this._priOptions})}n=s,i=!((null===(o=this._range)||void 0===o?void 0:o.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",r,"end ",d+this._receivedLength,",dataLen,",s?s.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",i)}else i=!0,n=e.target.response;var u={ok:t>=200&&t<300,status:t,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(u=this._transformResponse(u,this._url)||u),this._onProgress&&this._onProgress(n,i,{index:this._index,vid:this._vid,range:[r,d+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},u),i?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Qt(this._onProgress?null:n,i,u,u.headers["content-length"],u.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,at(Yc(t.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 c,t={},a=nt(e.getAllResponseHeaders().trim().split("\r\n"));try{for(a.s();!(c=a.n()).done;){var r=c.value.split(": ");t[r[0].toLowerCase()]=r.slice(1).join(": ")}}catch(n){a.e(n)}finally{a.f()}return t}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),t}(ca),na=["retry","retryDelay","onRetryError","transformError"],ia=function(){function e(c,t){zc(this,e),this.promise=Rt(),this.alive=!!t.onProgress,!t.logger&&(t.logger=new At("Loader")),this._loaderType=c,this._loader=c===Ft&&"undefined"!=typeof fetch?new aa:new ra,this._config=t,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=t.retryCheckFunc,this._logger=t.logger}var c;return Kc(e,[{key:"exec",value:function(){var e=this,c=this._config,t=c.retry,a=c.retryDelay,r=c.onRetryError,n=c.transformError,i=et(c,na),d=function(){var c=qc(Fc().mark((function c(){var o,s,f;return Fc().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return c.prev=0,c.next=3,e._loader.load(i);case 3:o=c.sent,e.promise.resolve(o),c.next=27;break;case 7:if(c.prev=7,c.t0=c.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",c.t0),!e._canceled){c.next=13;break}return c.abrupt("return");case 13:if(c.t0.loaderType=e._loaderType,c.t0.retryCount=e._retryCount,s=c.t0,n&&(s=n(s)||s),r&&e._retryCount>0&&r(s,e._retryCount,{index:i.index,vid:i.vid,range:i.range,priOptions:i.priOptions}),e._retryCount++,f=!0,e._retryCheckFunc&&(f=e._retryCheckFunc(c.t0)),!(f&&e._retryCount<=t)){c.next=26;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",i.range),e._retryTimer=setTimeout(d,a),c.abrupt("return");case 26:e.promise.reject(s);case 27:case"end":return c.stop()}}),c,null,[[0,7]])})));return function(){return c.apply(this,arguments)}}();return d(),this.promise}},{key:"cancel",value:(c=qc(Fc().mark((function e(){return Fc().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 c.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function da(){for(var e=arguments.length,c=new Array(e),t=0;t<e;t++)c[t]=arguments[t];if((c=c.filter(Boolean)).length<2)return c[0];var a=new Uint8Array(c.reduce((function(e,c){return e+c.byteLength}),0)),r=0;return c.forEach((function(e){a.set(e,r),r+=e.byteLength})),a}function oa(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(c){return setTimeout(c,e)}))}var sa=function(e){Wc(a,e);var c,t=tt(a);function a(e){var c;return zc(this,a),$c(ct(c=t.call(this,e)),"type",Ft),$c(ct(c),"_queue",[]),$c(ct(c),"_alive",[]),$c(ct(c),"_currentTask",null),$c(ct(c),"_finnalUrl",""),$c(ct(c),"_config",void 0),c._config=function(e){return Nc({loaderType:Ft,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:qt,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)}(e),c._config.loaderType!==Gt&&aa.isSupported()||(c.type=Gt),c.log=e.logger,c}return Kc(a,[{key:"isFetch",value:function(){return this.type===Ft}},{key:"load",value:function(e){var c=this,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?t=e:t.url=e||t.url||this._config.url,(t=Object.assign({},this._config,t)).params&&(t.params=Object.assign({},t.params)),t.headers&&$t(t.headers)&&(t.headers=Object.assign({},t.headers)),t.body&&$t(t.body)&&(t.body=Object.assign({},t.body)),t.transformRequest&&(t=t.transformRequest(t)||t),t.logger=this.log;var a=new ia(this.type,t);return a.loader.on(Zt.REAL_TIME_SPEED,(function(e){c.emit(Zt.REAL_TIME_SPEED,e)})),this._queue.push(a),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),a.promise}},{key:"cancel",value:(c=qc(Fc().mark((function e(){var c;return Fc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=this._queue.map((function(e){return e.cancel()})).concat(this._alive.map((function(e){return e.cancel()}))),this._currentTask&&c.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,Promise.all(c);case 6:return e.next=8,oa();case 8:case"end":return e.stop()}}),e,this)}))),function(){return c.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 c=this._currentTask.exec().catch((function(e){}));c&&"function"==typeof c.finally&&c.finally((function(){var c,t;null!==(c=e._currentTask)&&void 0!==c&&c.alive&&(null===(t=e._alive)||void 0===t?void 0:t.length)>0&&(e._alive=e._alive.filter((function(c){return c&&c!==e._currentTask}))),e._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return aa.isSupported()}}]),a}(ca),fa=function(){function e(){zc(this,e),$c(this,"_prevCurrentTime",0)}return Kc(e,[{key:"do",value:function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,t=arguments.length>2?arguments[2]:void 0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(e){var r=e.currentTime,n=0;if(this._prevCurrentTime===r){var i=ot.info(ot.get(e),r);if(!i.buffers.length)return;t&&i.nextStart||i.nextStart&&i.nextStart-r<c?n=i.nextStart+.1:i.end&&i.end-r>a&&!e.seeking&&(n=r+.1)}this._prevCurrentTime=r,n&&r!==n&&(e.currentTime=n)}}}]),e}(),ba=function(){function e(c){var t=this;zc(this,e),$c(this,"_seiSet",new Set),this.emitter=c,c.on(Zt.SEI,(function(e){e&&t._seiSet.add(e)}))}return Kc(e,[{key:"throw",value:function(e,c){var t=this;if(null!=e&&this._seiSet.size){var a=e-.2,r=e+.2,n=[];this._seiSet.forEach((function(e){e.time>=a&&e.time<=r&&n.push(e)})),n.forEach((function(e){t._seiSet.delete(e),t.emitter.emit(Zt.SEI_IN_TIME,e)})),c&&this._seiSet.forEach((function(c){c.time<e-5&&t._seiSet.delete(c)}))}}},{key:"reset",value:function(){this._seiSet.clear()}}]),e}(),ua=function(){function e(c){zc(this,e),$c(this,"_chunkSpeed",0),$c(this,"_chunkCache",[]),$c(this,"_speeds",[]),$c(this,"_totalSize",0),$c(this,"_totalCost",0),this._opts=c||{}}return Kc(e,[{key:"addRecord",value:function(e,c){e&&c&&(this._speeds.push(8e3*e/c),this._speeds=this._speeds.slice(-3))}},{key:"addChunkRecord",value:function(e,c){var t,a;if(e&&c&&!(e<((null===(t=this._opts)||void 0===t?void 0:t.skipChunkSize)||1e3))){this._totalSize+=e,this._totalCost+=c,this._chunkSpeed=8e3*e/c,this._chunkCache.push({size:e,duration:c,timestamp:performance.now()});var r=(null===(a=this._opts)||void 0===a?void 0:a.chunkCountForSpeed)||50;this._chunkCache.length>r&&(this._chunkCache=this._chunkCache.slice(-r))}}},{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,c){return e+c}))/this._speeds.length;var c=this._chunkCache[this._chunkCache.length-1],t=performance.now()-c.timestamp;return t>((null===(e=this._opts)||void 0===e?void 0:e.longtimeNoReceived)||3e3)&&this._chunkCache.push({size:0,duration:t,timestamp:performance.now()}),8e3*this._chunkCache.reduce((function(e,c){return e+c.size}),0)/this._chunkCache.reduce((function(e,c){return e+c.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}(),la=function(){function e(c){zc(this,e),$c(this,"encodeType",""),$c(this,"audioCodec",""),$c(this,"videoCodec",""),$c(this,"domain",""),$c(this,"fps",0),$c(this,"bitrate",0),$c(this,"width",0),$c(this,"height",0),$c(this,"samplerate",0),$c(this,"channelCount",0),$c(this,"gop",0),$c(this,"_bitsAccumulateSize",0),$c(this,"_bitsAccumulateDuration",0),$c(this,"_startGopId",-1),this._timescale=c}return Kc(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 c,t=e.data,a=null==t||null===(c=t.onMetaData)||void 0===c?void 0:c.framerate;a&&a>0&&a<100&&(this.fps=a)}},{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 c=e.fpsNum/e.fpsDen;c>0&&c<100&&(this.fps=c)}}},{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 c=this;if((!this.fps||this.fps>=100)&&e.length){var t=e.reduce((function(e,c){return e+c.duration}),0)/e.length;this.fps=Math.round(this._timescale/t)}e.forEach((function(e){-1===c._startGopId&&(c._startGopId=e.gopId),e.gopId===c._startGopId&&c.gop++,c._bitsAccumulateDuration+=e.duration/(c._timescale/1e3),c._bitsAccumulateSize+=e.units.reduce((function(e,c){return e+c.length}),0),c._bitsAccumulateDuration>=1e3&&(c.bitrate=8*c._bitsAccumulateSize,c._bitsAccumulateDuration=0,c._bitsAccumulateSize=0)}))}}]),e}(),ha=function(){function e(c){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;zc(this,e),$c(this,"_core",null),$c(this,"_samples",[]),this._core=c,this._timescale=t,this._stats=new la(t),this._bindEvents()}return Kc(e,[{key:"getStats",value:function(){var e,c,t,a,r,n,i,d,o,s,f,b=(null===(e=this._core)||void 0===e?void 0:e.media)||{},u=b.currentTime,l=void 0===u?0:u,h=b.decodeFps,p=void 0===h?0:h;return Nc(Nc({},this._stats.getStats()),{},{downloadSpeed:(null===(c=this._core)||void 0===c||null===(t=c.speedInfo)||void 0===t?void 0:t.call(c).speed)||0,avgSpeed:(null===(a=this._core)||void 0===a||null===(r=a.speedInfo)||void 0===r?void 0:r.call(a).avgSpeed)||0,totalReceivedByte:(null===(n=this._core)||void 0===n||null===(i=n.speedInfo)||void 0===i?void 0:i.call(n).totalSize)||0,totalReceivedCost:(null===(d=this._core)||void 0===d||null===(o=d.speedInfo)||void 0===o?void 0:o.call(d).totalCost)||0,currentTime:l,bufferEnd:(null===(s=this._core)||void 0===s||null===(f=s.bufferInfo())||void 0===f?void 0:f.remaining)||0,decodeFps:p})}},{key:"_bindEvents",value:function(){var e=this;this._core.on(Zt.DEMUXED_TRACK,(function(c){var t=c.videoTrack;return e._stats.updateBitrate(t.samples)})),this._core.on(Zt.FLV_SCRIPT_DATA,(function(c){e._stats.setFpsFromScriptData(c)})),this._core.on(Zt.METADATA_PARSED,(function(c){"video"===c.type?e._stats.setVideoMeta(c.track):e._stats.setAudioMeta(c.track)})),this._core.on(Zt.TTFB,(function(c){e._stats.setDomain(c.responseUrl)}))}},{key:"reset",value:function(){this._samples=[],this._stats=new la(this._timescale)}}]),e}();function pa(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}function va(e,c){for(var t=0;t<c.length;t++){var a=c[t];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,Aa(a.key),a)}}function ya(e,c,t){return c&&va(e.prototype,c),t&&va(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function ma(e,c,t){return(c=Aa(c))in e?Object.defineProperty(e,c,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[c]=t,e}function ga(e){return(ga=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _a(e,c){return(_a=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,c){return e.__proto__=c,e})(e,c)}function ka(e,c){if(c&&("object"==typeof c||"function"==typeof c))return c;if(void 0!==c)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 Ea(e){var c=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 t,a=ga(e);if(c){var r=ga(this).constructor;t=Reflect.construct(a,arguments,r)}else t=a.apply(this,arguments);return ka(this,t)}}function Sa(e,c){return function(e){if(Array.isArray(e))return e}(e)||function(e,c){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var a,r,n,i,d=[],o=!0,s=!1;try{if(n=(t=t.call(e)).next,0===c){if(Object(t)!==t)return;o=!1}else for(;!(o=(a=n.call(t)).done)&&(d.push(a.value),d.length!==c);o=!0);}catch(f){s=!0,r=f}finally{try{if(!o&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(s)throw r}}return d}}(e,c)||xa(e,c)||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 wa(e){return function(e){if(Array.isArray(e))return Ta(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||xa(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 xa(e,c){if(e){if("string"==typeof e)return Ta(e,c);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Ta(e,c):void 0}}function Ta(e,c){(null==c||c>e.length)&&(c=e.length);for(var t=0,a=new Array(c);t<c;t++)a[t]=e[t];return a}function Aa(e){var c=function(e,c){if("object"!=typeof e||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,c||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===c?String:Number)(e)}(e,"string");return"symbol"==typeof c?c:String(c)}var Ia="video",Da="audio",Oa="metadata",Ra="av1",La="avc",Ca="hevc",Pa="aac",ja="g7110a",Ma="g7110m",Ba="opus",Ua="mp3",Na="LARGE_AV_SHIFT",Fa="LARGE_VIDEO_GAP",Ga="LARGE_VIDEO_GAP_BETWEEN_CHUNK",Va="LARGE_AUDIO_GAP",qa="AUDIO_FILLED",za="AUDIO_DROPPED",Ha=function(){function e(){pa(this,e),ma(this,"id",1),ma(this,"type",Ia),ma(this,"codecType",La),ma(this,"pid",-1),ma(this,"hvcC",void 0),ma(this,"codec",""),ma(this,"timescale",0),ma(this,"formatTimescale",0),ma(this,"sequenceNumber",0),ma(this,"baseMediaDecodeTime",0),ma(this,"baseDts",0),ma(this,"duration",0),ma(this,"warnings",[]),ma(this,"samples",[]),ma(this,"pps",[]),ma(this,"sps",[]),ma(this,"vps",[]),ma(this,"fpsNum",0),ma(this,"fpsDen",0),ma(this,"sarRatio",[]),ma(this,"width",0),ma(this,"height",0),ma(this,"nalUnitSize",4),ma(this,"present",!1),ma(this,"isVideoEncryption",!1),ma(this,"isAudioEncryption",!1),ma(this,"isVideo",!0),ma(this,"lastKeyFrameDts",0),ma(this,"kid",null),ma(this,"pssh",null),ma(this,"ext",void 0)}return ya(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],c=this.samples[this.samples.length-1];return c.dts-e.dts+c.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}(),Ka=function(){function e(){pa(this,e),ma(this,"id",2),ma(this,"type",Da),ma(this,"codecType",Pa),ma(this,"pid",-1),ma(this,"codec",""),ma(this,"container",""),ma(this,"sequenceNumber",0),ma(this,"sampleDuration",0),ma(this,"timescale",0),ma(this,"formatTimescale",0),ma(this,"baseMediaDecodeTime",0),ma(this,"duration",0),ma(this,"warnings",[]),ma(this,"samples",[]),ma(this,"baseDts",0),ma(this,"sampleSize",16),ma(this,"sampleRate",0),ma(this,"channelCount",0),ma(this,"objectType",0),ma(this,"sampleRateIndex",0),ma(this,"config",[]),ma(this,"present",!1),ma(this,"isVideoEncryption",!1),ma(this,"isAudioEncryption",!1),ma(this,"kid",null),ma(this,"ext",void 0)}return ya(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!==Pa&&this.codecType!==ja&&this.codecType!==Ma&&this.codecType!==Ba&&this.codecType!==Ua)}},{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],c=this.samples[this.samples.length-1];return c.dts-e.dts+c.duration}return 0}}]),e}(),$a=function(){function e(c,t,a){pa(this,e),ma(this,"flag",{}),ma(this,"keyframe",!1),ma(this,"gopId",0),ma(this,"duration",0),ma(this,"size",0),ma(this,"units",[]),ma(this,"chromaFormat",420),this.originPts=this.pts=c,this.originDts=this.dts=t,a&&(this.units=a)}return ya(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}(),Wa=ya((function e(c,t,a,r){pa(this,e),ma(this,"duration",1024),ma(this,"flag",{dependsOn:2,isNonSyncSample:0}),ma(this,"keyframe",!0),this.originPts=this.pts=this.dts=c,this.data=t,this.size=t.byteLength,this.sampleOffset=r,a&&(this.duration=a)})),Ya=function(e){!function(e,c){if("function"!=typeof c&&null!==c)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(c&&c.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),c&&_a(e,c)}(t,e);var c=Ea(t);function t(){return pa(this,t),c.apply(this,arguments)}return ya(t)}(ya((function e(c,t){pa(this,e),ma(this,"time",0),this.data=c,this.originPts=this.pts=t}))),Xa=function(){function e(){pa(this,e),ma(this,"id",3),ma(this,"type",Oa),ma(this,"timescale",0),ma(this,"flvScriptSamples",[]),ma(this,"seiSamples",[])}return ya(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}(),Qa=function(){function e(c){pa(this,e),this.name=c||"",this._prefix="[".concat(this.name,"]")}return ya(e,[{key:"warn",value:function(){var c;if(!e.disabled){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(c=console).warn.apply(c,[this._prefix].concat(a))}}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();ma(Qa,"disabled",!0);var Ja="undefined"!=typeof window,Za=Ja&&navigator.userAgent.toLocaleLowerCase(),er=Ja&&/^((?!chrome|android).)*safari/.test(Za),cr=Ja&&Za.includes("firefox"),tr=Ja&&Za.includes("android"),ar=function(){function e(){pa(this,e)}return ya(e,null,[{key:"getRateIndexByRate",value:function(c){return e.FREQ.indexOf(c)}},{key:"parseADTS",value:function(c,t){for(var a=c.length,r=0;r+2<a&&(255!==c[r]||240!=(246&c[r+1]));)r++;if(!(r>=a)){var n=r,i=[],d=(60&c[r+2])>>>2,o=e.FREQ[d];if(!o)throw new Error("Invalid sampling index: ".concat(d));for(var s,f,b=1+((192&c[r+2])>>>6),u=(1&c[r+2])<<2|(192&c[r+3])>>>6,l=e._getConfig(d,u,b),h=l.config,p=l.codec,v=0,y=e.getFrameDuration(o);r+7<a;)if(255===c[r]&&240==(246&c[r+1])){if(!(f=(3&c[r+3])<<11|c[r+4]<<3|(224&c[r+5])>>5)||a-r<f)break;s=2*(1&~c[r+1]),i.push({pts:t+v*y,data:c.subarray(r+7+s,r+f)}),v++,r+=f}else r++;return{skip:n,remaining:r>=a?void 0:c.subarray(r),frames:i,samplingFrequencyIndex:d,sampleRate:o,objectType:b,channelCount:u,codec:p,config:h,originCodec:"mp4a.40.".concat(b)}}}},{key:"parseAudioSpecificConfig",value:function(c){if(c.length){var t=c[0]>>>3,a=(7&c[0])<<1|c[1]>>>7,r=(120&c[1])>>>3,n=e.FREQ[a];if(n){var i=e._getConfig(a,r,t);return{samplingFrequencyIndex:a,sampleRate:n,objectType:t,channelCount:r,config:i.config,codec:i.codec,originCodec:"mp4a.40.".concat(t)}}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,c,t){var a,r,n=[];return cr?e>=6?(a=5,r=e-3):(a=2,r=e):tr?(a=2,r=e):(a=5,r=e,e>=6?r=e-3:1===c&&(a=2,r=e)),n[0]=a<<3,n[0]|=(14&e)>>1,n[1]=(1&e)<<7,n[1]|=c<<3,5===a&&(n[1]|=(14&r)>>1,n[2]=(1&r)<<7,n[2]|=8,n[3]=0),{config:n,codec:"mp4a.40.".concat(a)}}},{key:"getSilentFrame",value:function(e,c){if("mp4a.40.2"===e){if(1===c)return new Uint8Array([0,200,0,128,35,128]);if(2===c)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===c)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===c)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===c)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===c)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===c)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===c)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===c)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 rr(){for(var e=arguments.length,c=new Array(e),t=0;t<e;t++)c[t]=arguments[t];c=c.filter(Boolean);var a=new Uint8Array(c.reduce((function(e,c){return e+c.byteLength}),0)),r=0;return c.forEach((function(e){a.set(e,r),r+=e.byteLength})),a}ma(ar,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var nr=Math.pow(2,32);function ir(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[c]<<8)+(e[c+1]||0)}function dr(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[c]<<24>>>0)+(e[c+1]<<16)+(e[c+2]<<8)+(e[c+3]||0)}function or(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return dr(e,c)*nr+dr(e,c+4)}function sr(e){for(var c,t="avc1.",a=0;a<3;a++)(c=e[a].toString(16)).length<2&&(c="0".concat(c)),t+=c;return t}function fr(e){if(!Array.isArray(e)){for(var c=[],t="",a=0;a<e.length;a++)a%2&&(t=e[a-1]+e[a],c.push(parseInt(t,16)),t="");return c}return e.map((function(e){return parseInt(e,16)}))}function br(e,c){return Number(e+"."+c)}var ur=function(){function e(){pa(this,e)}return ya(e,null,[{key:"parseAnnexB",value:function(e){var c=e.byteLength-1,t=0;do{if(0!==e[c])break;t++,c--}while(c>0);t>=3&&(e=e.subarray(0,c+1));for(var a=e.length,r=2,n=0;null!==e[r]&&void 0!==e[r]&&1!==e[r];)r++;if((n=++r+2)>=a)return[];for(var i=[];n<a;)switch(e[n]){case 0:if(0!==e[n-1]){n+=2;break}if(0!==e[n-2]){n++;break}if(n<a-1&&1!==e[n+1]){n++;break}r!==n-2&&i.push(e.subarray(r,n-2));do{n++}while(1!==e[n]&&n<a);n=(r=n+1)+2;break;case 1:if(0!==e[n-1]||0!==e[n-2]){n+=3;break}r!==n-2&&i.push(e.subarray(r,n-2)),n=(r=n+1)+2;break;default:n+=3}return r<a&&i.push(e.subarray(r)),i}},{key:"parseAvcC",value:function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(e.length<4)){for(var t,a=e.length,r=[],n=0;n+c<a;)if(t=dr(e,n),3===c&&(t>>>=8),n+=c,t){if(n+t>a)break;r.push(e.subarray(n,n+t)),n+=t}return r}}},{key:"parseSEI",value:function(e,c){for(var t=e.length,a=c?2:1,r=0,n=0,i="";255===e[a];)r+=255,a++;for(r+=e[a++];255===e[a];)n+=255,a++;if(n+=e[a++],5===r&&t>a+16)for(var d=0;d<16;d++)i+=e[a].toString(16),a++;return{payload:e.subarray(a,a+n),type:r,size:n,uuid:i}}},{key:"removeEPB",value:function(e){for(var c=e.byteLength,t=[],a=1;a<c-2;)0===e[a]&&0===e[a+1]&&3===e[a+2]?(t.push(a+2),a+=2):a++;if(!t.length)return e;var r=c-t.length,n=new Uint8Array(r),i=0;for(a=0;a<r;i++,a++)i===t[0]&&(i++,t.shift()),n[a]=e[i];return n}}]),e}(),lr=function(){function e(c){if(pa(this,e),ma(this,"_bytesAvailable",void 0),ma(this,"_bitsAvailable",0),ma(this,"_word",0),!c)throw new Error("ExpGolomb data params is required");this._data=c,this._bytesAvailable=c.byteLength,this._bytesAvailable&&this._loadWord()}return ya(e,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var e=this._data.byteLength-this._bytesAvailable,c=Math.min(4,this._bytesAvailable);if(0===c)throw new Error("No bytes available");var t=new Uint8Array(4);t.set(this._data.subarray(e,e+c)),this._word=new DataView(t.buffer).getUint32(0),this._bitsAvailable=8*c,this._bytesAvailable-=c}},{key:"skipBits",value:function(e){if(this._bitsAvailable>e)this._word<<=e,this._bitsAvailable-=e;else{e-=this._bitsAvailable;var c=Math.floor(e/8);e-=8*c,this._bytesAvailable-=c,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 c=Math.min(this._bitsAvailable,e),t=this._word>>>32-c;return this._bitsAvailable-=c,this._bitsAvailable>0?this._word<<=c:this._bytesAvailable>0&&this._loadWord(),(c=e-c)>0&&this._bitsAvailable?t<<c|this.readBits(c):t}},{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 c=8,t=8,a=0;a<e;a++)0!==t&&(t=(c+this.readEG()+256)%256),c=0===t?c:t}}]),e}(),hr=function(){function e(){pa(this,e)}return ya(e,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(c){if(!(c.length<7)){for(var t,a,r=1+(3&c[4]),n=[],i=[],d=6,o=31&c[5],s=0;s<o;s++)if(a=c[d]<<8|c[d+1],d+=2,a){var f=c.subarray(d,d+a);d+=a,n.push(f),t||(t=e.parseSPS(ur.removeEPB(f)))}var b,u=c[d];d++;for(var l=0;l<u;l++)b=c[d]<<8|c[d+1],d+=2,b&&(i.push(c.subarray(d,d+b)),d+=b);return{sps:t,spsArr:n,ppsArr:i,nalUnitSize:r}}}},{key:"parseSPS",value:function(e){var c=new lr(e);c.readUByte();var t=c.readUByte(),a=c.readUByte(),r=c.readUByte();c.skipUEG();var n=420;if(100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t||138===t||144===t){var i=c.readUEG();if(i<=3&&(n=[0,420,422,444][i]),3===i&&c.skipBits(1),c.skipUEG(),c.skipUEG(),c.skipBits(1),c.readBool())for(var d=3!==i?8:12,o=0;o<d;o++)c.readBool()&&(o<6?c.skipScalingList(16):c.skipScalingList(64))}c.skipUEG();var s=c.readUEG();if(0===s)c.readUEG();else if(1===s){c.skipBits(1),c.skipUEG(),c.skipUEG();for(var f=c.readUEG(),b=0;b<f;b++)c.skipUEG()}c.skipUEG(),c.skipBits(1);var u=c.readUEG(),l=c.readUEG(),h=c.readBits(1);0===h&&c.skipBits(1),c.skipBits(1);var p,v,y,m,g,_=0,k=0,E=0,S=0;if(c.readBool()&&(_=c.readUEG(),k=c.readUEG(),E=c.readUEG(),S=c.readUEG()),c.readBool()){if(c.readBool())switch(c.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=[c.readUByte()<<8|c.readUByte(),c.readUByte()<<8|c.readUByte()]}if(c.readBool()&&c.readBool(),c.readBool()&&(c.readBits(4),c.readBool()&&c.readBits(24)),c.readBool()&&(c.readUEG(),c.readUEG()),c.readBool()){var w=c.readBits(32),x=c.readBits(32);v=c.readBool(),g=(y=x)/(m=2*w)}}return{codec:sr(e.subarray(1,4)),profileIdc:t,profileCompatibility:a,levelIdc:r,chromaFormat:n,width:Math.ceil(16*(u+1)-2*(_+k)),height:(2-h)*(l+1)*16-(h?2:4)*(E+S),sarRatio:p,fpsNum:y,fpsDen:m,fps:g,fixedFrame:v}}}]),e}(),pr=function(){function e(){pa(this,e)}return ya(e,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(c){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(c.length<23)){t=t||{};for(var a,r,n,i,d,o=1+(3&c[21]),s=[],f=[],b=[],u=23,l=c[22],h=0;h<l;h++){n=63&c[u],i=c[u+1]<<8|c[u+2],u+=3;for(var p=0;p<i;p++)if(d=c[u]<<8|c[u+1],u+=2,d){switch(n){case 32:var v=c.subarray(u,u+d);a||(a=e.parseVPS(ur.removeEPB(v),t)),b.push(v);break;case 33:var y=c.subarray(u,u+d);r||(r=e.parseSPS(ur.removeEPB(y),t)),s.push(y);break;case 34:f.push(c.subarray(u,u+d))}u+=d}}return{hvcC:t,sps:r,spsArr:s,ppsArr:f,vpsArr:b,nalUnitSize:o}}}},{key:"parseVPS",value:function(c,t){t=t||{};var a=new lr(c);a.readUByte(),a.readUByte(),a.readBits(12);var r=a.readBits(3);return t.numTemporalLayers=Math.max(t.numTemporalLayers||0,r+1),a.readBits(17),e._parseProfileTierLevel(a,r,t),t}},{key:"parseSPS",value:function(c){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t=t||{};var a=new lr(c);a.readUByte(),a.readUByte(),a.readBits(4);var r=a.readBits(3);t.numTemporalLayers=Math.max(r+1,t.numTemporalLayers||0),t.temporalIdNested=a.readBits(1),e._parseProfileTierLevel(a,r,t),a.readUEG();var n=t.chromaFormatIdc=a.readUEG(),i=420;n<=3&&(i=[0,420,422,444][n]);var d=0;3===n&&(d=a.readBits(1));var o,s,f,b,u=a.readUEG(),l=a.readUEG(),h=a.readBits(1);(1===h&&(o=a.readUEG(),s=a.readUEG(),f=a.readUEG(),b=a.readUEG()),t.bitDepthLumaMinus8=a.readUEG(),t.bitDepthChromaMinus8=a.readUEG(),1===h)&&(u-=(1!==n&&2!==n||0!==d?1:2)*(s+o),l-=(1===n&&0===d?2:1)*(b+f));return{codec:"hev1.1.6.L93.B0",width:u,height:l,chromaFormat:i,hvcC:t}}},{key:"_parseProfileTierLevel",value:function(e,c,t){var a=t.generalTierFlag||0;t.generalProfileSpace=e.readBits(2),t.generalTierFlag=Math.max(e.readBits(1),a),t.generalProfileIdc=Math.max(e.readBits(5),t.generalProfileIdc||0),t.generalProfileCompatibilityFlags=e.readBits(32),t.generalConstraintIndicatorFlags=[e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8)];var r=e.readBits(8);a<t.generalTierFlag?t.generalLevelIdc=r:t.generalLevelIdc=Math.max(r,t.generalLevelIdc||0);var n=[],i=[];if(c>e.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(c));for(var d=0;d<c;d++)n[d]=e.readBits(1),i[d]=e.readBits(1);c>0&&e.readBits(2*(8-c));for(var o=0;o<c;o++)0!==n[o]&&(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!==i[o]&&e.readBits(8)}}]),e}(),vr=9e4,yr=45e4,mr=9e4,gr=function(){function e(c,t,a,r){pa(this,e),this.videoTrack=c,this.audioTrack=t,this.metadataTrack=a,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==r?void 0:r.forceFixLargeGap,this._largeGapThreshold=(null==r?void 0:r.largeGapThreshold)||45e4}return ya(e,[{key:"fix",value:function(){var e=this,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];c=Math.round(9e4*c);var r=this.videoTrack,n=this.audioTrack,i=r.samples,d=n.samples;if(i.length||d.length){var o=i[0],s=d[0],f=0;if(i.length&&d.length&&(f=o.dts-s.pts),this._baseDtsInited||this._calculateBaseDts(this.audioTrack,this.videoTrack),t&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=c,this._baseAudioDts-=c,this._baseVideoDts-=c),!a){this._videoNextDts=f>0?c+f:c,this._audioNextPts=f>0?c:c-f,this._needForceFixLargeGap&&(this._videoNextDts=0,this._audioNextPts=0);var b=o?o.dts-this._baseDts-this._videoNextDts:0,u=s?s.pts-this._baseDts-this._audioNextPts:0;Math.abs(b||u)>mr&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=c)}if(this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(n),this._fixVideo(r),this.metadataTrack.exist()){var l=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(c){c.pts=c.originPts-e._baseDts,c.time=Math.max(0,c.pts)/l}))}r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].dts),n.samples.length&&(n.baseMediaDecodeTime=n.samples[0].pts*n.timescale/9e4)}}},{key:"_fixVideo",value:function(e){var c=this,t=e.samples;if(t.length){if(t.forEach((function(e){e.dts-=c._needForceFixLargeGap?c._baseVideoDts:c._baseDts,e.pts-=c._needForceFixLargeGap?c._baseVideoDts:c._baseDts})),void 0===this._videoNextDts){var a=t[0];this._videoNextDts=a.dts}var r,n,i=t.length,d=0,o=t[0],s=t[1],f=this._videoNextDts-o.dts;if(Math.abs(f)>45e3)if(e.warnings.push({type:Ga,nextDts:this._videoNextDts/90,firstSampleDts:o.dts/90,nextSampleDts:((null===(r=t[1])||void 0===r?void 0:r.dts)||0)/90,sampleDuration:f/90}),o.dts+=f,o.pts+=f,s&&Math.abs(s.dts-o.dts)>mr)this._videoTimestampBreak=!0,t.forEach((function(e,c){0!==c&&(e.dts+=f,e.pts+=f)}));else for(var b=1;b<i-1;b++){var u,l=null===(u=t[b])||void 0===u?void 0:u.dts,h=t[b-1].dts;l&&l-h<0&&(t[b].dts+=f,t[b].pts+=f)}if(e.fpsNum&&e.fpsDen&&(n=e.timescale*(e.fpsDen/e.fpsNum)),n<900&&(n=0),!n){var p=e.samples[0],v=e.samples[1];n=1===i?9e3:Math.floor(v.dts-p.dts)}for(var y=0;y<i;y++){var m=t[y].dts,g=t[y+1];if((d=y<i-1?g.dts-m:t[y-1]?Math.min(m-t[y-1].dts,n):n)>mr||d<0){this._videoTimestampBreak=!0,d=this._audioTimestampBreak?n:Math.max(d,2700);var _=this._audioNextPts||0;g&&g.dts>_&&(d=n),e.warnings.push({type:Fa,time:m/e.timescale,dts:m,originDts:t[y].originDts,nextDts:this._videoNextDts,sampleDuration:d,refSampleDuration:n})}t[y].duration=d,this._videoNextDts+=d}}}},{key:"_fixAudio",value:function(e){var c=this,t=e.samples;if(t.length)if(e.codecType!==Ua)t.forEach((function(e){e.pts-=c._needForceFixLargeGap?c._baseAudioDts:c._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,t,9e4);else{this.lastAudioSample&&t.unshift(this.lastAudioSample);for(var a=0;a<t.length;a++){var r=t[a];if(!t[a+1])break;r.duration=t[a+1].pts-r.pts,r.pts-=this._baseDts,r.dts=r.pts}this.lastAudioSample=t.pop()}}},{key:"_calculateBaseDts",value:function(e,c){var t=e.samples,a=c.samples;if(!t.length&&!a.length)return!1;var r=1/0,n=1/0;t.length&&(e.baseDts=r=t[0].pts,this._baseAudioDts=r),a.length&&(c.baseDts=n=a[0].dts,this._baseVideoDts=n),this._baseDts=Math.min(r,n);var i=n-r,d=!1;return Number.isFinite(i)&&Math.abs(i)>45e3&&c.warnings.push({type:Na,videoBaseDts:n,audioBasePts:r,baseDts:this._baseDts,delta:i}),Number.isFinite(i)&&Math.abs(i)>this._largeGapThreshold*vr&&(d=!0),this._baseDtsInited||(d&&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,c,t){e.sampleDuration||(e.sampleDuration=ar.getFrameDuration(e.timescale,t));var a=e.sampleDuration;if(void 0===this._audioNextPts){var r=c[0];this._audioNextPts=r.pts}for(var n=0;n<c.length;n++){var i=this._audioNextPts,d=c[n],o=d.pts-i;if(!this._audioTimestampBreak&&o>=3*a&&o<=vr&&!er){var s=ar.getSilentFrame(e.codec,e.channelCount)||c[0].data.subarray(),f=Math.floor(o/a);Math.abs(d.pts-this._lastAudioExceptionGapDot)>yr&&(this._lastAudioExceptionGapDot=d.pts),e.warnings.push({type:qa,pts:d.pts/90,originPts:d.originPts,count:f,nextPts:i/90,refSampleDuration:a});for(var b=0;b<f;b++){var u=new Wa(Math.floor(i),s);u.originPts=Math.floor(this._baseDts+i),c.splice(n,0,u),this._audioNextPts+=a,n++}n--}else o<=-3*a&&o>=-9e4?(Math.abs(d.pts-this._lastAudioExceptionOverlapDot)>yr&&(this._lastAudioExceptionOverlapDot=d.pts,e.warnings.push({type:za,pts:d.pts/90,originPts:d.originPts,nextPts:i/90,refSampleDuration:a})),c.splice(n,1),n--):(Math.abs(o)>=vr&&(this._audioTimestampBreak=!0,Math.abs(d.pts-this._lastAudioExceptionLargeGapDot)>yr&&(this._lastAudioExceptionLargeGapDot=d.pts,e.warnings.push({type:Va,time:d.pts/1e3,pts:d.pts/90,originPts:d.originPts,nextPts:i/90,sampleDuration:o,refSampleDuration:a}))),d.dts=d.pts=i,this._audioNextPts+=a)}}}]),e}(),_r=[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],kr=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Er=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Sr=[0,1,1,4],wr=null,xr=function(){function e(){pa(this,e)}return ya(e,null,[{key:"isHeader",value:function(e,c){return c+1<e.length&&255===e[c]&&!(224&~e[c+1])&&!!(6&e[c+1])}},{key:"appendFrame",value:function(c,t,a,r,n){if(!(a+24>t.length)){var i=e.parseHeader(t,a);if(i&&a+i.frameLength<=t.length){var d=r+n*(9e4*i.samplesPerFrame/i.sampleRate),o={data:t.subarray(a,a+i.frameLength),pts:d,dts:d};return o.size=o.data.byteLength,c.config=[],c.channelCount=i.channelCount,c.sampleRate=i.sampleRate,cr?c.codec="mp3":c.container="audio/mpeg",c.samples.push(o),{length:i.frameLength}}}}},{key:"parseHeader",value:function(e,c){var t=e[c+1]>>3&3,a=e[c+1]>>1&3,r=e[c+2]>>4&15,n=e[c+2]>>2&3;if(1!==t&&0!==r&&15!==r&&3!==n){var i=e[c+2]>>1&1,d=e[c+3]>>6,o=1e3*_r[14*(3===t?3-a:3===a?3:4)+r-1],s=kr[3*(3===t?0:2===t?1:2)+n],f=3===d?1:2,b=Er[t][a],u=Sr[a],l=8*b*u,h=Math.floor(b*o/s+i)*u;if(null===wr){var p=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);wr=p?parseInt(p[1]):0}return!!wr&&wr<=87&&2===a&&o>=224e3&&0===d&&(e[c+3]=128|e[c+3]),{sampleRate:s,channelCount:f,frameLength:h,samplesPerFrame:l}}}}]),e}(),Tr=new Qa("TsDemuxer"),Ar=function(){function e(c,t,a){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};pa(this,e),ma(this,"_pmtId",-1),ma(this,"_remainingPacketData",null),ma(this,"_videoPesData",[]),ma(this,"_audioPesData",[]),ma(this,"_gopId",0),this.videoTrack=c||new Ha,this.audioTrack=t||new Ka,this.metadataTrack=a||new Xa,this._fixer=new gr(this.videoTrack,this.audioTrack,this.metadataTrack,r)}return ya(e,[{key:"demux",value:function(e){var c=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.audioTrack,r=this.videoTrack,n=this.metadataTrack;c&&(this._pmtId=-1,r.reset(),a.reset(),n.reset()),!t||c?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[]):(r.samples=[],a.samples=[],n.seiSamples=[],r.warnings=[],a.warnings=[],this._remainingPacketData&&(e=rr(this._remainingPacketData,e),this._remainingPacketData=null));var i=e.length,d=i%188;d&&(this._remainingPacketData=e.subarray(i-d),i-=d);for(var o=r.pid,s=a.pid,f=0;f<i;f+=188){if(71!==e[f])throw new Error("TS packet did not start with 0x47");var b=!!(64&e[f+1]),u=((31&e[f+1])<<8)+e[f+2],l=void 0;if((48&e[f+3])>>4>1){if((l=f+5+e[f+4])===f+188)continue}else l=f+4;switch(u){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:a.pid=s=p;break;case 3:case 4:-1===a.pid&&(a.pid=s=p,a.codecType=Ua);break;case 27:if(-1!==o)break;r.codecType=La,r.pid=o=p;break;case 36:if(-1!==o)break;r.codecType=Ca,r.pid=o=p;break;default:Tr.warn("Unsupported stream. type: ".concat(e[l],", pid: ").concat(p))}l+=5+((15&e[l+3])<<8|e[l+4])}break;case o:b&&this._videoPesData.length&&this._parseVideoData(),this._videoPesData.push(e.subarray(l,f+188));break;case s:b&&this._audioPesData.length&&this._parseAudioData(),this._audioPesData.push(e.subarray(l,f+188));break;case 17:case 8191:break;default:Tr.warn("Unknown pid: ".concat(u))}}return this._parseVideoData(),this._parseAudioData(),a.formatTimescale=r.formatTimescale=r.timescale=n.timescale=9e4,a.timescale=a.sampleRate||0,{videoTrack:r,audioTrack:a,metadataTrack:n}}},{key:"fix",value:function(e,c,t){return this._fixer.fix(e,c,t),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(e,c,t,a){return this.demux(e,c,t),this.fix(a,c,t)}},{key:"_parseVideoData",value:function(){if(this._videoPesData.length){var c=e._parsePES(rr.apply(void 0,wa(this._videoPesData)));if(c){var t=ur.parseAnnexB(c.data);t?this._createVideoSample(t,c.pts,c.dts):Tr.warn("Cannot parse avc units",c),this._videoPesData=[]}else Tr.warn("Cannot parse video pes",this._videoPesData)}}},{key:"_createVideoSample",value:function(e,c,t){var a=this;if(e.length){var r=this.videoTrack,n=r.codecType===Ca,i=new $a(c,t);e.forEach((function(e){var t=n?e[0]>>>1&63:31&e[0];switch(t){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!n&&5!==t||n&&5===t)break;i.setToKeyframe(),a._gopId++;break;case 6:case 39:case 40:if(!n&&6!==t||n&&6===t)break;return void a.metadataTrack.seiSamples.push(new Ya(ur.parseSEI(ur.removeEPB(e),n),c));case 32:if(!n)break;if(!r.vps.length){var d=pr.parseVPS(ur.removeEPB(e),r.hvcC);r.hvcC=r.hvcC||d,r.vps=[e]}break;case 7:case 33:if(!n&&7!==t||n&&7===t)break;if(!r.sps.length){var o=ur.removeEPB(e),s=n?pr.parseSPS(o,r.hvcC):hr.parseSPS(o);r.sps=[e],r.hvcC=r.hvcC||s.hvcC,r.codec=s.codec,r.width=s.width,r.height=s.height,r.sarRatio=s.sarRatio,r.fpsNum=s.fpsNum,r.fpsDen=s.fpsDen}break;case 8:case 34:if(!n&&8!==t||n&&8===t)break;r.pps.length||(r.pps=[e]);break;case 9:case 35:break;case 38:if(n){for(var f=!1,b=2;b<e.byteLength;b++)if(255===e[b]){f=!0;break}if(!f)return}}i.units.push(e)})),i.gopId=this._gopId,this._pushVideoSample(r,i)}}},{key:"_pushVideoSample",value:function(e,c){if(c.units.length)if(null===c.pts||void 0===c.pts){Tr.warn("Video sample no pts",c);var t=e.samples[e.samples.length-1];t?(c.pts=t.pts,c.dts=t.dts):Tr.warn("Drop video sample",c)}else e.samples.push(c)}},{key:"_parseAudioData",value:function(){if(this._audioPesData.length){var c=e._parsePES(rr.apply(void 0,wa(this._audioPesData)));if(c){switch(this.audioTrack.codecType){case Pa:this._parseAacData(c);break;case Ua:this._parseMPEG(c)}this._audioPesData=[]}else Tr.warn("Cannot parse audio pes",this._audioPesData)}}},{key:"_parseAacData",value:function(e){var c=this.audioTrack,t=e.pts;if(null==t){if(Tr.warn("AAC pes not pts",c),!c.samples.length||!c.sampleRate)return;t=c.samples[c.samples.length-1].pts+ar.getFrameDuration(c.sampleRate)}var a,r=ar.parseADTS(e.data,t);r?(c.codec=r.codec,c.channelCount=r.channelCount,c.sampleRate=r.sampleRate,c.objectType=r.objectType,c.sampleRateIndex=r.samplingFrequencyIndex,c.config=r.config,(a=c.samples).push.apply(a,wa(r.frames.map((function(e){return new Wa(e.pts,e.data)})))),r.skip&&Tr.warn("Skip aac adts ".concat(r.skip," bits")),r.remaining&&Tr.warn("Remaining aac adts ".concat(r.remaining," bits"))):Tr.warn("Cannot parse aac adts",e)}},{key:"_parseMPEG",value:function(e){var c=e.data,t=c.length,a=0,r=0,n=e.pts;if(void 0!==n)for(;r<t;)if(xr.isHeader(c,r)){var i=xr.appendFrame(this.audioTrack,c,r,n,a);if(!i)break;r+=i.length,a++}else r++;else Tr.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 c=e[8];if(!(null==c||e.length<c+9)&&1===(e[0]<<16|e[1]<<8|e[2])){var t=(e[4]<<8)+e[5];if(!(t&&t>e.length-6)){var a,r,n=e[7];return 192&n&&(a=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&n?a-(r=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2)>54e5&&(a=r):r=a),{data:e.subarray(9+c),pts:a,dts:r}}}}}]),e}(),Ir=function(){function e(c,t,a){pa(this,e),this.dv=new DataView(c),this.start=this.offset=t||this.dv.byteOffset,this.end=a?this.start+a:this.start+this.dv.byteLength}return ya(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 c=0;switch(e){case 4:c=this.dv.getFloat32(this.offset);break;case 8:c=this.dv.getFloat64(this.offset);break;default:throw new Error("read ".concat(e,"-byte float is not supported"))}return this.offset+=e,c}},{key:"back",value:function(e){this.offset-=e}},{key:"skip",value:function(e){this.offset+=e}},{key:"readInt",value:function(e){var c=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getInt8(c);case 2:return this.dv.getInt16(c);case 4:return this.dv.getInt32(c);default:throw new Error("read ".concat(e,"-byte integers is not supported"))}}},{key:"read",value:function(e){var c=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getUint8(c);case 2:return this.dv.getUint16(c);case 3:return(this.dv.getUint16(c)<<8)+this.dv.getUint8(c+2);case 4:return this.dv.getUint32(c);default:return this.back(e-4),this.read(e-4)+this.dv.getUint32(c)*Math.pow(256,e-4)}}},{key:"write",value:function(e,c){var t=this.offset;switch(this.offset+=e,e){case 1:return this.dv.setUint8(t,c);case 2:return this.dv.setUint16(t,c);case 3:return this.dv.setUint8(t,c>>>16),this.dv.setUint16(t+1,65535&c);case 4:return this.dv.setUint32(t,c);default:throw new Error("write ".concat(e,"-byte integers is not supported"))}}},{key:"readToBuffer",value:function(e){var c;return c=this.offset||e?this.dv.buffer.slice(this.offset,e?this.offset+e:this.end):this.dv.buffer,this.offset+=c.byteLength,c}},{key:"readToUint8",value:function(e){var c=new Uint8Array(this.dv.buffer,this.offset,e||this.unreadLength);return this.offset+=c.byteLength,c}},{key:"readString",value:function(e){for(var c=0,t="";c<e;c++)t+=String.fromCharCode(this.dv.getUint8(this.offset)),this.offset++;return t}}],[{key:"fromUint8",value:function(c){return new e(c.buffer,c.byteOffset,c.byteLength)}},{key:"concatUint8s",value:function(e){var c=new Uint8Array(e.reduce((function(e,c){return e+c.byteLength}),0)),t=0;return e.forEach((function(e){c.set(e,t),t+=e.byteLength})),c}},{key:"concatUint8",value:function(){for(var e=arguments.length,c=new Array(e),t=0;t<e;t++)c[t]=arguments[t];return this.concatUint8s(c)}}]),e}(),Dr=function(){function e(c,t){pa(this,e),this.offset=0,this.val=c,this.size=t}return ya(e,[{key:"skip",value:function(e){this.offset+=e}},{key:"read",value:function(e){var c=this.size-this.offset-e;if(c>=0){var t=0,a=0;if(this.offset+=e,this.size>31){for(;a<e;a++)t+=Math.pow(2,a);return this.val/Math.pow(2,c)&t}for(;a<e;a++)t+=1<<a;return this.val>>>c&t}throw new Error("the number of the read operation exceeds the total length limit of bits")}}],[{key:"fromByte",value:function(c,t){return new e(c.read(t),t<<3)}}]),e}(),Or=function(){function e(){pa(this,e)}return ya(e,null,[{key:"findBox",value:function(c,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=[];if(!c)return r;for(var n=0,i="",d=0;c.length>7;){if(n=dr(c),i=String.fromCharCode.apply(null,c.subarray(4,8)),d=8,1===n?(n=or(c,8),d+=8):n||(n=c.length),!t[0]||i===t[0]){var o=c.subarray(0,n);if(!(t.length<2))return e.findBox(o.subarray(d),t.slice(1),a+d);r.push({start:a,size:n,headerSize:d,type:i,data:o})}a+=n,c=c.subarray(n)}return r}},{key:"tfhd",value:function(e){return Pr(e,!0,(function(e,c){e.trackId=dr(c);var t=4,a=1&e.flags,r=2&e.flags,n=8&e.flags,i=16&e.flags,d=32&e.flags;a&&(t+=4,e.baseDataOffset=dr(c,t),t+=4),r&&(e.sampleDescriptionIndex=dr(c,t),t+=4),n&&(e.defaultSampleDuration=dr(c,t),t+=4),i&&(e.defaultSampleSize=dr(c,t),t+=4),d&&(e.defaultSampleFlags=dr(c,t))}))}},{key:"sidx",value:function(e){return Pr(e,!0,(function(e,c){var t=0;e.reference_ID=dr(c,t),t+=4,e.timescale=dr(c,t),t+=4,0===e.version?(e.earliest_presentation_time=dr(c,t),t+=4,e.first_offset=dr(c,t),t+=4):(e.earliest_presentation_time=or(c,t),t+=8,e.first_offset=or(c,t),t+=8),t+=2,e.references=[];var a=ir(c,t);t+=2;for(var r=0;r<a;r++){var n={};e.references.push(n);var i=dr(c,t);t+=4,n.reference_type=i>>31&1,n.referenced_size=2147483647&i,n.subsegment_duration=dr(c,t),i=dr(c,t+=4),t+=4,n.starts_with_SAP=i>>31&1,n.SAP_type=i>>28&7,n.SAP_delta_time=268435455&i}}))}},{key:"moov",value:function(c){return Pr(c,!1,(function(c,t,a){c.mvhd=e.mvhd(e.findBox(t,["mvhd"],a)[0]),c.trak=e.findBox(t,["trak"],a).map((function(c){return e.trak(c)})),c.pssh=e.pssh(e.findBox(t,["pssh"],a)[0])}))}},{key:"mvhd",value:function(e){return Pr(e,!0,(function(e,c){var t=0;1===e.version?(e.timescale=dr(c,16),e.duration=or(c,20),t+=28):(e.timescale=dr(c,8),e.duration=dr(c,12),t+=16),e.nextTrackId=dr(c,t+76)}))}},{key:"trak",value:function(c){return Pr(c,!1,(function(c,t,a){c.tkhd=e.tkhd(e.findBox(t,["tkhd"],a)[0]),c.mdia=e.mdia(e.findBox(t,["mdia"],a)[0])}))}},{key:"tkhd",value:function(e){return Pr(e,!0,(function(e,c){var t=Ir.fromUint8(c);1===e.version?(t.read(8),t.read(8),e.trackId=t.read(4),t.read(4),e.duration=t.read(8)):(t.read(4),t.read(4),e.trackId=t.read(4),t.read(4),e.duration=t.read(4)),t.skip(16),e.matrix=[];for(var a=0;a<36;a++)e.matrix.push(t.read(1));t.back(36);for(var r,n=[],i=0;i<3;i++)n.push(br(t.readInt(2),t.readInt(2))),n.push(br(t.readInt(2),t.readInt(2))),r=t.readInt(4),n.push(br(r>>30,1073741823&r));e.rotation=function(e){if(e.length<5)return 0;var c=Math.hypot(e[0],e[3]),t=Math.hypot(e[1],e[4]);return 0===c||0===t?0:180*Math.atan2(e[1]/t,e[0]/c)/Math.PI}(n),e.width=t.read(4),e.height=t.read(4)}))}},{key:"mdia",value:function(c){return Pr(c,!1,(function(c,t,a){c.mdhd=e.mdhd(e.findBox(t,["mdhd"],a)[0]),c.hdlr=e.hdlr(e.findBox(t,["hdlr"],a)[0]),c.minf=e.minf(e.findBox(t,["minf"],a)[0])}))}},{key:"mdhd",value:function(e){return Pr(e,!0,(function(e,c){var t=0;1===e.version?(e.timescale=dr(c,16),e.duration=or(c,20),t+=28):(e.timescale=dr(c,8),e.duration=dr(c,12),t+=16);var a=ir(c,t);e.language=String.fromCharCode(96+(a>>10&31),96+(a>>5&31),96+(31&a))}))}},{key:"hdlr",value:function(e){return Pr(e,!0,(function(e,c){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,c.subarray(4,8)))}))}},{key:"minf",value:function(c){return Pr(c,!1,(function(c,t,a){c.vmhd=e.vmhd(e.findBox(t,["vmhd"],a)[0]),c.smhd=e.smhd(e.findBox(t,["smhd"],a)[0]),c.stbl=e.stbl(e.findBox(t,["stbl"],a)[0])}))}},{key:"vmhd",value:function(e){return Pr(e,!0,(function(e,c){e.graphicsmode=ir(c),e.opcolor=[ir(c,2),ir(c,4),ir(c,6)]}))}},{key:"smhd",value:function(e){return Pr(e,!0,(function(e,c){e.balance=ir(c)}))}},{key:"stbl",value:function(c){return Pr(c,!1,(function(c,t,a){var r,n,i;c.stsd=e.stsd(e.findBox(t,["stsd"],a)[0]),c.stts=e.stts(e.findBox(t,["stts"],a)[0]),c.ctts=e.ctts(e.findBox(t,["ctts"],a)[0]),c.stsc=e.stsc(e.findBox(t,["stsc"],a)[0]),c.stsz=e.stsz(e.findBox(t,["stsz"],a)[0]),c.stco=e.stco(e.findBox(t,["stco"],a)[0]),c.stco||(c.co64=e.co64(e.findBox(t,["co64"],a)[0]),c.stco=c.co64);var d=null===(r=c.stsd.entries[0])||void 0===r||null===(n=r.sinf)||void 0===n||null===(i=n.schi)||void 0===i?void 0:i.tenc.default_IV_size;c.stss=e.stss(e.findBox(t,["stss"],a)[0]),c.senc=e.senc(e.findBox(t,["senc"],a)[0],d)}))}},{key:"senc",value:function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return Pr(e,!0,(function(e,t){var a=0,r=dr(t,a);a+=4,e.samples=[];for(var n=0;n<r;n++){for(var i={InitializationVector:[]},d=0;d<c;d++)i.InitializationVector[d]=t[a+d];if(a+=c,2&e.flags){i.subsamples=[];var o=ir(t,a);a+=2;for(var s=0;s<o;s++){var f={};f.BytesOfClearData=ir(t,a),a+=2,f.BytesOfProtectedData=dr(t,a),a+=4,i.subsamples.push(f)}}e.samples.push(i)}}))}},{key:"pssh",value:function(e){return Pr(e,!0,(function(e,c){for(var t=[],a=[],r=0,n=0;n<16;n++)a.push(jr(c[r+n]));if(r+=16,e.version>0){var i=dr(c,r);r+=4;for(var d=0;d<(""+i).length;d++)for(var o=0;o<16;o++){var s=c[r];r+=1,t.push(jr(s))}}var f=dr(c,r);e.data_size=f,r+=4,e.kid=t,e.system_id=a,e.buffer=c}))}},{key:"stsd",value:function(c){return Pr(c,!0,(function(c,t,a){c.entryCount=dr(t),c.entries=e.findBox(t.subarray(4),[],a+4).map((function(c){switch(c.type){case"av01":return e.av01(c);case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(c);case"hvc1":case"hev1":return e.hvc1(c);case"mp4a":return e.mp4a(c);case"alaw":case"ulaw":return e.alaw(c);case"enca":return Pr(c,!1,(function(c,t,a){c.channelCount=ir(t,16),c.samplesize=ir(t,18),c.sampleRate=dr(t,24)/65536,t=t.subarray(28),c.sinf=e.sinf(e.findBox(t,["sinf"],a)[0]),c.esds=e.esds(e.findBox(t,["esds"],a)[0])}));case"encv":return Pr(c,!1,(function(c,t,a){c.width=ir(t,24),c.height=ir(t,26),c.horizresolution=dr(t,28),c.vertresolution=dr(t,32),t=t.subarray(78),c.sinf=e.sinf(e.findBox(t,["sinf"],a)[0]),c.avcC=e.avcC(e.findBox(t,["avcC"],a)[0]),c.hvcC=e.hvcC(e.findBox(t,["hvcC"],a)[0]),c.pasp=e.pasp(e.findBox(t,["pasp"],a)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(e){return Pr(e,!1,(function(e,c){var t=6;e.default_IsEncrypted=c[t],t+=1,e.default_IV_size=c[t],t+=1,e.default_KID=[];for(var a=0;a<16;a++)e.default_KID.push(jr(c[t])),t+=1}))}},{key:"schi",value:function(c){return Pr(c,!1,(function(c,t,a){c.tenc=e.tenc(e.findBox(t,["tenc"],a)[0])}))}},{key:"sinf",value:function(c){return Pr(c,!1,(function(c,t,a){c.schi=e.schi(e.findBox(t,["schi"],a)[0]),c.frma=e.frma(e.findBox(t,["frma"],a)[0])}))}},{key:"frma",value:function(e){return Pr(e,!1,(function(e,c){e.data_format="";for(var t=0;t<4;t++)e.data_format+=String.fromCharCode(c[t])}))}},{key:"colr",value:function(e){return Pr(e,!1,(function(c,t){var a=Ir.fromUint8(t);c.data=e.data,c.colorType=a.readString(4),"nclx"===c.colorType?(c.colorPrimaries=a.read(2),c.transferCharacteristics=a.read(2),c.matrixCoefficients=a.read(2),c.fullRangeFlag=a.read(1)>>7):"rICC"!==c.colorType&&"prof"!==c.colorType||(c.iccProfile=t.readToUint8())}))}},{key:"av01",value:function(c){return Pr(c,!1,(function(c,t,a){var r=Lr(c,t),n=t.subarray(r);a+=r,c.av1C=e.av1C(e.findBox(n,["av1C"],a)[0]),c.colr=e.colr(e.findBox(n,["colr"],a)[0])}))}},{key:"av1C",value:function(e){return Pr(e,!1,(function(c,t){c.data=e.data;var a,r=Ir.fromUint8(t),n=Dr.fromByte(r,4);c.marker=n.read(1),c.version=n.read(7),c.seqProfile=n.read(3),c.seqLevelIdx0=n.read(5),c.seqTier0=n.read(1),c.highBitdepth=n.read(1),c.twelveBit=n.read(1),c.monochrome=n.read(1),c.chromaSubsamplingX=n.read(1),c.chromaSubsamplingY=n.read(1),c.chromaSamplePosition=n.read(2),c.reserved=n.read(3),c.initialPresentationDelayPresent=n.read(1),c.initialPresentationDelayPresent?c.initialPresentationDelayMinusOne=n.read(4):c.initialPresentationDelayMinusOne=0,c.configOBUs=r.readToUint8(),2===c.seqLevelIdx0&&1===c.highBitdepth?a=1===c.twelveBit?"12":"10":c.seqProfile<=2&&(a=1===c.highBitdepth?"10":"08"),c.codec=["av01",c.seqProfile,(c.seqLevelIdx0<10?"0"+c.seqLevelIdx0:c.seqLevelIdx0)+(c.seqTier0?"H":"M"),a].join(".")}))}},{key:"avc1",value:function(c){return Pr(c,!1,(function(c,t,a){var r=Lr(c,t),n=t.subarray(r);a+=r,c.avcC=e.avcC(e.findBox(n,["avcC"],a)[0]),c.pasp=e.pasp(e.findBox(n,["pasp"],a)[0])}))}},{key:"avcC",value:function(e){return Pr(e,!1,(function(c,t){c.data=e.data,c.configurationVersion=t[0],c.AVCProfileIndication=t[1],c.profileCompatibility=t[2],c.AVCLevelIndication=t[3],c.codec=sr([t[1],t[2],t[3]]),c.lengthSizeMinusOne=3&t[4],c.spsLength=31&t[5],c.sps=[];for(var a=6,r=0;r<c.spsLength;r++){var n=ir(t,a);a+=2,c.sps.push(t.subarray(a,a+n)),a+=n}c.ppsLength=t[a],a+=1,c.pps=[];for(var i=0;i<c.ppsLength;i++){var d=ir(t,a);a+=2,c.pps.push(t.subarray(a,a+=d)),a+=d}}))}},{key:"hvc1",value:function(c){return Pr(c,!1,(function(c,t,a){var r=Lr(c,t),n=t.subarray(r);a+=r,c.hvcC=e.hvcC(e.findBox(n,["hvcC"],a)[0]),c.pasp=e.pasp(e.findBox(n,["pasp"],a)[0])}))}},{key:"hvcC",value:function(e){return Pr(e,!1,(function(c,t){c.data=e.data,c.codec="hev1.1.6.L93.B0",c.configurationVersion=t[0];var a=t[1];c.generalProfileSpace=a>>6,c.generalTierFlag=(32&a)>>5,c.generalProfileIdc=31&a,c.generalProfileCompatibility=dr(t,2),c.generalConstraintIndicatorFlags=t.subarray(6,12),c.generalLevelIdc=t[12],c.avgFrameRate=ir(t,19),c.numOfArrays=t[22],c.vps=[],c.sps=[],c.pps=[];for(var r=23,n=0,i=0,d=0,o=0;o<c.numOfArrays;o++){n=63&t[r],i=ir(t,r+1),r+=3;for(var s,f=[],b=0;b<i;b++)d=ir(t,r),r+=2,f.push(t.subarray(r,r+d)),r+=d;if(32===n)(s=c.vps).push.apply(s,f);else if(33===n){var u;(u=c.sps).push.apply(u,f)}else if(34===n){var l;(l=c.pps).push.apply(l,f)}}}))}},{key:"pasp",value:function(e){return Pr(e,!1,(function(e,c){e.hSpacing=dr(c),e.vSpacing=dr(c,4)}))}},{key:"mp4a",value:function(c){return Pr(c,!1,(function(c,t,a){var r=Cr(c,t);c.esds=e.esds(e.findBox(t.subarray(r),["esds"],a+r)[0])}))}},{key:"esds",value:function(e){return Pr(e,!0,(function(e,c){e.codec="mp4a.";for(var t=0,a=0,r=0,n=0;c.length;){for(n=c[t=0],a=c[t+1],t+=2;128&a;)r=(127&a)<<7,a=c[t],t+=1;if(r+=127&a,3===n)c=c.subarray(t+3);else{if(4!==n){if(5===n){var i=e.config=c.subarray(t,t+r),d=(248&i[0])>>3;return 31===d&&i.length>=2&&(d=32+((7&i[0])<<3)+((224&i[1])>>5)),e.objectType=d,e.codec+=d.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+=(c[t].toString(16)+".").padStart(3,"0"),c=c.subarray(t+13)}}}))}},{key:"alaw",value:function(e){return Pr(e,!1,(function(e,c){Cr(e,c)}))}},{key:"stts",value:function(e){return Pr(e,!0,(function(e,c){for(var t=dr(c),a=[],r=4,n=0;n<t;n++)a.push({count:dr(c,r),delta:dr(c,r+4)}),r+=8;e.entryCount=t,e.entries=a}))}},{key:"ctts",value:function(e){return Pr(e,!0,(function(e,c){var t=dr(c),a=[],r=4;if(1===e.version)for(var n=0;n<t;n++)a.push({count:dr(c,r),offset:dr(c,r+4)}),r+=8;else for(var i=0;i<t;i++)a.push({count:dr(c,r),offset:-(1+~dr(c,r+4))}),r+=8;e.entryCount=t,e.entries=a}))}},{key:"stsc",value:function(e){return Pr(e,!0,(function(e,c){for(var t=dr(c),a=[],r=4,n=0;n<t;n++)a.push({firstChunk:dr(c,r),samplesPerChunk:dr(c,r+4),sampleDescriptionIndex:dr(c,r+8)}),r+=12;e.entryCount=t,e.entries=a}))}},{key:"stsz",value:function(e){return Pr(e,!0,(function(e,c){var t=dr(c),a=dr(c,4),r=[];if(!t)for(var n=8,i=0;i<a;i++)r.push(dr(c,n)),n+=4;e.sampleSize=t,e.sampleCount=a,e.entrySizes=r}))}},{key:"stco",value:function(e){return Pr(e,!0,(function(e,c){for(var t=dr(c),a=[],r=4,n=0;n<t;n++)a.push(dr(c,r)),r+=4;e.entryCount=t,e.entries=a}))}},{key:"co64",value:function(e){return Pr(e,!0,(function(e,c){for(var t=dr(c),a=[],r=4,n=0;n<t;n++)a.push(or(c,r)),r+=8;e.entryCount=t,e.entries=a}))}},{key:"stss",value:function(e){return Pr(e,!0,(function(e,c){for(var t=dr(c),a=[],r=4,n=0;n<t;n++)a.push(dr(c,r)),r+=4;e.entryCount=t,e.entries=a}))}},{key:"moof",value:function(c){return Pr(c,!1,(function(c,t,a){c.mfhd=e.mfhd(e.findBox(t,["mfhd"],a)[0]),c.traf=e.findBox(t,["traf"],a).map((function(c){return e.traf(c)}))}))}},{key:"mfhd",value:function(e){return Pr(e,!0,(function(e,c){e.sequenceNumber=dr(c)}))}},{key:"traf",value:function(c){return Pr(c,!1,(function(c,t,a){c.tfhd=e.tfhd(e.findBox(t,["tfhd"],a)[0]),c.tfdt=e.tfdt(e.findBox(t,["tfdt"],a)[0]),c.trun=e.trun(e.findBox(t,["trun"],a)[0])}))}},{key:"trun",value:function(e){return Pr(e,!0,(function(e,c){var t=e.version,a=e.flags,r=c.length,n=e.sampleCount=dr(c),i=4;if(r>i&&1&a&&(e.dataOffset=-(1+~dr(c,i)),i+=4),r>i&&4&a&&(e.firstSampleFlags=dr(c,i),i+=4),e.samples=[],r>i)for(var d,o=0;o<n;o++)d={},256&a&&(d.duration=dr(c,i),i+=4),512&a&&(d.size=dr(c,i),i+=4),1024&a&&(d.flags=dr(c,i),i+=4),2048&a&&(d.cts=t?-(1+~dr(c,i+4)):dr(c,i),i+=4),e.samples.push(d)}))}},{key:"tfdt",value:function(e){return Pr(e,!0,(function(e,c){1===e.version?e.baseMediaDecodeTime=or(c):e.baseMediaDecodeTime=dr(c)}))}},{key:"probe",value:function(c){return!!e.findBox(c,["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,c,t){var a,r,n=e.trak;if(n&&n.length){var i=n.find((function(e){var c,t;return"vide"===(null===(c=e.mdia)||void 0===c||null===(t=c.hdlr)||void 0===t?void 0:t.handlerType)})),d=n.find((function(e){var c,t;return"soun"===(null===(c=e.mdia)||void 0===c||null===(t=c.hdlr)||void 0===t?void 0:t.handlerType)}));if(i&&c){var o,s,f,b,u,l,h,p=c,v=null===(o=i.tkhd)||void 0===o?void 0:o.trackId;null!=v&&(p.id=i.tkhd.trackId),p.tkhdDuration=i.tkhd.duration,p.mvhdDurtion=e.mvhd.duration,p.mvhdTimecale=e.mvhd.timescale,p.timescale=p.formatTimescale=i.mdia.mdhd.timescale,p.duration=i.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale,p.rotation=i.tkhd.rotation,p.matrix=i.tkhd.matrix;var y,m,g,_,k,E,S,w,x=i.mdia.minf.stbl.stsd.entries[0];if(p.width=x.width,p.height=x.height,x.pasp&&(p.sarRatio=[x.pasp.hSpacing,x.pasp.vSpacing]),x.av1C)p.codecType=Ra,p.codec=x.av1C.codec,p.av1C=x.av1C.data,p.colr=x.colr.data;else if(x.hvcC)p.codecType=Ca,p.codec=x.hvcC.codec,p.vps=x.hvcC.vps,p.sps=x.hvcC.sps,p.pps=x.hvcC.pps,p.hvcC=x.hvcC.data;else{if(!x.avcC)throw new Error("unknown video stsd entry");p.codec=x.avcC.codec,p.sps=x.avcC.sps,p.pps=x.avcC.pps}if(p.present=!0,p.ext={},p.ext.stss=null===(s=i.mdia)||void 0===s||null===(f=s.minf)||void 0===f||null===(b=f.stbl)||void 0===b?void 0:b.stss,p.ext.ctts=null===(u=i.mdia)||void 0===u||null===(l=u.minf)||void 0===l||null===(h=l.stbl)||void 0===h?void 0:h.ctts,x&&"encv"===x.type)p.isVideoEncryption=!0,x.default_KID=null===(y=x.sinf)||void 0===y||null===(m=y.schi)||void 0===m?void 0:m.tenc.default_KID,x.default_IsEncrypted=null===(g=x.sinf)||void 0===g||null===(_=g.schi)||void 0===_?void 0:_.tenc.default_IsEncrypted,x.default_IV_size=null===(k=x.sinf)||void 0===k||null===(E=k.schi)||void 0===E?void 0:E.tenc.default_IV_size,p.videoSenc=i.mdia.minf.stbl.senc&&i.mdia.minf.stbl.senc.samples,x.data_format=null===(S=x.sinf)||void 0===S||null===(w=S.frma)||void 0===w?void 0:w.data_format,p.useEME=e.useEME,p.kidValue=e.kidValue,p.pssh=e.pssh,p.encv=x}if(d&&t){var T,A,I,D,O,R,L,C,P,j=t,M=null===(T=d.tkhd)||void 0===T?void 0:T.trackId;null!=M&&(j.id=d.tkhd.trackId),j.tkhdDuration=d.tkhd.duration,j.mvhdDurtion=e.mvhd.duration,j.mvhdTimecale=e.mvhd.timescale,j.timescale=j.formatTimescale=d.mdia.mdhd.timescale,j.duration=d.mdia.mdhd.duration||j.mvhdDurtion/j.mvhdTimecale*j.timescale;var B,U,N,F,G,V,q,z,H=d.mdia.minf.stbl.stsd.entries[0];switch(j.sampleSize=H.sampleSize,j.sampleRate=H.sampleRate,j.channelCount=H.channelCount,j.present=!0,H.type){case"alaw":j.codecType=j.codec=ja,j.sampleRate=8e3;break;case"ulaw":j.codecType=j.codec=Ma,j.sampleRate=8e3;break;default:j.sampleDuration=ar.getFrameDuration(j.sampleRate,j.timescale),j.sampleRateIndex=ar.getRateIndexByRate(j.sampleRate),j.objectType=(null===(a=H.esds)||void 0===a?void 0:a.objectType)||2,H.esds&&(j.config=Array.from(H.esds.config)),j.codec=(null===(r=H.esds)||void 0===r?void 0:r.codec)||"mp4a.40.2"}if(j.sampleDuration=ar.getFrameDuration(j.sampleRate,j.timescale),j.objectType=(null===(A=H.esds)||void 0===A?void 0:A.objectType)||2,H.esds&&(H.esds.config?j.config=Array.from(H.esds.config):console.warn("esds config is null")),j.codec=(null===(I=H.esds)||void 0===I?void 0:I.codec)||"mp4a.40.2",j.sampleRateIndex=ar.getRateIndexByRate(j.sampleRate),j.ext={},j.ext.stss=null===(D=d.mdia)||void 0===D||null===(O=D.minf)||void 0===O||null===(R=O.stbl)||void 0===R?void 0:R.stss,j.ext.ctts=null===(L=d.mdia)||void 0===L||null===(C=L.minf)||void 0===C||null===(P=C.stbl)||void 0===P?void 0:P.ctts,j.present=!0,H&&"enca"===H.type)j.isAudioEncryption=!0,H.data_format=null===(B=H.sinf)||void 0===B||null===(U=B.frma)||void 0===U?void 0:U.data_format,H.default_KID=null===(N=H.sinf)||void 0===N||null===(F=N.schi)||void 0===F?void 0:F.tenc.default_KID,H.default_IsEncrypted=null===(G=H.sinf)||void 0===G||null===(V=G.schi)||void 0===V?void 0:V.tenc.default_IsEncrypted,H.default_IV_size=null===(q=H.sinf)||void 0===q||null===(z=q.schi)||void 0===z?void 0:z.tenc.default_IV_size,j.audioSenc=d.mdia.minf.stbl.senc&&d.mdia.minf.stbl.senc.samples,j.useEME=e.useEME,j.kidValue=e.kidValue,j.enca=H}if(t&&(t.isVideoEncryption=!!c&&c.isVideoEncryption),c&&(c.isAudioEncryption=!!t&&t.isAudioEncryption),null!=c&&c.encv||null!=t&&t.enca){var K,$,W=null==c||null===(K=c.encv)||void 0===K?void 0:K.default_KID,Y=null==t||null===($=t.enca)||void 0===$?void 0:$.default_KID,X=W||Y?(W||Y).join(""):null;c&&(c.kid=X),t&&(t.kid=X)}return c&&(c.flags=3841),t&&(t.flags=1793),{videoTrack:c,audioTrack:t}}}},{key:"evaluateDefaultDuration",value:function(e,c,t){var a,r=null==c||null===(a=c.samples)||void 0===a?void 0:a.length;return r?1024*r/c.timescale*e.timescale/t:1024}},{key:"moofToSamples",value:function(c,t,a){var r={};return c.mfhd&&(t&&(t.sequenceNumber=c.mfhd.sequenceNumber),a&&(a.sequenceNumber=c.mfhd.sequenceNumber)),c.traf.forEach((function(c){var n=c.tfhd,i=c.tfdt,d=c.trun;if(n&&d){i&&(t&&t.id===n.trackId&&(t.baseMediaDecodeTime=i.baseMediaDecodeTime),a&&a.id===n.trackId&&(a.baseMediaDecodeTime=i.baseMediaDecodeTime));var o=n.defaultSampleSize||0,s=n.defaultSampleDuration||e.evaluateDefaultDuration(t,a,d.samples.length||d.sampleCount),f=d.dataOffset||0,b=0,u=-1;if(!d.samples.length&&d.sampleCount){r[n.trackId]=[];for(var l=0;l<d.sampleCount;l++)r[n.trackId].push({offset:f,dts:b,duration:s,size:o}),b+=s,f+=o}else r[n.trackId]=d.samples.map((function(e,c){return(e={offset:f,dts:b,pts:b+(e.cts||0),duration:e.duration||s,size:e.size||o,gopId:u,keyframe:0===c||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(u++,e.gopId=u),b+=e.duration,f+=e.size,e}))}})),r}},{key:"moovToSamples",value:function(e){var c=e.trak;if(c&&c.length){var t=c.find((function(e){var c,t;return"vide"===(null===(c=e.mdia)||void 0===c||null===(t=c.hdlr)||void 0===t?void 0:t.handlerType)})),a=c.find((function(e){var c,t;return"soun"===(null===(c=e.mdia)||void 0===c||null===(t=c.hdlr)||void 0===t?void 0:t.handlerType)}));if(t||a){var r,n;if(t){var i,d,o=null===(i=t.mdia)||void 0===i||null===(d=i.minf)||void 0===d?void 0:d.stbl;if(!o)return;var s=o.stts,f=o.stsc,b=o.stsz,u=o.stco,l=o.stss,h=o.ctts;if(!(s&&f&&b&&u&&l))return;r=Rr(s,f,b,u,h,l)}if(a){var p,v,y,m=null===(p=a.mdia)||void 0===p||null===(v=p.minf)||void 0===v?void 0:v.stbl;if(!m)return;var g=null===(y=a.mdia.mdhd)||void 0===y?void 0:y.timescale,_=m.stts,k=m.stsc,E=m.stsz,S=m.stco;if(!(g&&_&&k&&E&&S))return;n=Rr(_,k,E,S)}return{videoSamples:r,audioSamples:n}}}}}]),e}();function Rr(e,c,t,a,r,n){var i,d,o,s=[],f=null==r?void 0:r.entries,b=c.entries,u=a.entries,l=t.entrySizes,h=null==n?void 0:n.entries;h&&(i={},h.forEach((function(e){i[e-1]=!0}))),f&&(d=[],f.forEach((function(e){for(var c=e.count,t=e.offset,a=0;a<c;a++)d.push(t)})));var p=-1,v=0,y=0,m=0,g=0,_=0,k=b[0].samplesPerChunk,E=b[1]?b[1].firstChunk-1:1/0;return e.entries.forEach((function(e){for(var c=e.count,a=e.delta,r=0;r<c;r++)o={dts:v,duration:a,size:l[y]||t.sampleSize,offset:u[m]+_,index:y},h&&(o.keyframe=i[y],o.keyframe&&p++,o.gopId=p),d&&y<d.length&&(o.pts=o.dts+d[y]),s.push(o),v+=a,++y<k?_+=o.size:(m++,_=0,m>=E&&(g++,E=b[g+1]?b[g+1].firstChunk-1:1/0),k+=b[g].samplesPerChunk)})),s}function Lr(e,c){return e.dataReferenceIndex=ir(c,6),e.width=ir(c,24),e.height=ir(c,26),e.horizresolution=dr(c,28),e.vertresolution=dr(c,32),e.frameCount=ir(c,40),e.depth=ir(c,74),78}function Cr(e,c){return e.dataReferenceIndex=ir(c,6),e.channelCount=ir(c,16),e.sampleSize=ir(c,18),e.sampleRate=dr(c,24)/65536,28}function Pr(e,c,t){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var a={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return c&&(a.version=e.data[e.headerSize],a.flags=function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[c]<<16)+(e[c+1]<<8)+(e[c+2]||0)}(e.data,e.headerSize+1),a.headerSize+=4),t(a,e.data.subarray(a.headerSize),a.start+a.headerSize),a}}var jr=function(){for(var e=[],c=arguments.length,t=new Array(c),a=0;a<c;a++)t[a]=arguments[a];return t.forEach((function(c){e.push(function(e,c,t){for(var a=String(t),r=0|c,n=Math.ceil(r/a.length),i=[],d=String(e);n--;)i.push(a);return i.join("").substring(0,r-d.length)+d}(Number(c).toString(16),2,0))})),e[0]},Mr=function(){function e(c,t,a){pa(this,e),ma(this,"__loadedMoofWraps",[]),ma(this,"__lastRemainData",null),ma(this,"__lastRemainDataStart",0),ma(this,"__nextMoofStart",-1),this.videoTrack=c||new Ha,this.audioTrack=t||new Ka,this.metadataTrack=a||new Xa}return ya(e,[{key:"demuxPart",value:function(e,c,t){var a=this,r=this.videoTrack,n=this.audioTrack,i=r.exist(),d=n.exist(),o=/av01/.test(r.codec);r.samples=[],n.samples=[];var s=e,f=c;if(this.__lastRemainData){var b=this.__lastRemainDataStart+this.__lastRemainData.byteLength;if(c<=b&&c>this.__lastRemainDataStart&&c+e.byteLength>b){var u=e.subarray(this.__lastRemainData.byteLength+this.__lastRemainDataStart-c);s=rr(this.__lastRemainData,u),f=this.__lastRemainDataStart,this.__lastRemainData=null}else this.__lastRemainData=null,this.__lastRemainDataStart=0,this.__nextMoofStart=-1}if(!t){var l=Or.findBox(s,["moov"])[0];if(!l)throw new Error("cannot found moov box");t=Or.moov(l)}if(s){var h=f+s.byteLength;i||d||Or.moovToTrack(t,r,n);var p=[];this.__nextMoofStart<0?Or.findBox(s,["moof"],f).forEach((function(e){return p.push(e)})):this.__nextMoofStart>=f&&this.__nextMoofStart<=h-8&&Or.findBox(s.subarray(this.__nextMoofStart-f),["moof"],this.__nextMoofStart).forEach((function(e){return p.push(e)})),p.filter((function(e){return e.size<=e.data.length})).forEach((function(e){var c=Or.moof(e);a.__nextMoofStart=c.start+Math.max.apply(Math,wa(c.traf.map((function(e){return e.trun.samples.reduce((function(e,c){return e+c.size}),e.trun.dataOffset||0)})))),a.__loadedMoofWraps.push({start:c.start,nextMoofStart:a.__nextMoofStart,moof:c}),a.__loadedMoofWraps.sort((function(e,c){return e.start-c.start}))}));var v,y=function(e,c){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=xa(e))||c&&e&&"number"==typeof e.length){t&&(e=t);var a=0,r=function(){};return{s:r,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:r}}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 n,i=!0,d=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){d=!0,n=e},f:function(){try{i||null==t.return||t.return()}finally{if(d)throw n}}}}(this.__loadedMoofWraps);try{var m=function(){var e=v.value;if(e.start>h||e.nextMoofStart<f)return"continue";var c,t=e.start,i=Or.moofToSamples(e.moof,r,n),d=r.baseMediaDecodeTime,b=n.baseMediaDecodeTime;Object.keys(i).forEach((function(e){r.id==e?i[e].some((function(e){var n=e.offset+=t;if(!(n<f)){if(n+e.size>h)return!0;var i=new $a((e.pts||e.dts)+d,e.dts+d);i.duration=e.duration,i.gopId=e.gopId,e.keyframe&&i.setToKeyframe();var b=s.subarray(n-f,n-f+e.size);if(i.data=b,!o)for(var u=0,l=b.length-1;u<l;)c=dr(b,u),u+=4,i.units.push(b.subarray(u,u+c)),u+=c;a.__lastRemainDataStart=n+e.size,r.samples.push(i)}})):n.id==e&&i[e].some((function(e){var c=e.offset+t;if(!(c<f)){if(c+e.size>h)return!0;var r=s.subarray(c-f,c-f+e.size);n.samples.push(new Wa(e.dts+b,r,e.duration)),a.__lastRemainDataStart=c+e.size}}))}))};for(y.s();!(v=y.n()).done;)m()}catch(g){y.e(g)}finally{y.f()}}return this.__lastRemainDataStart>f&&this.__lastRemainDataStart<s.byteLength+f?this.__lastRemainData=s.subarray(this.__lastRemainDataStart-f):(this.__lastRemainData=s,this.__lastRemainDataStart=f),r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].pts),n.samples.length&&(n.baseMediaDecodeTime=n.samples[0].pts),{videoTrack:r,audioTrack:n,metadataTrack:this.metadataTrack}}},{key:"demux",value:function(e,c){var t=this.videoTrack,a=this.audioTrack,r=t.exist(),n=a.exist();if(t.samples=[],a.samples=[],c){if(!n){var i=Or.findBox(c,["moov"])[0];if(!i)throw new Error("cannot found moov box");Or.moovToTrack(Or.moov(i),null,a)}var d=Or.findBox(c,["moof"])[0];if(d){var o=Or.moofToSamples(Or.moof(d),null,a)[a.id],s=a.baseMediaDecodeTime;if(o){var f=d.start;o.map((function(e){e.offset+=f;var t=c.subarray(e.offset,e.offset+e.size);a.samples.push(new Wa(e.dts+s,t,e.duration))}))}}}if(e){if(!r&&!n){var b=Or.findBox(e,["moov"])[0];if(!b)throw new Error("cannot found moov box");Or.moovToTrack(Or.moov(b),t,a)}var u=Or.findBox(e,["moof"])[0];if(u){var l,h=Or.moofToSamples(Or.moof(u),t,a),p=t.baseMediaDecodeTime,v=a.baseMediaDecodeTime,y=u.start;Object.keys(h).forEach((function(c){t.id==c?h[c].map((function(c){c.offset+=y;var a=new $a((c.pts||c.dts)+p,c.dts+p);a.duration=c.duration,a.gopId=c.gopId,c.keyframe&&a.setToKeyframe();var r=e.subarray(c.offset,c.offset+c.size);a.data=r;for(var n=0,i=r.length-1;n<i;)l=dr(r,n),n+=4,a.units.push(r.subarray(n,n+l)),n+=l;t.samples.push(a)})):a.id==c&&h[c].map((function(c){c.offset+=y;var t=e.subarray(c.offset,c.offset+c.size);a.samples.push(new Wa(c.dts+v,t,c.duration))}))}))}}return{videoTrack:t,audioTrack:a,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}}],[{key:"probe",value:function(e){return Or.probe(e)}}]),e}();var Br=function(){function e(){pa(this,e),this.buffer=new Uint8Array(0)}return ya(e,[{key:"write",value:function(){for(var e=this,c=arguments.length,t=new Array(c),a=0;a<c;a++)t[a]=arguments[a];t.forEach((function(c){c?e.buffer=function(e){for(var c=0,t=arguments.length,a=new Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];a.forEach((function(e){c+=e.length}));var n=new e(c),i=0;return a.forEach((function(e){n.set(e,i),i+=e.length})),n}(Uint8Array,e.buffer,c):window.console.warn(c)}))}}],[{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}(),Ur=Math.pow(2,32)-1,Nr=function(){function e(){pa(this,e)}return ya(e,null,[{key:"box",value:function(e){for(var c=arguments.length,t=new Array(c>1?c-1:0),a=1;a<c;a++)t[a-1]=arguments[a];var r=8+(t=t.filter(Boolean)).reduce((function(e,c){return e+c.byteLength}),0),n=new Uint8Array(r);n[0]=r>>24&255,n[1]=r>>16&255,n[2]=r>>8&255,n[3]=255&r,n.set(e,4);var i=8;return t.forEach((function(e){n.set(e,i),i+=e.byteLength})),n}},{key:"ftyp",value:function(c){return c.find((function(e){return e.type===Ia&&e.codecType===Ca}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(c){return rr(e.ftyp(c),e.moov(c))}},{key:"pssh",value:function(c){var t=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],fr(c.kid),[0,0,0,0]));return e.box(e.types.pssh,t)}},{key:"moov",value:function(c){if(c[0].useEME&&(c[0].encv||c[0].enca)){c[0].pssh||(c[0].pssh={kid:c[0].kid});var t=this.pssh(c[0].pssh);return e.box.apply(e,[e.types.moov,e.mvhd(c[0].mvhdDurtion||c[0].duration,c[0].mvhdTimecale||c[0].timescale),e.mvex(c)].concat(wa(c.map((function(c){return e.trak(c)}))),[t]))}return e.box.apply(e,[e.types.moov,e.mvhd(c[0].mvhdDurtion||c[0].duration,c[0].mvhdTimecale||c[0].timescale)].concat(wa(c.map((function(c){return e.trak(c)}))),[e.mvex(c)]))}},{key:"mvhd",value:function(c){var t=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,t>>24&255,t>>16&255,t>>8&255,255&t,c>>24&255,c>>16&255,c>>8&255,255&c,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(c){return e.box(e.types.trak,e.tkhd(c.id,c.tkhdDuration||0,c.width,c.height),e.mdia(c))}},{key:"tkhd",value:function(c,t){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=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,c>>24&255,c>>16&255,c>>8&255,255&c,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t,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,a>>8&255,255&a,0,0,r>>8&255,255&r,0,0]))}},{key:"mdia",value:function(c){return e.box(e.types.mdia,e.mdhd(c.duration,c.timescale),e.hdlr(c.type),e.minf(c))}},{key:"mdhd",value:function(c){var t=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,t>>24&255,t>>16&255,t>>8&255,255&t,c>>24&255,c>>16&255,c>>8&255,255&c,85,196,0,0]))}},{key:"hdlr",value:function(c){return e.box(e.types.hdlr,e.HDLR_TYPES[c])}},{key:"minf",value:function(c){return e.box(e.types.minf,c.type===Ia?e.VMHD:e.SMHD,e.DINF,e.stbl(c))}},{key:"stbl",value:function(c){var t=[];return c&&c.ext&&c.ext.stss&&t.push(e.stss(c.ext.stss.entries)),e.box(e.types.stbl,e.stsd(c),e.STTS,t[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(c){var t;return t="audio"===c.type?c.useEME&&c.enca?e.enca(c):c.codecType===Ba?e.opus(c):e.mp4a(c):c.useEME&&c.encv?e.encv(c):c.av1C?e.av01(c):e.avc1hev1(c),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),t)}},{key:"enca",value:function(c){var t=c.enca.channelCount,a=c.enca.sampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t,0,16,0,0,0,0,a>>8&255,255&a,0,0]),n=e.esds(c.config),i=e.sinf(c.enca);return e.box(e.types.enca,r,n,i)}},{key:"encv",value:function(c){var t,a,r=c.sps.length>0?c.sps[0]:[],n=c.pps.length>0?c.pps[0]:[],i=c.width,d=c.height,o=c.sarRatio[0],s=c.sarRatio[1],f=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,i>>8&255,255&i,d>>8&255,255&d,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((t=(a=[1,r[1],r[2],r[3],255,225,r.length>>>8&255,255&r.length]).concat.apply(a,wa(r)).concat([1,n.length>>>8&255,255&n.length])).concat.apply(t,wa(n))),u=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),l=e.sinf(c.encv),h=new Uint8Array([o>>24,o>>16&255,o>>8&255,255&o,s>>24,s>>16&255,s>>8&255,255&s]);return e.box(e.types.encv,f,e.box(e.types.avcC,b),e.box(e.types.btrt,u),l,e.box(e.types.pasp,h))}},{key:"schi",value:function(c){var t=new Uint8Array([]),a=e.tenc(c);return e.box(e.types.schi,t,a)}},{key:"tenc",value:function(c){var t=new Uint8Array([0,0,0,0,0,0,255&c.default_IsEncrypted,255&c.default_IV_size].concat(fr(c.default_KID)));return e.box(e.types.tenc,t)}},{key:"sinf",value:function(c){var t=new Uint8Array([]),a=new Uint8Array([c.data_format.charCodeAt(0),c.data_format.charCodeAt(1),c.data_format.charCodeAt(2),c.data_format.charCodeAt(3)]),r=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),n=e.schi(c);return e.box(e.types.sinf,t,e.box(e.types.frma,a),e.box(e.types.schm,r),n)}},{key:"av01",value:function(c){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,c.width>>8&255,255&c.width,c.height>>8&255,255&c.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]),c.av1C,c.colr)}},{key:"avc1hev1",value:function(c){var t=c.codecType===Ca,a=t?e.types.hvc1:e.types.avc1,r=t?e.hvcC(c):e.avcC(c),n=[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.width>>8&255,255&c.width,c.height>>8&255,255&c.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]),r];return t?n.push(e.box(e.types.fiel,new Uint8Array([1,0]))):c.sarRatio&&c.sarRatio.length>1&&n.push(e.pasp(c.sarRatio)),e.box.apply(e,[a].concat(n))}},{key:"avcC",value:function(c){var t,a,r,n=[],i=[];return c.sps.forEach((function(e){r=e.byteLength,n.push(r>>>8&255),n.push(255&r),n.push.apply(n,wa(e))})),c.pps.forEach((function(e){r=e.byteLength,i.push(r>>>8&255),i.push(255&r),i.push.apply(i,wa(e))})),e.box(e.types.avcC,new Uint8Array((t=(a=[1,n[3],n[4],n[5],255,224|c.sps.length]).concat.apply(a,n).concat([c.pps.length])).concat.apply(t,i)))}},{key:"hvcC",value:function(c){var t=c.hvcC;if(t instanceof ArrayBuffer||t instanceof Uint8Array)return t;var a,r=c.vps,n=c.sps,i=c.pps;if(t){var d=t.generalProfileCompatibilityFlags,o=t.generalConstraintIndicatorFlags,s=(r.length&&1)+(n.length&&1)+(i.length&&1);a=[1,t.generalProfileSpace<<6|t.generalTierFlag<<5|t.generalProfileIdc,d>>>24,d>>>16,d>>>8,d,o[0],o[1],o[2],o[3],o[4],o[5],t.generalLevelIdc,240,0,252,252|t.chromaFormatIdc,248|t.bitDepthLumaMinus8,248|t.bitDepthChromaMinus8,0,0,t.numTemporalLayers<<3|t.temporalIdNested<<2|3,s];var f=function(e){var c;a.push(e.length>>8,e.length),(c=a).push.apply(c,wa(e))};r.length&&(a.push(160,0,r.length),r.forEach(f)),n.length&&(a.push(161,0,n.length),n.forEach(f)),i.length&&(a.push(162,0,i.length),i.forEach(f))}else a=[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(a))}},{key:"pasp",value:function(c){var t=Sa(c,2),a=t[0],r=t[1];return e.box(e.types.pasp,new Uint8Array([a>>24,a>>16&255,a>>8&255,255&a,r>>24,r>>16&255,r>>8&255,255&r]))}},{key:"mp4a",value:function(c){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,c.channelCount,0,16,0,0,0,0,c.sampleRate>>8&255,255&c.sampleRate,0,0]),c.config.length?e.esds(c.config):void 0)}},{key:"esds",value:function(c){var t=c.length;return e.box(e.types.esds,new Uint8Array([0,0,0,0,3,23+t,0,0,0,4,15+t,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([t]).concat(c).concat([6,1,2])))}},{key:"opus",value:function(c){var t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,c.channelCount,0,16,0,0,0,0,c.sampleRate>>8&255,255&c.sampleRate,0,0]),a=c.config.length?e.dOps(c):[];return e.box(e.types.Opus,t,a)}},{key:"dOps",value:function(c){if(c.config)return c.config[4]=c.sampleRate>>>24&255,c.config[5]=c.sampleRate>>>16&255,c.config[6]=c.sampleRate>>>8&255,c.config[7]=255&c.sampleRate,e.box(e.types.dOps,c.config)}},{key:"mvex",value:function(c){return e.box.apply(e,[e.types.mvex].concat(wa(c.map((function(c){return e.trex(c.id)})))))}},{key:"trex",value:function(c){return e.box(e.types.trex,new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(c){return e.box(e.types.trex,new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(c){return e.box(e.types.trex,new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(c){return e.box.apply(e,[e.types.moof,e.mfhd(c[0].samples?c[0].samples[0].gopId:0)].concat(wa(c.map((function(c){return e.traf(c)})))))}},{key:"mfhd",value:function(c){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]))}},{key:"traf",value:function(c){var t=e.tfhd(c.id),a=e.tfdt(c,c.baseMediaDecodeTime),r=0;if(c.isVideo&&c.videoSenc&&c.videoSenc.forEach((function(e){r+=8,e.subsamples&&e.subsamples.length&&(r+=2,r+=6*e.subsamples.length)})),c.videoSencLength=r,c.useEME&&(c.isVideoEncryption||c.isAudioEncryption)){if(c.isVideoEncryption){if(c.isVideo){var n=e.saiz(c),i=e.saio(c),d=e.trun1(c),o=e.senc(c);return e.box(e.types.traf,t,a,n,i,d,o)}if(c.isAudioEncryption){var s=e.sbgp(),f=e.saiz(c),b=e.saio(c),u=e.senc(c),l=e.trun1(c);return e.box(e.types.traf,t,a,s,f,b,u,l)}var h=e.sbgp(),p=e.trun1(c);return e.box(e.types.traf,t,a,h,p)}if(c.isVideo){var v=e.trun1(c);return e.box(e.types.traf,t,a,v)}var y=e.sbgp(),m=e.saiz(c),g=e.saio(c),_=e.senc(c),k=e.trun1(c);return e.box(e.types.traf,t,a,y,m,g,_,k)}var E=e.sdtp(c);return e.box(e.types.traf,t,a,E,e.trun(c.samples,E.byteLength+76))}},{key:"sdtp",value:function(c){var t=new Br;return c.samples.forEach((function(e){t.write(new Uint8Array(c.isVideo?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),t.buffer)}},{key:"trun1",value:function(c){var t=new Br,a=Br.writeUint32(c.samples.length),r=null;if(c.isVideo){var n=c.videoSencLength;r=Br.writeUint32(16*c.samples.length+n+149),!c.isVideoEncryption&&c.isAudioEncryption&&(r=Br.writeUint32(16*c.samples.length+92))}else{var i=12*c.samples.length+124;c.isAudioEncryption&&(i=12*c.samples.length+8*c.audioSenc.length+177),r=Br.writeUint32(i)}return c.samples.forEach((function(e){t.write(Br.writeUint32(e.duration)),t.write(Br.writeUint32(e.size)),t.write(Br.writeUint32(e.keyframe?33554432:65536)),c.isVideo&&t.write(Br.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,c.flags),a,r,t.buffer)}},{key:"senc",value:function(c){var t=new Br,a=c.samples.length,r=c.isVideo?16:8,n=c.isVideo?2:0,i=[],d=0;return c.isVideo?(i=c.videoSenc,d=c.videoSencLength):i=c.audioSenc,d=d||r*a,t.write(Br.writeUint32(16+d),e.types.senc,this.extension(0,n)),t.write(Br.writeUint32(a)),i.forEach((function(e){for(var c=0;c<e.InitializationVector.length;c++)t.write(new Uint8Array([e.InitializationVector[c]]));e.subsamples&&e.subsamples.length&&(t.write(Br.writeUint16(e.subsamples.length)),e.subsamples.forEach((function(e){t.write(Br.writeUint16(e.BytesOfClearData)),t.write(Br.writeUint32(e.BytesOfProtectedData))})))})),t.buffer}},{key:"saio",value:function(c){var t=12*c.samples.length+141;!c.isVideo&&c.isAudioEncryption&&(t=149);var a=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,t>>24&255,t>>16&255,t>>8&255,255&t]);return e.box(e.types.saio,a)}},{key:"saiz",value:function(c){var t=c.samples.length,a=new Uint8Array([0,0,0,0,16,t>>24&255,t>>16&255,t>>8&255,255&t]);return e.box(e.types.saiz,a)}},{key:"sbgp",value:function(){var c=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),c)}},{key:"extension",value:function(e,c){return new Uint8Array([e,c>>16&255,c>>8&255,255&c])}},{key:"tfhd",value:function(c){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]))}},{key:"tfdt",value:function(c,t){var a=Math.floor(t/(Ur+1)),r=Math.floor(t%(Ur+1));return c.useEME&&(c.isVideoEncryption||c.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,r>>24,r>>16&255,r>>8&255,255&r]))}},{key:"trun",value:function(c,t){var a=c.length,r=12+16*a;t+=8+r;var n=new Uint8Array(r);n.set([0,0,15,1,a>>>24&255,a>>>16&255,a>>>8&255,255&a,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0);for(var i=0;i<a;i++){var d=c[i],o=d.duration,s=d.size,f=d.flag,b=void 0===f?{}:f,u=d.cts,l=void 0===u?0:u;n.set([o>>>24&255,o>>>16&255,o>>>8&255,255&o,s>>>24&255,s>>>16&255,s>>>8&255,255&s,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*i)}return e.box(e.types.trun,n)}},{key:"moovMP4",value:function(c){return e.box.apply(e,[e.types.moov,e.mvhd(c[0].duration,c[0].timescale)].concat(wa(c.map((function(c){return e.trackMP4(c)})))))}},{key:"trackMP4",value:function(c){return e.box(e.types.trak,e.tkhd(c.id,c.duration,c.width,c.height),e.mdiaMP4(c))}},{key:"mdiaMP4",value:function(c){return e.box(e.types.mdia,e.mdhd(c.duration,c.timescale),e.hdlr(c.type),e.minfMP4(c))}},{key:"minfMP4",value:function(c){return e.box(e.types.minf,c.type===Ia?e.VMHD:e.SMHD,e.DINF,e.stblMP4(c))}},{key:"stblMP4",value:function(c){var t=c.ext,a=[e.stsd(c),e.stts(t.stts),e.stsc(t.stsc),e.stsz(t.stsz),e.stco(t.stco)];return t.stss.length&&a.push(e.stss(t.stss)),t.ctts.length&&a.push(e.ctts(t.ctts)),e.box.apply(e,[e.types.stbl].concat(a))}},{key:"stts",value:function(c){var t=c.length,a=new Uint8Array(8*t),r=0;return c.forEach((function(e){var c=e.value,t=e.count;a.set([t>>24,t>>16&255,t>>8&255,255&t,c>>24,c>>16&255,c>>8&255,255&c],r),r+=8})),e.box(e.types.stts,rr(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{key:"stsc",value:function(c){var t=c.length,a=new Uint8Array(12*t),r=0;return c.forEach((function(e){var c=e.firstChunk,t=e.samplesPerChunk,n=e.sampleDescIndex;a.set([c>>24,c>>16&255,c>>8&255,255&c,t>>24,t>>16&255,t>>8&255,255&t,n>>24,n>>16&255,n>>8&255,255&n],r),r+=12})),e.box(e.types.stsc,rr(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{key:"stsz",value:function(c){var t=c.length,a=new Uint8Array(4*t),r=0;return c.forEach((function(e){a.set([e>>24,e>>16&255,e>>8&255,255&e],r),r+=4})),e.box(e.types.stsz,rr(new Uint8Array([0,0,0,0,0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{key:"stco",value:function(c){var t=c.length,a=new Uint8Array(4*t),r=0;return c.forEach((function(e){a.set([e>>24,e>>16&255,e>>8&255,255&e],r),r+=4})),e.box(e.types.stco,rr(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{key:"stss",value:function(c){var t=c.length,a=new Uint8Array(4*t),r=0;return c.forEach((function(e){a.set([e>>24,e>>16&255,e>>8&255,255&e],r),r+=4})),e.box(e.types.stss,rr(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{key:"ctts",value:function(c){var t=c.length,a=new Uint8Array(8*t),r=0;return c.forEach((function(e){var c=e.value,t=e.count;a.set([t>>24,t>>16&255,t>>8&255,255&t,c>>24,c>>16&255,c>>8&255,255&c],r),r+=8})),e.box(e.types.ctts,rr(new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t]),a))}},{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(c){var t=c.timescale,a=c.samples[0].duration,r=a*c.samples.length,n=c.samples[0].sampleOffset*a,i=8;c.samples.forEach((function(e){i+=e.size}));var d=0;if(c.isVideo){var o,s=0;c.videoSenc&&(o=c.videoSenc),c.isVideo&&o.forEach((function(e){s+=8,e.subsamples&&e.subsamples.length&&(s+=2,s+=6*e.subsamples.length)})),c.videoSencLength=s,d=i+141+16*c.samples.length+s,c.useEME&&c.isAudioEncryption&&!c.isVideoEncryption&&(d=i+16*c.samples.length+84)}else d=i+116+12*c.samples.length,c.useEME&&c.isAudioEncryption&&(d=i+169+12*c.samples.length+8*c.audioSenc.length);var f=new Uint8Array([0,0,0,0,0,0,0,255&c.id,t>>24&255,t>>16&255,t>>8&255,255&t,n>>24&255,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,1,0,d>>16&255,d>>8&255,255&d,r>>24&255,r>>16&255,r>>8&255,255&r,144,0,0,0]);return e.box(e.types.sidx,f)}},{key:"mdat",value:function(c){return e.box(e.types.mdat,c)}}]),e}();ma(Nr,"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,c){return e[c]=[c.charCodeAt(0),c.charCodeAt(1),c.charCodeAt(2),c.charCodeAt(3)],e}),Object.create(null))),ma(Nr,"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])}),ma(Nr,"FTYPAVC1",Nr.box(Nr.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),ma(Nr,"FTYPHEV1",Nr.box(Nr.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),ma(Nr,"DINF",Nr.box(Nr.types.dinf,Nr.box(Nr.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),ma(Nr,"VMHD",Nr.box(Nr.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),ma(Nr,"SMHD",Nr.box(Nr.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),ma(Nr,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),ma(Nr,"STTS",Nr.box(Nr.types.stts,Nr.StblTable)),ma(Nr,"STSC",Nr.box(Nr.types.stsc,Nr.StblTable)),ma(Nr,"STSZ",Nr.box(Nr.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),ma(Nr,"STCO",Nr.box(Nr.types.stco,Nr.StblTable));var Fr=function(){function e(c,t){pa(this,e),this.name=c||"",this._prefix="[".concat(this.name,"]"),e.disabled=t}return ya(e,[{key:"debug",value:function(){var c;if(!e.disabled){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(c=console).debug.apply(c,[this._prefix].concat(a))}}},{key:"log",value:function(){var c;if(!e.disabled){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(c=console).log.apply(c,[this._prefix].concat(a))}}},{key:"warn",value:function(){var c;if(!e.disabled){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(c=console).warn.apply(c,[this._prefix].concat(a))}}},{key:"error",value:function(){var c;if(!e.disabled){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];(c=console).error.apply(c,[this._prefix].concat(a))}}},{key:"table",value:function(){var c;e.disabled||(console.group(this._prefix),(c=console).table.apply(c,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();ma(Fr,"disabled",!0);var Gr=function(){function e(c,t,a){pa(this,e),this.videoTrack=c,this.audioTrack=t;var r=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=r&&Number(r[1])<50,this.log=new Fr("FMP4Remuxer",!a||!a.openLog||!a.openLog)}return ya(e,[{key:"remux",value:function(){var e,c,t,a,r,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=this.videoTrack,o=this.audioTrack,s=d.exist(),f=o.exist(),b=[];return n&&(i&&i.initMerge?(s&&b.push(this.videoTrack),f&&b.push(this.audioTrack),t=Nr.initSegment(b)):(s&&(e=Nr.initSegment([this.videoTrack])),f&&(c=Nr.initSegment([this.audioTrack])))),s&&d.hasSample()&&(a=this._remuxVideo()),f&&o.hasSample()&&(r=this._remuxAudio()),d.samples=[],o.samples=[],{initSegment:t,videoInitSegment:e,audioInitSegment:c,videoSegment:a,audioSegment:r}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var c=e.samples,t=/av01/.test(e.codec),a=0;t?c.forEach((function(e){a+=e.data.byteLength})):c.forEach((function(e){a+=e.units.reduce((function(e,c){return e+c.byteLength}),0),a+=4*e.units.length}));var r=new Uint8Array(a);if(t)for(var n,i=0,d=c.length,o=0;i<d;i++)n=c[i],r.set(n.data,o),n.size=n.data.byteLength,o+=n.size;else for(var s,f=new DataView(r.buffer),b=function(e,t){t=c[u];var a=0;t.units.forEach((function(c){f.setUint32(e,c.byteLength),e+=4,r.set(c,e),e+=c.byteLength,a+=4+c.byteLength})),t.size=a,h=e,s=t},u=0,l=c.length,h=0;u<l;u++)b(h,s);var p=Nr.mdat(r);return rr(Nr.moof([e]),p)}},{key:"_remuxAudio",value:function(){var e=this.audioTrack,c=new Uint8Array(e.samples.reduce((function(e,c){return e+c.size}),0));e.samples.reduce((function(e,t){return c.set(t.data,e),e+t.size}),0);var t=Nr.mdat(c);return rr(Nr.moof([e]),t)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}(),Vr=function(){function e(){Sc(this,e);var c=window.crypto||window.msCrypto;this.subtle=c&&(c.subtle||c.webkitSubtle),this.externalDecryptor=null}var c,t;return xc(e,[{key:"destroy",value:function(){var e;null!==(e=this.externalDecryptor)&&void 0!==e&&e.destroy&&this.externalDecryptor.destroy()}},{key:"decrypt",value:function(e,c){if(e||c){var t=[];return e&&(t[0]=this._decryptSegment(e)),c&&(t[1]=this._decryptSegment(c)),Promise.all(t)}}},{key:"_decryptSegment",value:(t=Ec(gc().mark((function e(c){var t;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.data,!c.key){e.next=5;break}return e.next=4,this._decryptData(c.data,c.key,c.keyIv);case 4:t=e.sent;case 5:if(c.map){e.next=7;break}return e.abrupt("return",t);case 7:return e.abrupt("return",da(c.map,t));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"_decryptData",value:(c=Ec(gc().mark((function e(c,t,a){var r;return gc().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(c,t,a);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",t,{name:"AES-CBC"},!1,["encrypt","decrypt"]);case 10:return r=e.sent,e.t0=Uint8Array,e.next=14,this.subtle.decrypt({name:"AES-CBC",iv:a},r,c);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,t,a){return c.apply(this,arguments)})}]),e}(),qr=mc(mc({},Zt),{},{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"}),zr=new At("Transmuxer"),Hr=function(){function e(c,t,a,r){Sc(this,e),Tc(this,"_initSegmentId",""),this.hls=c,this._demuxer=t?new Mr:new Ar(null,null,null,r),this._isMP4=t,a&&(this._remuxer=new Gr(this._demuxer.videoTrack,this._demuxer.audioTrack))}return xc(e,[{key:"transmux",value:function(e,c,t,a,r,n){var i=this._demuxer;try{this._isMP4?i.demux(e,c):i.demuxAndFix(da(e,c),t,a,r)}catch(_){throw new wt(vt,Et.HLS,_)}var d=i.videoTrack,o=i.audioTrack,s=i.metadataTrack,f={codec:d.codec,timescale:d.timescale,firstDts:d.firstDts/d.timescale,firstPts:d.firstPts/d.timescale,duration:d.samplesDuration/d.timescale},b={codec:o.codec,timescale:o.timescale,firstDts:o.firstDts/d.timescale,firstPts:o.firstPts/d.timescale,duration:o.samplesDuration/d.timescale,container:o.container},u="".concat(d.codec,"/").concat(d.width,"/").concat(d.height,"/").concat(o.codec,"/").concat(o.config);if(u!==this._initSegmentId&&(this._initSegmentId=u,n=!0),this._fireEvents(d,o,s,t||n),this.hls.emit(qr.DEMUXED_TRACK,{videoTrack:d,audioTrack:o}),!this._remuxer)return[d,o];n&&this.hls.isLive&&!this.hls.config.mseLowLatency&&(d.duration=this.hls.totalDuration*d.timescale,o.duration=this.hls.totalDuration*o.timescale);try{var l=this._remuxer.remux(n),h=l.videoInitSegment,p=l.videoSegment,v=l.audioInitSegment,y=l.audioSegment,m=da(h,p),g=da(v,y);return[m?mc(mc({},f),{},{data:m}):void 0,g?mc(mc({},b),{},{data:g}):void 0]}catch(_){throw new wt(yt,Et.FMP4,_)}}},{key:"_fireEvents",value:function(e,c,t,a){var r=this,n=[e,c],i="discontinuity: ".concat(a);n.forEach((function(e){var c;null!==(c=e.samples)&&void 0!==c&&c.length&&(i+="; ".concat(e.samples.length," ").concat(e.type===Ia?"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))),a&&e.exist()&&r.hls.emit(qr.METADATA_PARSED,{type:e.type,track:e,meta:mc({codec:e.codec,timescale:e.timescale,baseDts:e.baseDts},e.type===Ia?{width:e.width,height:e.height,sarRatio:e.sarRatio}:{codec:e.codec,channelCount:e.channelCount,sampleRate:e.sampleRate})})})),zr.debug(i),e.warnings.forEach((function(e){var c;switch(e.type){case Na:c=qr.LARGE_AV_FIRST_FRAME_GAP_DETECT;break;case Fa:c=qr.LARGE_VIDEO_DTS_GAP_DETECT;break;case Ga:c=qr.MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT}c&&r.hls.emit(qr.STREAM_EXCEPTION,mc(mc({},e),{},{type:c})),zr.warn("video exception",e)})),c.warnings.forEach((function(e){var c;switch(e.type){case Va:c=qr.LARGE_AUDIO_DTS_GAP_DETECT;break;case qa:c=qr.AUDIO_GAP_DETECT;break;case za:c=qr.AUDIO_OVERLAP_DETECT}c&&r.hls.emit(qr.STREAM_EXCEPTION,mc(mc({},e),{},{type:c})),zr.warn("audio exception",e)})),e.samples.forEach((function(e){e.keyframe&&r.hls.emit(qr.KEYFRAME,{pts:e.pts})})),t.seiSamples.forEach((function(e){r.hls.emit(qr.SEI,mc(mc({},e),{},{originPts:e.originPts/90,sei:{code:e.data.type,content:e.data.payload,dts:e.pts}}))}))}}]),e}(),Kr=["data"],$r=["data"],Wr=new At("BufferService"),Yr=function(){function e(c){var t=this;Sc(this,e),Tc(this,"_decryptor",new Vr),Tc(this,"_transmuxer",null),Tc(this,"_mse",null),Tc(this,"_softVideo",null),Tc(this,"_sourceCreated",!1),Tc(this,"_needInitSegment",!0),Tc(this,"_directAppend",!1),this.hls=c,c.config.softDecode?this._softVideo=c.media:(this._mse=new Nt(null,{preferMMS:c.config.preferMMS}),c.config.url&&this._mse.bindMedia(c.media).then((function(e){t.hls.emit(Zt.MEDIASOURCE_OPENED,e)}))),c.config.decryptor&&(this._decryptor.externalDecryptor=c.config.decryptor)}var c,t,a,r,n,i,d,o,s,f;return xc(e,[{key:"baseDts",get:function(){var e,c,t;return null===(e=this._transmuxer)||void 0===e||null===(c=e._demuxer)||void 0===c||null===(t=c._fixer)||void 0===t?void 0:t._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:(f=Ec(gc().mark((function e(c){return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Wr.debug("update duration",c),!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(c);case 7:e.next=10;break;case 9:this._softVideo&&(this._softVideo.duration=c);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return f.apply(this,arguments)})},{key:"createSource",value:function(e,c,t,a){if(!this._sourceCreated){var r=e||c;if(r){if(Ar.probe(r))this._transmuxer||(this._transmuxer=new Hr(this.hls,!1,!this._softVideo,this.hls.config.fixerConfig));else{if(!Or.probe(r))throw new wt(_t,null,null,null,"unsupported stream");if(this._softVideo)this._transmuxer||(this._transmuxer=new Hr(this.hls,!0,null,this.hls.config.fixerConfig));else{this._directAppend=!0;var n=!1;e&&!t&&Or.findBox(e,["moov","trak"]).forEach((function(e){var c=Or.findBox(e.data,["trak","mdia","minf","stbl","stsd"])[0];if(c){var r=Or.stsd(c).entries[0];if(r)if(r.hvcC)t=r.hvcC.codec||"hev1.1.6.L93.B0";else if(r.avcC)t=r.avcC.codec;else if(r.sampleRate||r.esds){var i;a=(null===(i=r.esds)||void 0===i?void 0:i.codec)||"mp4a.40.2",n=!0}}})),c&&!a&&Or.findBox(c,["moov","trak","mdia","minf","stbl","stsd"]).forEach((function(e){var c=Or.stsd(e).entries[0];c&&c.esds&&(a=c.esds.codec)})),e&&!t&&(t="avc1.42e01e"),c&&!a&&(a="mp4a.40.2"),n&&(t+=", ".concat(a),a=""),this._createMseSource(t,a)}}this._softVideo&&(this._sourceCreated=!0)}}}},{key:"appendBuffer",value:(s=Ec(gc().mark((function e(c,t,a,r,n,i,d){var o,s,f,b,u,l,h,p,v,y,m,g,_,k,E,S=this;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=a&&a.length||null!=r&&r.length){e.next=2;break}return e.abrupt("return");case 2:if(o=function(){var e,t;null!==(e=S.hls)&&void 0!==e&&e.emit&&(null===(t=S.hls)||void 0===t||t.emit(Zt.APPEND_BUFFER,{start:c.start,end:c.end}))},!this._directAppend){e.next=8;break}return s=[],a&&s.push(this._mse.append(Nt.VIDEO,a)),r&&s.push(this._mse.append(Nt.AUDIO,r)),e.abrupt("return",Promise.all(s).then(o));case 8:if(f=this._needInitSegment||n,b=this._transmuxer.transmux(a,r,f,i,d,this._needInitSegment||n),u=Cc(b,2),l=u[0],h=u[1],r&&t&&(null==t||t.setTrackExist(!1,!0)),r&&c&&(null==c||c.setTrackExist(!0,!1)),t||null==c||c.setTrackExist(!!l,!!h),l&&!h&&this.hls.emit(qr.NO_AUDIO_TRACK),!this._softVideo){e.next=20;break}this._softVideo.appendBuffer(l,h),this._needInitSegment=!1,o(),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,v=this._mse,y=[],f&&!p&&this._handleCodecChange(l,h).forEach((function(e){return y.push(e)})),l&&(m=l.data,g=Oc(l,Kr),y.push(v.append(Nt.VIDEO,m,g))),h&&(_=h.data,k=Oc(h,$r),y.push(v.append(Nt.AUDIO,_,k))),(E=Promise.all(y)).then(o),e.abrupt("return",E);case 32:case"end":return e.stop()}}),e,this)}))),function(e,c,t,a,r,n,i){return s.apply(this,arguments)})},{key:"removeBuffer",value:(o=Ec(gc().mark((function e(){var c,t,a,r=this,n=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=n.length>0&&void 0!==n[0]?n[0]:0,t=n.length>1&&void 0!==n[1]?n[1]:1/0,a=this.hls.media,!(!this._mse||!a||c<0||t<c||c>=this._mse.duration)){e.next=5;break}return e.abrupt("return");case 5:return e.abrupt("return",this._mse.clearBuffer(c,t).then((function(){return r.hls.emit(Zt.REMOVE_BUFFER,{start:c,end:t,removeEnd:t})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"evictBuffer",value:(d=Ec(gc().mark((function e(c){var t,a,r;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.hls.media,this._mse&&t&&c&&!(c<0)){e.next=3;break}return e.abrupt("return");case 3:if(a=t.currentTime,!((r=a-c)<=0)){e.next=7;break}return e.abrupt("return");case 7:if(!(ot.start(ot.get(t))+1>=r)){e.next=10;break}return e.abrupt("return");case 10:return e.abrupt("return",this.removeBuffer(0,r));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"clearAllBuffer",value:(i=Ec(gc().mark((function e(){return gc().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 i.apply(this,arguments)})},{key:"decryptBuffer",value:function(e,c){return this._decryptor.decrypt(e,c)}},{key:"reset",value:(n=Ec(gc().mark((function e(){var c,t=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=t.length>0&&void 0!==t[0]&&t[0],!this._mse||c){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 n.apply(this,arguments)})},{key:"endOfStream",value:(r=Ec(gc().mark((function e(){return gc().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(Zt.BUFFEREOS);case 5:this._softVideo&&this._softVideo.endOfStream();case 6:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"setLiveSeekableRange",value:(a=Ec(gc().mark((function e(c,t){return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._mse&&this._mse.setLiveSeekableRange(c,t);case 1:case"end":return e.stop()}}),e,this)}))),function(e,c){return a.apply(this,arguments)})},{key:"detachMedia",value:(t=Ec(gc().mark((function e(){return gc().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 t.apply(this,arguments)})},{key:"destroy",value:(c=Ec(gc().mark((function e(){var c;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(c=this._decryptor)||void 0===c||c.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 c.apply(this,arguments)})},{key:"_createMseSource",value:function(e,c,t){Wr.debug("create mse source, videoCodec=".concat(e,", audioCodec=").concat(c));var a=this._mse;a&&(e&&(a.createSource(Nt.VIDEO,"video/mp4;codecs=".concat(e)),this._sourceCreated=!0),c?(a.createSource(Nt.AUDIO,"audio/mp4;codecs=".concat(c)),this._sourceCreated=!0):t&&(a.createSource(Nt.AUDIO,"".concat(t,';codecs=""')),this._sourceCreated=!0),this.hls.emit(Zt.SOURCEBUFFER_CREATED))}},{key:"_handleCodecChange",value:function(e,c){var t=[],a=this._mse;return[{type:Nt.VIDEO,codecs:null==e?void 0:e.codec},{type:Nt.AUDIO,codecs:null==c?void 0:c.codec}].filter((function(e){return!!e.codecs})).forEach((function(e){var c=e.type,r=e.codecs,n=a.getSourceBuffer(c);if(n){var i=r.split(",")[0];new RegExp(i,"ig").test(n.mimeType)||t.push(a.changeType(c,"".concat(c,"/mp4;codecs=").concat(r)))}})),t}},{key:"seamlessSwitch",value:function(){this._needInitSegment=!0}},{key:"isFull",value:function(){var e,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nt.VIDEO;return null===(e=this._mse)||void 0===e?void 0:e.isFull(c)}}]),e}();var Xr=xc((function e(){Sc(this,e),Tc(this,"version",0),Tc(this,"streams",[]),Tc(this,"isMaster",!0)})),Qr="AUDIO",Jr="SUBTITLE",Zr={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 en(e){for(var c=[],t=0;t<e.length;t++)Array.isArray(e[t])?c=c.concat(en(e[t])):c.push(e[t]);return c}var cn=xc((function e(){Sc(this,e),Tc(this,"id",0),Tc(this,"url",""),Tc(this,"default",!1),Tc(this,"autoSelect",!1),Tc(this,"forced",!1),Tc(this,"group",""),Tc(this,"name",""),Tc(this,"lang",""),Tc(this,"segments",[]),Tc(this,"endSN",0)})),tn=function(e){Ac(t,e);var c=Lc(t);function t(){var e;Sc(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return Tc(Rc(e=c.call.apply(c,[this].concat(r))),"mediaType",Qr),Tc(Rc(e),"channels",0),e}return xc(t)}(cn),an=function(e){Ac(t,e);var c=Lc(t);function t(){var e;Sc(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return Tc(Rc(e=c.call.apply(c,[this].concat(r))),"mediaType",Jr),e}return xc(t)}(cn),rn=xc((function e(){Sc(this,e),Tc(this,"id",0),Tc(this,"bitrate",0),Tc(this,"width",0),Tc(this,"height",0),Tc(this,"name",""),Tc(this,"url",""),Tc(this,"audioCodec",""),Tc(this,"videoCodec",""),Tc(this,"textCodec",""),Tc(this,"audioGroup",""),Tc(this,"audioStreams",[]),Tc(this,"subtitleStreams",[]),Tc(this,"closedCaptionsStream",[])})),nn=xc((function e(){Sc(this,e),Tc(this,"version",0),Tc(this,"url",""),Tc(this,"type",""),Tc(this,"startCC",0),Tc(this,"endCC",0),Tc(this,"startSN",0),Tc(this,"endSN",0),Tc(this,"totalDuration",0),Tc(this,"targetDuration",0),Tc(this,"partTargetDuration",0),Tc(this,"canSkipUntil",0),Tc(this,"canSkipDateRanges",!1),Tc(this,"skippedSegments",0),Tc(this,"canBlockReload",!1),Tc(this,"partHoldBack",0),Tc(this,"live",!0),Tc(this,"lowLatency",!1),Tc(this,"endPartIndex",0),Tc(this,"segments",[]),Tc(this,"dateRanges",{}),Tc(this,"skippedSegments",0)})),dn=function(){function e(c){Sc(this,e),Tc(this,"sn",0),Tc(this,"cc",0),Tc(this,"url",""),Tc(this,"parentUrl",""),Tc(this,"title",""),Tc(this,"start",0),Tc(this,"duration",0),Tc(this,"dataTime",""),Tc(this,"key",null),Tc(this,"byteRange",null),Tc(this,"isInitSegment",!1),Tc(this,"initSegment",null),Tc(this,"isLast",!1),Tc(this,"hasAudio",!1),Tc(this,"hasVideo",!1),Tc(this,"independent",!1),Tc(this,"partIndex",0),this.parentUrl=c}return xc(e,[{key:"end",get:function(){return this.start+this.duration}},{key:"setTrackExist",value:function(e,c){this.hasVideo=e,this.hasAudio=c}},{key:"setByteRange",value:function(e,c){this.byteRange=[0];var t=e.split("@");1===t.length&&c&&c.byteRange?(this.byteRange[0]=c.byteRange[1]||0,this.byteRange[0]&&(this.byteRange[0]+=1)):this.byteRange[0]=parseInt(t[1]),this.byteRange[1]=this.byteRange[0]+parseInt(t[0])-1}}]),e}(),on=function(){function e(c){Sc(this,e),Tc(this,"method",""),Tc(this,"url",""),Tc(this,"iv",null),Tc(this,"keyFormat",""),Tc(this,"keyFormatVersions",""),c instanceof e&&(this.method=c.method,this.url=c.url,this.keyFormat=c.keyFormat,this.keyFormatVersions=c.keyFormatVersions,c.iv&&(this.iv=new Uint8Array(c.iv)))}return xc(e,[{key:"clone",value:function(c){var t=new e(this);return null!=c&&t.setIVFromSN(c),t}},{key:"setIVFromSN",value:function(e){if(!this.iv&&"AES-128"===this.method&&"number"==typeof e&&this.url){this.iv=new Uint8Array(16);for(var c=12;c<16;c++)this.iv[c]=e>>8*(15-c)&255}}},{key:"isSegmentEncrypted",value:function(){return"AES-128"===this.method}},{key:"isValidKeySystem",value:function(){return en([Zr.CLEAR_KEY,Zr.FAIRPLAY,Zr.WIDEVINE,Zr.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}(),sn=function(){function e(c,t,a){Sc(this,e),this.msn=c,this.part=t,this.skip=a}return xc(e,[{key:"addDirectives",value:function(e){var c=new self.URL(e);return void 0!==this.msn&&c.searchParams.set("_HLS_msn",this.msn.toString()),this.part&&c.searchParams.set("_HLS_part",this.part.toString()),this.skip&&c.searchParams.set("_HLS_skip",this.skip),c.href}}]),e}(),fn=/^#(EXT[^:]*)(?::(.*))?$/,bn=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,un=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,ln=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function hn(e){var c=e.match(fn);if(c&&c[1])return[c[1].replace("EXT-X-",""),c[2]]}function pn(e){for(var c={},t=bn.exec(e);t;)c[t[1]]=t[2]||t[3],t=bn.exec(e);return c}function vn(e,c){if(!c||!e||un.test(e))return e;var t=ln.exec(c);return t?"/"===e[0]?t[1]+e:t[1]+t[2]+e:e}var yn={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function mn(e,c){var t=yn[e];if(t&&c&&c.length)for(var a=0;a<t.length;a++)for(var r=0;r<c.length;r++)if(t[a].test(c[r]))return c[r]}function gn(e,c){var t;if(c)for(var a in c)if(Object.prototype.hasOwnProperty.call(c,a)&&e[a]!==c[a]){t=a;break}var r=null;e.DURATION&&(r=parseFloat(e.DURATION),Number.isFinite(r)?e._endDate&&(r=(e._endDate.getTime()-e._startDate.getTime())/1e3):r=null);var n,i,d=(n=e.CUE||e["X-CUE"],i={pre:!1,post:!1,once:!1},(n?n.split(/[ ,]+/):[]).reduce((function(e,c){return e[c.toLowerCase()]=!0,e}),i));return!!e.ID&&!t&&Number.isFinite(e._startDate.getTime())&&(null===r||r>=0)&&(!("YES"===e.END_ON_NEXT)||!!e.CLASS)&&(!e.CUE||!d.pre&&!d.post||d.pre!==d.post)&&(!("com.apple.hls.interstitial"===e.CLASS)||"X-ASSET-URI"in e||"X-ASSET-LIST"in e)}var _n=function(){function e(){Sc(this,e)}return xc(e,null,[{key:"parse",value:function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1?arguments[1]:void 0,a=arguments.length>2?arguments[2]:void 0;if(!c.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");var r=function(e){return e.split(/[\r\n]/).map((function(e){return e.trim()})).filter(Boolean)}(c);return e.isMediaPlaylist(c)?function(e,c,t){var a=new nn;a.url=c;for(var r,n=new dn(c),i=null,d=null,o=0,s=0,f=0,b=0,u=!1,l=0;r=e[b++];)if("#"===r[0]){var h=hn(r);if(h){var p=Cc(h,2),v=p[0],y=p[1];switch(v){case"VERSION":a.version=parseInt(y);break;case"PLAYLIST-TYPE":a.type=null==y?void 0:y.toUpperCase();break;case"TARGETDURATION":a.targetDuration=parseFloat(y);break;case"PART-INF":t&&(a.lowLatency=!0);var m=pn(y);m["PART-TARGET"]&&(a.partTargetDuration=parseFloat(m["PART-TARGET"]));break;case"SERVER-CONTROL":var g=pn(y);a.canBlockReload="YES"===g["CAN-BLOCK-RELOAD"],a.partHoldBack=parseFloat(g["PART-HOLD-BACK"]||0),a.canSkipUntil=parseFloat(g["CAN-SKIP-UNTIL"]||0),a.canSkipDateRanges=a.canSkipUntil>0&&"YES"===g["CAN-SKIP-DATERANGES"];break;case"ENDLIST":u=!0;break;case"MEDIA-SEQUENCE":s=a.startSN=parseInt(y);break;case"DISCONTINUITY-SEQUENCE":f=a.startCC=parseInt(y);break;case"DISCONTINUITY":f++;break;case"BYTERANGE":n.setByteRange(y,a.segments[a.segments.length-1]);break;case"PART":if(!a.lowLatency)break;var _=pn(y);n.duration=parseFloat(_.DURATION),n.independent="YES"===_.INDEPENDENT,n.sn=s,n.cc=f,n.partIndex=l,n.start=o,n.duration=parseFloat(_.DURATION),o+=n.duration,n.url=vn(_.URI,c),d&&(n.key=d.clone(s)),i&&(n.initSegment=i),a.segments.push(n),n=new dn(c),l++;break;case"PRELOAD-HINT":var k=pn(y);if(a.preloadHint=k,"PART"===k.TYPE&&k.URI){var E=k.URI.split(".ts")[0].split("-");a.nextSN=E[3],a.nextIndex=E[E.length-1]}break;case"PROGRAM-DATE-TIME":n.dataTime=y;break;case"EXTINF":if(a.lowLatency){l=0;break}var S=Cc(y.split(","),2),w=S[0],x=S[1];n.start=o,n.duration=parseFloat(w),o+=n.duration,n.title=x;break;case"KEY":var T=pn(y);if("NONE"===T.METHOD){d=null;break}if((d=new on).method=T.METHOD,d.url=/^blob:/.test(T.URI)?T.URI:vn(T.URI,c),d.keyFormat=T.KEYFORMAT||"identity",d.keyFormatVersions=T.KEYFORMATVERSIONS,!d.isSupported())throw new Error("encrypt ".concat(T.METHOD,"/").concat(T.KEYFORMAT," is not supported"));if(T.IV){var A=T.IV.slice(2);A=(1&A.length?"0":"")+A,d.iv=new Uint8Array(A.length/2);for(var I=0,D=A.length/2;I<D;I++)d.iv[I]=parseInt(A.slice(2*I,2*I+2),16)}break;case"MAP":var O=pn(y);n.url=vn(O.URI,c),O.BYTERANGE&&n.setByteRange(O.BYTERANGE),n.isInitSegment=!0,n.sn=0,d&&(n.key=d.clone(0)),i=n,n=new dn(c);break;case"SKIP":var R=pn(y),L=parseInt(R["SKIPPED-SEGMENTS"],10);L<=Number.MAX_SAFE_INTEGER&&(a.skippedSegments+=L,s+=L);break;case"DATERANGE":var C=pn(y),P=a.dateRanges[C.ID];C._startDate=P?P._startDate:new Date(C["START-DATE"]);var j=(null==P?void 0:P._endDate)||new Date(C.END_DATE);Number.isFinite(j)&&(C._endDate=j),(gn(C,P)||a.skippedSegments)&&(a.dateRanges[C.ID]=C)}}}else{if(a.lowLatency){s++;continue}n.sn=s,n.cc=f,n.url=vn(r,c),d&&(n.key=d.clone(s)),i&&(n.initSegment=i),a.segments.push(n),n=new dn(c),s++}a.segments=a.segments.filter((function(e){return 0!==e.duration}));var M=a.segments[a.segments.length-1];return M&&(u&&(M.isLast=!0),a.endSN=M.sn,a.endPartIndex=M.partIndex),u&&(a.live=!1),a.totalDuration=o,a.endCC=f,a}(r,t,a):function(e,c){for(var t,a=new Xr,r=0,n=[],i=[];t=e[r++];){var d=hn(t);if(d){var o=Cc(d,2),s=o[0],f=o[1];if("VERSION"===s)a.version=parseInt(f);else if("MEDIA"===s&&f){var b=pn(f),u=void 0;switch(b.TYPE){case"AUDIO":u=new tn;break;case"SUBTITLES":u=new an;break;default:u=new cn}u.url=vn(b.URI,c),u.default="YES"===b.DEFAULT,u.autoSelect="YES"===b.AUTOSELECT,u.group=b["GROUP-ID"],u.name=b.NAME,u.lang=b.LANGUAGE,b.CHANNELS&&(u.channels=Number(b.CHANNELS.split("/")[0]),Number.isNaN(u.channels)&&(u.channels=0)),"AUDIO"===b.TYPE&&b.URI&&n.push(u),"SUBTITLES"===b.TYPE&&i.push(u)}else if("STREAM-INF"===s&&f){var l=new rn,h=pn(f);if(l.bitrate=parseInt(h["AVERAGE-BANDWIDTH"]||h.BANDWIDTH),l.name=h.NAME,l.url=vn(e[r++],c),h.RESOLUTION){var p=Cc(h.RESOLUTION.split("x"),2),v=p[0],y=p[1];l.width=parseInt(v),l.height=parseInt(y)}if(h.CODECS){var m=h.CODECS.split(/[ ,]+/).filter(Boolean);l.videoCodec=mn("video",m),l.audioCodec=mn("audio",m),l.textCodec=mn("text",m)}l.audioGroup=h.AUDIO,l.subtitleGroup=h.SUBTITLES,a.streams.push(l)}}}return a.streams.forEach((function(e,c){e.id=c})),n.length&&(n.forEach((function(e,c){e.id=c})),a.streams.forEach((function(e){e.audioGroup&&(e.audioStreams=n.filter((function(c){return c.group===e.audioGroup})))}))),i.length&&(i.forEach((function(e,c){e.id=c})),a.streams.forEach((function(e){e.subtitleGroup&&(e.subtitleStreams=i.filter((function(c){return c.group===e.subtitleGroup})))}))),a}(r,t)}},{key:"isMediaPlaylist",value:function(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}]),e}(),kn=function(){function e(c){var t=this;Sc(this,e),Tc(this,"_emitOnLoaded",(function(e,c){var a=e.response,r=e.options||{},n=r.firstByteTime,i=r.startTime,d=r.endTime,o=r.contentLength,s=d-i;t.hls.emit(Zt.SPEED,{time:s,byteLength:o,url:c}),t.hls.emit(Zt.LOAD_COMPLETE,{url:c,elapsed:s||0}),t.hls.emit(Zt.TTFB,{url:c,responseUrl:a.url,elapsed:n-i}),t.hls.emit(Zt.LOAD_RESPONSE_HEADERS,{headers:a.headers,url:c})})),Tc(this,"_onLoaderRetry",(function(e,c){t.hls.emit(qr.LOAD_RETRY,{error:wt.network(e),retryTime:c})})),this.hls=c,this._timer=null,this._useLowLatency=c.config.useLowLatency;var a=this.hls.config,r=a.retryCount,n=a.retryDelay,i=a.manifestLoadTimeout,d=a.fetchOptions;this._loader=new sa(mc(mc({},d),{},{responseType:"text",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry})),this._audioLoader=new sa(mc(mc({},d),{},{responseType:"text",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry})),this._subtitleLoader=new sa(mc(mc({},d),{},{responseType:"text",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry}))}var c;return xc(e,[{key:"load",value:(c=Ec(gc().mark((function e(c,t,a){var r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g,_,k,E,S;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=[this._loader.load(c)],t&&r.push(this._audioLoader.load(t)),a&&r.push(this._subtitleLoader.load(a)),e.prev=3,e.next=6,Promise.all(r);case 6:if(b=e.sent,u=Cc(b,3),l=u[0],h=u[1],p=u[2],l){e.next=13;break}return e.abrupt("return",[]);case 13:this._emitOnLoaded(l,c),n=l.data,o=l.response.url||c,t?(i=null==h?void 0:h.data,d=null==p?void 0:p.data,s=(null==h||null===(v=h.response)||void 0===v?void 0:v.url)||t,f=(null==p||null===(y=p.response)||void 0===y?void 0:y.url)||a,i&&this._emitOnLoaded(h,t),d&&this._emitOnLoaded(p,a)):(d=null==h?void 0:h.data,f=(null==h||null===(m=h.response)||void 0===m?void 0:m.url)||a,d&&this._emitOnLoaded(h,a)),e.next=22;break;case 19:throw e.prev=19,e.t0=e.catch(3),wt.network(e.t0);case 22:if(g=this.hls.config.onPreM3U8Parse,e.prev=23,g&&(n=g(n)||n,i&&(i=g(i,!0)||i),d&&(d=g(d,!0)||d)),_=_n.parse(n,o,this._useLowLatency),!1!==(null===(S=_)||void 0===S?void 0:S.live)||!_.segments||_.segments.length){e.next=28;break}throw new Error("empty segments list");case 28:i&&(k=_n.parse(i,s,this._useLowLatency)),d&&(E=_n.parse(d,f,this._useLowLatency)),e.next=35;break;case 32:throw e.prev=32,e.t1=e.catch(23),new wt(ft,Et.HLS,e.t1);case 35:return _&&(_.isMaster?this.hls.emit(qr.HLS_MANIFEST_LOADED,{playlist:_}):(this._useLowLatency&&(_.canBlockReload?this.deliveryDirectives=new sn(_.nextSN,_.nextIndex,""):this.deliveryDirectives=null),this.hls.emit(qr.HLS_LEVEL_LOADED,{playlist:_}))),e.abrupt("return",[_,k,E]);case 37:case"end":return e.stop()}}),e,this,[[3,19],[23,32]])}))),function(e,t,a){return c.apply(this,arguments)})},{key:"parseText",value:function(e,c){var t,a=this.hls.config.onPreM3U8Parse;try{var r;if(a&&(e=a(e)||e),!1===(null===(r=t=_n.parse(e,c,this._useLowLatency))||void 0===r?void 0:r.live)&&t.segments&&!t.segments.length)throw new Error("empty segments list")}catch(n){throw new wt(ft,Et.HLS,n)}return t&&(t.isMaster?this.hls.emit(qr.HLS_MANIFEST_LOADED,{playlist:t}):this.hls.emit(qr.HLS_LEVEL_LOADED,{playlist:t})),[t]}},{key:"poll",value:function(e,c,t,a,r,n){var i=this;clearTimeout(this._timer),n=n||3e3;var d=this.hls.config.pollRetryCount,o=function(){var s=Ec(gc().mark((function s(){var f,b;return gc().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:return clearTimeout(i._timer),f=e,s.prev=2,i.deliveryDirectives&&(f=i.deliveryDirectives.addDirectives(e)),s.next=6,i.load(f,c,t);case 6:if((b=s.sent)[0]){s.next=9;break}return s.abrupt("return");case 9:d=i.hls.config.pollRetryCount,a(b[0],b[1],b[2]),s.next=17;break;case 13:s.prev=13,s.t0=s.catch(2),--d<=0&&r(s.t0);case 17:i._timer=setTimeout(o,n);case 18:case"end":return s.stop()}}),s,null,[[2,13]])})));return function(){return s.apply(this,arguments)}}();this._timer=setTimeout(o,n)}},{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 En(e,c,t){return c>t&&(t=c),Math.min(Math.max(e,c),t)}var Sn=new At("playlist"),wn=function(){function e(c,t,a){Sc(this,e),Tc(this,"live",void 0),Tc(this,"id",0),Tc(this,"bitrate",0),Tc(this,"width",0),Tc(this,"height",0),Tc(this,"name",""),Tc(this,"url",""),Tc(this,"audioCodec",""),Tc(this,"videoCodec",""),Tc(this,"textCodec",""),Tc(this,"startCC",0),Tc(this,"endCC",0),Tc(this,"startSN",0),Tc(this,"endSN",-1),Tc(this,"totalDuration",0),Tc(this,"targetDuration",0),Tc(this,"partTargetDuration",0),Tc(this,"canSkipUntil",0),Tc(this,"canSkipDateRanges",!1),Tc(this,"skippedSegments",0),Tc(this,"canBlockReload",!1),Tc(this,"partHoldBack",0),Tc(this,"lowLatency",!1),Tc(this,"endPartIndex",0),Tc(this,"snDiff",null),Tc(this,"segments",[]),Tc(this,"audioStreams",[]),Tc(this,"subtitleStreams",[]),Tc(this,"closedCaptions",[]),Tc(this,"currentAudioStream",null),Tc(this,"currentSubtitleStream",null),this.update(this._setLLPlaybackPoint(c),t,a)}return xc(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 c=this.lastSegment;c&&(c.duration=e-c.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,c){return this.currentAudioStream&&this._clearSegments(e,c),this._clearSegments(e,c)}},{key:"getAudioSegment",value:function(e){if(e&&this.currentAudioStream){var c=e.sn-this.snDiff;return this.currentAudioStream.segments.find((function(e){return e.sn===c}))}}},{key:"update",value:function(e,c){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,c&&this.currentAudioStream&&Array.isArray(c.segments)&&(this._updateSegments(c,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&c.segments.length&&(this.snDiff=e.segments[0].sn-c.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 c=this;if(e&&this.currentSubtitleStream&&Array.isArray(e.segments)){var t=this._updateSegments(e,this.currentSubtitleStream),a=this.currentSubtitleStream.segments;if(a.length>100&&(this.currentSubtitleStream.segments=a.slice(100)),t)return t.map((function(e){return{sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:c.currentSubtitleStream.lang}}))}}},{key:"switchSubtitle",value:function(e){var c=this.subtitleStreams.find((function(c){return c.lang===e})),t=this.currentSubtitleStream;c&&(this.currentSubtitleStream=c,t.segments=[])}},{key:"_setLLPlaybackPoint",value:function(e){if(!e.lowLatency||!e.segments.length)return e;for(var c=e.totalDuration-e.partHoldBack,t=e.segments,a=0,r=0,n=t.length;r<n;r++)t[r].start<=c&&t[r].independent&&(a=r);var i=t.slice(a),d=0;return i.forEach((function(e){e.start=d,d=e.end})),e.segments=i,e.totalDuration=d,e.startSN=i[0].sn,e.startCC=i[0].cc,Sn.log("set ll-hls playback point: SN=".concat(e.startSN," partIndex=").concat(i[0].partIndex,", duration=").concat(d)),e}},{key:"_clearSegments",value:function(e,c){for(var t=0,a=this.segments,r=0,n=a.length;r<n;r++)if(a[r].end>=e){t=r;break}return t>c&&(t=c),t&&(this.segments=this.segments.slice(t),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(t))),c-t}},{key:"_updateSegments",value:function(e,c){var t=c.segments;if(this.live){var a,r=e.lowLatency,n=t[t.length-1],i=null!==(a=null==n?void 0:n.sn)&&void 0!==a?a:-1,d=(null==n?void 0:n.partIndex)||0,o=i<e.endSN&&e.segments.length;if(r&&(o=o||d<e.endPartIndex),o){Sn.log("update segments: endSN:".concat(i,", partIndex:").concat(d," --\x3e endSN:").concat(e.endSN,", partIndex:").concat(e.endPartIndex));var s=e.segments.findIndex((function(e){return e.sn===i&&e.partIndex===d})),f=s<0?e.segments:e.segments.slice(s+1);if(t.length&&f.length){var b=n.end,u=b;f.forEach((function(e){e.start=b,b=e.end})),Sn.log("liveEdge: ".concat(u," -> ").concat(b));var l=(null==n?void 0:n.cc)||-1;l>f[0].cc&&f.forEach((function(e){return e.cc+=l}))}return c.endSN=e.endSN,c.segments=t.concat(f),f}}else c.segments=e.segments}}]),e}(),xn=function(){function e(c){Sc(this,e),Tc(this,"streams",[]),Tc(this,"currentStream",null),Tc(this,"dvrWindow",0),Tc(this,"_segmentPointer",-1),this.hls=c}return xc(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 c;return null===(c=this.currentStream)||void 0===c?void 0:c.getAudioSegment(e)}},{key:"moveSegmentPointer",value:function(e){var c;null==e&&(e=this._segmentPointer+1),this._segmentPointer=En(e,-1,null===(c=this.currentSegments)||void 0===c?void 0:c.length)}},{key:"reset",value:function(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}},{key:"getSegmentByIndex",value:function(e){var c;return null===(c=this.currentSegments)||void 0===c?void 0:c[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,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=null===(e=this.currentSegments)||void 0===e?void 0:e.findIndex((function(e){return e.sn===c}));return-1!==t&&this.setNextSegmentByIndex(t+1),t}},{key:"findSegmentIndexByTime",value:function(e){var c=this.currentSegments;if(c){for(var t,a=0,r=c.length;a<r;a++)if(e>=(t=c[a]).start&&e<t.end)return a;var n=c[c.length-1];if(Math.abs(e-(null==n?void 0:n.end))<.2)return c.length-1}}},{key:"upsertPlaylist",value:function(e,c,t){var a=this;if(e){if(e.isMaster)this.streams.length=e.streams.length,e.streams.filter((function(e){return e.url})).forEach((function(e,c){a.streams[c]?a.streams[c].update(e):a.streams[c]=new wn(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){var r=this.currentStream;if(r){r.update(e,c,t);var n=r.updateSubtitle(t);n&&this.hls.emit(qr.SUBTITLE_SEGMENTS,{list:n})}else this.reset(),this.currentStream=this.streams[0]=new wn(e,c,t)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce((function(e,c){return e+=c.duration}),0))}}},{key:"updateSegmentsRanges",value:function(e,c){var t;(null===(t=this.currentSegments)||void 0===t?void 0:t.filter((function(c){return c.sn>=e}))).forEach((function(e){e.start=c,c=e.end}))}},{key:"switchSubtitle",value:function(e){var c;null===(c=this.currentStream)||void 0===c||c.switchSubtitle(e)}},{key:"clearOldSegment",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hls.config.maxPlaylistSize||50,c=this.currentStream;if(this.dvrWindow&&c){var t=c.endTime-this.dvrWindow;if(!(t<=0))c.segments.length<=e||(this._segmentPointer=c.clearOldSegment(t,this._segmentPointer))}}},{key:"checkSegmentTrackChange",value:function(e,c){var t=this.findSegmentIndexByTime(e),a=this.getSegmentByIndex(t);if(a&&(a.hasAudio||a.hasVideo)){if(2!==c&&a.hasAudio&&a.hasVideo)return a;if(!(a.end-e>.3)){var r=this.getSegmentByIndex(t+1);if(r&&(r.hasAudio||r.hasVideo))return r.hasAudio!==a.hasAudio||r.hasVideo!==a.hasVideo?r:void 0}}}},{key:"feedbackLiveEdge",value:function(e,c){var t;this.currentSegments&&((null===(t=this.lastSegment)||void 0===t?void 0:t.sn)===e.sn?this.liveEdge=c:this.updateSegmentsRanges(e.sn+1,c))}}]),e}(),Tn=function(){function e(c){var t=this;Sc(this,e),Tc(this,"error",null),Tc(this,"_emitOnLoaded",(function(e,c){var a=e.data,r=e.response,n=e.options||{},i=n.firstByteTime,d=n.startTime,o=n.endTime,s=n.contentLength,f=o-d;t._bandwidthService.addRecord(s||a.byteLength,f),t.hls.emit(Zt.SPEED,{time:f,byteLength:s,url:c}),t.hls.emit(Zt.LOAD_COMPLETE,{url:c,elapsed:f||0}),t.hls.emit(Zt.TTFB,{url:c,responseUrl:r.url,elapsed:i-d}),t.hls.emit(Zt.LOAD_RESPONSE_HEADERS,{headers:r.headers,url:c})})),Tc(this,"_onLoaderRetry",(function(e,c){t.hls.emit(Zt.LOAD_RETRY,{error:wt.network(e),retryTime:c})})),this.hls=c,this._bandwidthService=new ua,this._mapCache={},this._keyCache={};var a=this.hls.config,r=a.retryCount,n=a.retryDelay,i=a.loadTimeout,d=a.fetchOptions;this._segmentLoader=new sa(mc(mc({},d),{},{responseType:"arraybuffer",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry})),this._audioSegmentLoader=new sa(mc(mc({},d),{},{responseType:"arraybuffer",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry})),this._keyLoader=new sa(mc(mc({},d),{},{responseType:"arraybuffer",retry:r,retryDelay:n,timeout:i,onRetryError:this._onLoaderRetry}))}var c,t;return xc(e,[{key:"speedInfo",value:function(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}},{key:"load",value:function(e,c,t){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:t,r=[];return e&&(r[0]=this.loadVideoSegment(e,t)),c&&(r[1]=this.loadAudioSegment(c,a)),Promise.all(r)}},{key:"loadVideoSegment",value:function(e,c){return this._loadSegment(this._segmentLoader,e,c)}},{key:"loadAudioSegment",value:function(e,c){return this._loadSegment(this._audioSegmentLoader,e,c)}},{key:"_loadSegment",value:(t=Ec(gc().mark((function e(c,t,a){var r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g=this;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return f=[],this.hls.emit(Zt.LOAD_START,{url:t.url}),f[0]=c.load(t.url),a&&t.initSegment&&(u=t.initSegment.url,(n=this._mapCache[u])||(this.hls.emit(Zt.LOAD_START,{url:u}),f[1]=c.load(u).then((function(e){e&&(Object.keys(g._mapCache)>30&&(g._mapCache={}),n=g._mapCache[u]=e.data,g._emitOnLoaded(e,u))}))),(l=null===(b=t.initSegment.key)||void 0===b?void 0:b.url)&&(s=t.initSegment.key.iv,(o=this._keyCache[l])||(this.hls.emit(Zt.LOAD_START,{url:l}),f[2]=this._keyLoader.load(l).then((function(e){e&&(o=g._keyCache[l]=e.data,g._emitOnLoaded(e,l))}))))),(h=null===(r=t.key)||void 0===r?void 0:r.url)&&t.key.isSegmentEncrypted()&&(d=t.key.iv,(i=this._keyCache[h])||(this.hls.emit(Zt.LOAD_START,{url:h}),f[3]=this._keyLoader.load(h).then((function(e){e&&(i=g._keyCache[h]=e.data,g._emitOnLoaded(e,h))})))),e.next=8,Promise.all(f);case 8:if(p=e.sent,v=Cc(p,1),y=v[0]){e.next=13;break}return e.abrupt("return");case 13:return m=y.data,this._emitOnLoaded(y,t.url),e.abrupt("return",{data:m,map:n,key:i,mapKey:o,keyIv:d,mapKeyIv:s});case 16:case"end":return e.stop()}}),e,this)}))),function(e,c,a){return t.apply(this,arguments)})},{key:"reset",value:function(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}},{key:"cancel",value:(c=Ec(gc().mark((function e(){return gc().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 c.apply(this,arguments)})}]),e}(),An=new At("hls"),In=function(e){Ac(y,e);var c,t,a,r,n,i,d,o,s,f,b,u,l,h,p,v=Lc(y);function y(e){var c,t,a;return Sc(this,y),Tc(Rc(c=v.call(this)),"version",y.version),Tc(Rc(c),"media",null),Tc(Rc(c),"config",null),Tc(Rc(c),"_manifestLoader",null),Tc(Rc(c),"_segmentLoader",null),Tc(Rc(c),"_playlist",null),Tc(Rc(c),"_bufferService",null),Tc(Rc(c),"_gapService",null),Tc(Rc(c),"_seiService",null),Tc(Rc(c),"_stats",null),Tc(Rc(c),"_prevSegSn",null),Tc(Rc(c),"_prevSegCc",null),Tc(Rc(c),"_tickTimer",null),Tc(Rc(c),"_tickInterval",500),Tc(Rc(c),"_segmentProcessing",!1),Tc(Rc(c),"_reloadOnPlay",!1),Tc(Rc(c),"_switchUrlOpts",null),Tc(Rc(c),"_isProcessQuotaExceeded",!1),Tc(Rc(c),"_loadSegment",Ec(gc().mark((function e(){var t,a,r,n,i,d,o,s;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!c._segmentProcessing&&c.media){e.next=2;break}return e.abrupt("return");case 2:if(t=c._playlist,a=t.nextSegment,r=t.lastSegment,n=Rc(c),i=n.config,d=Math.min(Math.max((null==r?void 0:r.duration)-.008||0,.016),.1),a){e.next=8;break}return e.abrupt("return");case 8:if(c.isLive){e.next=18;break}if(o=c.bufferInfo(),c.media.paused&&!c.media.currentTime&&(o=c.bufferInfo(o.nextStart||.5)),s=Math.abs(o.end-c.media.duration)<d,!(o.remaining>=i.preloadTime||s)){e.next=15;break}return c._tryEos(),e.abrupt("return");case 15:if(!i.preferMMSStreaming||c._bufferService.msStreaming){e.next=17;break}return e.abrupt("return");case 17:!c._urlSwitching&&c._prevSegSn!==a.sn-1&&o.end&&Math.abs(a.start-o.end)>1&&c._playlist.setNextSegmentByIndex(c._playlist.findSegmentIndexByTime(o.end+.1));case 18:return e.abrupt("return",c._loadSegmentDirect());case 19:case"end":return e.stop()}}),e)})))),Tc(Rc(c),"_onLoadeddata",(function(){c.isLive&&!c.config.mseLowLatency&&c.media.duration!==1/0&&c._bufferService.updateDuration(1/0).catch((function(e){}))})),Tc(Rc(c),"_onPlay",Ec(gc().mark((function e(){return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!c.media.seeking||0!==c.media.currentTime){e.next=3;break}return An.debug("replay currentTime 0, return"),e.abrupt("return");case 3:if(clearTimeout(c._disconnectTimer),!c._reloadOnPlay){e.next=9;break}c._reloadOnPlay=!1,c.replay(!0),e.next=12;break;case 9:return e.next=11,c._loadSegment();case 11:c._startTick();case 12:case"end":return e.stop()}}),e)})))),Tc(Rc(c),"_onPause",(function(){if(c.isLive){if(!c._reloadOnPlay){var e=c.config.disconnectTime;if(null==e&&(e=c._playlist.dvrWindow),!Number.isFinite(e))return;clearTimeout(c._disconnectTimer),c._disconnectTimer=setTimeout((function(){c._reloadOnPlay=!0,c._clear()}),e||0)}}else c._stopTick()})),Tc(Rc(c),"_onSeeking",Ec(gc().mark((function e(){var t,a,r,n,i,d,o;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c.media){e.next=2;break}return e.abrupt("return");case 2:if(c._onCheckQuotaExceeded(),t=c.media.currentTime,!(a=c._playlist.seekRange)){e.next=10;break}if(!((r=En(t,a[0],c.isLive?a[1]:c.media.duration))>=0&&Math.abs(t-r)>=.1)){e.next=10;break}return c.media.currentTime=r,e.abrupt("return");case 10:if(n=c._playlist.currentSegment,i=ot.info(ot.get(c.media),t,.1),!n){e.next=17;break}if(!(i.end&&Math.abs(i.end-n.end)<.2)){e.next=15;break}return e.abrupt("return");case 15:if(!c.isLive||!i.end){e.next=17;break}return e.abrupt("return");case 17:if(d=c._playlist.findSegmentIndexByTime(t),o=c._playlist.getSegmentByIndex(d),null!=d&&o&&(!c._segmentProcessing||o!==c._playlist.nextSegment)){e.next=21;break}return e.abrupt("return");case 21:return An.debug("seek to",t,o),c._playlist.setNextSegmentByIndex(d),c._stopTick(),e.next=26,c._segmentLoader.cancel();case 26:if(c._segmentProcessing=!1,i.end&&!c.isLive){e.next=30;break}return e.next=30,c._loadSegmentDirect(!0);case 30:c._startTick();case 31:case"end":return e.stop()}}),e)})))),Tc(Rc(c),"_onTimeupdate",(function(){if(c.media){var e,t=c.config;if(t.isLive&&t.maxLatency&&t.targetLatency){var a=c._playlist.liveEdge;if(!a)return;var r=a-c.media.currentTime;r>=t.maxLatency&&(An.debug("latency jump, currentTime:".concat(c.media.currentTime,", liveEdge:").concat(a,", latency=").concat(r)),c.media.currentTime=a-t.targetLatency)}if(t.seiInTime)null===(e=c._seiService)||void 0===e||e.throw(c.media.currentTime);t.allowedStreamTrackChange&&!t.softDecode&&c.media.readyState&&c._checkStreamTrackChange(c.media.currentTime)}})),Tc(Rc(c),"_tick",(function(){if(c.media){c._startTick();var e=c.media,t=c._segmentLoader.error;if(c._onCheckQuotaExceeded(),c._isProcessQuotaExceeded&&(c._bufferService.isFull()||(c._isProcessQuotaExceeded=!1,c._segmentProcessing=!1)),t){(!e.readyState||c.bufferInfo(.5).remaining<1)&&(t.fatal=!0,c._emitError(wt.network(t)))}else e.readyState&&(!function(e){return e&&!e.paused&&!e.ended&&0!==e.playbackRate&&0!==e.readyState}(e)?e.readyState<2&&c._gapService&&c._gapService.do(e,c.config.maxJumpDistance,!e.currentTime||c.isLive):(c._loadSegment(),c._gapService&&c._gapService.do(e,c.config.maxJumpDistance,c.isLive))),c.isLive||c._tryEos()}})),c.config=(a=(null==(t=e)?void 0:t.media)||document.createElement("video"),e=mc(mc({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}},t),{},{media:a})),c.media=c.config.media,c._manifestLoader=new kn(Rc(c)),c._segmentLoader=new Tn(Rc(c)),c._playlist=new xn(Rc(c)),c._bufferService=new Yr(Rc(c)),e.seiInTime&&(c._seiService=new ba(Rc(c))),e.softDecode||(c._gapService=new fa),c._stats=new ha(Rc(c),9e4),c.media.addEventListener("loadeddata",c._onLoadeddata),c.media.addEventListener("play",c._onPlay),c.media.addEventListener("pause",c._onPause),c.media.addEventListener("seeking",c._onSeeking),c.media.addEventListener("timeupdate",c._onTimeupdate),c}return xc(y,[{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,c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return ot.info(ot.get(this.media),null===(e=this.media)||void 0===e?void 0:e.currentTime,c)}},{key:"getStats",value:function(){return this._stats.getStats()}},{key:"playbackQuality",value:function(){return function(e){if(!e)return{};if("function"==typeof e.getVideoPlaybackQuality){var c=e.getVideoPlaybackQuality();return{droppedVideoFrames:c.droppedVideoFrames||c.corruptedVideoFrames,totalVideoFrames:c.totalVideoFrames,creationTime:c.creationTime}}return{droppedVideoFrames:e.webkitDroppedFrameCount,totalVideoFrames:e.webkitDecodedFrameCount,creationTime:performance.now()}}(this.media)}},{key:"load",value:(p=Ec(gc().mark((function e(){var c,t,a,r=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=r.length>0&&void 0!==r[0]?r[0]:"",a="boolean"==typeof(t=r.length>1&&void 0!==r[1]?r[1]:{})?t:!(null==t||!t.reuseMse),"object"===_c(t)&&null!=t&&t.clearSwitchStatus&&(this._urlSwitching=!1,this._switchUrlOpts=null,this.config.startTime=void 0),c&&(this.config.url=c),c=this.config.url,e.next=8,this._reset(a);case 8:return e.next=10,this._loadData(c);case 10:this._startTick();case 11:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"_loadData",value:(h=Ec(gc().mark((function e(c){var t,a,r,n,i,d,o,s,f,b,u,l,h;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{c&&(c=c.trim())}catch(p){}if(c){e.next=3;break}throw this._emitError(new wt(_t,Et.OPTION,null,null,"m3u8 url is missing"));case 3:return e.next=5,this._loadM3U8(c);case 5:if(t=e.sent,a=this._playlist.currentStream,!this._urlSwitching){e.next=23;break}if(!this.isLive){e.next=14;break}r=this._playlist.setNextSegmentBySN(this._prevSegSn),An.log("segment nb=".concat(this._prevSegSn," index of ").concat(r," in the new playlist")),-1===r&&(this._prevSegCc=null,this._prevSegSn=null),e.next=23;break;case 14:if(0===a.bitrate&&null!==(n=this._switchUrlOpts)&&void 0!==n&&n.bitrate&&(a.bitrate=null===(o=this._switchUrlOpts)||void 0===o?void 0:o.bitrate),s="number"==typeof(null===(i=this._switchUrlOpts)||void 0===i?void 0:i.startTime)?null===(d=this._switchUrlOpts)||void 0===d?void 0:d.startTime:this._getSeamlessSwitchPoint(),this.config.startTime=s,f=this._playlist.findSegmentIndexByTime(s),!(b=this._playlist.getSegmentByIndex(f+1))){e.next=23;break}return u=b.start,e.next=23,this._bufferService.removeBuffer(u);case 23:if(t){e.next=25;break}return e.abrupt("return");case 25:if(!this.isLive){e.next=36;break}if(this._bufferService.setLiveSeekableRange(0,4294967295),An.log("totalDuration first time got:",this._playlist.totalDuration),An.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),t.isMaster||this._pollM3U8(c),!(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(a.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=Ec(gc().mark((function e(c){return gc().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(!c));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"switchURL",value:(u=Ec(gc().mark((function e(c){var t,a,r,n,i,d,o,s=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=s.length>1&&void 0!==s[1]?s[1]:{},a={seamless:!1,startTime:0,bitrate:0},e.t0=_c(t),e.next="number"===e.t0?5:"boolean"===e.t0?7:"object"===e.t0?9:11;break;case 5:return t={startTime:t},e.abrupt("break",12);case 7:return t={seamless:t},e.abrupt("break",12);case 9:for(r in t)void 0!==t[r]&&null!==t[r]||delete t[r];return e.abrupt("break",12);case 11:throw"unsupported switchURL args: ".concat(t);case 12:if(t=Object.assign({},a,t),i=(n=t).seamless,d=n.startTime,this.config.url=c,this.config.startTime=d,this._switchUrlOpts=t,i){e.next=38;break}if(e.prev=18,!this.config.softDecode){e.next=23;break}e.t1=this.load(c),e.next=26;break;case 23:return e.next=25,this.load(c);case 25:e.t1=e.sent;case 26:o=e.t1,e.next=33;break;case 29:throw e.prev=29,e.t2=e.catch(18),this.emit(qr.SWITCH_URL_FAILED,e.t2),e.t2;case 33:return this._reloadOnPlay=!1,o&&this.emit(qr.SWITCH_URL_SUCCESS,{url:c}),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(c);case 46:this._startTick();case 47:this._switchUrlOpts=null;case 48:case"end":return e.stop()}}),e,this,[[18,29]])}))),function(e){return u.apply(this,arguments)})},{key:"switchStream",value:(b=Ec(gc().mark((function e(c){var t,a,r,n,i,d=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=!(d.length>1&&void 0!==d[1])||d[1],a=this.currentStream,r=this.streams,a&&a.id!==c&&r&&!(r.length<2)){e.next=5;break}return e.abrupt("return");case 5:if(n=r.find((function(e){return e.id===c}))){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,this._clear();case 11:if(!t){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(wt.create(e.t0));case 19:if(a.currentAudioStream&&n.audioStreams.length>2&&(i=a.currentAudioStream.id,n.currentAudioStream=n.audioStreams.find((function(e){return e.id===i}))||n.currentAudioStream),this._playlist.currentStream=n,e.prev=21,!this.isLive&&n.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=a,e.t1;case 35:return this._startTick(),e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[8,16],[21,31]])}))),function(e){return b.apply(this,arguments)})},{key:"switchAudioStream",value:(f=Ec(gc().mark((function e(c){var t,a,r,n,i=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=!(i.length>1&&void 0!==i[1])||i[1],a=this.currentStream){e.next=4;break}return e.abrupt("return");case 4:if((r=a.currentAudioStream)&&r.id!==c&&!(a.audioStreams.length<2)){e.next=7;break}return e.abrupt("return");case 7:if(n=a.audioStreams.find((function(e){return e.id===c}))){e.next=10;break}return e.abrupt("return");case 10:return e.prev=10,e.next=13,this._clear();case 13:if(!t){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(wt.create(e.t0));case 21:if(a.currentAudioStream=n,e.prev=22,!this.isLive&&n.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),a.currentAudioStream=r,e.t1;case 36:return this._startTick(),e.abrupt("return",n);case 38:case"end":return e.stop()}}),e,this,[[10,18],[22,32]])}))),function(e){return f.apply(this,arguments)})},{key:"switchSubtitleStream",value:(s=Ec(gc().mark((function e(c){return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._playlist.switchSubtitle(c),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 s.apply(this,arguments)})},{key:"detachMedia",value:(o=Ec(gc().mark((function e(){return gc().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 o.apply(this,arguments)})},{key:"destroy",value:(d=Ec(gc().mark((function e(){var c;return gc().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===(c=this._seiService)||void 0===c||c.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 d.apply(this,arguments)})},{key:"_loadM3U8",value:(i=Ec(gc().mark((function e(c){var t,a,r,n,i,d,o;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(n=null===(a=this.config.manifestList)||void 0===a||null===(r=a.filter((function(e){return e.url===c}))[0])||void 0===r?void 0:r.manifest)){e.next=6;break}e.t0=this._manifestLoader.parseText(n,c),e.next=9;break;case 6:return e.next=8,this._manifestLoader.load(c);case 8:e.t0=e.sent;case 9:i=e.t0,d=Cc(i,1),t=d[0],e.next=17;break;case 14:throw e.prev=14,e.t1=e.catch(0),this._emitError(wt.create(e.t1));case 17:if(t){e.next=19;break}return e.abrupt("return");case 19:if(this._playlist.upsertPlaylist(t),!t.isMaster){e.next=24;break}return null!==(o=this._playlist.currentStream.subtitleStreams)&&void 0!==o&&o.length&&this.emit(qr.SUBTITLE_PLAYLIST,{list:this._playlist.currentStream.subtitleStreams}),e.next=24,this._refreshM3U8();case 24:return this.emit(qr.STREAM_PARSED),e.abrupt("return",t);case 26:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e){return i.apply(this,arguments)})},{key:"_refreshM3U8",value:function(){var e,c,t=this,a=this._playlist.currentStream;if(!a||!a.url)throw this._emitError(wt.create(null,null,new Error("m3u8 url is not defined")));var r=a.url,n=null===(e=a.currentAudioStream)||void 0===e?void 0:e.url,i=null===(c=a.currentSubtitleStream)||void 0===c?void 0:c.url;return this._manifestLoader.load(r,n,i).then((function(e){var c=Cc(e,3),a=c[0],d=c[1],o=c[2];a&&(t._playlist.upsertPlaylist(a,d,o),t.isLive&&t._pollM3U8(r,n,i))})).catch((function(e){throw t._emitError(wt.create(e))}))}},{key:"_pollM3U8",value:function(e,c,t){var a,r,n=this,i=this._playlist.isEmpty;this._playlist.lowLatency?a=1e3*(this._playlist.currentStream.partTargetDuration||0):a=1e3*((null===(r=this._playlist.lastSegment)||void 0===r?void 0:r.duration)||0);this._manifestLoader.poll(e,c,t,(function(e,c,t){n._playlist.upsertPlaylist(e,c,t),n._playlist.clearOldSegment(),(e&&i&&!n._playlist.isEmpty||!n._playlist.hadSegmentLoaded&&n._playlist.nbSegments>=n.config.minSegmentsStartPlay)&&n._loadSegment(),i&&(i=n._playlist.isEmpty)}),(function(e){n._emitError(wt.create(e))}),a)}},{key:"_loadSegmentDirect",value:(n=Ec(gc().mark((function e(c){var t,a,r,n,i,d;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this._playlist.nextSegment){e.next=3;break}return e.abrupt("return");case 3:return a=!1,r=null,e.prev=5,this._segmentProcessing=!0,An.log("load segment, sn:".concat(t.sn,", [").concat(t.start,", ").concat(t.end,"], partIndex:").concat(t.partIndex)),e.next=10,this._reqAndBufferSegment(t,this._playlist.getAudioSegment(t));case 10:a=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(5),r=e.t0;case 16:return e.prev=16,this._segmentProcessing=!1,e.finish(16);case 19:if(!r){e.next=26;break}if(!this._bufferService.isFull()){e.next=25;break}return An.log("load segment, sn:".concat(t.sn,", partIndex:").concat(t.partIndex)),this._segmentProcessing=!0,this._isProcessQuotaExceeded=!0,e.abrupt("return",!1);case 25:return e.abrupt("return",this._emitError(wt.create(r)));case 26:return a&&(i=this.bufferInfo().end,this.isLive&&!this.media.seeking&&i&&Math.abs(t.end-i)>1&&(An.warn("segment: ".concat(t.sn," expected end=").concat(t.end,", real end=").concat(i)),this._playlist.feedbackLiveEdge(t,i)),d=(null===(n=this._playlist.currentStream)||void 0===n?void 0:n.url)===t.parentUrl,this._urlSwitching&&!d&&(An.warn("pre playlist segment appended!"),this._bufferService.seamlessSwitch()),this.isLive&&this._urlSwitching&&d&&(this._urlSwitching=!1,this.emit(qr.SWITCH_URL_SUCCESS,{url:this.config.url})),this._playlist.moveSegmentPointer(),t.isLast?this._end():c||this._loadSegment()),e.abrupt("return",a);case 28:case"end":return e.stop()}}),e,this,[[5,13,16,19]])}))),function(e){return n.apply(this,arguments)})},{key:"_reqAndBufferSegment",value:(r=Ec(gc().mark((function e(c,t){var a,r,n,i,d,o,s,f,b,u,l;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=c?c.cc:t.cc,n=this._prevSegCc!==r,i=[],e.prev=3,e.next=6,this._segmentLoader.load(c,t,n);case 6:i=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(i[0]){e.next=16;break}return e.abrupt("return");case 16:return e.next=18,(a=this._bufferService).decryptBuffer.apply(a,Pc(i));case 18:if(d=e.sent){e.next=21;break}return e.abrupt("return");case 21:return o=c?c.sn:t.sn,s=c?c.start:t.start,f=this._playlist.currentStream,this._bufferService.createSource(d[0],d[1],null==f?void 0:f.videoCodec,null==f?void 0:f.audioCodec),b=Date.now(),u=this._prevSegSn===o-1,this.isLive&&this._urlSwitching&&(l=this.bufferInfo().end,this._playlist.updateSegmentsRanges(o,l),An.warn("update the new playlist liveEdge, segment id=".concat(o,", buffer start=").concat(l,", liveEdge=").concat(this._playlist.liveEdge)),s=l),e.next=30,this._bufferService.appendBuffer(c,t,d[0],d[1],n,u,s);case 30:return this.emit(qr.APPEND_COST,{elapsed:Date.now()-b,url:c.url}),e.next=33,this._bufferService.evictBuffer(this.config.bufferBehind);case 33:return this._prevSegCc=r,this._prevSegSn=o,e.abrupt("return",!0);case 36:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e,c){return r.apply(this,arguments)})},{key:"_onCheckQuotaExceeded",value:(a=Ec(gc().mark((function e(){var c,t,a,r,n,i;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c=this.media.currentTime,t=this.media.buffered,a=!1,r=0;case 4:if(!(r<t.length)){e.next=11;break}if(!(t.start(0)>=c&&c<t.end(r))){e.next=8;break}return a=!0,e.abrupt("break",11);case 8:r++,e.next=4;break;case 11:if(!this._bufferService.isFull()){e.next=17;break}if(n=a?this.config.bufferBehind:5,!((i=this.media.currentTime)-n>0)){e.next=17;break}return e.next=17,this._bufferService.removeBuffer(0,i-n);case 17:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"_checkStreamTrackChange",value:function(e){var c=this._playlist.checkSegmentTrackChange(e,this._bufferService.nbSb);c&&this.switchURL(this.config.url,c.start+.2)}},{key:"_clear",value:(t=Ec(gc().mark((function e(){return gc().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 t.apply(this,arguments)})},{key:"_reset",value:(c=Ec(gc().mark((function e(){var c,t,a=arguments;return gc().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.length>0&&void 0!==a[0]&&a[0],this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._playlist.reset(),this._segmentLoader.reset(),null===(c=this._seiService)||void 0===c||c.reset(),this._stats.reset(),e.next=11,this._clear();case 11:return e.abrupt("return",this._bufferService.reset(t));case 12:case"end":return e.stop()}}),e,this)}))),function(){return c.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 c,t,a,r,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!1===(null===(c=e.originError)||void 0===c?void 0:c.fatal)?An.warn(e):(An.table(e),An.error(e),An.error(null===(t=this.media)||void 0===t?void 0:t.error),null!==(a=this.media)&&void 0!==a&&a.readyState&&this.media.pause(),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(qr.SWITCH_URL_FAILED,e)),this.emit(qr.ERROR,e),n&&this._end(),null===(r=this._seiService)||void 0===r||r.reset());return e}},{key:"_getSeamlessSwitchPoint",value:function(){var e=this.media,c=e.currentTime;if(!e.paused){var t,a=this._playlist.findSegmentIndexByTime(e.currentTime),r=this._playlist.getSegmentByIndex(a),n=null===(t=this._stats)||void 0===t?void 0:t.getStats().downloadSpeed;if(n&&r)c+=r.duration*this._playlist.currentStream.bitrate/n+1;else c+=5}return c}},{key:"_tryEos",value:function(){var e,c,t=this.media,a=this._playlist,r=a.nextSegment,n=a.lastSegment;if((!r||n&&ot.isBuffered(t,n.start+n.duration/2))&&t.readyState&&t.duration>0&&(null===(e=this._bufferService)||void 0===e?void 0:e.msIsOpened)&&!(null!==(c=this._bufferService)&&void 0!==c&&c.msHasOpTasks)){var i=this.bufferInfo();t.paused&&!t.currentTime&&(i=this.bufferInfo(i.nextStart||.5)),(Math.abs(i.end-t.duration)<.1||!this.isLive&&n&&i.end>=n.start+n.duration)&&this._bufferService.endOfStream()}}}],[{key:"isSupported",value:function(e){return e&&"video"!==e&&"audio"!==e?"undefined"!=typeof WebAssembly:Nt.isSupported()}},{key:"enableLogger",value:function(){At.enable(),Qa.enable()}},{key:"disableLogger",value:function(){At.disable(),Qa.disable()}}]),y}(ca);Tc(In,"version","3.0.21");try{localStorage.getItem("xgd")?In.enableLogger():In.disableLogger()}catch(Ci){}var Dn=function(){function e(c,t){var a=this;Sc(this,e),Tc(this,"_opts",null),Tc(this,"_plugin",null),Tc(this,"_onLowDecode",(function(){var e,c,t,r,n=a._opts,i=n.media,d=n.innerDegrade;null===(e=a._plugin)||void 0===e||null===(c=e.player)||void 0===c||c.emit("lowdecode",i.degradeInfo),null===(t=a._plugin)||void 0===t||null===(r=t.player)||void 0===r||r.emit("core_event",mc(mc({},i.degradeInfo),{},{eventName:qr.LOWDECODE})),1===d&&a._degrade(i.src)})),Tc(this,"_degrade",(function(e){var c=a._plugin.player,t=c.video;if(!t||"MVideo"===t.TAG){var r=c.video.degradeVideo;c.video=r,t.degrade(e),e&&(c.config.url=e);var n=c.root.firstChild;"MVideo"===n.TAG&&c.root.replaceChild(r,n);var i=a._plugin.constructor.pluginName.toLowerCase();c.unRegisterPlugin(i),c.once("canplay",(function(){c.play()}))}})),Tc(this,"forceDegradeToVideo",(function(e){1===a._opts.innerDegrade&&a._degrade(e)})),this._opts=c,this._plugin=t,this._init()}return xc(e,[{key:"_init",value:function(){var e=this._opts,c=e.media,t=e.preloadTime,a=e.innerDegrade,r=e.isLive;c&&(r||!c.setPlayMode?(a&&c.setAttribute("innerdegrade",a),t&&c.setAttribute("preloadtime",t),this._bindEvents()):c.setPlayMode("VOD"))}},{key:"_bindEvents",value:function(){this._opts.media.addEventListener("lowdecode",this._onLowDecode)}},{key:"destroy",value:function(){var e,c;null===(e=this._opts)||void 0===e||null===(c=e.media)||void 0===c||c.removeEventListener("lowdecode",this._onLowDecode),this._plugin=null}}]),e}(),On=["currentTime"];function Rn(e,c){var t={startTime:c.player.currentTime};switch(_c(e)){case"boolean":t.seamless=e;break;case"object":var a=e.currentTime,r=Oc(e,On);Object.assign(t,r),"number"==typeof a&&(t.startTime=a)}return t}var Ln=function(e){Ac(t,e);var c=Lc(t);function t(){var e;Sc(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return Tc(Rc(e=c.call.apply(c,[this].concat(r))),"logger",An),Tc(Rc(e),"hls",null),Tc(Rc(e),"pluginExtension",null),Tc(Rc(e),"getStats",(function(){var c;return null===(c=e.hls)||void 0===c?void 0:c.getStats()})),Tc(Rc(e),"_onSwitchSubtitle",(function(c){var t,a=c.lang;null===(t=e.hls)||void 0===t||t.switchSubtitleStream(a)})),Tc(Rc(e),"_keepPauseStatus",(function(){e.player.paused&&e.player.once("canplay",(function(){e.player.pause()}))})),e}return xc(t,[{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,c,t=null===(e=this.player)||void 0===e||null===(c=e.config)||void 0===c?void 0:c.mediaType;return!!t&&"video"!==t&&"audio"!==t&&"offscreen-video"!==t}},{key:"beforePlayerInit",value:function(){var e=this,c=this.player.config,t=this.player.media||this.player.video,a=c.hls||{};if((c.url||c.__allowHlsEmptyUrl__)&&(this.softDecode||a.preferMMS||!Nt.isMMSOnly())){this.hls&&this.hls.destroy();var r=Object.getOwnPropertyDescriptor(this.player,"switchURL");r&&!r.writable||(this.player.switchURL=function(c,t){return new Promise((function(a,r){var n=e.player,i=e.hls;if(i){var d,o,s=Rn(t,e);n.config.url=c,i.switchURL(c,s).then((function(){return a(!0)})).catch(r),!s.seamless&&null!==(d=e.player.config)&&void 0!==d&&null!==(o=d.hls)&&void 0!==o&&o.keepStatusAfterSwitch&&e._keepPauseStatus()}else r()}))});var n,i=this.player.switchURL;if(this.player.handleSource=!1,a.innerDegrade=a.innerDegrade||c.innerDegrade,null!==a.disconnectTime&&void 0!==a.disconnectTime||(a.disconnectTime=0),this.hls=new In(mc({softDecode:this.softDecode,isLive:c.isLive,media:t,startTime:c.startTime,url:c.url},a)),this.softDecode||ue.BasePlugin.defineGetterOrSetter(this.player,{url:{get:function(){var c,t;return null===(c=e.hls)||void 0===c||null===(t=c.media)||void 0===t?void 0:t.src},configurable:!0}}),this.softDecode&&(this.pluginExtension=new Dn(mc({isLive:c.isLive,media:t},a),this),this.player.forceDegradeToVideo=function(){for(var c,t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];return null===(c=e.pluginExtension)||void 0===c?void 0:c.forceDegradeToVideo.apply(c,a)}),c.isLive)null===(n=this.player)||void 0===n||n.useHooks("replay",(function(){var c;return null===(c=e.hls)||void 0===c?void 0:c.replay()}));this.on(ue.Events.URL_CHANGE,i),this.on(ue.Events.SWITCH_SUBTITLE||"switch_subtitle",this._onSwitchSubtitle),this.on(ue.Events.DESTROY,this.destroy.bind(this)),this._transError(),this._transCoreEvent(Zt.TTFB),this._transCoreEvent(Zt.LOAD_START),this._transCoreEvent(Zt.LOAD_RESPONSE_HEADERS),this._transCoreEvent(Zt.LOAD_COMPLETE),this._transCoreEvent(Zt.LOAD_RETRY),this._transCoreEvent(Zt.SOURCEBUFFER_CREATED),this._transCoreEvent(Zt.MEDIASOURCE_OPENED),this._transCoreEvent(Zt.APPEND_BUFFER),this._transCoreEvent(Zt.REMOVE_BUFFER),this._transCoreEvent(Zt.BUFFEREOS),this._transCoreEvent(Zt.KEYFRAME),this._transCoreEvent(Zt.METADATA_PARSED),this._transCoreEvent(Zt.DEMUXED_TRACK),this._transCoreEvent(Zt.SEI),this._transCoreEvent(Zt.SEI_IN_TIME),this._transCoreEvent(Zt.SPEED),this._transCoreEvent(Zt.HLS_MANIFEST_LOADED),this._transCoreEvent(Zt.HLS_LEVEL_LOADED),this._transCoreEvent(Zt.STREAM_EXCEPTION),this._transCoreEvent(Zt.SWITCH_URL_SUCCESS),this._transCoreEvent(Zt.SWITCH_URL_FAILED),this._transCoreEvent(qr.NO_AUDIO_TRACK),this._transCoreEvent(qr.STREAM_PARSED),this._transCoreEvent(qr.SUBTITLE_SEGMENTS),this._transCoreEvent(qr.SUBTITLE_PLAYLIST),this._transCoreEvent(qr.APPEND_COST),c.url&&this.hls.load(c.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(qr.ERROR,(function(c){e.player&&e.player.emit(ue.Events.ERROR,new ue.Errors(e.player,c))}))}},{key:"_transCoreEvent",value:function(e){var c=this;this.hls.on(e,(function(t){c.player&&(c.player.emit("core_event",mc(mc({},t),{},{eventName:e})),e===Zt.SEI_IN_TIME&&c.hls.hasSubtitle&&c._emitSeiPaylodTime(t))}))}},{key:"_emitSeiPaylodTime",value:function(e){try{var c=JSON.parse(Array.from(e.data.payload).map((function(e){return String.fromCharCode(e)})).join("").slice(0,-1));if(!c.rtmp_dts)return;this.player.emit("core_event",{eventName:qr.SEI_PAYLOAD_TIME,time:c.rtmp_dts})}catch(t){}}}],[{key:"pluginName",get:function(){return"hls"}},{key:"isSupported",value:function(e,c){return In.isSupported(e,c)}}]),t}(ue.BasePlugin);Tc(Ln,"Hls",In),Tc(Ln,"EVENT",qr);const Cn="4.1.13-rc.0";var Pn=function(e){return e.GetKeyByKeyTokenFail="Get key by keyToken fail",e}(Pn||{}),jn=function(e){return e[e.KDS=0]="KDS",e[e.DRM=1]="DRM",e}(jn||{});function Mn(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],c=window.MediaSource=window.MediaSource||(e?window.ManagedMediaSource:void 0)||window.WebKitMediaSource;return c&&"function"==typeof c.isTypeSupported}function Bn(e,c,t,a){e.once(a,(function r(){e.off(c,t),e.off(a,r)}))}var Un={getBrowserVersion:function(){var e=navigator.userAgent;if(e.toLowerCase().indexOf("mobile")>-1)return"Unknown";function c(c){return((e.match(c)||[""])[0].match(/[\d]+/)||["0"])[0]}if(e.indexOf("Firefox")>-1)return"Firefox ".concat(c(/firefox\/[\d.]+/gi));if(e.indexOf("Edge")>-1)return"Edge ".concat(c(/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(c(/opera\/[\d.]+/gi));if(e.indexOf("OPR")>-1)return"Opera ".concat(c(/opr\/[\d.]+/gi))}else{if(e.indexOf("Chrome")>-1)return"Chrome ".concat(c(/chrome\/[\d.]+/gi));if(e.indexOf("Safari")>-1)return"Safari ".concat(c(/safari\/[\d.]+/gi));if(!(e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1))return"Unknown";if(e.indexOf("MSIE")>-1)return"IE ".concat(c(/msie [\d.]+/gi));if(e.indexOf("Trident")>-1){var t=c(/trident\/[\d.]+/gi),a=parseInt(t)+4;return"IE ".concat(a)}}},parseUrl:function(e){var c=e.split("?")[1],t={};return c&&c.split("&").forEach((function(e){var c=e.split("=");t[c[0]]=decodeURIComponent(c[1])})),t},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],c=!1;return navigator.userAgent.toLocaleLowerCase().indexOf("ipad")>-1?(navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform||!Mn(e))&&(c=!0):navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform&&!Mn(e)&&(c=!0),c},checkMediaSourceSupport:Mn,getAbsoluteURL:function(e){var c=new Image;return c.src=e,e=c.src},offInDestroy:Bn,on:function(e,c,t,a){if(a)e.on(c,t),Bn(e,c,t,a);else{var r=function(t){r(t),e.off(c,r)};e.on(c,r)}},once:function(e,c,t,a){if(a)e.once(c,t),Bn(e,c,t,a);else{var r=function(t){r(t),e.off(c,r)};e.once(c,r)}}};function Nn(e){var c=e.url,t=e.method,a=void 0===t?"GET":t,r=e.type,n=e.timeout,i=void 0===n?1e4:n,d=e.body,o=e.xhrSetup,s=e.cache,f=void 0===s||s;return new Promise((function(e,t){var n=new window.XMLHttpRequest;if("GET"!==(a=a.toUpperCase())&&"POST"!==a)throw new Error("XHR ".concat(a," is not allowed"));if(r&&(n.responseType=r),i&&(n.timeout=i),n.onload=function(){200===n.status||206===n.status?e(n):t(n)},n.onerror=function(){t(n)},n.ontimeout=function(){t(n)},n.onabort=function(){t(n)},"GET"===a&&!f){var s=/\?/gi.test(c)?"&":"?";c+="".concat(s,"_=").concat((new Date).getTime())}if(n.open(a,"".concat(c),!0),o)try{o(n,c)}catch(b){console.error("xhr setup failure: ".concat((null==b?void 0:b.stack)||(null==b?void 0:b.message)))}switch(a){case"POST":"text"===r&&n.setRequestHeader("Content-type","application/x-www-form-urlencoded"),n.send(d);break;case"GET":n.send()}}))}var Fn=Un.getBrowserVersion();function Gn(e){return Vn.apply(this,arguments)}function Vn(){return Vn=pe(De().mark((function e(c){var t,a,r,n,i=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.length>1&&void 0!==i[1]?i[1]:{},e.prev=1,r=t.payload?JSON.stringify(t.payload):void 0,n=/^blob:/.test(c),"IE 11"===Fn){e.next=10;break}return e.next=7,Nn({url:c,type:t.type||"text",cache:n,body:r,method:t.method});case 7:a=e.sent,e.next=13;break;case 10:return e.next=12,new Promise((function(e,a){var n=new XMLHttpRequest;t.type&&(n.responseType=t.type),n.open(t.method||"get",c),n.send(r),n.onload=function(){200===n.status||206===n.status?e(n):a(n.status)}}));case 12:a=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",a);case 19:case"end":return e.stop()}}),e,null,[[1,15]])}))),Vn.apply(this,arguments)}function qn(e,c){return zn.apply(this,arguments)}function zn(){return(zn=pe(De().mark((function e(c,t){var a,r,n,i,d,o,s,f,b,u,l;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=c.config,r=c.isNativeMode,n=t.url,i="",e.next=5,Gn(n);case 5:if(!(d=e.sent)){e.next=28;break}if(e.prev=7,o=JSON.parse(d.responseText),"TOP"!==a.getKeyType){e.next=13;break}i=o.Result.SecretKey,e.next=23;break;case 13:if(!r){e.next=22;break}if(s=Ve(o.data)){e.next=17;break}throw new Error("parse key data failed");case 17:f=s.encData,b=s.key,u=s.iv,l=Ne(f,b,u),i=window.btoa(l),e.next=23;break;case 22:i=window.btoa(o.data);case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),i=Un.isBase64(d.responseText)?d.responseText:window.btoa(d.responseText);case 28:return e.abrupt("return",i);case 29:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}function Hn(e,c){return Kn.apply(this,arguments)}function Kn(){return(Kn=pe(De().mark((function e(c,t){var a;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=void 0,e.t0=t.system,e.next=e.t0===jn.KDS?4:8;break;case 4:return e.next=6,qn(c,t);case 6:return a=e.sent,e.abrupt("break",9);case 8:console.error("wrong key system:",t.system);case 9:return e.abrupt("return",a);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $n(e,c){return Wn.apply(this,arguments)}function Wn(){return(Wn=pe(De().mark((function e(c,t){var a,r,n,i,d,o,s,f,b;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.config,r={},e.next=4,Nn({url:c,xhrSetup:function(e){a.netAllowCredentials&&(e.withCredentials=!0)}});case 4:return n=e.sent,(i=n.responseText).match(/#EXT-X-KEY:(\w+=\w+)+/)&&(d=i.match(/,URI="([^"]+)"/),o=d?d[1]:"",null!=(s=Un.parseUrl(o))&&s.ak&&("TOP"===a.getKeyType?(f=/^https?:/.test(a.playDomain)?a.playDomain:"//".concat((a.playDomain||"").replace(/^\/\//gi,"")),b=Un.isBase64(a.keyToken)?window.atob(a.keyToken):a.keyToken,o="".concat(f,"?").concat(b,"&Source=jarvis&Ak=").concat(s.ak)):o="".concat(a.keyDomain||"","/kds/api/v3/keys?source=jarvis&ak=").concat(s.ak,"&token=").concat(a.keyToken||"")),r.keyUrl=o,r.responseText=i),e.abrupt("return",r);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Yn(){Promise.withResolvers||(Promise.withResolvers=function(){var e={};return e.promise=new Promise((function(c,t){e.resolve=c,e.reject=t})),e})}var Xn=function(){return _e((function e(){ye(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(c){var t=Date.now(),a=Math.max(16.7-(t-e),0),r=setTimeout(c,a);return e=t+a,r}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}])}(),Qn=function(){return _e((function e(){ye(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 c=this.ticks;if(c.unshift(e),c.length>10){var t=c.pop();t&&(this.fps=Math.floor(1e4/(e-t)),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(){Xn.install()}}])}(),Jn=Zn&&!function(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(c){return!0}}();function Zn(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}var ei={length:Jn?localStorage.length:0,clear:function(e){try{for(var c=localStorage.length-1;c>=0;c--){var t=localStorage.key(c);0===t.indexOf(e)&&localStorage.removeItem(t)}}catch(Ci){}},getItem:function(e){try{return localStorage.getItem(e)}catch(Ci){return null}},key:function(e){try{return localStorage.key(e)}catch(Ci){return null}},setItem:function(e,c){try{localStorage.setItem(e,c)}catch(Ci){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(Ci){}},isSupport:Jn},ci=function(){return _e((function e(){var c,t;ye(this,e);var a=new Promise((function(e,a){c=e,t=a}));return a.resolve=c,a.reject=t,a}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}])}();!function(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+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 d=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,f=parseInt(e.slice(s,s+4),16);for(s+=4,r=0;r<f;++r){var b=a(e,s);s+=2*b[0];for(var u=0;u<b[1];++u){var l=a(e,s);String.fromCharCode(n^l[1]),s+=2*l[0]}}c.p=null,function e(c,t,a,r,n){var d,o,s,f,b,u=-1,l=[],h=null,p=[t];for(o=Math.min(t.length,a),s=0;s<o;++s)p.push(t[s]);p.p=r;for(var v=[];;)try{switch(i[c++]){case 16:l[++u]=null;break;case 63:l[++u]=void 0;break;case 43:for(o=i[c++],s=i[c++],f=p;o>0;--o)f=f.p;l[++u]=f[s];break;case 27:for(o=l[u--],s=null;f=v.pop();)if(2===f[0]||3===f[0]){s=f;break}if(s)c=s[2],s[0]=0,v.push(s);else{if(!h)return o;c=h[1],n=h[2],p=h[3],v=h[4],l[++u]=o,h=h[0]}break;case 5:u-=d=i[c++],s=l.slice(u+1,u+d+1),o=l[u--],f=l[u--],o._u===e?(o=o._v,h=[h,c,n,p,v],c=o[0],null==f&&(f=function(){return this}()),n=f,(p=[s].concat(s)).length=Math.min(o[1],d)+1,p.p=o[2],v=[]):(b=o.apply(f,s),l[++u]=b);break;case 29:--u;break;default:throw new Error("ioe")}}catch(y){for(;(d=v.pop())&&!d[0];);if(!d){e:for(;h;){for(o=h[4];d=o.pop();)if(d[0])break e;h=h[0]}if(!h)throw y;c=h[1],n=h[2],p=h[3],v=h[4],h=h[0]}1===(o=d[0])?(c=d[2],d[0]=0,v.push(d),l[++u]=y):2===o?(c=d[2],d[0]=0,v.push(d)):(c=d[3],d[0]=2,v.push(d),l[++u]=y)}}(d,[],0,c,t)}("504B0101399dc1bd00000000bdc19e3900000009102b010005001d3f1b0000",{get 0(){return Yn}},void 0);var ti=["module"],ai="danger_d_speed";var ri={stall_penalty:11,switch_penalty:4,interval:1e3,startInterval:1e3,decodeUnderflowBuffer:1,decodeUnderflowMode:1,decodeUnderflowCount:1},ni=function(){return _e((function e(c,t,a,r){var n=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};ye(this,e),this._wasmPromise=new ci,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=c,this.segment_duration=r||5e3,this.logger=function(){for(var e=arguments.length,c=new Array(e),t=0;t<e;t++)c[t]=arguments[t];i.logger.apply(i,["abr(".concat(n.uuid,")::")].concat(c))},this.openLog=i.openLog,this.autoBitrateOpts=Object.assign({},ri,c.autoBitrateOpts),this.stall_penalty=this.autoBitrateOpts.stall_penalty,this.switch_penalty=this.autoBitrateOpts.switch_penalty,this.interval=this.autoBitrateOpts.interval;var d=c.progressTimer||1e3,o=this.autoBitrateOpts.startInterval||d;this.initInterval=.8*o,this._preloadMethod=c.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._maxDefinition=this.autoBitrateOpts.maxDefinition||null,this._underflowDefinition=this.autoBitrateOpts.underflowDefinition||null,this.updateBitrate(t),this.updateMediaInfos(a,!1)}),[{key:"_onLoadWasm",value:function(){var e=this,c=this.autoBitrateOpts.module,t=this.autoBitrateOpts;t.module;var a=Ie(t,ti),r=this.autoBitrateOpts.isClassic||!1;c&&(r?this.module=new c(Ae({promise:this._wasmPromise},a)):c(this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}}));return this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var c=this,t=!(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 t,a;null===(t=c._heightToDefinitionConfig)||void 0===t||t.set(e.height||e.vheight,e);var r,n=e.bandwidth||e.bitrate;(n<c._minBitrate&&(c._minBitrate=n),null===(a=c._bitrateToDefinitionConfig)||void 0===a||a.set(n,e),e.definition)&&(null===(r=c._definitionToDefitionConfig)||void 0===r||r.set(e.definition,e))})),this._maxDefinition&&(this._defaultMaxBitrate=this._getBitrate(this._maxDefinition)),this._underflowDefinition&&(this._underflowBitrate=this._getBitrate(this._underflowDefinition)),this.mediaInfos=e):t&&console.error("baseAbr mediaInfos null")}},{key:"_getBitrate",value:function(e){var c;return(null===(c=this._definitionToDefitionConfig)||void 0===c||null===(c=c.get(e))||void 0===c?void 0:c.bandwidth)||-1}},{key:"transformMediaInfo",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e,c=[],t=this.mediaInfos.dynamic_video_list,a=0;a<t.length;a++){var r=t[a];this._isCurrentHDR===!!r.isHDR&&c.push({stream_id:"s".concat(a),bandwidth:r.bitrate||r.bandwidth,width:r.vwidth||r.width,height:r.vheight||r.height,codec:r.codecs||r.codec_type||"h264",frame_rate:Number(r.fps)||-1,segment_duration:this.segment_duration,definition:r.qualityType,gearName:r.gearName})}var n={v_adaptation:c},i=JSON.stringify(n);null===(e=this.module)||void 0===e||e.ccall("parseMPD","null",["string"],[i])}catch(Ci){}}else console.warn("mediaInfos is null")}},{key:"_getDefaultSpeed",value:function(e){var c=0,t=navigator.connection;if(t&&t.downlink)c=1024*t.downlink/8,this.logger("initSpeed connect",c);else try{c=parseFloat(ei.getItem(ai)||"")||0,this.logger("initSpeed connect",c)}catch(Ci){}return 0===c&&(c=e&&e.historyAvspeed||0,this.logger("initSpeed history",c)),c}},{key:"setDebugModel",value:function(e){var c,t;null===(c=this.module)||void 0===c||null===(t=c._setDebugModel)||void 0===t||t.call(c,e)}},{key:"updateBitrate",value:function(e){var c,t,a=this;(this.bitrate=e,e>0)&&(this.module?null===(c=(t=this.module).updateBitrate)||void 0===c||c.call(t,e):this.readyPromise().then((function(){var c,t;null===(c=a.module)||void 0===c||null===(t=c.updateBitrate)||void 0===t||t.call(c,e)})))}},{key:"getPreloadBitrate",value:function(){return null}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var c,t=window.devicePixelRatio||1;null===(c=this.module)||void 0===c||c._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),t,e||-1)}this._hasDeviceInfoChanged=!1}catch(Ci){}}},{key:"readyPromise",value:function(){return this._wasmPromise}}])}();ni.SPPED_CACHE=ai;var ii=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}(ii||{}),di={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"},oi=function(e){function c(e,t,a,r,n){var i,d,o,s,f,b=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};ye(this,c),(i=ve(this,c,[t,a,r,n,b]))._bufferRange=new Map,i._sortedBufferRange=[],i._lastCheckResolutionStamp=0,i._currentDefinition=null,i._isSeeking=!1,i._waitingStartTime=0,i._stallCount=0,i._seekState=0,i._stallState=0,i._videoCurrentTime=0,i._hasStart=!1,i._isPaused=!1,i._hasAddFragment=!1,i._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},i._bitrateSet=[],i._generalInfo={},i._currentInAbr=!1,i._hasCalcTimelineLog=!1,i._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:[]}},i._tickCount=0,i._fps=30,i.startTime=performance.now(),i._prevDefinitionItem=null,i._currentItem=null,i._switchCount=0,i._switchBitrate=0,i._avgStatItems={},i._qoeArgs=[0,0,0,0],i._abrUsed=-1,i._abrAlwaysOn=1,i._preloadInfo=null,i._hasLogStartInfo=!1,i._hasExecuteAbrAlgo=!1,i._lastExecuteTimeInMs=0,i._isSegmentDrive=!1,i._prevCurrentTime=-1,i._abrChangeTimeMap={},i._underFlowDecodeCount=0,i._onSegmentPredict=function(e){if(i.isCurrentInAbr&&i._isSegmentDrive){var c=Math.floor(i.player.downloadSpeed);e.isInitSegment||"video"!==e.mediaType||i._loopAbr(c,e.start,e.fix?e.end:0,e)}},i._onPlay=function(){i._hasStart=!0,i.logger("onplay")},i._onSeeking=function(){var e,c;i._isSeeking=!0,i.player.currentTime<i._videoCurrentTime?i._seekState=-1:i._seekState=1,null===(e=i.module)||void 0===e||null===(c=e._updateSeekInfo)||void 0===c||c.call(e,i._seekState),i.logger("seekState",i._seekState)},i._onSeekEnd=function(){i._isSeeking=!1,i.checkRestart()},i._onWaiting=function(){if(!(i._isSeeking||i._waitingStartTime>0)){for(var e=i.player.video.buffered,c=i.player.currentTime,t=!0,a=0;a<e.length;a++){var r=e.start(a),n=e.end(a);if(r<=c&&c<n-(i.autoBitrateOpts.decodeUnderflowBuffer||1)&&i.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){i._underFlowDecodeCount++,t=!1;break}}var d=i._underFlowDecodeCount>=(i.autoBitrateOpts.decodeUnderflowCount||1),o=i._defaultMaxBitrate>0||i._underflowBitrate>0,s=1===i.autoBitrateOpts.decodeUnderflowMode&&i._isSegmentDrive;if(d&&(o||s)){var f=!0;if(s){var b=i._maxBitrate;i._maxBitrate=i._minBitrate,f=i._maxBitrate!==b}i.player.emit("ABR_LIMIT_BITRATE",{removed:f}),i._underflowBitrate>0&&(i._maxBitrate=i._underflowBitrate)}i._waitingStartTime=(new Date).getTime(),i._stallId=setTimeout((function(){var e,c;clearTimeout(i._stallId),i._stallCount++,i._stallState=1,null===(e=i.module)||void 0===e||null===(c=e.updateWaitingState)||void 0===c||c.call(e,t)}),200)}},i._onPlaying=function(){i._waitingStartTime=0,i._stallState=0,clearTimeout(i._stallId),i.checkRestart()},i._onTimeUpdate=function(e){var c=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(i._sortedBufferRange&&0!==i._sortedBufferRange.length&&i._currentInAbr&&i.player){i._videoCurrentTime=i.player.currentTime;var t=Date.now();if(!(t-i._lastCheckResolutionStamp<1e3&&0!==i._lastCheckResolutionStamp)||c){i._lastCheckResolutionStamp=t;for(var a=i.player.currentTime,r=0,n=i._sortedBufferRange.length-1,d=null;r<=n;){var o=Math.floor(r+(n-r)/2),s=i._sortedBufferRange[o];if(a<s.start)n=o-1;else{if(!(a>=s.end)){d=s;break}r=o+1}}if(d){var f,b=null===(f=i._bitrateToDefinitionConfig)||void 0===f?void 0:f.get(d.bandwidth),u=null==b?void 0:b.definition;if(i._currentDefinition===u&&!c||!u)return void(u||i.logger("error definition, mpd配置与接口配置不一致"));i._currentDefinition=u,i._prevDefinitionItem=i._currentItem,i._currentFps=b.fps,i._currentItem=b,i._emitAutoDescChange(u,!1,i._currentFps,b),i._prevDefinitionItem&&i._currentDefinition&&i._prevDefinitionItem.definition!==i._currentDefinition.definition&&i._emitDefinitionRealChange(d)}}}},i._onCanPlay=function(){i._currentInAbr&&i._currentDefinition&&(i._updateId=setTimeout((function(){clearTimeout(i._updateId),i._emitAutoDescChange(i._currentDefinition,!1,i._currentFps,i._currentItem)}),0))},i._onBufferRangeUpdate=function(e){if(void 0!==e.start){null===i._currentItem&&i._onTimeUpdate(null,!0);var c=e.start;i._hasAddFragment=!0,i._bufferRange.set(c,e);var t=Le(i._bufferRange.values());i._sortedBufferRange=t.sort((function(e,c){return e.start-c.start})),i.avgStat(di.DOWNLOAD_BITRATE,e.bandwidth)}},i._onReplay=function(){i.checkRestart()},i._onEnded=function(){i.stop()},i._onError=function(){i.stop()},i.start=function(){if(i.logger("start"),i._isPaused=!1,!i._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());i._abr_play_info.is_hint=e?1:0}i._hasCalcTimelineLog=!0,i._loop()},i.stop=function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(i._abrAlwaysOn=-1),clearTimeout(i.timerId),i._isPaused=!0,i.logger("stop")},i.logger("constructor",t,a,r,n,i.bitrate),i.player=e,i.isOpenAutoDefi=!!i.autoBitrateOpts.isOpenAutoDefi,i._isSegmentDrive=1===i.autoBitrateOpts.abrDriveMode,i.onPlayRateChange=i._onPlayrateChange.bind(i),i._onWinSizeChange=(d=i.onWinElemSizeChange.bind(i),o=1e3,s=!1,function(){for(var e=this,c=arguments.length,t=new Array(c),a=0;a<c;a++)t[a]=arguments[a];var r=t,n=s&&!f;clearTimeout(f),f=setTimeout((function(){f=null,s||d.apply(e,r)}),o),n&&d.apply(e,r)}),i._maxDefinition=i.autoBitrateOpts.maxDefinition||null,i._maxBitrate=-1,i.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:i._onMaxBufferChange.bind(i)},{evt:"playbackrateChange",handler:i.onPlayRateChange},{evt:"replay",handler:i._onReplay},{evt:"ended",handler:i._onEnded},{evt:"error",handler:i._onError},{evt:"timeupdate",handler:i._onTimeUpdate},{evt:"addVideoBufferEnd",handler:i._onBufferRangeUpdate},{evt:"canplay",handler:i._onCanPlay},{evt:"play",handler:i._onPlay},{evt:"seeking",handler:i._onSeeking},{evt:"seeked",handler:i._onSeekEnd},{evt:"waiting",handler:i._onWaiting},{evt:"playing",handler:i._onPlaying},{evt:"video_resize",handler:i._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:i._onSegmentPredict}],i.listeners.forEach((function(e){var c=e.evt,t=e.handler;i.player.on(c,t)})),i._abrMethod=i.autoBitrateOpts.method||0,i._loopInterval=i.initInterval,Qn.install(),i._maxCacheTimeVideo=i.config.preloadTime||5,i._maxCacheTimeAudio=i._maxCacheTimeVideo;for(var u=Object.keys(di),l=0;l<u.length;l++){var h=u[l],p=di[h];i._avgStatItems[p]=new si}return i}return we(c,e),_e(c,[{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 Qn,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,c,t=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(c=this.player)||void 0===c?void 0:c.video);if(t){var a=t.getBoundingClientRect();this._videoWidth=Math.floor(a.width),this._videoHeight=Math.floor(a.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 c=e.videoCacheTime,t=e.audioCacheTime;this._maxCacheTimeAudio=t,this._maxCacheTimeVideo=c}},{key:"_emitAutoDescChange",value:function(e,c,t,a){var r;this.logger("[ABR],emitAutoDescChange, definition, ",e,",item,",a,",pre_item,",this._prevDefinitionItem),null===(r=this.player)||void 0===r||r.emit("UPDATE_AUTO_DESC",{definition:e,reset:c,fps:t,item:a,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(e){var c,t=0,a=e.start;this._abrChangeTimeMap[a]&&(this._abrChangeTimeMap[a]=0,delete this._abrChangeTimeMap[a],t=1),null===(c=this.player)||void 0===c||c.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:t})}},{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 c=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&c){this._abrUsed=1;var t=this._getDefaultSpeed(this.player);this._isSegmentDrive||(e=this._loopAbr(t)),this.start(),this._changeLoopInterval(),this.logger("time start progress",(new Date).getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(Ci){this.logger("decision error",Ci),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 c,t=e.player,a=e.config;if(e._hasStart&&null!==(c=a.autoBitrateOpts)&&void 0!==c&&c.stillRunWhenPaused||!t.paused||!t.config.autoplay&&!e._hasStart){var r=e._hasAddFragment?void 0:e._getDefaultSpeed(t);e._loopAbr(r)}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(Ci){}}},{key:"updateBufferInfo",value:function(e){var c,t,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=this.player.playbackRate,i=this.bufferLength;r>0&&(this.player&&(i=r-this.player.video.currentTime));var d=e||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===d&&(d=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var o=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",d,"buffer:",i,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",a,"segmentBufferEnd",r),null===(c=this.module)||void 0===c||c._updateBufferInfo(n,this._maxCacheTimeAudio,this._maxCacheTimeVideo,i,this._isSegmentDrive?r:i,d,this._seekState,null===(t=this.player)||void 0===t?void 0:t.currentTime,this._stallState,o),this._seekState=0,this._eventInfo={internet_speed:d,buffer_length:i,last_bitrate:this.bitrate,play_speed:n},this.logger("playRate:",n,"buff:",i,"downloadSpeed:",d),{buffer:i,downloadSpeed:d}}},{key:"updateSwitchInfo",value:function(){var e,c,t=(new Date).getTime();this._openTimeMs=t,this._abr_play_info.start_play_time_ms=t;var a,r,n=(null===(e=this.player)||void 0===e?void 0:e.config.preloadTime)||50,i=(r=(a=t).toString(16)).length<=8?{high:0,low:a}:{high:parseInt(r.substr(0,r.length-8),16),low:parseInt(r.substr(r.length-8),16)},d=this.autoBitrateOpts.noStallCheckTime||5,o=this.openLog;this.logger("openTime:",t,"this.logger",o),null===(c=this.module)||void 0===c||c._updateSwitchInfo(i.low,i.high,d,o,this.stall_penalty,this.switch_penalty);var s=this._mediaList.video,f=s.map((function(e){var c=e.bandwidth,t=e.bitrate;return c||t}));this._bitrateSet=f.map((function(e,c){return{bitrate:e,codecs:s[c].codecs||s[c].codec_type||""}})),this._generalInfo={max_cache_time:n,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(c){this.logger("updatePreloadCacheInfo",c),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_loopAbr",value:function(e){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var r=-1,n=[];if(!this.module||!this.player)return this.bitrate;try{var i,d=(new Date).getTime(),o=this.player;this.updateDeviceInfo();var s=this.updateBufferInfo(e,c,t),f=s.downloadSpeed,b=s.buffer;if(this.module.updateDropFrame&&o.video.getVideoPlaybackQuality){var u,l=o.video.getVideoPlaybackQuality(),h=l.droppedVideoFrames/l.totalVideoFrames;null===(u=this.module)||void 0===u||u.updateDropFrame(h)}r=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var p=0;p<7;p++)n.push(this.module.HEAP32[r/Int32Array.BYTES_PER_ELEMENT+p]);var v=n[0],y=1===n[1];this._eventInfo.now_bitrate=v,this._eventInfo.local_time_ms=(new Date).getTime();var m=0;if(v!==this.bitrate&&0!==v||this.autoBitrateOpts.reportVerboseAbrLog){var g=this.player.currentTime;if(this.module.getStat){var _=this.module.getStat();o.emit("ABR_STAT",Ae(Ae({v_time:g,diff_current_position:-1===this._prevCurrentTime?0:g-this._prevCurrentTime,net_speed:8*f,costTime:(new Date).getTime()-d,download_time:null==a?void 0:a.costTime},_),{},{gop_size:null==a?void 0:a.gopSize,audio_buffer:null==a?void 0:a.audioBuffer})),this._abrChangeTimeMap[_.download_position]=1}this._prevCurrentTime=g}if(v!==this.bitrate&&0!==v){var k=this.bitrate;m=Math.abs(k-v);for(var E=[],S=(o.media||o.video).buffered,w=0;w<S.length;w++)E.push({start:S.start(w),end:S.end(w)});var x=this._videoWidth||Number(this.config.width),T=this._videoHeight||Number(this.config.height),A=(new Date).getTime(),I={speed:"".concat(f," KB/s"),buffer_length:"".concat(b," s"),video_pos:o.currentTime,all_buffers:E,seek_state:this._seekState,stall_state:this._stallState,screen_width:x,screen_height:T,dpr:window&&window.devicePixelRatio,playbackRate:o.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?A-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=A,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(v,", prevBitrate: ").concat(k,","),"willStall: ".concat(y,", switchBitrate: ").concat(m)),this.updateBitrate(v),o.emit("ABR_CHANGE_A",k,v,y,JSON.stringify(I))}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:v,download_speed:f,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===(i=this.player)||void 0===i||i.emit("ABR_LOOP"),this.onAbrLoop(f,n[2],m,n.slice(3))}catch(Ci){this.logger("abr error",Ci),console.error("loopAbr error",Ci)}finally{r>-1&&this.module._free(r)}return this.bitrate}},{key:"destroy",value:function(){var e,c=this;this.stop(),this.listeners.forEach((function(e){var t,a=e.evt,r=e.handler;null===(t=c.player)||void 0===t||t.off(a,r)})),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,c,t=(null===(e=this.player)||void 0===e?void 0:e.getBufferedRange())||[],a=((null===(c=this.player)||void 0===c?void 0:c.video)||{currentTime:0}).currentTime,r=t[1]-Math.max(t[0],a),n=Math.max(0,r).toFixed(2);return parseFloat(n)}},{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 c,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]:[];if(this._qoeArgs=r,this._currentItem&&this.avgStat(di.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(di.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(di.PREDICT_NETWORK_SPEED,t),this.avgStat(di.BUFFER_LENGTH,this.bufferLength),this.avgStat(di.QOE,this.getQoeRelValue(0)),a>0&&(this._switchCount++,this._switchBitrate+=a),this._abr_play_info.is_hint){var n=((new Date).getTime()-this.openTimeMs)/1e3;n=parseFloat(n.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([n,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([n,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([n,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([n,(null===(c=this.player)||void 0===c?void 0:c.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([n,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([n,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([n,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([n,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,c){var t=this._avgStatItems[e];t&&t.add(c)}},{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 c;this.segment_duration=e,null!==(c=this.module)&&void 0!==c&&c.updateSegmentDuration&&this.module.updateSegmentDuration(e)}},{key:"getAbrVVStats",value:function(){for(var e={},c=Object.keys(di),t=0;t<c.length;t++){var a=c[t],r=di[a],n=this._avgStatItems[r];e[r]=n.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}}])}(ni),si=function(){return _e((function e(){ye(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,c){function t(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var a,r=0,n=[];for(a=0;a<4;++a)r+=(3&parseInt(e.slice(8+2*a,10+2*a),16))<<2*a;var i=parseInt(e.slice(16,24),16),d=2*parseInt(e.slice(32,40),16);for(a=40;a<d+40;a+=2)n.push(parseInt(e.slice(a,a+2),16));var o=d+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,a=0;a<s;++a){var f=t(e,o);o+=2*f[0];for(var b=0;b<f[1];++b){var u=t(e,o);String.fromCharCode(r^u[1]),o+=2*u[0]}}c.p=null,function(e,c,t,a){var r,i,d,o,s=-1,f=[],b=null,u=[c];for(i=Math.min(c.length,0),d=0;d<i;++d)u.push(c[d]);u.p=a;for(var l=[];;)try{switch(n[e++]){case 63:f[++s]=void 0;break;case 27:for(i=f[s--],d=null;o=l.pop();)if(2===o[0]||3===o[0]){d=o;break}if(d)e=d[2],d[0]=0,l.push(d);else{if(!b)return i;e=b[1],b[2],u=b[3],l=b[4],f[++s]=i,b=b[0]}break;default:throw new Error("ioe")}}catch(h){for(;(r=l.pop())&&!r[0];);if(!r){e:for(;b;){for(i=b[4];r=i.pop();)if(r[0])break e;b=b[0]}if(!b)throw h;e=b[1],b[2],u=b[3],l=b[4],b=b[0]}1===(i=r[0])?(e=r[2],r[0]=0,l.push(r),f[++s]=h):2===i?(e=r[2],r[0]=0,l.push(r)):(e=r[3],r[0]=2,l.push(r),f[++s]=h)}}(i,[],0,c)}("504B0101399dc1bd00000000bdc19e39000000023f1b0000",{});var fi=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(c){return!0}}(),bi=function(){if(fi)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}();!function(){if(fi)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();var ui={1:"debug",2:"log",3:"warn",4:"error"};function li(e,c,t){for(var a=ui[c],r=arguments.length,n=new Array(r>3?r-3:0),i=3;i<r;i++)n[i-3]=arguments[i];if(a&&e&&e[a])e[a].apply(e,[t].concat(n));else if(bi&&console.log){var d;(d=console).log.apply(d,["[logger]",t].concat(n))}}function hi(e,c,t){for(var a=arguments.length,r=new Array(a>3?a-3:0),n=3;n<a;n++)r[n-3]=arguments[n];if(1===arguments.length)li(console,2,e);else li.apply(void 0,[e,2,t||""].concat(r))}function pi(e){return"auto"===e||"自动"===e}var vi=function(){return _e((function e(c,t){var a=this;ye(this,e),this._startPlay=!1,this.bitrateMap={},this.defIdMap={},this.canplayHandler=function(){a._startPlay=!0},this.updateABRDownSpeed=function(e){e.eventName===qr.SPEED&&(a._abrInstance.updateBufferInfo(),a._abrInstance.getPreloadBitrate())},this._onAbrChange=function(e,c,t,r){var n=a._plugin,i=n.player,d=n.core,o=a.bitrateMap[e],s=a.bitrateMap[c],f=null==o?void 0:o.definition,b=s&&s.definition?s.definition:f,u=i.getBufferedRange(),l=Array.isArray(u)?u[1]:i.currentTime;null===(null==d?void 0:d.abrSwitchPoint)||f===b||!a._startPlay||i.duration>0&&i.duration-l<2?a.abrInstance.bitrate!==e&&a.abrInstance.updateBitrate(e):(a._abrSwitchHandler(s),i.emit("ABR_CHANGE",{prev:f,cur:b,prevName:o.definitionName,curName:s.definitionName,abrInfo:r}))},this._onAutoDescChange=function(e){var c=e.definition,t=e.reset,r=e.fps,n=e.item;a.updateAutoDefiDesc(c,t,r,n)};var r=c.player;this._plugin=c,this._abrSwitchHandler=t;var n=c.config.autoBitrateOpts||{};this.isPlayAutoDef=!!n.isPlayAutoDefi,this.isOpenAutoDef=!!n.isOpenAutoDefi,this.isCurrentAutoDef=this.isOpenAutoDef&&this.isPlayAutoDef,r.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(De().mark((function e(c){var t,a,r,n,i,d=this;return De().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 t=this._plugin,a=t.player,r=t.config,n=r.autoBitrateOpts||{},a.on(ii.UPDATE_AUTO_DESC,this._onAutoDescChange),a.on(ii.ABR_CHANGE,this._onAbrChange),this.bitrateMap={},this.defIdMap={},i=c.video.map((function(e){return{bandwidth:e.bitrate,height:e.height,width:e.width,codecs:e.codecs,definition:e.definition}})),"boolean"!=typeof n.autoRestartAbr&&(n.autoRestartAbr=!0),"boolean"!=typeof n.stillRunWhenPaused&&(n.stillRunWhenPaused=!0),this._abrInstance=new oi(a,r,0,{dynamic_video_list:Le(i)},5e3,{logger:function(e){for(var c=arguments.length,t=new Array(c>1?c-1:0),a=1;a<c;a++)t[a-1]=arguments[a];hi.apply(void 0,[d._plugin.logger,1,e].concat(t))},openLog:bi}),e.next=14,this._abrInstance.init(c);case 14:this._abrInstance.isCurrentInAbr=this.isCurrentAutoDef;case 15:case"end":return e.stop()}}),e,this)}))),function(c){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 c=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,r=this._plugin,n=r.player,i=(r.config.autoBitrateOpts||{}).autoDefiText||"auto";this.curDefinition={definition:"自动 ".concat(e),item:a},n.emit("ABR_AUTO_DESC_CHANGE",i,c?void 0:e,t,a)}},{key:"updateAbrCacheData",value:function(){var e,c=this,t=this._plugin,a=t.player,r=t.config,n=t.playerConfig,i=r.autoBitrateOpts||{},d=(null===(e=n.definition)||void 0===e?void 0:e.list)||[],o=!1;if(d.forEach((function(e){var t=c.isAutoDefValue(e.definition);t&&(o=!0),e.bitrate&&(t||c.bitrateMap[e.bitrate]||(c.bitrateMap[e.bitrate]={url:e.url,definition:e.definition,definitionName:e.text},c.defIdMap[e.definition]={bitrate:e.bitrate,definition:e.definition}))})),this.isOpenAutoDef&&!o&&n.definition&&a.curDefinition){var s,f=i.autoDefiText||"auto",b={definition:"auto",bitrate:a.curDefinition.bitrate,text:f,url:"__auto__",selected:this.isPlayAutoDef,name:"自动",vwidth:a.curDefinition.vwidth,vheight:a.curDefinition.vheight};null===(s=n.definition)||void 0===s||s.list.push(b)}}},{key:"isAutoDefValue",value:function(e){return pi(e)}},{key:"destroy",value:function(){var e=this._plugin.player;e.off(ii.ABR_CHANGE,this._onAbrChange),e.off("playing",this.canplayHandler),e.off("core_event",this.updateABRDownSpeed),this._abrInstance&&(e.off(ii.UPDATE_AUTO_DESC,this._onAutoDescChange),this._abrInstance.destroy()),this.defIdMap={},this.bitrateMap={}}}]);var e}();function yi(e){e.root&&ue.Util.addClass(e.root,"xgplayer-is-enter")}function mi(e){e.root&&ue.Util.removeClass(e.root,"xgplayer-is-enter")}function gi(e,c,t){if(e&&c&&t){var a=Object.getOwnPropertyDescriptor(e,c);null!=a&&a.configurable?delete e[c]:a&&!a.writable||(e[c]=t)}}var _i=function(e){var c={};function t(a){if(c[a])return c[a].exports;var r=c[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=c,t.d=function(e,c,a){t.o(e,c)||Object.defineProperty(e,c,{enumerable:!0,get:a})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,c){if(1&c&&(e=t(e)),8&c)return e;if(4&c&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(t.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&c&&"string"!=typeof e)for(var r in e)t.d(a,r,function(c){return e[c]}.bind(null,r));return a},t.n=function(e){var c=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(c,"a",c),c},t.o=function(e,c){return Object.prototype.hasOwnProperty.call(e,c)},t.p="",t(t.s=22)}([function(e,c,t){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},function(e,c,t){var a=t(12)("wks"),r=t(13),n=t(0).Symbol,i="function"==typeof n;(e.exports=function(e){return a[e]||(a[e]=i&&n[e]||(i?n:r)("Symbol."+e))}).store=a},function(e,c,t){var a=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=a)},function(e,c,t){var a=t(4);e.exports=function(e){if(!a(e))throw TypeError(e+" is not an object!");return e}},function(e,c,t){var a="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":a(e))?null!==e:"function"==typeof e}},function(e,c,t){var a=t(6);e.exports=function(e,c,t){if(a(e),void 0===c)return e;switch(t){case 1:return function(t){return e.call(c,t)};case 2:return function(t,a){return e.call(c,t,a)};case 3:return function(t,a,r){return e.call(c,t,a,r)}}return function(){return e.apply(c,arguments)}}},function(e,c,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,c,t){e.exports=!t(15)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,c,t){var a={}.toString;e.exports=function(e){return a.call(e).slice(8,-1)}},function(e,c,t){var a=t(3),r=t(26),n=t(27),i=Object.defineProperty;c.f=t(7)?Object.defineProperty:function(e,c,t){if(a(e),c=n(c,!0),a(t),r)try{return i(e,c,t)}catch(d){}if("get"in t||"set"in t)throw TypeError("Accessors not supported!");return"value"in t&&(e[c]=t.value),e}},function(e,c,t){e.exports=!1},function(e,c,t){var a=t(8),r=t(1)("toStringTag"),n="Arguments"==a(function(){return arguments}());e.exports=function(e){var c,t,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,c){try{return e[c]}catch(t){}}(c=Object(e),r))?t:n?a(c):"Object"==(i=a(c))&&"function"==typeof c.callee?"Arguments":i}},function(e,c,t){var a=t(2),r=t(0),n=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,c){return n[e]||(n[e]=void 0!==c?c:{})})("versions",[]).push({version:a.version,mode:t(10)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,c,t){var a=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++a+r).toString(36))}},function(e,c,t){var a=t(9),r=t(28);e.exports=t(7)?function(e,c,t){return a.f(e,c,r(1,t))}:function(e,c,t){return e[c]=t,e}},function(e,c,t){e.exports=function(e){try{return!!e()}catch(c){return!0}}},function(e,c,t){var a=t(4),r=t(0).document,n=a(r)&&a(r.createElement);e.exports=function(e){return n?r.createElement(e):{}}},function(e,c,t){var a=t(0),r=t(14),n=t(18),i=t(13)("src"),d=t(29),o=(""+d).split("toString");t(2).inspectSource=function(e){return d.call(e)},(e.exports=function(e,c,t,d){var s="function"==typeof t;s&&(n(t,"name")||r(t,"name",c)),e[c]!==t&&(s&&(n(t,i)||r(t,i,e[c]?""+e[c]:o.join(String(c)))),e===a?e[c]=t:d?e[c]?e[c]=t:r(e,c,t):(delete e[c],r(e,c,t)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[i]||d.call(this)}))},function(e,c,t){var a={}.hasOwnProperty;e.exports=function(e,c){return a.call(e,c)}},function(e,c,t){e.exports={}},function(e,c,t){var a,r,n,i=t(5),d=t(38),o=t(39),s=t(16),f=t(0),b=f.process,u=f.setImmediate,l=f.clearImmediate,h=f.MessageChannel,p=f.Dispatch,v=0,y={},m=function(){var e=+this;if(y.hasOwnProperty(e)){var c=y[e];delete y[e],c()}},g=function(e){m.call(e.data)};u&&l||(u=function(e){for(var c=[],t=1;arguments.length>t;)c.push(arguments[t++]);return y[++v]=function(){d("function"==typeof e?e:Function(e),c)},a(v),v},l=function(e){delete y[e]},"process"==t(8)(b)?a=function(e){b.nextTick(i(m,e,1))}:p&&p.now?a=function(e){p.now(i(m,e,1))}:h?(n=(r=new h).port2,r.port1.onmessage=g,a=i(n.postMessage,n,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(a=function(e){f.postMessage(e+"","*")},f.addEventListener("message",g,!1)):a="onreadystatechange"in s("script")?function(e){o.appendChild(s("script")).onreadystatechange=function(){o.removeChild(this),m.call(e)}}:function(e){setTimeout(i(m,e,1),0)}),e.exports={set:u,clear:l}},function(e,c,t){var a=t(6);function r(e){var c,t;this.promise=new e((function(e,a){if(void 0!==c||void 0!==t)throw TypeError("Bad Promise constructor");c=e,t=a})),this.resolve=a(c),this.reject=a(t)}e.exports.f=function(e){return new r(e)}},function(e,c,t){e.exports=t(23)},function(e,c,t){Object.defineProperty(c,"__esModule",{value:!0}),t(24);var a,r=(a=t(48))&&a.__esModule?a:{default:a};c.default={url:r.default},e.exports=c.default},function(e,c,t){var a,r,n,i,d=t(10),o=t(0),s=t(5),f=t(11),b=t(25),u=t(4),l=t(6),h=t(30),p=t(31),v=t(37),y=t(20).set,m=t(40)(),g=t(21),_=t(41),k=t(42),E=t(43),S=o.TypeError,w=o.process,x=w&&w.versions,T=x&&x.v8||"",A=o.Promise,I="process"==f(w),D=function(){},O=r=g.f,R=!!function(){try{var e=A.resolve(1),c=(e.constructor={})[t(1)("species")]=function(e){e(D,D)};return(I||"function"==typeof PromiseRejectionEvent)&&e.then(D)instanceof c&&0!==T.indexOf("6.6")&&-1===k.indexOf("Chrome/66")}catch(a){}}(),L=function(e){var c;return!(!u(e)||"function"!=typeof(c=e.then))&&c},C=function(e,c){if(!e._n){e._n=!0;var t=e._c;m((function(){for(var a=e._v,r=1==e._s,n=0,i=function(c){var t,n,i,d=r?c.ok:c.fail,o=c.resolve,s=c.reject,f=c.domain;try{d?(r||(2==e._h&&M(e),e._h=1),!0===d?t=a:(f&&f.enter(),t=d(a),f&&(f.exit(),i=!0)),t===c.promise?s(S("Promise-chain cycle")):(n=L(t))?n.call(t,o,s):o(t)):s(a)}catch(b){f&&!i&&f.exit(),s(b)}};t.length>n;)i(t[n++]);e._c=[],e._n=!1,c&&!e._h&&P(e)}))}},P=function(e){y.call(o,(function(){var c,t,a,r=e._v,n=j(e);if(n&&(c=_((function(){I?w.emit("unhandledRejection",r,e):(t=o.onunhandledrejection)?t({promise:e,reason:r}):(a=o.console)&&a.error&&a.error("Unhandled promise rejection",r)})),e._h=I||j(e)?2:1),e._a=void 0,n&&c.e)throw c.v}))},j=function(e){return 1!==e._h&&0===(e._a||e._c).length},M=function(e){y.call(o,(function(){var c;I?w.emit("rejectionHandled",e):(c=o.onrejectionhandled)&&c({promise:e,reason:e._v})}))},B=function(e){var c=this;c._d||(c._d=!0,(c=c._w||c)._v=e,c._s=2,c._a||(c._a=c._c.slice()),C(c,!0))},U=function e(c){var t,a=this;if(!a._d){a._d=!0,a=a._w||a;try{if(a===c)throw S("Promise can't be resolved itself");(t=L(c))?m((function(){var r={_w:a,_d:!1};try{t.call(c,s(e,r,1),s(B,r,1))}catch(n){B.call(r,n)}})):(a._v=c,a._s=1,C(a,!1))}catch(r){B.call({_w:a,_d:!1},r)}}};R||(A=function(e){h(this,A,"Promise","_h"),l(e),a.call(this);try{e(s(U,this,1),s(B,this,1))}catch(c){B.call(this,c)}},(a=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=t(44)(A.prototype,{then:function(e,c){var t=O(v(this,A));return t.ok="function"!=typeof e||e,t.fail="function"==typeof c&&c,t.domain=I?w.domain:void 0,this._c.push(t),this._a&&this._a.push(t),this._s&&C(this,!1),t.promise},catch:function(e){return this.then(void 0,e)}}),n=function(){var e=new a;this.promise=e,this.resolve=s(U,e,1),this.reject=s(B,e,1)},g.f=O=function(e){return e===A||e===i?new n(e):r(e)}),b(b.G+b.W+b.F*!R,{Promise:A}),t(45)(A,"Promise"),t(46)("Promise"),i=t(2).Promise,b(b.S+b.F*!R,"Promise",{reject:function(e){var c=O(this);return(0,c.reject)(e),c.promise}}),b(b.S+b.F*(d||!R),"Promise",{resolve:function(e){return E(d&&this===i?A:this,e)}}),b(b.S+b.F*!(R&&t(47)((function(e){A.all(e).catch(D)}))),"Promise",{all:function(e){var c=this,t=O(c),a=t.resolve,r=t.reject,n=_((function(){var t=[],n=0,i=1;p(e,!1,(function(e){var d=n++,o=!1;t.push(void 0),i++,c.resolve(e).then((function(e){o||(o=!0,t[d]=e,--i||a(t))}),r)})),--i||a(t)}));return n.e&&r(n.v),t.promise},race:function(e){var c=this,t=O(c),a=t.reject,r=_((function(){p(e,!1,(function(e){c.resolve(e).then(t.resolve,a)}))}));return r.e&&a(r.v),t.promise}})},function(e,c,t){var a=t(0),r=t(2),n=t(14),i=t(17),d=t(5),o=function e(c,t,o){var s,f,b,u,l=c&e.F,h=c&e.G,p=c&e.P,v=c&e.B,y=h?a:c&e.S?a[t]||(a[t]={}):(a[t]||{}).prototype,m=h?r:r[t]||(r[t]={}),g=m.prototype||(m.prototype={});for(s in h&&(o=t),o)b=((f=!l&&y&&void 0!==y[s])?y:o)[s],u=v&&f?d(b,a):p&&"function"==typeof b?d(Function.call,b):b,y&&i(y,s,b,c&e.U),m[s]!=b&&n(m,s,u),p&&g[s]!=b&&(g[s]=b)};a.core=r,o.F=1,o.G=2,o.S=4,o.P=8,o.B=16,o.W=32,o.U=64,o.R=128,e.exports=o},function(e,c,t){e.exports=!t(7)&&!t(15)((function(){return 7!=Object.defineProperty(t(16)("div"),"a",{get:function(){return 7}}).a}))},function(e,c,t){var a=t(4);e.exports=function(e,c){if(!a(e))return e;var t,r;if(c&&"function"==typeof(t=e.toString)&&!a(r=t.call(e)))return r;if("function"==typeof(t=e.valueOf)&&!a(r=t.call(e)))return r;if(!c&&"function"==typeof(t=e.toString)&&!a(r=t.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,c,t){e.exports=function(e,c){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:c}}},function(e,c,t){e.exports=t(12)("native-function-to-string",Function.toString)},function(e,c,t){e.exports=function(e,c,t,a){if(!(e instanceof c)||void 0!==a&&a in e)throw TypeError(t+": incorrect invocation!");return e}},function(e,c,t){var a=t(5),r=t(32),n=t(33),i=t(3),d=t(34),o=t(36),s={},f={},b=e.exports=function(e,c,t,b,u){var l,h,p,v,y=u?function(){return e}:o(e),m=a(t,b,c?2:1),g=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(n(y)){for(l=d(e.length);l>g;g++)if((v=c?m(i(h=e[g])[0],h[1]):m(e[g]))===s||v===f)return v}else for(p=y.call(e);!(h=p.next()).done;)if((v=r(p,m,h.value,c))===s||v===f)return v};b.BREAK=s,b.RETURN=f},function(e,c,t){var a=t(3);e.exports=function(e,c,t,r){try{return r?c(a(t)[0],t[1]):c(t)}catch(i){var n=e.return;throw void 0!==n&&a(n.call(e)),i}}},function(e,c,t){var a=t(19),r=t(1)("iterator"),n=Array.prototype;e.exports=function(e){return void 0!==e&&(a.Array===e||n[r]===e)}},function(e,c,t){var a=t(35),r=Math.min;e.exports=function(e){return e>0?r(a(e),9007199254740991):0}},function(e,c,t){var a=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:a)(e)}},function(e,c,t){var a=t(11),r=t(1)("iterator"),n=t(19);e.exports=t(2).getIteratorMethod=function(e){if(null!=e)return e[r]||e["@@iterator"]||n[a(e)]}},function(e,c,t){var a=t(3),r=t(6),n=t(1)("species");e.exports=function(e,c){var t,i=a(e).constructor;return void 0===i||null==(t=a(i)[n])?c:r(t)}},function(e,c,t){e.exports=function(e,c,t){var a=void 0===t;switch(c.length){case 0:return a?e():e.call(t);case 1:return a?e(c[0]):e.call(t,c[0]);case 2:return a?e(c[0],c[1]):e.call(t,c[0],c[1]);case 3:return a?e(c[0],c[1],c[2]):e.call(t,c[0],c[1],c[2]);case 4:return a?e(c[0],c[1],c[2],c[3]):e.call(t,c[0],c[1],c[2],c[3])}return e.apply(t,c)}},function(e,c,t){var a=t(0).document;e.exports=a&&a.documentElement},function(e,c,t){var a=t(0),r=t(20).set,n=a.MutationObserver||a.WebKitMutationObserver,i=a.process,d=a.Promise,o="process"==t(8)(i);e.exports=function(){var e,c,t,s=function(){var a,r;for(o&&(a=i.domain)&&a.exit();e;){r=e.fn,e=e.next;try{r()}catch(n){throw e?t():c=void 0,n}}c=void 0,a&&a.enter()};if(o)t=function(){i.nextTick(s)};else if(!n||a.navigator&&a.navigator.standalone)if(d&&d.resolve){var f=d.resolve(void 0);t=function(){f.then(s)}}else t=function(){r.call(a,s)};else{var b=!0,u=document.createTextNode("");new n(s).observe(u,{characterData:!0}),t=function(){u.data=b=!b}}return function(a){var r={fn:a,next:void 0};c&&(c.next=r),e||(e=r,t()),c=r}}},function(e,c,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(c){return{e:!0,v:c}}}},function(e,c,t){var a=t(0).navigator;e.exports=a&&a.userAgent||""},function(e,c,t){var a=t(3),r=t(4),n=t(21);e.exports=function(e,c){if(a(e),r(c)&&c.constructor===e)return c;var t=n.f(e);return(0,t.resolve)(c),t.promise}},function(e,c,t){var a=t(17);e.exports=function(e,c,t){for(var r in c)a(e,r,c[r],t);return e}},function(e,c,t){var a=t(9).f,r=t(18),n=t(1)("toStringTag");e.exports=function(e,c,t){e&&!r(e=t?e:e.prototype,n)&&a(e,n,{configurable:!0,value:c})}},function(e,c,t){var a=t(0),r=t(9),n=t(7),i=t(1)("species");e.exports=function(e){var c=a[e];n&&c&&!c[i]&&r.f(c,i,{configurable:!0,get:function(){return this}})}},function(e,c,t){var a=t(1)("iterator"),r=!1;try{var n=[7][a]();n.return=function(){r=!0},Array.from(n,(function(){throw 2}))}catch(i){}e.exports=function(e,c){if(!c&&!r)return!1;var t=!1;try{var n=[7],i=n[a]();i.next=function(){return{done:t=!0}},n[a]=function(){return i},e(n)}catch(d){}return t}},function(e,c,t){Object.defineProperty(c,"__esModule",{value:!0});var a="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};c.default=function(e,c,t){if(e&&c){var r=void 0;try{r=(0,n.getUri)(e,c,t)}catch(d){return Promise.reject(d.message)}return new i.default({type:"json",method:"GET",url:r}).then((function(e){return e&&e.response?"string"==typeof e.response?JSON.parse(e.response).Result:"object"===a(e.response)?e.response.Result:e.response:e}))}return Promise.reject("vid, host and token can't be empty")};var r,n=t(49),i=(r=t(51))&&r.__esModule?r:{default:r};e.exports=c.default},function(e,c,t){Object.defineProperty(c,"__esModule",{value:!0}),c.getUri=function(e,c){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{e=JSON.parse((0,a.decode)(e))}catch(d){throw new Error("base64 decode error: "+d.message)}var r=[];for(var n in t)r.push(n+"="+t[n]);var i=(/^http/.test(c)?c:"//"+c)+"?"+e.GetPlayInfoToken+"&ssl=true";return r.length>0&&(i+="&"+r.join("&")),i};var a=t(50)},function(e,c,t){Object.defineProperty(c,"__esModule",{value:!0}),c.decode=function(e){var c,t,a,r,n,i,d,o=[-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(i=e.length,n=0,d="";n<i;){do{c=o[255&e.charCodeAt(n++)]}while(n<i&&-1===c);if(-1===c)break;do{t=o[255&e.charCodeAt(n++)]}while(n<i&&-1===t);if(-1===t)break;d+=String.fromCharCode(c<<2|(48&t)>>4);do{if(61==(a=255&e.charCodeAt(n++)))return d;a=o[a]}while(n<i&&-1===a);if(-1===a)break;d+=String.fromCharCode((15&t)<<4|(60&a)>>2);do{if(61==(r=255&e.charCodeAt(n++)))return d;r=o[r]}while(n<i&&-1===r);if(-1===r)break;d+=String.fromCharCode((3&a)<<6|r)}return d}},function(e,c,t){Object.defineProperty(c,"__esModule",{value:!0}),c.default=function e(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=c.url,a=c.method,r=void 0===a?"GET":a,n=(c.type,c.data),i=void 0===n?{}:n,d=c.headers,o=void 0===d?{}:d;return function(e,c){if(!(e instanceof c))throw new TypeError("Cannot call a class as a function")}(this,e),new Promise((function(e,c){var a=new window.XMLHttpRequest,n=r.toUpperCase(),d=[];for(var s in i)d.push(s+"="+i[s]);if("GET"!==n)throw new Error("xhr "+n+" is not supported");for(var f in a.open(n,""+t,!0),a.responseType="",o)a.setRequestHeader(f,""+o[f]);a.send(),a.onload=function(){200===a.status||206===a.status?e(a):c(a)},a.onerror=function(){c(a)},a.ontimeout=function(){c(a)}}))},e.exports=c.default}]),ki=Me(_i);function Ei(e,c){return Si.apply(this,arguments)}function Si(){return(Si=pe(De().mark((function e(c,t){return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){hi("service request: ".concat(t,", ").concat(c)),ki.url(c,t).then((function(c){var t=[],a=(null==c?void 0:c.Data)||c;hi("service response: ".concat(a?JSON.stringify({Status:a.Status,vid:a.VideoID}):void 0)),null!=a&&a.PlayInfoList&&a.PlayInfoList.length>0?(t=a.PlayInfoList,e({videoList:t,vid:a.VideoID,rawData:c})):(console.error("HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN."),e({videoList:[],rawData:c}))}))})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wi(e){if(e.sort((function(e,c){return c.Bitrate-e.Bitrate})),e[0].Bitrate){var c=0;e.every((function(t,a){return e[0].Bitrate===t.Bitrate&&(c=a,!0)})),c>0&&e.splice(c)}return e}function xi(e,c,t){var a=t||[];if(e.sort((function(e,c){return c.Bitrate-e.Bitrate})),e[0].Bitrate){var r=0;e.every((function(c,t){return e[0].Bitrate===c.Bitrate&&(r=t,!0)})),r>0&&e.splice(r)}e.forEach((function(e){var c,t,r={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},n=function(e,c){for(var t=0;t<c.length;t++)if(e.Definition.toLocaleLowerCase()===c[t].definition.toLocaleLowerCase())return t;return-1}(e,a);n>=0?(c=r,(t=a[n])||(t=c),Object.keys(c).map((function(e){t[e]=c[e]}))):a.push(r)}));var n=-1;if(c)for(var i=0;i<e.length;i++)e[i].Definition.toLocaleLowerCase()===c.toLocaleLowerCase()&&(n=i);return n<0&&(n=0),t[n]&&(t[n].selected=!0),{index:n,list:a}}var Ti=function(){return _e((function e(c,t){ye(this,e),this.timeID=void 0,this.func=c,this.frequency=t}),[{key:"repeat",value:function(){var e=this,c=this.func,t=this.frequency;c&&t&&(this.timeID=setTimeout((function(){c(),e.repeat()}),t))}},{key:"cancel",value:function(){this.timeID&&(clearTimeout(this.timeID),this.timeID=void 0)}}])}();function Ai(e,c,t){function a(e,c){var t=parseInt(e.slice(c,c+2),16);return t>>>7==0?[1,t]:t>>>6==2?(t=(63&t)<<8,[2,t+=parseInt(e.slice(c+2,c+4),16)]):(t=(63&t)<<16,[3,t+=parseInt(e.slice(c+2,c+6),16)])}var r,n=0,i=[],d=[];for(r=0;r<4;++r)n+=(3&parseInt(e.slice(8+2*r,10+2*r),16))<<2*r;var o=parseInt(e.slice(16,24),16),s=2*parseInt(e.slice(32,40),16);for(r=40;r<s+40;r+=2)i.push(parseInt(e.slice(r,r+2),16));var f=s+40,b=parseInt(e.slice(f,f+4),16);for(f+=4,r=0;r<b;++r){var u=a(e,f);f+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=a(e,f);l+=String.fromCharCode(n^p[1]),f+=2*p[0]}d.push(l)}return c.p=null,function e(c,t,a,r,n){var o,s,f,b,u,l=-1,h=[],p=[0,null],v=null,y=[t];for(s=Math.min(t.length,a),f=0;f<s;++f)y.push(t[f]);y.p=r;for(var m=[];;)try{switch(i[c++]){case 48:o=i[c++],h[++l]=o<<24>>24;break;case 7:o=((o=((o=i[c++])<<8)+i[c++])<<8)+i[c++],h[++l]=(o<<8)+i[c++];break;case 14:o=(i[c]<<8)+i[c+1],c+=2,h[++l]=d[o];break;case 63:h[++l]=void 0;break;case 59:h[++l]=n;break;case 3:o=(i[c]<<8)+i[c+1],c+=2,l=l-o+1,s=h.slice(l,l+o),h[l]=s;break;case 66:h[++l]={};break;case 1:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],f=h[l--],h[l][s]=f;break;case 43:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;h[++l]=b[f];break;case 20:o=(i[c]<<8)+i[c+1],c+=2,s=d[o],h[l]=h[l][s];break;case 42:s=h[l--],h[l]=h[l][s];break;case 32:for(s=i[c++],f=i[c++],b=y;s>0;--s)b=b.p;b[f]=h[l--];break;case 53:s=h[l--],h[l]+=s;break;case 15:s=h[l--],h[l]=h[l]===s;break;case 18:s=h[l--],h[l]=h[l]!==s;break;case 2:s=h[l--],h[l]=h[l]>s;break;case 44:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?--l:c+=o;break;case 50:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,h[l]?c+=o:--l;break;case 8:o=i[c++],s=h[l--],(f=function e(){var c=e._v;return(0,e._u)(c[0],arguments,c[1],c[2],this)})._v=[s,o,y],f._u=e,h[++l]=f;break;case 40:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])[1]=c+o;break;case 69:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=m[m.length-1])&&!s[1]?(s[0]=3,s.push(c)):m.push([1,0,c]),c+=o;break;case 12:if(f=(s=m.pop())[0],b=p[0],1===f)c=s[1];else if(0===f)if(0===b)c=s[1];else{if(1!==b)throw p[1];if(!v)return p[1];c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else c=s[2],s[0]=0,m.push(s);break;case 27:for(s=h[l--],f=null;b=m.pop();)if(2===b[0]||3===b[0]){f=b;break}if(f)p=[1,s],c=f[2],f[0]=0,m.push(f);else{if(!v)return s;c=v[1],n=v[2],y=v[3],m=v[4],h[++l]=s,p=[0,null],v=v[0]}break;case 5:l-=o=i[c++],f=h.slice(l+1,l+o+1),s=h[l--],b=h[l--],s._u===e?(s=s._v,v=[v,c,n,y,m],c=s[0],null==b&&(b=function(){return this}()),n=b,(y=[f].concat(f)).length=Math.min(s[1],o)+1,y.p=s[2],m=[]):(u=s.apply(b,f),h[++l]=u);break;case 49:for(o=i[c++],b=[void 0],u=o;u>0;--u)b[u]=h[l--];f=h[l--],u=new(s=Function.bind.apply(f,b)),h[++l]=u;break;case 45:c+=2+(o=(o=(i[c]<<8)+i[c+1])<<16>>16);break;case 70:o=(o=(i[c]<<8)+i[c+1])<<16>>16,c+=2,(s=h[l--])||(c+=o);break;case 29:--l;break;case 30:s=h[l],h[++l]=s;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(o=m.pop())&&!o[0];);if(!o){e:for(;v;){for(s=v[4];o=s.pop();)if(o[0])break e;v=v[0]}if(!v)throw g;c=v[1],n=v[2],y=v[3],m=v[4],v=v[0]}1===(s=o[0])?(c=o[2],o[0]=0,m.push(o),h[++l]=g):2===s?(c=o[2],o[0]=0,m.push(o),p=[3,g]):(c=o[3],o[0]=2,m.push(o),h[++l]=g)}}(o,[],0,c,t)}var Ii=["eventName"],Di=null,Oi=null,Ri=function(){function e(){var c,t;ye(this,e);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return(c=ve(this,e,[].concat(r))).abrService=null,c._currentPlaySessionId=-1,Di||(Di=c.player._startInit),Oi||(Oi=c.player.playNext),ue.BasePlugin.defineGetterOrSetter(c.player,(t=c,{downloadSpeed:{get:function(){return t.core.speedInfo().speed/8e3},configurable:!0},historyAvspeed:{get:function(){return t.core.speedInfo().avgSpeed/8e3},configurable:!0},abrInstance:{get:function(){var e;return null===(e=t.abrService)||void 0===e?void 0:e.abrInstance},configurable:!0},logCache:{get:function(){if(t.logger)return t.logger.getLogCache()},configurable:!0},currentDefinitionFromPlayer:{get:function(){var e;return null!=t&&null!==(e=t.abrService)&&void 0!==e&&e.isCurrentInAbr()?t.abrService.curDefinition:t.player.curDefinition},configurable:!0}})),ue.BasePlugin.defineMethod(c.player,function(e){var c=e.player,t=e.playerConfig,a=Object.getOwnPropertyDescriptor(c,"switchURL");null!=a&&a.configurable&&delete c.switchURL;var r=0;return{playNext:function(a){var n,i=++r;e._currentPlaySessionId=i;var d=c.paused;c.pause(),c.hasStart=!1,c.curDefinition=null,["url","vid","kid","playAuthToken","keyToken","startTime","secretKey"].forEach((function(c){e.config[c]=void 0})),t.url=void 0,t.definition&&(t.definition={list:[]}),Object.keys(a).map((function(c){c.toLocaleLowerCase()===e.pluginName.toLocaleLowerCase()?"Object"===ue.Util.typeOf(a[c])&&Object.keys(a[c]).map((function(t){e.config[t]=a[c][t]})):t[c]=a[c]})),t.autoplay="boolean"==typeof a.autoplay?a.autoplay:!d,e.getUrlTime=(new Date).getTime()/1e3,null===(n=e.abrService)||void 0===n||n.destroy(),e.abrService=null,e.isNativeMode?e.start(void 0,{playSessionId:i}):new Promise((function(c){e.hls?c(void 0):setTimeout((function(){c(void 0)}),0)})).then((function(){e.isPlaySessionValid(i)&&e.hls.detachMedia().then((function(){e.isPlaySessionValid(i)&&e.start(void 0,{playSessionId:i})}))}))},_startInit:function(){e.start()},switchURL:function(c,t){return pe(De().mark((function a(){var r,n,i,d,o,s,f;return De().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:if(r=e.player,n=e.hls,i=e.isNativeMode,d=r.paused,o=Rn(t,e),s=++e._currentPlaySessionId,!n&&!i){a.next=11;break}return r.config.url=c,o.seamless||(yi(r),i&&((f=r.media||r.video).removeAttribute("src"),f.load(),o.startTime>0&&(r.currentTime=o.startTime))),a.next=9,e.start(c,{switchUrlArgs:o,playSessionId:s});case 9:if(e.isPlaySessionValid(s)){a.next=11;break}return a.abrupt("return");case 11:return a.abrupt("return",new Promise((function(e){var c=function(){mi(r),d?r.once("playing",(function(){r.pause(),e()})):e()};o.seamless?e():(ue.Sniffer.os.isAndroid?r.once("timeupdate",(function(){c()})):r.once("canplay",(function(){c()})),i&&!d&&r.play())})));case 12:case"end":return a.stop()}}),a)})))()},changeDefinition:function(c,t){var a,r,n,i,d,o,s,f,b,u,l,h=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=e.player,v=e.playerConfig,y=e.abrService,m=e.isNativeMode,g=p.config.definition,_="自动"===(null===(a=c)||void 0===a?void 0:a.definition)||"auto"===(null===(r=c)||void 0===r?void 0:r.definition);if(!t&&p.curDefinition&&(t=p.curDefinition),Array.isArray(null==g?void 0:g.list)&&g.list.forEach((function(e){var t,a;h?!pi(e.definition)&&(null===(t=c)||void 0===t?void 0:t.bitrate)===e.bitrate&&p.curDefinition&&(p.curDefinition.bitrate=e.bitrate,"number"==typeof e.height&&"number"==typeof e.width&&(p.curDefinition.height=e.height,p.curDefinition.width=e.width)):(null===(a=c)||void 0===a?void 0:a.definition)===e.definition&&(p.curDefinition=e)})),null!==(n=c)&&void 0!==n&&n.bitrate&&"number"!=typeof c.bitrate&&(c.bitrate=parseInt(c.bitrate,10)||0),!h&&!_){var k,E=null===(k=v.definition)||void 0===k?void 0:k.list;if(E&&(!c.bitrate||!c.uri||!c.size||!c.duration))for(var S=0;S<E.length;S++)if(c.definition===E[S].definition){var w;c.bitrate=E[S].bitrate,c.uri=E[S].uri||(null===(w=t)||void 0===w?void 0:w.uri),c.size=E[S].size,c.duration=E[S].duration||v.duration;break}}h?e.log("[switchBitrate:ABR] switch bitrate to ".concat(c.definition,", ").concat(null===(o=t)||void 0===o?void 0:o.bitrate,"->").concat(c.bitrate),e.core.abrSwitchPoint,_):(p.emit(ue.Events.DEFINITION_CHANGE,{from:t,to:c}),_&&p.curDefinition&&pi(null===(f=c=p.curDefinition)||void 0===f?void 0:f.definition)&&"number"==typeof(null===(b=t)||void 0===b?void 0:b.bitrate)&&t.bitrate>0&&(c.bitrate=null===(u=t)||void 0===u?void 0:u.bitrate),_?(null==y||y.enable(),y&&"number"==typeof(null===(l=t)||void 0===l?void 0:l.bitrate)&&t.bitrate>0&&(y.bitrate=t.bitrate)):null==y||y.disable(),e.log("[switchBitrate:CBS] switch bitrate to ".concat(c.definition,", ").concat(null===(s=t)||void 0===s?void 0:s.bitrate,"->").concat(c.bitrate)));if(!(!h&&_||h&&!e.core.abrSwitchPoint||h&&(null===(i=c)||void 0===i?void 0:i.bitrate)===(null===(d=t)||void 0===d?void 0:d.bitrate)))if(p.hasStart){h||(p.curDefinition=c);var x=h?e.core.abrSwitchPoint:p.currentTime,T=p.getBufferedRange(),A=Array.isArray(T)?T[1]:-1;e.log("beforeSwitchURL: ".concat(c.url,", isAbrSwitch: ").concat(h,", targetTime: ").concat(x),"duration: ".concat(p.duration,", bufferEnd: ").concat(A));var I=p.switchURL(c.url,Ae({seamless:!m&&(!1!==(null==g?void 0:g.seamless)&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported||h),currentTime:x},c));I&&I.then?I.then((function(){h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:t,to:c})})):h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:t,to:c})}else p.config.url=c.url}}}(c)),c}return we(e,Ln),_e(e,[{key:"versionNum",get:function(){return Ri.semver.major}},{key:"beforePlayerInit",value:function(){var c=this;this.log("beforePlayerInit"),this.player;var t=this.playerConfig,a=this.config,r=Un.isMobile(a.preferMMS);this.isNativeMode=!(!r&&(void 0===a.useHls||a.useHls)),this.getUrlTime=(new Date).getTime()/1e3,this.hlsOpts=a.hlsOpts||{},this.hlsTimer=new Ti((function(){c._detectExpires()}),a.checkExpireInterval),t.hls||(t.hls={}),t.hls.preferMMS=!!a.preferMMS,t.hls.preferMMSStreaming=!!a.preferMMSStreaming,t.hls.fetchOptions||(t.hls.fetchOptions={}),a.netAllowCredentials&&(t.hls.fetchOptions.credentials="include"),a.maxBufferLength>0&&(t.hls.preloadTime=a.maxBufferLength),this.isNativeMode||t.hls.decryptor||(t.hls.decryptor=new Ue({enableSoftwareAES:!!this.hlsOpts.enableSoftwareAES})),!this.isNativeMode&&this._mseEnvValid()&&(t.url&&(a.url=t.url,t.url=""),t.__allowHlsEmptyUrl__=!0,Re(e,"beforePlayerInit",this,3)([])),this._bindEvents()}},{key:"_bindEvents",value:function(){var e=this,c=this.config,t=this.player;this.isNativeMode||t.once("playing",(function(){var e=t.media||t.video,c=!1,a=e.querySelector("track");a&&("hidden"===a.track.mode&&(c=!0),a.track.mode="hidden",e.removeChild(a)),t.config.textTrack&&t.config.textTrack.length>0&&t.config.textTrack.some((function(t){if(t.src&&t.label&&t.default){var a=document.createElement("track");return a.src=t.src,a.kind=t.kind,a.label=t.label,a.srclang=t.srclang,a.default=!0,e.appendChild(a),c&&(a.track.mode="hidden"),!0}}))})),c.checkHlsOffline&&Un.on(this,"timeupdate",(function(){e._checkOffline()}),"destroy"),Un.on(t,"loadeddata",(function(){var c,t;e.isNativeMode||(null!==(c=e.abrService)&&void 0!==c&&c.isCurrentInAbr()&&e.abrService.enable(),null===(t=e.abrService)||void 0===t||t.execute())}),"destroy"),Un.on(t,"error",(function(){var c;null===(c=e.hlsTimer)||void 0===c||c.cancel()}),"destroy"),Un.on(t,"core_event",(function(c){var a=c.eventName,r=Ie(c,Ii);switch(a){case qr.STREAM_PARSED:var n,i,d=null===(n=e.core)||void 0===n?void 0:n.currentStream;d&&!d.bitrate&&null!==(i=t.curDefinition)&&void 0!==i&&i.bitrate&&(d.bitrate=t.curDefinition.bitrate);break;case qr.APPEND_BUFFER:var o,s;(null===(o=e.core)||void 0===o?void 0:o.currentStream)&&t.emit("addVideoBufferEnd",{start:r.start,end:r.end,bandwidth:null===(s=t.curDefinition)||void 0===s?void 0:s.bitrate})}}),"destroy")}},{key:"destroy",value:function(){var c;Re(e,"destroy",this,3)([]),this.hlsTimer&&(this.hlsTimer.cancel(),this.hlsTimer=void 0),gi(this.player,"_startInit",Di),gi(this.player,"playNext",Oi),this._playOriginalUrl=null,null===(c=this._secretKey)||void 0===c||c.destroy()}},{key:"log",value:function(e){for(var c=arguments.length,t=new Array(c>1?c-1:0),a=1;a<c;a++)t[a-1]=arguments[a];hi.apply(void 0,[this.logger,2,e].concat(t))}},{key:"_mseEnvValid",value:function(){var e=this.player,c=this.config,t=!1;return qe.checkMSEValid(c.preferMMS)?t=!0:e.emit("error",{msg:"MediaSource or SourceBuffer hijack",errorCode:-9995}),t}},{key:"start",value:(i=pe(De().mark((function e(){var c,t,a,r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g,_,k=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=k.length>0&&void 0!==k[0]?k[0]:"",r=k.length>1&&void 0!==k[1]?k[1]:{},this.log("_start"),n=this.player,i=r.playSessionId,(d=/^blob:/i.test(a))||(this._playOriginalUrl=null),e.prev=7,a){e.next=20;break}return e.next=11,this._getRawManifest({playSessionId:i});case 11:if(o=e.sent,this.isPlaySessionValid(i)){e.next=14;break}return e.abrupt("return");case 14:if(null!=o&&o.url){e.next=16;break}throw new Error("no service url");case 16:a=o.url,this._rawManifestInfo=o,e.next=21;break;case 20:this._rawManifestInfo&&(this._rawManifestInfo.url=a,this._rawManifestInfo.videoList=this._rawManifestInfo.videoList||n.definitionList||[]);case 21:if(s={playSessionId:i},!this._rawManifestInfo){e.next=36;break}if(f=this._rawManifestInfo,b=f.url,u=f.vid,l=f.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 s.vid=u,s.kid=p.kid,s.playAuth=p.playAuth,e.abrupt("break",36);case 33:h++,e.next=26;break;case 36:if(d){e.next=44;break}return this._playOriginalUrl=n.config.url=a,e.next=40,this._getTransformManifestUrl(a,s);case 40:if(v=e.sent,this.isPlaySessionValid(i)&&v){e.next=43;break}return e.abrupt("return");case 43:n.config.url=v.url;case 44:e.next=53;break;case 46:return e.prev=46,e.t0=e.catch(7),y=e.t0.message||e.t0.name||"url transform error",m=e.t0.stack||"",g=e.t0.code||-9996,y===Pn.GetKeyByKeyTokenFail&&(g=-9991),e.abrupt("return",n.emit("error",{errorCode:g,msg:y,errorStack:m}));case 53:if(this.isPlaySessionValid(i)){e.next=55;break}return e.abrupt("return");case 55:a=this.player.config.url,this.isNativeMode||(r.switchUrlArgs?(this.log("hls switchUrl: ".concat(a)),this.hls.switchURL(a,r.switchUrlArgs)):(this.log("hls load: ".concat(a)),this.hls.load(a,{clearSwitchStatus:!0}))),null!==(c=r.switchUrlArgs)&&void 0!==c&&c.seamless||null===(_=Di)||void 0===_||_.call(this.player,a),null===(t=this.hlsTimer)||void 0===t||t.repeat();case 59:case"end":return e.stop()}}),e,this,[[7,46]])}))),function(){return i.apply(this,arguments)})},{key:"_getRawManifest",value:(n=pe(De().mark((function e(c){var t,a,r,n,i,d,o,s,f,b,u,l,h,p,v;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("getRawManifest()"),a=c.playSessionId,r=this.config,n=this.playerConfig,i=r.vid,d=r.playAuthToken,o=r.playDomain,s=r.testUrl,f=r.testUrlExpire,b=r.autoBitrateOpts,u={url:r.url||n.url,playAuthToken:d,vid:i,playDomain:o,testUrl:s,testUrlExpire:f},l=(null===(t=n.definition)||void 0===t?void 0:t.list)||[],h=(null==b?void 0:b.isOpenAutoDefi)&&Array.isArray(l)&&l.filter((function(e){return pi(e.definition)})).length>0,!this.isNativeMode&&h&&(p=this._initAbrDefinition())&&(u.url=p.url),!u.url){e.next=20;break}if(this.log("directUrl: ".concat(u.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!pi(e.definition)})));case 14:if(this.isPlaySessionValid(a)){e.next=16;break}return e.abrupt("return",null);case 16:this._emitResourceReady(l);case 17:return e.abrupt("return",{url:u.url});case 20:if(!d&&!u.vid){e.next=31;break}return e.prev=21,e.next=24,this._playByToken(d,o,{playSessionId:a});case 24:return v=e.sent,e.abrupt("return",v);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 n.apply(this,arguments)})},{key:"_initAbrService",value:(r=pe(De().mark((function e(c){var t,a,r,n,i,d,o=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.player,a=this.playerConfig,r=this.config,!this.isNativeMode&&r.autoBitrateOpts&&r.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return",!1);case 3:return this.abrService||(this.log("new ABRService()"),this.abrService=new vi(this,(function(e){for(var c,r=(null===(c=a.definition)||void 0===c?void 0:c.list)||[],n=0,i=0;i<r.length;i++)if(e.definition===r[i].definition){n=i;break}var d=r.filter((function(e){var c;return e.bitrate===(null===(c=t.curDefinition)||void 0===c?void 0:c.bitrate)&&!pi(e.definition)}))[0],s=r[n];o.log("changeDefinition: ".concat((null==d?void 0:d.definition)||(null==d?void 0:d.text)," -> ").concat(s.definition||s.text)),t.changeDefinition(s,d,!0)}))),this.log("abrService init"),e.next=7,this.abrService.init({video:c.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&&(d=null===(n=a.definition)||void 0===n?void 0:n.list,Array.isArray(d)&&d.length>0&&this.abrService.updateAbrCacheData(),null!==(i=t.curDefinition)&&void 0!==i&&i.bitrate&&(this.abrService.bitrate=t.curDefinition.bitrate)),e.abrupt("return",!0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return r.apply(this,arguments)})},{key:"_initAbrDefinition",value:function(){var e,c,t=this.player,a=this.playerConfig,r=this.config,n=(null===(e=a.definition)||void 0===e?void 0:e.list)||[],i=a.definition&&void 0!==Pe(a.definition.defaultDefinition)?a.definition.defaultDefinition:a.defaultDefinition,d=!(null===(c=r.autoBitrateOpts)||void 0===c||!c.isPlayAutoDefi),o=null;if(n.length>0){var s=n.filter((function(e){return!pi(e.definition)}));o=s.length>0?s.filter((function(e){return e.definition===i}))[0]||s[0]:null,t.curDefinition&&!d||(t.curDefinition=n.filter((function(e){return d?pi(e.definition):e.definition===i}))[0]||null),t.curDefinition.vwidth||Object.assign(t.curDefinition,this._getDefinitionItem(t.curDefinition.definition)),o&&!t.curDefinition.bitrate&&(t.curDefinition.bitrate=o.bitrate)}if(d)for(var f=0;f<n.length;f++){var b=n[f];b.selected=pi(b.definition)}return o}},{key:"_getDefinitionItem",value:function(e){var c=this.playerConfig;if(!c.definition||!c.definition.list)return null;for(var t=0;t<c.definition.list.length;t++){var a=c.definition.list[t];if(a.definition===e)return a}return null}},{key:"_playByToken",value:(a=pe(De().mark((function e(c,t,a){var r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g,_,k=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.player,n=this.config,i=a.playSessionId,e.next=4,Ei(c,t);case 4:if(d=e.sent,o=d.vid,s=d.videoList,f=d.rawData,this.isPlaySessionValid(i)){e.next=10;break}return e.abrupt("return",null);case 10:if(this.emit&&this.emit("get_play_info",f),!(s&&s.length>0&&(s[0].MainPlayUrl||s[0].src))){e.next=31;break}return wi(s),this.getUrlTime=(new Date).getTime()/1e3,b=r.config.definition,u=(null==b?void 0:b.defaultDefinition)||r.config.defaultDefinition,s[0].UrlExpire&&(this.urlExpireTimestamp=n.testUrlExpire||s[0].UrlExpire),l=xi(s,u,(null==b?void 0:b.list)||[]),e.next=20,this._initAbrService(l.list);case 20:if(p=e.sent,this.isPlaySessionValid(i)){e.next=23;break}return e.abrupt("return",null);case 23:return p?(h=(null===(y=r.config.definition)||void 0===y?void 0:y.list)||[],v=h.filter((function(e){var c;return e.bitrate===(null===(c=k.abrService)||void 0===c?void 0:c.bitrate)}))[0]):(h=l.list,v=h[l.index],r.curDefinition=v),"private_encrypt_upgrade"===v.drmType&&(n.secretKey=v.playAuth),m=v.url,this._emitResourceReady(h),this.emit&&this.emit("can_start"),e.abrupt("return",{url:m,vid:o,videoList:l.list});case 31:throw g=(f||{ResponseMetadata:{Error:{CodeN:0,Message:""},RequestId:""}}).ResponseMetadata,this.emit&&this.emit("playInterfaceInfo",{code:g.Error.CodeN,message:g.Error.Message,logid:g.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,c,t){return a.apply(this,arguments)})},{key:"_getTransformManifestUrl",value:(t=pe(De().mark((function e(c){var t,a,r=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=r.length>1&&void 0!==r[1]?r[1]:{},e.next=3,this._loadSource(c,t);case 3:if(a=e.sent,this.isPlaySessionValid(t.playSessionId)){e.next=6;break}return e.abrupt("return",null);case 6:if(a){e.next=8;break}return e.abrupt("return",null);case 8:if("string"!=typeof a){e.next=12;break}return e.abrupt("return",{url:a});case 12:return e.abrupt("return",new Promise((function(e){var c=new FileReader;c.onload=function(){e({url:c.result})},c.readAsDataURL(a)})));case 13:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"_processRetData",value:function(e){if(e.sort((function(e,c){return c.Bitrate-e.Bitrate})),e[0].Bitrate){var c=0;e.every((function(t,a){return e[0].Bitrate===t.Bitrate&&(c=a,!0)})),c>0&&e.splice(c)}}},{key:"_checkOffline",value:function(){var e,c,t=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(c=this.player)||void 0===c?void 0:c.video);this.hls&&t&&!t.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,c=this.config,t=this.player;t&&!t.ended&&(c.expireDetectType.indexOf("getUrlTime")>-1&&this.getUrlTime&&t.duration&&(new Date).getTime()/1e3>this.getUrlTime+3300+t.duration&&(this.getUrlTime=0,this._emitExpireEvent()),c.expireDetectType.indexOf("xhrStatus")>-1&&this._playOriginalUrl&&Math.random()<1/7.5&&Nn({url:this._playOriginalUrl,xhrSetup:function(e){c.netAllowCredentials&&(e.withCredentials=!0)}}).catch((function(c){c&&void 0!==c.status&&(e.hlsExpireCount=void 0===e.hlsExpireCount?1:e.hlsExpireCount+1,e.hlsExpireCount>3&&(e.hlsExpireCount=0,e._emitExpireEvent()))})),c.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,c=(new Date).getTime()/1e3;this.emitExpireTimestamp?c-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=c,e.emit("MEDIA_EXPIRED")):(this.emitExpireTimestamp=c,e.emit("MEDIA_EXPIRED"))}},{key:"_updateM3U8",value:function e(c,t,a){return Ai("504B0101399dc1bd0000005fbdc19e390000024f2b020b0e001d31011e14001e2b000405014600200e00191e1400112b00022b0003350e001f05021e1400112b000405011b2d00290e00191e1400112b00022b0003350e001f05021e1400112b02061e1400202b01072b0004050205011b3f1b3b1400002000013b1400011400020e0003122c000a2b010a2b01011400040f46000f2b01021e1400052b0109050120010945004320000c2b01020e00062a3200072b01020e00072a3200072b01020e00082a2000032b000331002000022b00021e1400092b010905011d2b00021e14000a05002000020c2800162b01032b0109030001420e000b01000c31022000020c2b01041e14000d2b000205012000042b01081e14000e2b010b0e000f31010e00101e1400112b00040e0012050205022001082b01051e1400132b000114000114001405014600152b01051e1400152b000114000114001405012d00092b00011400011400142000052b00051e1400162b010b0e0017310105013200030300002000062b00054600272b00061400183001024600150e00191e1400112b000630012a0e001a05022d00030e00192d00030e00192000072b01081e14000e2b010b0e001b0e001c310207000000000804050220010845004320000d2b01020e00062a3200072b01020e00072a3200072b01020e00082a2000092b000931002000082b00081e1400092b010805011d2b00081e14000a05002000080c2800162b01032b0108030001420e002101000c31022000080c2b01051e140022050020000a2b000a4600072b00081b2d00132b01041e14000d2b0008050120000b2b000b1b3f1b0023062539342c302706363a3b333c320a3230211e302c012c253003011a05031e11060434213a370b17393a3717203c39313027110230371e3c2117393a3717203c393130270e183a2f17393a3717203c3931302706342525303b310732302117393a370921302d217a3d21383904212c25300f3627303421301a373f30362100071907273025393436300e7900071c68777d0e0b77087e7c77067900071c687706363a3b36342101770d3c2607303934213c2330000719032027390e3230211437263a3920213000071905383421363d207d7d3d212125293d212125267c6f6a097a097a7b7e7c097a09227e097b09227e0639303b32213d00017a3f7d76100d011c1b136f7c7d09317e097b6a09312e65796765287c7d6a6f797d6a6f0e0b092729093b087f7c7d6a6f092729093b7c7f7c7d7b7f7d6a74767c7c0132147d3d212125293d212125267c6a096f6a097a097a042130262102795f1037203c39311437263a3920213000071915342525393c3634213c3a3b7a2d7838253032000719083c26183a373c3930",{get 0(){return e},get 1(){return jn},get 2(){return window},get 3(){return Blob},get 4(){return URL},get 5(){return Un},get 6(){return vc},7:arguments,8:c,9:t,10:a,11:RegExp},this)}},{key:"_loadSource",value:(c=pe(De().mark((function e(c){var t,a,r,n,i,d,o,s,f,b,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=T.length>1&&void 0!==T[1]?T[1]:{},a=this.player,r=this.config,n=t.kid||r.kid,i=t.vid||r.vid,d=t.playSessionId,o=t.playAuth||r.secretKey,this.log("loadSource: ".concat(c,", Kid: ").concat(n,", vid: ").concat(i,", secretKey: ").concat(o)),e.next=9,$n(c,this);case 9:if(s=e.sent,this.isPlaySessionValid(d)){e.next=12;break}return e.abrupt("return",null);case 12:if(null!=s&&s.keyUrl&&null!=s&&s.responseText){e.next=15;break}return this.log("loadSource with normal url: ".concat(a.config.url)),e.abrupt("return",a.config.url);case 15:if(f=s.keyUrl,b=s.responseText,u=r.getLicenseUrl,l=r.drmType,h=r.drmKeyToken,p=r.playDomain,v=r.sessionId,!r.keyValue){e.next=21;break}y=this._updateM3U8(b,r.keyValue),e.next=65;break;case 21:if(!(u&&n||n&&h&&p||o)){e.next=51;break}if(this._secretKey=new qe.XGSecretKey({getLicenseUrl:u,vid:i,useUnionInfoDRM:r.useUnionInfoDRM,playDomain:p,drmType:l,drmKeyToken:h,drm:r.drm,keyValue:r.keyValue,kid:n,useEME:!1,secretKey:o,keyTokenExpiredDuration:r.keyTokenExpiredDuration,sessionId:v}),e.prev=23,!this.isNativeMode){e.next=33;break}return e.next=27,this._secretKey.getLicense();case 27:if(g=e.sent,this.isPlaySessionValid(d)){e.next=30;break}return e.abrupt("return",null);case 30:m=(null==g?void 0:g.keyValue)||g,e.next=42;break;case 33:return e.next=35,this._secretKey.getLicenseSecret();case 35:if(_=e.sent,this.isPlaySessionValid(d)){e.next=38;break}return e.abrupt("return",null);case 38:k=null==_?void 0:_.secretKey,E=null==_?void 0:_.decryptKey,S=E&&qe.util.ArrayBufferToString(E),m="".concat(jn.DRM,"-").concat(k,"_").concat(S);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===(w=e.t0.error)||void 0===w?void 0:w.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:y=this._updateM3U8(b,m,jn.DRM),e.next=65;break;case 51:if(!r.keyToken||!("TOP"===r.getKeyType?r.playDomain:r.keyDomain)){e.next=64;break}return e.next=54,Hn(this,{system:jn.KDS,url:f});case 54:if(x=e.sent,this.isPlaySessionValid(d)){e.next=57;break}return e.abrupt("return",null);case 57:if(!x){e.next=61;break}y=this._updateM3U8(b,x,jn.KDS),e.next=62;break;case 61:throw new Error(Pn.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(y)),e.abrupt("return",y);case 67:case"end":return e.stop()}}),e,this,[[23,44]])}))),function(e){return Ai("504B0101399dc1bd00000000bdc19e390000000e2b01001e1400003b2b010105021b000105342525392c",{get 0(){return c},1:arguments,2:e},this)})},{key:"_emitResourceReady",value:function(e){var c=this.player,t=this.abrService;(null!=t&&t.isPlayAutoDef||!e.some((function(e){return!!e.selected})))&&e.forEach((function(e){var a;e.selected=null!=t&&t.isPlayAutoDef?t.isAutoDefValue(e.definition):e.definition===(null===(a=c.curDefinition)||void 0===a?void 0:a.definition)})),c.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 Cn}},{key:"semver",get:function(){var e=hc(Cn)||{},c=e.major,t=e.minor,a=e.patch;return{version:Cn,major:c,minor:t,patch:a}}}]);var c,t,a,r,n,i}(),Li=Ri;return Li.updateUnionInfo=qe.XGSecretKey.updateUnionInfo,Li.generateEncryptInfo=qe.XGSecretKey.generateEncryptInfo,Li.isSupported=function(e){e=(e||navigator.userAgent).toLocaleLowerCase();var c=/(iphone)/.test(e)||/(ipad)/.test(e),t=/(android)/.test(e),a=/(windows phone)/.test(e),r=!(c||t||a),n=/(quark)/.test(e);if(r||t){var i=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==i||!i.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))}return!!c&&!n&&!/iphone os 11_[2-4]\D/gi.test(e)},Li}));
|
|
1
|
+
// Built @Tue, 01 Jul 2025 06:37:57 GMT
|
|
2
|
+
!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a(require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.array.sort.js"),require("core-js/modules/es.array.splice.js"),require("core-js/modules/es.object.assign.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/es.string.match.js"),require("core-js/modules/es.string.repeat.js"),require("core-js/modules/es.string.replace.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/web.url.js"),require("core-js/modules/web.url.to-json.js"),require("core-js/modules/web.url-search-params.js"),require("core-js/modules/es.array.copy-within.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.last-index-of.js"),require("core-js/modules/es.array.reduce.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.array-buffer.constructor.js"),require("core-js/modules/es.array-buffer.slice.js"),require("core-js/modules/es.number.constructor.js"),require("core-js/modules/es.parse-int.js"),require("core-js/modules/es.regexp.constructor.js"),require("core-js/modules/es.regexp.to-string.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.typed-array.float32-array.js"),require("core-js/modules/es.typed-array.float64-array.js"),require("core-js/modules/es.typed-array.int8-array.js"),require("core-js/modules/es.typed-array.int16-array.js"),require("core-js/modules/es.typed-array.int32-array.js"),require("core-js/modules/es.typed-array.uint8-array.js"),require("core-js/modules/es.typed-array.uint8-clamped-array.js"),require("core-js/modules/es.typed-array.uint16-array.js"),require("core-js/modules/es.typed-array.uint32-array.js"),require("core-js/modules/es.typed-array.copy-within.js"),require("core-js/modules/es.typed-array.every.js"),require("core-js/modules/es.typed-array.fill.js"),require("core-js/modules/es.typed-array.filter.js"),require("core-js/modules/es.typed-array.find.js"),require("core-js/modules/es.typed-array.find-index.js"),require("core-js/modules/es.typed-array.for-each.js"),require("core-js/modules/es.typed-array.includes.js"),require("core-js/modules/es.typed-array.index-of.js"),require("core-js/modules/es.typed-array.iterator.js"),require("core-js/modules/es.typed-array.join.js"),require("core-js/modules/es.typed-array.last-index-of.js"),require("core-js/modules/es.typed-array.map.js"),require("core-js/modules/es.typed-array.reduce.js"),require("core-js/modules/es.typed-array.reduce-right.js"),require("core-js/modules/es.typed-array.reverse.js"),require("core-js/modules/es.typed-array.set.js"),require("core-js/modules/es.typed-array.slice.js"),require("core-js/modules/es.typed-array.some.js"),require("core-js/modules/es.typed-array.sort.js"),require("core-js/modules/es.typed-array.subarray.js"),require("core-js/modules/es.typed-array.to-locale-string.js"),require("core-js/modules/es.typed-array.to-string.js"),require("xgplayer"),require("core-js/modules/es.date.to-json.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.map.js"),require("core-js/modules/es.number.to-fixed.js"),require("core-js/modules/es.parse-float.js"),require("core-js/modules/esnext.map.delete-all.js"),require("core-js/modules/esnext.map.every.js"),require("core-js/modules/esnext.map.filter.js"),require("core-js/modules/esnext.map.find.js"),require("core-js/modules/esnext.map.find-key.js"),require("core-js/modules/esnext.map.includes.js"),require("core-js/modules/esnext.map.key-of.js"),require("core-js/modules/esnext.map.map-keys.js"),require("core-js/modules/esnext.map.map-values.js"),require("core-js/modules/esnext.map.merge.js"),require("core-js/modules/esnext.map.reduce.js"),require("core-js/modules/esnext.map.some.js"),require("core-js/modules/esnext.map.update.js")):"function"==typeof define&&define.amd?define(["core-js/modules/es.array.concat.js","core-js/modules/es.array.filter.js","core-js/modules/es.array.index-of.js","core-js/modules/es.array.iterator.js","core-js/modules/es.array.map.js","core-js/modules/es.array.sort.js","core-js/modules/es.array.splice.js","core-js/modules/es.object.assign.js","core-js/modules/es.object.to-string.js","core-js/modules/es.promise.js","core-js/modules/es.regexp.exec.js","core-js/modules/es.string.iterator.js","core-js/modules/es.string.match.js","core-js/modules/es.string.repeat.js","core-js/modules/es.string.replace.js","core-js/modules/web.dom-collections.for-each.js","core-js/modules/web.dom-collections.iterator.js","core-js/modules/web.url.js","core-js/modules/web.url.to-json.js","core-js/modules/web.url-search-params.js","core-js/modules/es.array.copy-within.js","core-js/modules/es.array.includes.js","core-js/modules/es.array.join.js","core-js/modules/es.array.last-index-of.js","core-js/modules/es.array.reduce.js","core-js/modules/es.array.slice.js","core-js/modules/es.array-buffer.constructor.js","core-js/modules/es.array-buffer.slice.js","core-js/modules/es.number.constructor.js","core-js/modules/es.parse-int.js","core-js/modules/es.regexp.constructor.js","core-js/modules/es.regexp.to-string.js","core-js/modules/es.string.includes.js","core-js/modules/es.string.starts-with.js","core-js/modules/es.typed-array.float32-array.js","core-js/modules/es.typed-array.float64-array.js","core-js/modules/es.typed-array.int8-array.js","core-js/modules/es.typed-array.int16-array.js","core-js/modules/es.typed-array.int32-array.js","core-js/modules/es.typed-array.uint8-array.js","core-js/modules/es.typed-array.uint8-clamped-array.js","core-js/modules/es.typed-array.uint16-array.js","core-js/modules/es.typed-array.uint32-array.js","core-js/modules/es.typed-array.copy-within.js","core-js/modules/es.typed-array.every.js","core-js/modules/es.typed-array.fill.js","core-js/modules/es.typed-array.filter.js","core-js/modules/es.typed-array.find.js","core-js/modules/es.typed-array.find-index.js","core-js/modules/es.typed-array.for-each.js","core-js/modules/es.typed-array.includes.js","core-js/modules/es.typed-array.index-of.js","core-js/modules/es.typed-array.iterator.js","core-js/modules/es.typed-array.join.js","core-js/modules/es.typed-array.last-index-of.js","core-js/modules/es.typed-array.map.js","core-js/modules/es.typed-array.reduce.js","core-js/modules/es.typed-array.reduce-right.js","core-js/modules/es.typed-array.reverse.js","core-js/modules/es.typed-array.set.js","core-js/modules/es.typed-array.slice.js","core-js/modules/es.typed-array.some.js","core-js/modules/es.typed-array.sort.js","core-js/modules/es.typed-array.subarray.js","core-js/modules/es.typed-array.to-locale-string.js","core-js/modules/es.typed-array.to-string.js","xgplayer","core-js/modules/es.date.to-json.js","core-js/modules/es.object.keys.js","core-js/modules/es.object.get-own-property-descriptor.js","core-js/modules/es.map.js","core-js/modules/es.number.to-fixed.js","core-js/modules/es.parse-float.js","core-js/modules/esnext.map.delete-all.js","core-js/modules/esnext.map.every.js","core-js/modules/esnext.map.filter.js","core-js/modules/esnext.map.find.js","core-js/modules/esnext.map.find-key.js","core-js/modules/esnext.map.includes.js","core-js/modules/esnext.map.key-of.js","core-js/modules/esnext.map.map-keys.js","core-js/modules/esnext.map.map-values.js","core-js/modules/esnext.map.merge.js","core-js/modules/esnext.map.reduce.js","core-js/modules/esnext.map.some.js","core-js/modules/esnext.map.update.js"],a):(e="undefined"!=typeof globalThis?globalThis:e||self).EncryptHlsPlugin=a(null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,e.Player)}(this,(function(e,a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T,A,I,D,O,R,L,C,P,j,M,B,U,N,F,G,V,q,z,H,K,$,W,Y,X,Q,J,Z,ee,ae,ce,te,be,re,ne,ie,de,fe,oe,se,ue){"use strict";function le(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=Array(a);c<a;c++)t[c]=e[c];return t}function he(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function pe(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){he(r,t,b,n,i,"next",e)}function i(e){he(r,t,b,n,i,"throw",e)}n(void 0)}))}}function ve(e,a,c){return a=Se(a),function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)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,xe()?Reflect.construct(a,c||[],Se(e).constructor):a.apply(e,c))}function ye(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function me(e,a,c){if(xe())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,a);var b=new(e.bind.apply(e,t));return c&&Oe(b,c.prototype),b}function ge(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,Ce(t.key),t)}}function _e(e,a,c){return a&&ge(e.prototype,a),c&&ge(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function ke(e,a,c){return(a=Ce(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Ee(){return Ee="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,a,c){var t=function(e,a){for(;!{}.hasOwnProperty.call(e,a)&&null!==(e=Se(e)););return e}(e,a);if(t){var b=Object.getOwnPropertyDescriptor(t,a);return b.get?b.get.call(arguments.length<3?e:c):b.value}},Ee.apply(null,arguments)}function Se(e){return(Se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function we(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Oe(e,a)}function xe(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(a){}return(xe=function(){return!!e})()}function Te(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function Ae(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?Te(Object(c),!0).forEach((function(a){ke(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):Te(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function Ie(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(-1!==a.indexOf(t))continue;c[t]=e[t]}return c}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],-1===a.indexOf(c)&&{}.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function De(){De=function(){return a};var e,a={},c=Object.prototype,t=c.hasOwnProperty,b=Object.defineProperty||function(e,a,c){e[a]=c.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function f(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{f({},"")}catch(L){f=function(e,a,c){return e[a]=c}}function o(e,a,c,t){var r=a&&a.prototype instanceof y?a:y,n=Object.create(r.prototype),i=new O(t||[]);return b(n,"_invoke",{value:T(e,c,i)}),n}function s(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(t){return{type:"throw",arg:t}}}a.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};f(_,n,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==c&&t.call(E,n)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(a){f(e,a,(function(e){return this._invoke(a,e)}))}))}function x(e,a){function c(b,r,n,i){var d=s(e[b],e,r);if("throw"!==d.type){var f=d.arg,o=f.value;return o&&"object"==typeof o&&t.call(o,"__await")?a.resolve(o.__await).then((function(e){c("next",e,n,i)}),(function(e){c("throw",e,n,i)})):a.resolve(o).then((function(e){f.value=e,n(f)}),(function(e){return c("throw",e,n,i)}))}i(d.arg)}var r;b(this,"_invoke",{value:function(e,t){function b(){return new a((function(a,b){c(e,t,a,b)}))}return r=r?r.then(b,b):b()}})}function T(a,c,t){var b=u;return function(r,n){if(b===h)throw Error("Generator is already running");if(b===p){if("throw"===r)throw n;return{value:e,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=A(i,t);if(d){if(d===v)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(b===u)throw b=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);b=h;var f=s(a,c,t);if("normal"===f.type){if(b=t.done?p:l,f.arg===v)continue;return{value:f.arg,done:t.done}}"throw"===f.type&&(b=p,t.method="throw",t.arg=f.arg)}}}function A(a,c){var t=c.method,b=a.iterator[t];if(b===e)return c.delegate=null,"throw"===t&&a.iterator.return&&(c.method="return",c.arg=e,A(a,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),v;var r=s(b,a.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,v;var n=r.arg;return n?n.done?(c[a.resultName]=n.value,c.next=a.nextLoc,"return"!==c.method&&(c.method="next",c.arg=e),c.delegate=null,v):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,v)}function I(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function D(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(a){if(a||""===a){var c=a[n];if(c)return c.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var b=-1,r=function c(){for(;++b<a.length;)if(t.call(a,b))return c.value=a[b],c.done=!1,c;return c.value=e,c.done=!0,c};return r.next=r}}throw new TypeError(typeof a+" is not iterable")}return m.prototype=g,b(S,"constructor",{value:g,configurable:!0}),b(g,"constructor",{value:m,configurable:!0}),m.displayName=f(g,d,"GeneratorFunction"),a.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===m||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,d,"GeneratorFunction")),e.prototype=Object.create(S),e},a.awrap=function(e){return{__await:e}},w(x.prototype),f(x.prototype,i,(function(){return this})),a.AsyncIterator=x,a.async=function(e,c,t,b,r){void 0===r&&(r=Promise);var n=new x(o(e,c,t,b),r);return a.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(S),f(S,d,"Generator"),f(S,n,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=R,O.prototype={constructor:O,reset:function(a){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(D),!a)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var c=this;function b(t,b){return i.type="throw",i.arg=a,c.next=t,b&&(c.method="next",c.arg=e),!!b}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return b("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),f=t.call(n,"finallyLoc");if(d&&f){if(this.prev<n.catchLoc)return b(n.catchLoc,!0);if(this.prev<n.finallyLoc)return b(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return b(n.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return b(n.finallyLoc)}}}},abrupt:function(e,a){for(var c=this.tryEntries.length-1;c>=0;--c){var b=this.tryEntries[c];if(b.tryLoc<=this.prev&&t.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,a){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&&a&&(this.next=a),v},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),D(c),v}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;D(c)}return b}}throw Error("illegal catch attempt")},delegateYield:function(a,c,t){return this.delegate={iterator:R(a),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=e),v}},a}function Oe(e,a){return(Oe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Re(e,a,c,t){var b=Ee(Se(1&t?e.prototype:e),a,c);return 2&t&&"function"==typeof b?function(e){return b.apply(c,e)}:b}function Le(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,a){if(e){if("string"==typeof e)return le(e,a);var c={}.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?le(e,a):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 Ce(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}function Pe(e){return(Pe="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 je="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function Me(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Be={exports:{}};(function(e){var a="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==je?je:"undefined"!=typeof self?self:{};function c(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t=function(e){return e&&e.Math==Math&&e},b=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof a&&a)||function(){return this}()||Function("return this")(),r={},n=function(e){try{return!!e()}catch(rv){return!0}},i=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),d={},f={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,s=o&&!f.call({1:2},1);d.f=s?function(e){var a=o(this,e);return!!a&&a.enumerable}:f;var u=function(e,a){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:a}},l={}.toString,h=function(e){return l.call(e).slice(8,-1)},p=h,v="".split,y=n((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==p(e)?v.call(e,""):Object(e)}:Object,m=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e},g=y,_=m,k=function(e){return g(_(e))},E=function(e){return"object"==typeof e?null!==e:"function"==typeof e},S=E,w=function(e,a){if(!S(e))return e;var c,t;if(a&&"function"==typeof(c=e.toString)&&!S(t=c.call(e)))return t;if("function"==typeof(c=e.valueOf)&&!S(t=c.call(e)))return t;if(!a&&"function"==typeof(c=e.toString)&&!S(t=c.call(e)))return t;throw TypeError("Can't convert object to primitive value")},x=m,T=function(e){return Object(x(e))},A=T,I={}.hasOwnProperty,D=function(e,a){return I.call(A(e),a)},O=E,R=b.document,L=O(R)&&O(R.createElement),C=function(e){return L?R.createElement(e):{}},P=C,j=!i&&!n((function(){return 7!=Object.defineProperty(P("div"),"a",{get:function(){return 7}}).a})),M=i,B=d,U=u,N=k,F=w,G=D,V=j,q=Object.getOwnPropertyDescriptor;r.f=M?q:function(e,a){if(e=N(e),a=F(a,!0),V)try{return q(e,a)}catch(c){}if(G(e,a))return U(!B.f.call(e,a),e[a])};var z={},H=E,K=function(e){if(!H(e))throw TypeError(String(e)+" is not an object");return e},$=i,W=j,Y=K,X=w,Q=Object.defineProperty;z.f=$?Q:function(e,a,c){if(Y(e),a=X(a,!0),Y(c),W)try{return Q(e,a,c)}catch(t){}if("get"in c||"set"in c)throw TypeError("Accessors not supported");return"value"in c&&(e[a]=c.value),e};var J=z,Z=u,ee=i?function(e,a,c){return J.f(e,a,Z(1,c))}:function(e,a,c){return e[a]=c,e},ae={exports:{}},ce=b,te=ee,be=function(e,a){try{te(ce,e,a)}catch(c){ce[e]=a}return a},re=be,ne="__core-js_shared__",ie=b[ne]||re(ne,{}),de=ie,fe=Function.toString;"function"!=typeof de.inspectSource&&(de.inspectSource=function(e){return fe.call(e)});var oe=de.inspectSource,se=oe,ue=b.WeakMap,le="function"==typeof ue&&/native code/.test(se(ue)),he={exports:{}},pe=ie;(he.exports=function(e,a){return pe[e]||(pe[e]=void 0!==a?a:{})})("versions",[]).push({version:"3.12.1",mode:"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"});var ve,ye,me,ge=he.exports,_e=0,ke=Math.random(),Ee=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++_e+ke).toString(36)},Se=Ee,we=ge("keys"),xe=function(e){return we[e]||(we[e]=Se(e))},Te={},Ae=le,Ie=E,De=ee,Oe=D,Re=ie,Le=xe,Ce=Te,Pe="Object already initialized",Me=b.WeakMap;if(Ae||Re.state){var Be=Re.state||(Re.state=new Me),Ue=Be.get,Ne=Be.has,Fe=Be.set;ve=function(e,a){if(Ne.call(Be,e))throw new TypeError(Pe);return a.facade=e,Fe.call(Be,e,a),a},ye=function(e){return Ue.call(Be,e)||{}},me=function(e){return Ne.call(Be,e)}}else{var Ge=Le("state");Ce[Ge]=!0,ve=function(e,a){if(Oe(e,Ge))throw new TypeError(Pe);return a.facade=e,De(e,Ge,a),a},ye=function(e){return Oe(e,Ge)?e[Ge]:{}},me=function(e){return Oe(e,Ge)}}var Ve={set:ve,get:ye,has:me,enforce:function(e){return me(e)?ye(e):ve(e,{})},getterFor:function(e){return function(a){var c;if(!Ie(a)||(c=ye(a)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return c}}},qe=b,ze=ee,He=D,Ke=be,$e=oe,We=Ve.get,Ye=Ve.enforce,Xe=String(String).split("String");(ae.exports=function(e,a,c,t){var b,r=!!t&&!!t.unsafe,n=!!t&&!!t.enumerable,i=!!t&&!!t.noTargetGet;"function"==typeof c&&("string"!=typeof a||He(c,"name")||ze(c,"name",a),(b=Ye(c)).source||(b.source=Xe.join("string"==typeof a?a:""))),e!==qe?(r?!i&&e[a]&&(n=!0):delete e[a],n?e[a]=c:ze(e,a,c)):n?e[a]=c:Ke(a,c)})(Function.prototype,"toString",(function(){return"function"==typeof this&&We(this).source||$e(this)}));var Qe=ae.exports,Je=b,Ze=b,ea=function(e){return"function"==typeof e?e:void 0},aa=function(e,a){return arguments.length<2?ea(Je[e])||ea(Ze[e]):Je[e]&&Je[e][a]||Ze[e]&&Ze[e][a]},ca={},ta=Math.ceil,ba=Math.floor,ra=function(e){return isNaN(e=+e)?0:(e>0?ba:ta)(e)},na=ra,ia=Math.min,da=function(e){return e>0?ia(na(e),9007199254740991):0},fa=ra,oa=Math.max,sa=Math.min,ua=function(e,a){var c=fa(e);return c<0?oa(c+a,0):sa(c,a)},la=k,ha=da,pa=ua,va=function(e){return function(a,c,t){var b,r=la(a),n=ha(r.length),i=pa(t,n);if(e&&c!=c){for(;n>i;)if((b=r[i++])!=b)return!0}else for(;n>i;i++)if((e||i in r)&&r[i]===c)return e||i||0;return!e&&-1}},ya={includes:va(!0),indexOf:va(!1)},ma=D,ga=k,_a=ya.indexOf,ka=Te,Ea=function(e,a){var c,t=ga(e),b=0,r=[];for(c in t)!ma(ka,c)&&ma(t,c)&&r.push(c);for(;a.length>b;)ma(t,c=a[b++])&&(~_a(r,c)||r.push(c));return r},Sa=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],wa=Ea,xa=Sa.concat("length","prototype");ca.f=Object.getOwnPropertyNames||function(e){return wa(e,xa)};var Ta={};Ta.f=Object.getOwnPropertySymbols;var Aa=ca,Ia=Ta,Da=K,Oa=aa("Reflect","ownKeys")||function(e){var a=Aa.f(Da(e)),c=Ia.f;return c?a.concat(c(e)):a},Ra=D,La=Oa,Ca=r,Pa=z,ja=n,Ma=/#|\.prototype\./,Ba=function(e,a){var c=Na[Ua(e)];return c==Ga||c!=Fa&&("function"==typeof a?ja(a):!!a)},Ua=Ba.normalize=function(e){return String(e).replace(Ma,".").toLowerCase()},Na=Ba.data={},Fa=Ba.NATIVE="N",Ga=Ba.POLYFILL="P",Va=Ba,qa=b,za=r.f,Ha=ee,Ka=Qe,$a=be,Wa=function(e,a){for(var c=La(a),t=Pa.f,b=Ca.f,r=0;r<c.length;r++){var n=c[r];Ra(e,n)||t(e,n,b(a,n))}},Ya=Va,Xa=function(e,a){var c,t,b,r,n,i=e.target,d=e.global,f=e.stat;if(c=d?qa:f?qa[i]||$a(i,{}):(qa[i]||{}).prototype)for(t in a){if(r=a[t],b=e.noTargetGet?(n=za(c,t))&&n.value:c[t],!Ya(d?t:i+(f?".":"#")+t,e.forced)&&void 0!==b){if(typeof r==typeof b)continue;Wa(r,b)}(e.sham||b&&b.sham)&&Ha(r,"sham",!0),Ka(c,t,r,e)}};function Qa(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function Ja(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){Qa(r,t,b,n,i,"next",e)}function i(e){Qa(r,t,b,n,i,"throw",e)}n(void 0)}))}}function Za(e,a,c){return a=bc(a),function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)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,nc()?Reflect.construct(a,c||[],bc(e).constructor):a.apply(e,c))}function ec(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function ac(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,fc(t.key),t)}}function cc(e,a,c){return a&&ac(e.prototype,a),c&&ac(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function tc(e,a,c){return(a=fc(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function bc(e){return(bc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rc(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&dc(e,a)}function nc(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(rv){}return(nc=function(){return!!e})()}function ic(){ic=function(){return a};var e,a={},c=Object.prototype,t=c.hasOwnProperty,b=Object.defineProperty||function(e,a,c){e[a]=c.value},r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",d=r.toStringTag||"@@toStringTag";function f(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{f({},"")}catch(L){f=function(e,a,c){return e[a]=c}}function o(e,a,c,t){var r=a&&a.prototype instanceof y?a:y,n=Object.create(r.prototype),i=new O(t||[]);return b(n,"_invoke",{value:T(e,c,i)}),n}function s(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(t){return{type:"throw",arg:t}}}a.wrap=o;var u="suspendedStart",l="suspendedYield",h="executing",p="completed",v={};function y(){}function m(){}function g(){}var _={};f(_,n,(function(){return this}));var k=Object.getPrototypeOf,E=k&&k(k(R([])));E&&E!==c&&t.call(E,n)&&(_=E);var S=g.prototype=y.prototype=Object.create(_);function w(e){["next","throw","return"].forEach((function(a){f(e,a,(function(e){return this._invoke(a,e)}))}))}function x(e,a){function c(b,r,n,i){var d=s(e[b],e,r);if("throw"!==d.type){var f=d.arg,o=f.value;return o&&"object"==typeof o&&t.call(o,"__await")?a.resolve(o.__await).then((function(e){c("next",e,n,i)}),(function(e){c("throw",e,n,i)})):a.resolve(o).then((function(e){f.value=e,n(f)}),(function(e){return c("throw",e,n,i)}))}i(d.arg)}var r;b(this,"_invoke",{value:function(e,t){function b(){return new a((function(a,b){c(e,t,a,b)}))}return r=r?r.then(b,b):b()}})}function T(a,c,t){var b=u;return function(r,n){if(b===h)throw Error("Generator is already running");if(b===p){if("throw"===r)throw n;return{value:e,done:!0}}for(t.method=r,t.arg=n;;){var i=t.delegate;if(i){var d=A(i,t);if(d){if(d===v)continue;return d}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(b===u)throw b=p,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);b=h;var f=s(a,c,t);if("normal"===f.type){if(b=t.done?p:l,f.arg===v)continue;return{value:f.arg,done:t.done}}"throw"===f.type&&(b=p,t.method="throw",t.arg=f.arg)}}}function A(a,c){var t=c.method,b=a.iterator[t];if(b===e)return c.delegate=null,"throw"===t&&a.iterator.return&&(c.method="return",c.arg=e,A(a,c),"throw"===c.method)||"return"!==t&&(c.method="throw",c.arg=new TypeError("The iterator does not provide a '"+t+"' method")),v;var r=s(b,a.iterator,c.arg);if("throw"===r.type)return c.method="throw",c.arg=r.arg,c.delegate=null,v;var n=r.arg;return n?n.done?(c[a.resultName]=n.value,c.next=a.nextLoc,"return"!==c.method&&(c.method="next",c.arg=e),c.delegate=null,v):n:(c.method="throw",c.arg=new TypeError("iterator result is not an object"),c.delegate=null,v)}function I(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function D(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function O(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(I,this),this.reset(!0)}function R(a){if(a||""===a){var c=a[n];if(c)return c.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var b=-1,r=function c(){for(;++b<a.length;)if(t.call(a,b))return c.value=a[b],c.done=!1,c;return c.value=e,c.done=!0,c};return r.next=r}}throw new TypeError(typeof a+" is not iterable")}return m.prototype=g,b(S,"constructor",{value:g,configurable:!0}),b(g,"constructor",{value:m,configurable:!0}),m.displayName=f(g,d,"GeneratorFunction"),a.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===m||"GeneratorFunction"===(a.displayName||a.name))},a.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,d,"GeneratorFunction")),e.prototype=Object.create(S),e},a.awrap=function(e){return{__await:e}},w(x.prototype),f(x.prototype,i,(function(){return this})),a.AsyncIterator=x,a.async=function(e,c,t,b,r){void 0===r&&(r=Promise);var n=new x(o(e,c,t,b),r);return a.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},w(S),f(S,d,"Generator"),f(S,n,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),a.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},a.values=R,O.prototype={constructor:O,reset:function(a){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(D),!a)for(var c in this)"t"===c.charAt(0)&&t.call(this,c)&&!isNaN(+c.slice(1))&&(this[c]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(a){if(this.done)throw a;var c=this;function b(t,b){return i.type="throw",i.arg=a,c.next=t,b&&(c.method="next",c.arg=e),!!b}for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r],i=n.completion;if("root"===n.tryLoc)return b("end");if(n.tryLoc<=this.prev){var d=t.call(n,"catchLoc"),f=t.call(n,"finallyLoc");if(d&&f){if(this.prev<n.catchLoc)return b(n.catchLoc,!0);if(this.prev<n.finallyLoc)return b(n.finallyLoc)}else if(d){if(this.prev<n.catchLoc)return b(n.catchLoc,!0)}else{if(!f)throw Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return b(n.finallyLoc)}}}},abrupt:function(e,a){for(var c=this.tryEntries.length-1;c>=0;--c){var b=this.tryEntries[c];if(b.tryLoc<=this.prev&&t.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,v):this.complete(n)},complete:function(e,a){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&&a&&(this.next=a),v},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),D(c),v}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;D(c)}return b}}throw Error("illegal catch attempt")},delegateYield:function(a,c,t){return this.delegate={iterator:R(a),resultName:c,nextLoc:t},"next"===this.method&&(this.arg=e),v}},a}function dc(e,a){return(dc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function fc(e){var a=function(e,a){if("object"!=typeof e||!e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:a+""}function oc(e){return(oc="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 sc(e){var a="function"==typeof Map?new Map:void 0;return sc=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(a){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!==a){if(a.has(e))return a.get(e);a.set(e,c)}function c(){return function(e,a,c){if(nc())return Reflect.construct.apply(null,arguments);var t=[null];t.push.apply(t,a);var b=new(e.bind.apply(e,t));return c&&dc(b,c.prototype),b}(e,arguments,bc(this).constructor)}return c.prototype=Object.create(e.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),dc(c,e)},sc(e)}Xa({global:!0},{globalThis:b});var uc,lc,hc=h,pc=Array.isArray||function(e){return"Array"==hc(e)},vc=w,yc=z,mc=u,gc=function(e,a,c){var t=vc(a);t in e?yc.f(e,t,mc(0,c)):e[t]=c},_c=aa("navigator","userAgent")||"",kc=_c,Ec=b.process,Sc=Ec&&Ec.versions,wc=Sc&&Sc.v8;wc?lc=(uc=wc.split("."))[0]<4?1:uc[0]+uc[1]:kc&&(!(uc=kc.match(/Edge\/(\d+)/))||uc[1]>=74)&&(uc=kc.match(/Chrome\/(\d+)/))&&(lc=uc[1]);var xc=lc&&+lc,Tc=xc,Ac=n,Ic=!!Object.getOwnPropertySymbols&&!Ac((function(){return!String(Symbol())||!Symbol.sham&&Tc&&Tc<41})),Dc=Ic&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Oc=b,Rc=D,Lc=Ee,Cc=Ic,Pc=Dc,jc=ge("wks"),Mc=Oc.Symbol,Bc=Pc?Mc:Mc&&Mc.withoutSetter||Lc,Uc=function(e){return Rc(jc,e)&&(Cc||"string"==typeof jc[e])||(Cc&&Rc(Mc,e)?jc[e]=Mc[e]:jc[e]=Bc("Symbol."+e)),jc[e]},Nc=E,Fc=pc,Gc=Uc("species"),Vc=function(e,a){var c;return Fc(e)&&("function"!=typeof(c=e.constructor)||c!==Array&&!Fc(c.prototype)?Nc(c)&&null===(c=c[Gc])&&(c=void 0):c=void 0),new(void 0===c?Array:c)(0===a?0:a)},qc=n,zc=xc,Hc=Uc("species"),Kc=function(e){return zc>=51||!qc((function(){var a=[];return(a.constructor={})[Hc]=function(){return{foo:1}},1!==a[e](Boolean).foo}))},$c=Xa,Wc=n,Yc=pc,Xc=E,Qc=T,Jc=da,Zc=gc,et=Vc,at=Kc,ct=xc,tt=Uc("isConcatSpreadable"),bt=9007199254740991,rt="Maximum allowed index exceeded",nt=ct>=51||!Wc((function(){var e=[];return e[tt]=!1,e.concat()[0]!==e})),it=at("concat"),dt=function(e){if(!Xc(e))return!1;var a=e[tt];return void 0!==a?!!a:Yc(e)};$c({target:"Array",proto:!0,forced:!nt||!it},{concat:function(e){var a,c,t,b,r,n=Qc(this),i=et(n,0),d=0;for(a=-1,t=arguments.length;a<t;a++)if(dt(r=-1===a?n:arguments[a])){if(d+(b=Jc(r.length))>bt)throw TypeError(rt);for(c=0;c<b;c++,d++)c in r&&Zc(i,d,r[c])}else{if(d>=bt)throw TypeError(rt);Zc(i,d++,r)}return i.length=d,i}});var ft,ot=Ea,st=Sa,ut=Object.keys||function(e){return ot(e,st)},lt=z,ht=K,pt=ut,vt=i?Object.defineProperties:function(e,a){ht(e);for(var c,t=pt(a),b=t.length,r=0;b>r;)lt.f(e,c=t[r++],a[c]);return e},yt=aa("document","documentElement"),mt=K,gt=vt,_t=Sa,kt=Te,Et=yt,St=C,wt="prototype",xt="script",Tt=xe("IE_PROTO"),At=function(){},It=function(e){return"<"+xt+">"+e+"</"+xt+">"},Dt=function(){try{ft=document.domain&&new ActiveXObject("htmlfile")}catch(b){}var e,a,c;Dt=ft?function(e){e.write(It("")),e.close();var a=e.parentWindow.Object;return e=null,a}(ft):(a=St("iframe"),c="java"+xt+":",a.style.display="none",Et.appendChild(a),a.src=String(c),(e=a.contentWindow.document).open(),e.write(It("document.F=Object")),e.close(),e.F);for(var t=_t.length;t--;)delete Dt[wt][_t[t]];return Dt()};kt[Tt]=!0;var Ot=Object.create||function(e,a){var c;return null!==e?(At[wt]=mt(e),c=new At,At[wt]=null,c[Tt]=e):c=Dt(),void 0===a?c:gt(c,a)},Rt=Ot,Lt=z,Ct=Uc("unscopables"),Pt=Array.prototype;null==Pt[Ct]&&Lt.f(Pt,Ct,{configurable:!0,value:Rt(null)});var jt,Mt,Bt,Ut={},Nt=!n((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),Ft=D,Gt=T,Vt=Nt,qt=xe("IE_PROTO"),zt=Object.prototype,Ht=Vt?Object.getPrototypeOf:function(e){return e=Gt(e),Ft(e,qt)?e[qt]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?zt:null},Kt=n,$t=Ht,Wt=ee,Yt=D,Xt=Uc("iterator"),Qt=!1;[].keys&&("next"in(Bt=[].keys())?(Mt=$t($t(Bt)))!==Object.prototype&&(jt=Mt):Qt=!0),(null==jt||Kt((function(){var e={};return jt[Xt].call(e)!==e})))&&(jt={}),Yt(jt,Xt)||Wt(jt,Xt,(function(){return this}));var Jt={IteratorPrototype:jt,BUGGY_SAFARI_ITERATORS:Qt},Zt=z.f,eb=D,ab=Uc("toStringTag"),cb=function(e,a,c){e&&!eb(e=c?e:e.prototype,ab)&&Zt(e,ab,{configurable:!0,value:a})},tb=Jt.IteratorPrototype,bb=Ot,rb=u,nb=cb,ib=Ut,db=function(){return this},fb=E,ob=K,sb=function(e){if(!fb(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e},ub=Object.setPrototypeOf||("__proto__"in{}?function(){var e,a=!1,c={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(c,[]),a=c instanceof Array}catch(t){}return function(c,t){return ob(c),sb(t),a?e.call(c,t):c.__proto__=t,c}}():void 0),lb=Xa,hb=function(e,a,c){var t=a+" Iterator";return e.prototype=bb(tb,{next:rb(1,c)}),nb(e,t,!1),ib[t]=db,e},pb=Ht,vb=ub,yb=cb,mb=ee,gb=Qe,_b=Ut,kb=Jt.IteratorPrototype,Eb=Jt.BUGGY_SAFARI_ITERATORS,Sb=Uc("iterator"),wb="keys",xb="values",Tb="entries",Ab=function(){return this},Ib=function(e,a,c,t,b,r,n){hb(c,a,t);var i,d,f,o=function(e){if(e===b&&p)return p;if(!Eb&&e in l)return l[e];switch(e){case wb:case xb:case Tb:return function(){return new c(this,e)}}return function(){return new c(this)}},s=a+" Iterator",u=!1,l=e.prototype,h=l[Sb]||l["@@iterator"]||b&&l[b],p=!Eb&&h||o(b),v="Array"==a&&l.entries||h;if(v&&(i=pb(v.call(new e)),kb!==Object.prototype&&i.next&&(pb(i)!==kb&&(vb?vb(i,kb):"function"!=typeof i[Sb]&&mb(i,Sb,Ab)),yb(i,s,!0))),b==xb&&h&&h.name!==xb&&(u=!0,p=function(){return h.call(this)}),l[Sb]!==p&&mb(l,Sb,p),_b[a]=p,b)if(d={values:o(xb),keys:r?p:o(wb),entries:o(Tb)},n)for(f in d)(Eb||u||!(f in l))&&gb(l,f,d[f]);else lb({target:a,proto:!0,forced:Eb||u},d);return d},Db=k,Ob=function(e){Pt[Ct][e]=!0},Rb=Ut,Lb=Ve,Cb=Ib,Pb="Array Iterator",jb=Lb.set,Mb=Lb.getterFor(Pb),Bb=Cb(Array,"Array",(function(e,a){jb(this,{type:Pb,target:Db(e),index:0,kind:a})}),(function(){var e=Mb(this),a=e.target,c=e.kind,t=e.index++;return!a||t>=a.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==c?{value:t,done:!1}:"values"==c?{value:a[t],done:!1}:{value:[t,a[t]],done:!1}}),"values");Rb.Arguments=Rb.Array,Ob("keys"),Ob("values"),Ob("entries");var Ub="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Nb=Qe,Fb=function(e,a,c){for(var t in a)Nb(e,t,a[t],c);return e},Gb=function(e,a,c){if(!(e instanceof a))throw TypeError("Incorrect "+(c?c+" ":"")+"invocation");return e},Vb=ra,qb=da,zb=function(e){if(void 0===e)return 0;var a=Vb(e),c=qb(a);if(a!==c)throw RangeError("Wrong length or index");return c},Hb=Math.abs,Kb=Math.pow,$b=Math.floor,Wb=Math.log,Yb=Math.LN2,Xb=T,Qb=ua,Jb=da,Zb=function(e){for(var a=Xb(this),c=Jb(a.length),t=arguments.length,b=Qb(t>1?arguments[1]:void 0,c),r=t>2?arguments[2]:void 0,n=void 0===r?c:Qb(r,c);n>b;)a[b++]=e;return a},er=b,ar=i,cr=Ub,tr=ee,br=Fb,rr=n,nr=Gb,ir=ra,dr=da,fr=zb,or={pack:function(e,a,c){var t,b,r,n=new Array(c),i=8*c-a-1,d=(1<<i)-1,f=d>>1,o=23===a?Kb(2,-24)-Kb(2,-77):0,s=e<0||0===e&&1/e<0?1:0,u=0;for((e=Hb(e))!=e||e===1/0?(b=e!=e?1:0,t=d):(t=$b(Wb(e)/Yb),e*(r=Kb(2,-t))<1&&(t--,r*=2),(e+=t+f>=1?o/r:o*Kb(2,1-f))*r>=2&&(t++,r/=2),t+f>=d?(b=0,t=d):t+f>=1?(b=(e*r-1)*Kb(2,a),t+=f):(b=e*Kb(2,f-1)*Kb(2,a),t=0));a>=8;n[u++]=255&b,b/=256,a-=8);for(t=t<<a|b,i+=a;i>0;n[u++]=255&t,t/=256,i-=8);return n[--u]|=128*s,n},unpack:function(e,a){var c,t=e.length,b=8*t-a-1,r=(1<<b)-1,n=r>>1,i=b-7,d=t-1,f=e[d--],o=127&f;for(f>>=7;i>0;o=256*o+e[d],d--,i-=8);for(c=o&(1<<-i)-1,o>>=-i,i+=a;i>0;c=256*c+e[d],d--,i-=8);if(0===o)o=1-n;else{if(o===r)return c?NaN:f?-1/0:1/0;c+=Kb(2,a),o-=n}return(f?-1:1)*c*Kb(2,o-a)}},sr=Ht,ur=ub,lr=ca.f,hr=z.f,pr=Zb,vr=cb,yr=Ve.get,mr=Ve.set,gr="ArrayBuffer",_r="DataView",kr="prototype",Er="Wrong index",Sr=er[gr],wr=Sr,xr=er[_r],Tr=xr&&xr[kr],Ar=Object.prototype,Ir=er.RangeError,Dr=or.pack,Or=or.unpack,Rr=function(e){return[255&e]},Lr=function(e){return[255&e,e>>8&255]},Cr=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},Pr=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},jr=function(e){return Dr(e,23,4)},Mr=function(e){return Dr(e,52,8)},Br=function(e,a){hr(e[kr],a,{get:function(){return yr(this)[a]}})},Ur=function(e,a,c,t){var b=fr(c),r=yr(e);if(b+a>r.byteLength)throw Ir(Er);var n=yr(r.buffer).bytes,i=b+r.byteOffset,d=n.slice(i,i+a);return t?d:d.reverse()},Nr=function(e,a,c,t,b,r){var n=fr(c),i=yr(e);if(n+a>i.byteLength)throw Ir(Er);for(var d=yr(i.buffer).bytes,f=n+i.byteOffset,o=t(+b),s=0;s<a;s++)d[f+s]=o[r?s:a-s-1]};if(cr){if(!rr((function(){Sr(1)}))||!rr((function(){new Sr(-1)}))||rr((function(){return new Sr,new Sr(1.5),new Sr(NaN),Sr.name!=gr}))){for(var Fr,Gr=(wr=function(e){return nr(this,wr),new Sr(fr(e))})[kr]=Sr[kr],Vr=lr(Sr),qr=0;Vr.length>qr;)(Fr=Vr[qr++])in wr||tr(wr,Fr,Sr[Fr]);Gr.constructor=wr}ur&&sr(Tr)!==Ar&&ur(Tr,Ar);var zr=new xr(new wr(2)),Hr=Tr.setInt8;zr.setInt8(0,2147483648),zr.setInt8(1,2147483649),!zr.getInt8(0)&&zr.getInt8(1)||br(Tr,{setInt8:function(e,a){Hr.call(this,e,a<<24>>24)},setUint8:function(e,a){Hr.call(this,e,a<<24>>24)}},{unsafe:!0})}else wr=function(e){nr(this,wr,gr);var a=fr(e);mr(this,{bytes:pr.call(new Array(a),0),byteLength:a}),ar||(this.byteLength=a)},xr=function(e,a,c){nr(this,xr,_r),nr(e,wr,_r);var t=yr(e).byteLength,b=ir(a);if(b<0||b>t)throw Ir("Wrong offset");if(b+(c=void 0===c?t-b:dr(c))>t)throw Ir("Wrong length");mr(this,{buffer:e,byteLength:c,byteOffset:b}),ar||(this.buffer=e,this.byteLength=c,this.byteOffset=b)},ar&&(Br(wr,"byteLength"),Br(xr,"buffer"),Br(xr,"byteLength"),Br(xr,"byteOffset")),br(xr[kr],{getInt8:function(e){return Ur(this,1,e)[0]<<24>>24},getUint8:function(e){return Ur(this,1,e)[0]},getInt16:function(e){var a=Ur(this,2,e,arguments.length>1?arguments[1]:void 0);return(a[1]<<8|a[0])<<16>>16},getUint16:function(e){var a=Ur(this,2,e,arguments.length>1?arguments[1]:void 0);return a[1]<<8|a[0]},getInt32:function(e){return Pr(Ur(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return Pr(Ur(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return Or(Ur(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return Or(Ur(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,a){Nr(this,1,e,Rr,a)},setUint8:function(e,a){Nr(this,1,e,Rr,a)},setInt16:function(e,a){Nr(this,2,e,Lr,a,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,a){Nr(this,2,e,Lr,a,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,a){Nr(this,4,e,Cr,a,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,a){Nr(this,4,e,Cr,a,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,a){Nr(this,4,e,jr,a,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,a){Nr(this,8,e,Mr,a,arguments.length>2?arguments[2]:void 0)}});vr(wr,gr),vr(xr,_r);var Kr={ArrayBuffer:wr,DataView:xr},$r=aa,Wr=z,Yr=i,Xr=Uc("species"),Qr=function(e){var a=$r(e),c=Wr.f;Yr&&a&&!a[Xr]&&c(a,Xr,{configurable:!0,get:function(){return this}})},Jr=Qr,Zr="ArrayBuffer",en=Kr[Zr];Xa({global:!0,forced:b[Zr]!==en},{ArrayBuffer:en}),Jr(Zr);var an=T,cn=ut;Xa({target:"Object",stat:!0,forced:n((function(){cn(1)}))},{keys:function(e){return cn(an(e))}});var tn={};tn[Uc("toStringTag")]="z";var bn="[object z]"===String(tn),rn=bn,nn=h,dn=Uc("toStringTag"),fn="Arguments"==nn(function(){return arguments}()),on=rn?nn:function(e){var a,c,t;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(c=function(e,a){try{return e[a]}catch(c){}}(a=Object(e),dn))?c:fn?nn(a):"Object"==(t=nn(a))&&"function"==typeof a.callee?"Arguments":t},sn=on,un=bn?{}.toString:function(){return"[object "+sn(this)+"]"};bn||Qe(Object.prototype,"toString",un,{unsafe:!0});var ln=b.Promise,hn=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e},pn=Ut,vn=Uc("iterator"),yn=Array.prototype,mn=function(e){return void 0!==e&&(pn.Array===e||yn[vn]===e)},gn=hn,_n=function(e,a,c){if(gn(e),void 0===a)return e;switch(c){case 0:return function(){return e.call(a)};case 1:return function(c){return e.call(a,c)};case 2:return function(c,t){return e.call(a,c,t)};case 3:return function(c,t,b){return e.call(a,c,t,b)}}return function(){return e.apply(a,arguments)}},kn=on,En=Ut,Sn=Uc("iterator"),wn=function(e){if(null!=e)return e[Sn]||e["@@iterator"]||En[kn(e)]},xn=K,Tn=K,An=mn,In=da,Dn=_n,On=wn,Rn=function(e){var a=e.return;if(void 0!==a)return xn(a.call(e)).value},Ln=function(e,a){this.stopped=e,this.result=a},Cn=function(e,a,c){var t,b,r,n,i,d,f,o=c&&c.that,s=!(!c||!c.AS_ENTRIES),u=!(!c||!c.IS_ITERATOR),l=!(!c||!c.INTERRUPTED),h=Dn(a,o,1+s+l),p=function(e){return t&&Rn(t),new Ln(!0,e)},v=function(e){return s?(Tn(e),l?h(e[0],e[1],p):h(e[0],e[1])):l?h(e,p):h(e)};if(u)t=e;else{if("function"!=typeof(b=On(e)))throw TypeError("Target is not iterable");if(An(b)){for(r=0,n=In(e.length);n>r;r++)if((i=v(e[r]))&&i instanceof Ln)return i;return new Ln(!1)}t=b.call(e)}for(d=t.next;!(f=d.call(t)).done;){try{i=v(f.value)}catch(y){throw Rn(t),y}if("object"==typeof i&&i&&i instanceof Ln)return i}return new Ln(!1)},Pn=Uc("iterator"),jn=!1;try{var Mn=0,Bn={next:function(){return{done:!!Mn++}},return:function(){jn=!0}};Bn[Pn]=function(){return this},Array.from(Bn,(function(){throw 2}))}catch(tg){}var Un,Nn,Fn,Gn=function(e,a){if(!a&&!jn)return!1;var c=!1;try{var t={};t[Pn]=function(){return{next:function(){return{done:c=!0}}}},e(t)}catch(tg){}return c},Vn=K,qn=hn,zn=Uc("species"),Hn=function(e,a){var c,t=Vn(e).constructor;return void 0===t||null==(c=Vn(t)[zn])?a:qn(c)},Kn=/(?:iphone|ipod|ipad).*applewebkit/i.test(_c),$n="process"==h(b.process),Wn=b,Yn=n,Xn=_n,Qn=yt,Jn=C,Zn=Kn,ei=$n,ai=Wn.location,ci=Wn.setImmediate,ti=Wn.clearImmediate,bi=Wn.process,ri=Wn.MessageChannel,ni=Wn.Dispatch,ii=0,di={},fi="onreadystatechange",oi=function(e){if(di.hasOwnProperty(e)){var a=di[e];delete di[e],a()}},si=function(e){return function(){oi(e)}},ui=function(e){oi(e.data)},li=function(e){Wn.postMessage(e+"",ai.protocol+"//"+ai.host)};ci&&ti||(ci=function(e){for(var a=[],c=1;arguments.length>c;)a.push(arguments[c++]);return di[++ii]=function(){("function"==typeof e?e:Function(e)).apply(void 0,a)},Un(ii),ii},ti=function(e){delete di[e]},ei?Un=function(e){bi.nextTick(si(e))}:ni&&ni.now?Un=function(e){ni.now(si(e))}:ri&&!Zn?(Fn=(Nn=new ri).port2,Nn.port1.onmessage=ui,Un=Xn(Fn.postMessage,Fn,1)):Wn.addEventListener&&"function"==typeof postMessage&&!Wn.importScripts&&ai&&"file:"!==ai.protocol&&!Yn(li)?(Un=li,Wn.addEventListener("message",ui,!1)):Un=fi in Jn("script")?function(e){Qn.appendChild(Jn("script"))[fi]=function(){Qn.removeChild(this),oi(e)}}:function(e){setTimeout(si(e),0)});var hi,pi,vi,yi,mi,gi,_i,ki,Ei={set:ci,clear:ti},Si=/web0s(?!.*chrome)/i.test(_c),wi=b,xi=r.f,Ti=Ei.set,Ai=Kn,Ii=Si,Di=$n,Oi=wi.MutationObserver||wi.WebKitMutationObserver,Ri=wi.document,Li=wi.process,Ci=wi.Promise,Pi=xi(wi,"queueMicrotask"),ji=Pi&&Pi.value;ji||(hi=function(){var e,a;for(Di&&(e=Li.domain)&&e.exit();pi;){a=pi.fn,pi=pi.next;try{a()}catch(tg){throw pi?yi():vi=void 0,tg}}vi=void 0,e&&e.enter()},Ai||Di||Ii||!Oi||!Ri?Ci&&Ci.resolve?((_i=Ci.resolve(void 0)).constructor=Ci,ki=_i.then,yi=function(){ki.call(_i,hi)}):yi=Di?function(){Li.nextTick(hi)}:function(){Ti.call(wi,hi)}:(mi=!0,gi=Ri.createTextNode(""),new Oi(hi).observe(gi,{characterData:!0}),yi=function(){gi.data=mi=!mi}));var Mi=ji||function(e){var a={fn:e,next:void 0};vi&&(vi.next=a),pi||(pi=a,yi()),vi=a},Bi={},Ui=hn,Ni=function(e){var a,c;this.promise=new e((function(e,t){if(void 0!==a||void 0!==c)throw TypeError("Bad Promise constructor");a=e,c=t})),this.resolve=Ui(a),this.reject=Ui(c)};Bi.f=function(e){return new Ni(e)};var Fi,Gi,Vi,qi,zi=K,Hi=E,Ki=Bi,$i=b,Wi="object"==typeof window,Yi=Xa,Xi=b,Qi=aa,Ji=ln,Zi=Qe,ed=Fb,ad=ub,cd=cb,td=Qr,bd=E,rd=hn,nd=Gb,id=oe,dd=Cn,fd=Gn,od=Hn,sd=Ei.set,ud=Mi,ld=function(e,a){if(zi(e),Hi(a)&&a.constructor===e)return a;var c=Ki.f(e);return(0,c.resolve)(a),c.promise},hd=function(e,a){var c=$i.console;c&&c.error&&(1===arguments.length?c.error(e):c.error(e,a))},pd=Bi,vd=function(e){try{return{error:!1,value:e()}}catch(tg){return{error:!0,value:tg}}},yd=Ve,md=Va,gd=Wi,_d=$n,kd=xc,Ed=Uc("species"),Sd="Promise",wd=yd.get,xd=yd.set,Td=yd.getterFor(Sd),Ad=Ji&&Ji.prototype,Id=Ji,Dd=Ad,Od=Xi.TypeError,Rd=Xi.document,Ld=Xi.process,Cd=pd.f,Pd=Cd,jd=!!(Rd&&Rd.createEvent&&Xi.dispatchEvent),Md="function"==typeof PromiseRejectionEvent,Bd="unhandledrejection",Ud=!1,Nd=md(Sd,(function(){var e=id(Id)!==String(Id);if(!e&&66===kd)return!0;if(kd>=51&&/native code/.test(Id))return!1;var a=new Id((function(e){e(1)})),c=function(e){e((function(){}),(function(){}))};return(a.constructor={})[Ed]=c,!(Ud=a.then((function(){}))instanceof c)||!e&&gd&&!Md})),Fd=Nd||!fd((function(e){Id.all(e).catch((function(){}))})),Gd=function(e){var a;return!(!bd(e)||"function"!=typeof(a=e.then))&&a},Vd=function(e,a){if(!e.notified){e.notified=!0;var c=e.reactions;ud((function(){for(var t=e.value,b=1==e.state,r=0;c.length>r;){var n,i,d,f=c[r++],o=b?f.ok:f.fail,s=f.resolve,u=f.reject,l=f.domain;try{o?(b||(2===e.rejection&&Kd(e),e.rejection=1),!0===o?n=t:(l&&l.enter(),n=o(t),l&&(l.exit(),d=!0)),n===f.promise?u(Od("Promise-chain cycle")):(i=Gd(n))?i.call(n,s,u):s(n)):u(t)}catch(tg){l&&!d&&l.exit(),u(tg)}}e.reactions=[],e.notified=!1,a&&!e.rejection&&zd(e)}))}},qd=function(e,a,c){var t,b;jd?((t=Rd.createEvent("Event")).promise=a,t.reason=c,t.initEvent(e,!1,!0),Xi.dispatchEvent(t)):t={promise:a,reason:c},!Md&&(b=Xi["on"+e])?b(t):e===Bd&&hd("Unhandled promise rejection",c)},zd=function(e){sd.call(Xi,(function(){var a,c=e.facade,t=e.value;if(Hd(e)&&(a=vd((function(){_d?Ld.emit("unhandledRejection",t,c):qd(Bd,c,t)})),e.rejection=_d||Hd(e)?2:1,a.error))throw a.value}))},Hd=function(e){return 1!==e.rejection&&!e.parent},Kd=function(e){sd.call(Xi,(function(){var a=e.facade;_d?Ld.emit("rejectionHandled",a):qd("rejectionhandled",a,e.value)}))},$d=function(e,a,c){return function(t){e(a,t,c)}},Wd=function(e,a,c){e.done||(e.done=!0,c&&(e=c),e.value=a,e.state=2,Vd(e,!0))},Yd=function(e,a,c){if(!e.done){e.done=!0,c&&(e=c);try{if(e.facade===a)throw Od("Promise can't be resolved itself");var t=Gd(a);t?ud((function(){var c={done:!1};try{t.call(a,$d(Yd,c,e),$d(Wd,c,e))}catch(tg){Wd(c,tg,e)}})):(e.value=a,e.state=1,Vd(e,!1))}catch(tg){Wd({done:!1},tg,e)}}};if(Nd&&(Dd=(Id=function(e){nd(this,Id,Sd),rd(e),Fi.call(this);var a=wd(this);try{e($d(Yd,a),$d(Wd,a))}catch(tg){Wd(a,tg)}}).prototype,(Fi=function(e){xd(this,{type:Sd,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=ed(Dd,{then:function(e,a){var c=Td(this),t=Cd(od(this,Id));return t.ok="function"!=typeof e||e,t.fail="function"==typeof a&&a,t.domain=_d?Ld.domain:void 0,c.parent=!0,c.reactions.push(t),0!=c.state&&Vd(c,!1),t.promise},catch:function(e){return this.then(void 0,e)}}),Gi=function(){var e=new Fi,a=wd(e);this.promise=e,this.resolve=$d(Yd,a),this.reject=$d(Wd,a)},pd.f=Cd=function(e){return e===Id||e===Vi?new Gi(e):Pd(e)},"function"==typeof Ji&&Ad!==Object.prototype)){qi=Ad.then,Ud||(Zi(Ad,"then",(function(e,a){var c=this;return new Id((function(e,a){qi.call(c,e,a)})).then(e,a)}),{unsafe:!0}),Zi(Ad,"catch",Dd.catch,{unsafe:!0}));try{delete Ad.constructor}catch(tg){}ad&&ad(Ad,Dd)}Yi({global:!0,wrap:!0,forced:Nd},{Promise:Id}),cd(Id,Sd,!1),td(Sd),Vi=Qi(Sd),Yi({target:Sd,stat:!0,forced:Nd},{reject:function(e){var a=Cd(this);return a.reject.call(void 0,e),a.promise}}),Yi({target:Sd,stat:!0,forced:Nd},{resolve:function(e){return ld(this,e)}}),Yi({target:Sd,stat:!0,forced:Fd},{all:function(e){var a=this,c=Cd(a),t=c.resolve,b=c.reject,r=vd((function(){var c=rd(a.resolve),r=[],n=0,i=1;dd(e,(function(e){var d=n++,f=!1;r.push(void 0),i++,c.call(a,e).then((function(e){f||(f=!0,r[d]=e,--i||t(r))}),b)})),--i||t(r)}));return r.error&&b(r.value),c.promise},race:function(e){var a=this,c=Cd(a),t=c.reject,b=vd((function(){var b=rd(a.resolve);dd(e,(function(e){b.call(a,e).then(c.resolve,t)}))}));return b.error&&t(b.value),c.promise}});var Xd=K,Qd=function(){var e=Xd(this),a="";return e.global&&(a+="g"),e.ignoreCase&&(a+="i"),e.multiline&&(a+="m"),e.dotAll&&(a+="s"),e.unicode&&(a+="u"),e.sticky&&(a+="y"),a},Jd=Qe,Zd=K,ef=n,af=Qd,cf="toString",tf=RegExp.prototype,bf=tf[cf],rf=ef((function(){return"/a/b"!=bf.call({source:"a",flags:"b"})})),nf=bf.name!=cf;(rf||nf)&&Jd(RegExp.prototype,cf,(function(){var e=Zd(this),a=String(e.source),c=e.flags;return"/"+a+"/"+String(void 0===c&&e instanceof RegExp&&!("flags"in tf)?af.call(e):c)}),{unsafe:!0});var df,ff={exports:{}},of=Ub,sf=i,uf=b,lf=E,hf=D,pf=on,vf=ee,yf=Qe,mf=z.f,gf=Ht,_f=ub,kf=Uc,Ef=Ee,Sf=uf.Int8Array,wf=Sf&&Sf.prototype,xf=uf.Uint8ClampedArray,Tf=xf&&xf.prototype,Af=Sf&&gf(Sf),If=wf&&gf(wf),Df=Object.prototype,Of=Df.isPrototypeOf,Rf=kf("toStringTag"),Lf=Ef("TYPED_ARRAY_TAG"),Cf=of&&!!_f&&"Opera"!==pf(uf.opera),Pf=!1,jf={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},Mf={BigInt64Array:8,BigUint64Array:8},Bf=function(e){if(!lf(e))return!1;var a=pf(e);return hf(jf,a)||hf(Mf,a)};for(df in jf)uf[df]||(Cf=!1);if((!Cf||"function"!=typeof Af||Af===Function.prototype)&&(Af=function(){throw TypeError("Incorrect invocation")},Cf))for(df in jf)uf[df]&&_f(uf[df],Af);if((!Cf||!If||If===Df)&&(If=Af.prototype,Cf))for(df in jf)uf[df]&&_f(uf[df].prototype,If);if(Cf&&gf(Tf)!==If&&_f(Tf,If),sf&&!hf(If,Rf))for(df in Pf=!0,mf(If,Rf,{get:function(){return lf(this)?this[Lf]:void 0}}),jf)uf[df]&&vf(uf[df],Lf,df);var Uf={NATIVE_ARRAY_BUFFER_VIEWS:Cf,TYPED_ARRAY_TAG:Pf&&Lf,aTypedArray:function(e){if(Bf(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(_f){if(Of.call(Af,e))return e}else for(var a in jf)if(hf(jf,df)){var c=uf[a];if(c&&(e===c||Of.call(c,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,a,c){if(sf){if(c)for(var t in jf){var b=uf[t];if(b&&hf(b.prototype,e))try{delete b.prototype[e]}catch(tg){}}If[e]&&!c||yf(If,e,c?a:Cf&&wf[e]||a)}},exportTypedArrayStaticMethod:function(e,a,c){var t,b;if(sf){if(_f){if(c)for(t in jf)if((b=uf[t])&&hf(b,e))try{delete b[e]}catch(tg){}if(Af[e]&&!c)return;try{return yf(Af,e,c?a:Cf&&Af[e]||a)}catch(tg){}}for(t in jf)!(b=uf[t])||b[e]&&!c||yf(b,e,a)}},isView:function(e){if(!lf(e))return!1;var a=pf(e);return"DataView"===a||hf(jf,a)||hf(Mf,a)},isTypedArray:Bf,TypedArray:Af,TypedArrayPrototype:If},Nf=b,Ff=n,Gf=Gn,Vf=Uf.NATIVE_ARRAY_BUFFER_VIEWS,qf=Nf.ArrayBuffer,zf=Nf.Int8Array,Hf=!Vf||!Ff((function(){zf(1)}))||!Ff((function(){new zf(-1)}))||!Gf((function(e){new zf,new zf(null),new zf(1.5),new zf(e)}),!0)||Ff((function(){return 1!==new zf(new qf(2),1,void 0).length})),Kf=ra,$f=function(e){var a=Kf(e);if(a<0)throw RangeError("The argument can't be less than 0");return a},Wf=function(e,a){var c=$f(e);if(c%a)throw RangeError("Wrong offset");return c},Yf=T,Xf=da,Qf=wn,Jf=mn,Zf=_n,eo=Uf.aTypedArrayConstructor,ao=_n,co=y,to=T,bo=da,ro=Vc,no=[].push,io=function(e){var a=1==e,c=2==e,t=3==e,b=4==e,r=6==e,n=7==e,i=5==e||r;return function(d,f,o,s){for(var u,l,h=to(d),p=co(h),v=ao(f,o,3),y=bo(p.length),m=0,g=s||ro,_=a?g(d,y):c||n?g(d,0):void 0;y>m;m++)if((i||m in p)&&(l=v(u=p[m],m,h),e))if(a)_[m]=l;else if(l)switch(e){case 3:return!0;case 5:return u;case 6:return m;case 2:no.call(_,u)}else switch(e){case 4:return!1;case 7:no.call(_,u)}return r?-1:t||b?b:_}},fo={forEach:io(0),map:io(1),filter:io(2),some:io(3),every:io(4),find:io(5),findIndex:io(6),filterOut:io(7)},oo=E,so=ub,uo=function(e,a,c){var t,b;return so&&"function"==typeof(t=a.constructor)&&t!==c&&oo(b=t.prototype)&&b!==c.prototype&&so(e,b),e},lo=Xa,ho=b,po=i,vo=Hf,yo=Uf,mo=Kr,go=Gb,_o=u,ko=ee,Eo=da,So=zb,wo=Wf,xo=w,To=D,Ao=on,Io=E,Do=Ot,Oo=ub,Ro=ca.f,Lo=function(e){var a,c,t,b,r,n,i=Yf(e),d=arguments.length,f=d>1?arguments[1]:void 0,o=void 0!==f,s=Qf(i);if(null!=s&&!Jf(s))for(n=(r=s.call(i)).next,i=[];!(b=n.call(r)).done;)i.push(b.value);for(o&&d>2&&(f=Zf(f,arguments[2],2)),c=Xf(i.length),t=new(eo(this))(c),a=0;c>a;a++)t[a]=o?f(i[a],a):i[a];return t},Co=fo.forEach,Po=Qr,jo=z,Mo=r,Bo=uo,Uo=Ve.get,No=Ve.set,Fo=jo.f,Go=Mo.f,Vo=Math.round,qo=ho.RangeError,zo=mo.ArrayBuffer,Ho=mo.DataView,Ko=yo.NATIVE_ARRAY_BUFFER_VIEWS,$o=yo.TYPED_ARRAY_TAG,Wo=yo.TypedArray,Yo=yo.TypedArrayPrototype,Xo=yo.aTypedArrayConstructor,Qo=yo.isTypedArray,Jo="BYTES_PER_ELEMENT",Zo="Wrong length",es=function(e,a){for(var c=0,t=a.length,b=new(Xo(e))(t);t>c;)b[c]=a[c++];return b},as=function(e,a){Fo(e,a,{get:function(){return Uo(this)[a]}})},cs=function(e){var a;return e instanceof zo||"ArrayBuffer"==(a=Ao(e))||"SharedArrayBuffer"==a},ts=function(e,a){return Qo(e)&&"symbol"!=typeof a&&a in e&&String(+a)==String(a)},bs=function(e,a){return ts(e,a=xo(a,!0))?_o(2,e[a]):Go(e,a)},rs=function(e,a,c){return!(ts(e,a=xo(a,!0))&&Io(c)&&To(c,"value"))||To(c,"get")||To(c,"set")||c.configurable||To(c,"writable")&&!c.writable||To(c,"enumerable")&&!c.enumerable?Fo(e,a,c):(e[a]=c.value,e)};po?(Ko||(Mo.f=bs,jo.f=rs,as(Yo,"buffer"),as(Yo,"byteOffset"),as(Yo,"byteLength"),as(Yo,"length")),lo({target:"Object",stat:!0,forced:!Ko},{getOwnPropertyDescriptor:bs,defineProperty:rs}),ff.exports=function(e,a,c){var t=e.match(/\d+$/)[0]/8,b=e+(c?"Clamped":"")+"Array",r="get"+e,n="set"+e,i=ho[b],d=i,f=d&&d.prototype,o={},s=function(e,a){Fo(e,a,{get:function(){return e=a,(c=Uo(this)).view[r](e*t+c.byteOffset,!0);var e,c},set:function(e){return b=a,r=e,i=Uo(this),c&&(r=(r=Vo(r))<0?0:r>255?255:255&r),void i.view[n](b*t+i.byteOffset,r,!0);var b,r,i},enumerable:!0})};Ko?vo&&(d=a((function(e,a,c,r){return go(e,d,b),Bo(Io(a)?cs(a)?void 0!==r?new i(a,wo(c,t),r):void 0!==c?new i(a,wo(c,t)):new i(a):Qo(a)?es(d,a):Lo.call(d,a):new i(So(a)),e,d)})),Oo&&Oo(d,Wo),Co(Ro(i),(function(e){e in d||ko(d,e,i[e])})),d.prototype=f):(d=a((function(e,a,c,r){go(e,d,b);var n,i,f,o=0,u=0;if(Io(a)){if(!cs(a))return Qo(a)?es(d,a):Lo.call(d,a);n=a,u=wo(c,t);var l=a.byteLength;if(void 0===r){if(l%t)throw qo(Zo);if((i=l-u)<0)throw qo(Zo)}else if((i=Eo(r)*t)+u>l)throw qo(Zo);f=i/t}else f=So(a),n=new zo(i=f*t);for(No(e,{buffer:n,byteOffset:u,byteLength:i,length:f,view:new Ho(n)});o<f;)s(e,o++)})),Oo&&Oo(d,Wo),f=d.prototype=Do(Yo)),f.constructor!==d&&ko(f,"constructor",d),$o&&ko(f,$o,b),o[b]=d,lo({global:!0,forced:d!=i,sham:!Ko},o),Jo in d||ko(d,Jo,t),Jo in f||ko(f,Jo,t),Po(b)}):ff.exports=function(){};var ns=ff.exports;ns("Uint8",(function(e){return function(a,c,t){return e(this,a,c,t)}})),ns("Uint16",(function(e){return function(a,c,t){return e(this,a,c,t)}}));var is=T,ds=ua,fs=da,os=Math.min,ss=[].copyWithin||function(e,a){var c=is(this),t=fs(c.length),b=ds(e,t),r=ds(a,t),n=arguments.length>2?arguments[2]:void 0,i=os((void 0===n?t:ds(n,t))-r,t-b),d=1;for(r<b&&b<r+i&&(d=-1,r+=i-1,b+=i-1);i-- >0;)r in c?c[b]=c[r]:delete c[b],b+=d,r+=d;return c},us=ss,ls=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("copyWithin",(function(e,a){return us.call(ls(this),e,a,arguments.length>2?arguments[2]:void 0)}));var hs=fo.every,ps=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("every",(function(e){return hs(ps(this),e,arguments.length>1?arguments[1]:void 0)}));var vs=Zb,ys=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("fill",(function(e){return vs.apply(ys(this),arguments)}));var ms=Uf.aTypedArrayConstructor,gs=Hn,_s=fo.filter,ks=function(e,a){for(var c=gs(e,e.constructor),t=0,b=a.length,r=new(ms(c))(b);b>t;)r[t]=a[t++];return r},Es=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("filter",(function(e){var a=_s(Es(this),e,arguments.length>1?arguments[1]:void 0);return ks(this,a)}));var Ss=fo.find,ws=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("find",(function(e){return Ss(ws(this),e,arguments.length>1?arguments[1]:void 0)}));var xs=fo.findIndex,Ts=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("findIndex",(function(e){return xs(Ts(this),e,arguments.length>1?arguments[1]:void 0)}));var As=fo.forEach,Is=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("forEach",(function(e){As(Is(this),e,arguments.length>1?arguments[1]:void 0)}));var Ds=ya.includes,Os=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("includes",(function(e){return Ds(Os(this),e,arguments.length>1?arguments[1]:void 0)}));var Rs=ya.indexOf,Ls=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("indexOf",(function(e){return Rs(Ls(this),e,arguments.length>1?arguments[1]:void 0)}));var Cs=b,Ps=Uf,js=Bb,Ms=Uc("iterator"),Bs=Cs.Uint8Array,Us=js.values,Ns=js.keys,Fs=js.entries,Gs=Ps.aTypedArray,Vs=Ps.exportTypedArrayMethod,qs=Bs&&Bs.prototype[Ms],zs=!!qs&&("values"==qs.name||null==qs.name),Hs=function(){return Us.call(Gs(this))};Vs("entries",(function(){return Fs.call(Gs(this))})),Vs("keys",(function(){return Ns.call(Gs(this))})),Vs("values",Hs,!zs),Vs(Ms,Hs,!zs);var Ks=Uf.aTypedArray,$s=[].join;(0,Uf.exportTypedArrayMethod)("join",(function(e){return $s.apply(Ks(this),arguments)}));var Ws=n,Ys=function(e,a){var c=[][e];return!!c&&Ws((function(){c.call(null,a||function(){throw 1},1)}))},Xs=k,Qs=ra,Js=da,Zs=Ys,eu=Math.min,au=[].lastIndexOf,cu=!!au&&1/[1].lastIndexOf(1,-0)<0,tu=Zs("lastIndexOf"),bu=cu||!tu?function(e){if(cu)return au.apply(this,arguments)||0;var a=Xs(this),c=Js(a.length),t=c-1;for(arguments.length>1&&(t=eu(t,Qs(arguments[1]))),t<0&&(t=c+t);t>=0;t--)if(t in a&&a[t]===e)return t||0;return-1}:au,ru=bu,nu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("lastIndexOf",(function(e){return ru.apply(nu(this),arguments)}));var iu=fo.map,du=Hn,fu=Uf.aTypedArray,ou=Uf.aTypedArrayConstructor;(0,Uf.exportTypedArrayMethod)("map",(function(e){return iu(fu(this),e,arguments.length>1?arguments[1]:void 0,(function(e,a){return new(ou(du(e,e.constructor)))(a)}))}));var su=hn,uu=T,lu=y,hu=da,pu=function(e){return function(a,c,t,b){su(c);var r=uu(a),n=lu(r),i=hu(r.length),d=e?i-1:0,f=e?-1:1;if(t<2)for(;;){if(d in n){b=n[d],d+=f;break}if(d+=f,e?d<0:i<=d)throw TypeError("Reduce of empty array with no initial value")}for(;e?d>=0:i>d;d+=f)d in n&&(b=c(b,n[d],d,r));return b}},vu={left:pu(!1),right:pu(!0)},yu=vu.left,mu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("reduce",(function(e){return yu(mu(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var gu=vu.right,_u=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("reduceRight",(function(e){return gu(_u(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}));var ku=Uf.aTypedArray,Eu=Uf.exportTypedArrayMethod,Su=Math.floor;Eu("reverse",(function(){for(var e,a=this,c=ku(a).length,t=Su(c/2),b=0;b<t;)e=a[b],a[b++]=a[--c],a[c]=e;return a}));var wu=da,xu=Wf,Tu=T,Au=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("set",(function(e){Au(this);var a=xu(arguments.length>1?arguments[1]:void 0,1),c=this.length,t=Tu(e),b=wu(t.length),r=0;if(b+a>c)throw RangeError("Wrong length");for(;r<b;)this[a+r]=t[r++]}),n((function(){new Int8Array(1).set({})})));var Iu=Hn,Du=Uf.aTypedArray,Ou=Uf.aTypedArrayConstructor,Ru=[].slice;(0,Uf.exportTypedArrayMethod)("slice",(function(e,a){for(var c=Ru.call(Du(this),e,a),t=Iu(this,this.constructor),b=0,r=c.length,n=new(Ou(t))(r);r>b;)n[b]=c[b++];return n}),n((function(){new Int8Array(1).slice()})));var Lu=fo.some,Cu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("some",(function(e){return Lu(Cu(this),e,arguments.length>1?arguments[1]:void 0)}));var Pu=Uf.aTypedArray,ju=[].sort;(0,Uf.exportTypedArrayMethod)("sort",(function(e){return ju.call(Pu(this),e)}));var Mu=da,Bu=ua,Uu=Hn,Nu=Uf.aTypedArray;(0,Uf.exportTypedArrayMethod)("subarray",(function(e,a){var c=Nu(this),t=c.length,b=Bu(e,t);return new(Uu(c,c.constructor))(c.buffer,c.byteOffset+b*c.BYTES_PER_ELEMENT,Mu((void 0===a?t:Bu(a,t))-b))}));var Fu=Uf,Gu=n,Vu=b.Int8Array,qu=Fu.aTypedArray,zu=Fu.exportTypedArrayMethod,Hu=[].toLocaleString,Ku=[].slice,$u=!!Vu&&Gu((function(){Hu.call(new Vu(1))}));zu("toLocaleString",(function(){return Hu.apply($u?Ku.call(qu(this)):qu(this),arguments)}),Gu((function(){return[1,2].toLocaleString()!=new Vu([1,2]).toLocaleString()}))||!Gu((function(){Vu.prototype.toLocaleString.call([1,2])})));var Wu=Uf.exportTypedArrayMethod,Yu=n,Xu=b.Uint8Array,Qu=Xu&&Xu.prototype||{},Ju=[].toString,Zu=[].join;Yu((function(){Ju.call({})}))&&(Ju=function(){return Zu.call(this)});var el=Qu.toString!=Ju;Wu("toString",Ju,el);var al={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},cl=fo.forEach,tl=Ys("forEach")?[].forEach:function(e){return cl(this,e,arguments.length>1?arguments[1]:void 0)},bl=b,rl=al,nl=tl,il=ee;for(var dl in rl){var fl=bl[dl],ol=fl&&fl.prototype;if(ol&&ol.forEach!==nl)try{il(ol,"forEach",nl)}catch(tg){ol.forEach=nl}}var sl=b,ul=al,ll=Bb,hl=ee,pl=Uc,vl=pl("iterator"),yl=pl("toStringTag"),ml=ll.values;for(var gl in ul){var _l=sl[gl],kl=_l&&_l.prototype;if(kl){if(kl[vl]!==ml)try{hl(kl,vl,ml)}catch(tg){kl[vl]=ml}if(kl[yl]||hl(kl,yl,gl),ul[gl])for(var El in ll)if(kl[El]!==ll[El])try{hl(kl,El,ll[El])}catch(tg){kl[El]=ll[El]}}}var Sl={exports:{}};!function(e){var a=Object.prototype.hasOwnProperty,c="~";function t(){}function b(e,a,c){this.fn=e,this.context=a,this.once=c||!1}function r(e,a,t,r,n){if("function"!=typeof t)throw new TypeError("The listener must be a function");var i=new b(t,r||e,n),d=c?c+a:a;return e._events[d]?e._events[d].fn?e._events[d]=[e._events[d],i]:e._events[d].push(i):(e._events[d]=i,e._eventsCount++),e}function n(e,a){0==--e._eventsCount?e._events=new t:delete e._events[a]}function i(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),(new t).__proto__||(c=!1)),i.prototype.eventNames=function(){var e,t,b=[];if(0===this._eventsCount)return b;for(t in e=this._events)a.call(e,t)&&b.push(c?t.slice(1):t);return Object.getOwnPropertySymbols?b.concat(Object.getOwnPropertySymbols(e)):b},i.prototype.listeners=function(e){var a=c?c+e:e,t=this._events[a];if(!t)return[];if(t.fn)return[t.fn];for(var b=0,r=t.length,n=new Array(r);b<r;b++)n[b]=t[b].fn;return n},i.prototype.listenerCount=function(e){var a=c?c+e:e,t=this._events[a];return t?t.fn?1:t.length:0},i.prototype.emit=function(e,a,t,b,r,n){var i=c?c+e:e;if(!this._events[i])return!1;var d,f,o=this._events[i],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,a),!0;case 3:return o.fn.call(o.context,a,t),!0;case 4:return o.fn.call(o.context,a,t,b),!0;case 5:return o.fn.call(o.context,a,t,b,r),!0;case 6:return o.fn.call(o.context,a,t,b,r,n),!0}for(f=1,d=new Array(s-1);f<s;f++)d[f-1]=arguments[f];o.fn.apply(o.context,d)}else{var u,l=o.length;for(f=0;f<l;f++)switch(o[f].once&&this.removeListener(e,o[f].fn,void 0,!0),s){case 1:o[f].fn.call(o[f].context);break;case 2:o[f].fn.call(o[f].context,a);break;case 3:o[f].fn.call(o[f].context,a,t);break;case 4:o[f].fn.call(o[f].context,a,t,b);break;default:if(!d)for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];o[f].fn.apply(o[f].context,d)}}return!0},i.prototype.on=function(e,a,c){return r(this,e,a,c,!1)},i.prototype.once=function(e,a,c){return r(this,e,a,c,!0)},i.prototype.removeListener=function(e,a,t,b){var r=c?c+e:e;if(!this._events[r])return this;if(!a)return n(this,r),this;var i=this._events[r];if(i.fn)i.fn!==a||b&&!i.once||t&&i.context!==t||n(this,r);else{for(var d=0,f=[],o=i.length;d<o;d++)(i[d].fn!==a||b&&!i[d].once||t&&i[d].context!==t)&&f.push(i[d]);f.length?this._events[r]=1===f.length?f[0]:f:n(this,r)}return this},i.prototype.removeAllListeners=function(e){var a;return e?(a=c?c+e:e,this._events[a]&&n(this,a)):(this._events=new t,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=c,i.EventEmitter=i,e.exports=i}(Sl);var wl=c(Sl.exports),xl=Xa,Tl=k,Al=[].join,Il=y!=Object,Dl=Ys("join",",");xl({target:"Array",proto:!0,forced:Il||!Dl},{join:function(e){return Al.call(Tl(this),void 0===e?",":e)}});var Ol=fo.map;Xa({target:"Array",proto:!0,forced:!Kc("map")},{map:function(e){return Ol(this,e,arguments.length>1?arguments[1]:void 0)}});var Rl=Xa,Ll=E,Cl=pc,Pl=ua,jl=da,Ml=k,Bl=gc,Ul=Uc,Nl=Kc("slice"),Fl=Ul("species"),Gl=[].slice,Vl=Math.max;Rl({target:"Array",proto:!0,forced:!Nl},{slice:function(e,a){var c,t,b,r=Ml(this),n=jl(r.length),i=Pl(e,n),d=Pl(void 0===a?n:a,n);if(Cl(r)&&("function"!=typeof(c=r.constructor)||c!==Array&&!Cl(c.prototype)?Ll(c)&&null===(c=c[Fl])&&(c=void 0):c=void 0,c===Array||void 0===c))return Gl.call(r,i,d);for(t=new(void 0===c?Array:c)(Vl(d-i,0)),b=0;i<d;i++,b++)i in r&&Bl(t,b,r[i]);return t.length=b,t}});var ql=m,zl="[\t\n\v\f\r \u2028\u2029\ufeff]",Hl=RegExp("^"+zl+zl+"*"),Kl=RegExp(zl+zl+"*$"),$l=function(e){return function(a){var c=String(ql(a));return 1&e&&(c=c.replace(Hl,"")),2&e&&(c=c.replace(Kl,"")),c}},Wl={start:$l(1),end:$l(2),trim:$l(3)},Yl=i,Xl=b,Ql=Va,Jl=Qe,Zl=D,eh=h,ah=uo,ch=w,th=n,bh=Ot,rh=ca.f,nh=r.f,ih=z.f,dh=Wl.trim,fh="Number",oh=Xl[fh],sh=oh.prototype,uh=eh(bh(sh))==fh,lh=function(e){var a,c,t,b,r,n,i,d,f=ch(e,!1);if("string"==typeof f&&f.length>2)if(43===(a=(f=dh(f)).charCodeAt(0))||45===a){if(88===(c=f.charCodeAt(2))||120===c)return NaN}else if(48===a){switch(f.charCodeAt(1)){case 66:case 98:t=2,b=49;break;case 79:case 111:t=8,b=55;break;default:return+f}for(n=(r=f.slice(2)).length,i=0;i<n;i++)if((d=r.charCodeAt(i))<48||d>b)return NaN;return parseInt(r,t)}return+f};if(Ql(fh,!oh(" 0o1")||!oh("0b1")||oh("+0x1"))){for(var hh,ph=function(e){var a=arguments.length<1?0:e,c=this;return c instanceof ph&&(uh?th((function(){sh.valueOf.call(c)})):eh(c)!=fh)?ah(new oh(lh(a)),c,ph):lh(a)},vh=Yl?rh(oh):"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(","),yh=0;vh.length>yh;yh++)Zl(oh,hh=vh[yh])&&!Zl(ph,hh)&&ih(ph,hh,nh(oh,hh));ph.prototype=sh,sh.constructor=ph,Jl(Xl,fh,ph)}var mh={},gh=n;function _h(e,a){return RegExp(e,a)}mh.UNSUPPORTED_Y=gh((function(){var e=_h("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),mh.BROKEN_CARET=gh((function(){var e=_h("^r","gy");return e.lastIndex=2,null!=e.exec("str")}));var kh,Eh,Sh=Qd,wh=mh,xh=ge,Th=RegExp.prototype.exec,Ah=xh("native-string-replace",String.prototype.replace),Ih=Th,Dh=(kh=/a/,Eh=/b*/g,Th.call(kh,"a"),Th.call(Eh,"a"),0!==kh.lastIndex||0!==Eh.lastIndex),Oh=wh.UNSUPPORTED_Y||wh.BROKEN_CARET,Rh=void 0!==/()??/.exec("")[1];(Dh||Rh||Oh)&&(Ih=function(e){var a,c,t,b,r=this,n=Oh&&r.sticky,i=Sh.call(r),d=r.source,f=0,o=e;return n&&(-1===(i=i.replace("y","")).indexOf("g")&&(i+="g"),o=String(e).slice(r.lastIndex),r.lastIndex>0&&(!r.multiline||r.multiline&&"\n"!==e[r.lastIndex-1])&&(d="(?: "+d+")",o=" "+o,f++),c=new RegExp("^(?:"+d+")",i)),Rh&&(c=new RegExp("^"+d+"$(?!\\s)",i)),Dh&&(a=r.lastIndex),t=Th.call(n?c:r,o),n?t?(t.input=t.input.slice(f),t[0]=t[0].slice(f),t.index=r.lastIndex,r.lastIndex+=t[0].length):r.lastIndex=0:Dh&&t&&(r.lastIndex=r.global?t.index+t[0].length:a),Rh&&t&&t.length>1&&Ah.call(t[0],c,(function(){for(b=1;b<arguments.length-2;b++)void 0===arguments[b]&&(t[b]=void 0)})),t});var Lh=Ih;Xa({target:"RegExp",proto:!0,forced:/./.exec!==Lh},{exec:Lh});var Ch=Qe,Ph=Lh,jh=n,Mh=Uc,Bh=ee,Uh=Mh("species"),Nh=RegExp.prototype,Fh=!jh((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),Gh="$0"==="a".replace(/./,"$0"),Vh=Mh("replace"),qh=!!/./[Vh]&&""===/./[Vh]("a","$0"),zh=!jh((function(){var e=/(?:)/,a=e.exec;e.exec=function(){return a.apply(this,arguments)};var c="ab".split(e);return 2!==c.length||"a"!==c[0]||"b"!==c[1]})),Hh=function(e,a,c,t){var b=Mh(e),r=!jh((function(){var a={};return a[b]=function(){return 7},7!=""[e](a)})),n=r&&!jh((function(){var a=!1,c=/a/;return"split"===e&&((c={}).constructor={},c.constructor[Uh]=function(){return c},c.flags="",c[b]=/./[b]),c.exec=function(){return a=!0,null},c[b](""),!a}));if(!r||!n||"replace"===e&&(!Fh||!Gh||qh)||"split"===e&&!zh){var i=/./[b],d=c(b,""[e],(function(e,a,c,t,b){var n=a.exec;return n===Ph||n===Nh.exec?r&&!b?{done:!0,value:i.call(a,c,t)}:{done:!0,value:e.call(c,a,t)}:{done:!1}}),{REPLACE_KEEPS_$0:Gh,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:qh}),f=d[0],o=d[1];Ch(String.prototype,e,f),Ch(Nh,b,2==a?function(e,a){return o.call(e,this,a)}:function(e){return o.call(e,this)})}t&&Bh(Nh[b],"sham",!0)},Kh=ra,$h=m,Wh=function(e){return function(a,c){var t,b,r=String($h(a)),n=Kh(c),i=r.length;return n<0||n>=i?e?"":void 0:(t=r.charCodeAt(n))<55296||t>56319||n+1===i||(b=r.charCodeAt(n+1))<56320||b>57343?e?r.charAt(n):t:e?r.slice(n,n+2):b-56320+(t-55296<<10)+65536}},Yh={codeAt:Wh(!1),charAt:Wh(!0)},Xh=Yh.charAt,Qh=function(e,a,c){return a+(c?Xh(e,a).length:1)},Jh=h,Zh=Lh,ep=function(e,a){var c=e.exec;if("function"==typeof c){var t=c.call(e,a);if("object"!=typeof t)throw TypeError("RegExp exec method returned something other than an Object or null");return t}if("RegExp"!==Jh(e))throw TypeError("RegExp#exec called on incompatible receiver");return Zh.call(e,a)},ap=K,cp=da,tp=m,bp=Qh,rp=ep;Hh("match",1,(function(e,a,c){return[function(a){var c=tp(this),t=null==a?void 0:a[e];return void 0!==t?t.call(a,c):new RegExp(a)[e](String(c))},function(e){var t=c(a,e,this);if(t.done)return t.value;var b=ap(e),r=String(this);if(!b.global)return rp(b,r);var n=b.unicode;b.lastIndex=0;for(var i,d=[],f=0;null!==(i=rp(b,r));){var o=String(i[0]);d[f]=o,""===o&&(b.lastIndex=bp(r,cp(b.lastIndex),n)),f++}return 0===f?null:d}]}));var np=T,ip=Math.floor,dp="".replace,fp=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,op=/\$([$&'`]|\d{1,2})/g,sp=Hh,up=K,lp=da,hp=ra,pp=m,vp=Qh,yp=function(e,a,c,t,b,r){var n=c+e.length,i=t.length,d=op;return void 0!==b&&(b=np(b),d=fp),dp.call(r,d,(function(r,d){var f;switch(d.charAt(0)){case"$":return"$";case"&":return e;case"`":return a.slice(0,c);case"'":return a.slice(n);case"<":f=b[d.slice(1,-1)];break;default:var o=+d;if(0===o)return r;if(o>i){var s=ip(o/10);return 0===s?r:s<=i?void 0===t[s-1]?d.charAt(1):t[s-1]+d.charAt(1):r}f=t[o-1]}return void 0===f?"":f}))},mp=ep,gp=Math.max,_p=Math.min;sp("replace",2,(function(e,a,c,t){var b=t.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,r=t.REPLACE_KEEPS_$0,n=b?"$":"$0";return[function(c,t){var b=pp(this),r=null==c?void 0:c[e];return void 0!==r?r.call(c,b,t):a.call(String(b),c,t)},function(e,t){if(!b&&r||"string"==typeof t&&-1===t.indexOf(n)){var i=c(a,e,this,t);if(i.done)return i.value}var d=up(e),f=String(this),o="function"==typeof t;o||(t=String(t));var s=d.global;if(s){var u=d.unicode;d.lastIndex=0}for(var l=[];;){var h=mp(d,f);if(null===h)break;if(l.push(h),!s)break;""===String(h[0])&&(d.lastIndex=vp(f,lp(d.lastIndex),u))}for(var p,v="",y=0,m=0;m<l.length;m++){h=l[m];for(var g=String(h[0]),_=gp(_p(hp(h.index),f.length),0),k=[],E=1;E<h.length;E++)k.push(void 0===(p=h[E])?p:String(p));var S=h.groups;if(o){var w=[g].concat(k,_,f);void 0!==S&&w.push(S);var x=String(t.apply(void 0,w))}else x=yp(g,f,_,k,S,t);_>=y&&(v+=f.slice(y,_)+x,y=_+g.length)}return v+f.slice(y)}]}));var kp=Uf.aTypedArrayConstructor;(0,Uf.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,a=arguments.length,c=new(kp(this))(a);a>e;)c[e]=arguments[e++];return c}),Hf);var Ep=function(e){var a=0;for(a=0;0!==e;a++)e&=e-1;return a};function Sp(e,a){return e^a}function wp(e,a,c){var t=e+Ep(a)+c;return String.fromCharCode(255&t)}function xp(e,a,c){var t=e-Ep(a)-c;return String.fromCharCode(255&t)}function Tp(e){for(var a,c=e.length,t=0;t<c&&t!==c-1;t+=2)a=e[t],e[t]=e[t+1],e[t+1]=a;return e}function Ap(e,a){var c=85,t=250;Tp(e);for(var b=0;b<e.length;b++){var r=e[b].charCodeAt(0),n=0===a?wp:xp;b%2==1?c=r=Sp(c,n(r+t,b,21).charCodeAt(0)):t=r=Sp(t,n(r+c,b,21).charCodeAt(0)),e[b]=String.fromCharCode(r)}return Tp(e),e}function Ip(e,a){var c,t=function(e,a){var c,t=(e[0].charCodeAt(0)^e[1].charCodeAt(0)^e[2].charCodeAt(0))-"0".charCodeAt(0),b=a-t-1,r=new Array(t);for(c=t;c>0;c--)r[t-c]=String.fromCharCode(e[a-t-2].charCodeAt(0)^e[a-t-1].charCodeAt(0)^e[a-c].charCodeAt(0));return{convertKey:e.substring(1,b+1).split(""),convertLen:b,method:r.join(""),methodLen:t}}(e,a=a||e.length),b=t.convertKey,r=t.convertLen,n=t.method,i="11"===n||"appdevice"===n||"app_v2"===n?0:1;switch(n){case"11":case"22":case"appdevice":case"webdevice":b=function(e,a,c){for(var t,b=85,r=250,n=0;n<a;n++){var i=e[n].charCodeAt(0);n%2==1?(t=b^i,b=i):(t=r^i,r=i),e[n]=0===c?xp(t,n,21):wp(t,n,21)}return e}(b,r,i);break;case"app_v2":case"web_v2":b=function(e,a,c){a=a||e.length;var t=85,b=250;Tp(e);for(var r=0;r<a;r++){var n=e[r].charCodeAt(0),i=void 0,d=void 0;r%2==1?(d=Sp(t,n),t=n,i=b):(d=Sp(b,n),b=n,i=t);var f=(0===c?xp:wp)(d,r,21).charCodeAt(0)-i;f<0&&(f+=256),e[r]=String.fromCharCode(f)}return Tp(e),e}(b,r,i)}var d=r-((c=b[0])>="0"&&c<="9"?c.charCodeAt(0)-"0".charCodeAt(0):c>="a"&&c<="z"?c.charCodeAt(0)-"a".charCodeAt(0)+10:255)-1,f=new Array(d+1);f[d]="";var o=0;for(o=0;o<d;o++)f[o]=b[o+1];return f.join("")}var Dp=cc((function e(){var a,c;ec(this,e);var t=new Promise((function(e,t){a=e,c=t}));return t.resolve=function(e){a(e),t.state="fulfilled"},t.reject=function(e){c(e),t.state="rejected",t.isBreak="DESTROYED"===e},t.state="pending",t}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}]);function Op(e){var a=e||{},c=a.url,t=a.method,b=void 0===t?"GET":t,r=a.type,n=void 0===r?"arraybuffer":r,i=a.data,d=void 0===i?{}:i;return new Promise((function(e,a){var t=new window.XMLHttpRequest,r=b.toUpperCase(),i=[];if(Object.keys(d).map((function(e){i.push("k=".concat(d[e]))})),"GET"===r){var f="";f=c.indexOf("?")<0?"".concat(c,"?").concat(i.join("&")):(null==i?void 0:i.length)>0?"".concat(c,"&").concat(i.join("&")):c,t.open(r,f),n&&(t.responseType=n),t.send()}else{if("POST"!==r)throw new Error("xhr ".concat(r," is not supported"));t.open(r,c,!0),n&&(t.responseType=n),t.setRequestHeader("Content-Type","application/json"),t.send(JSON.stringify(d))}t.onload=function(){200===t.status||206===t.status?e(t):a(t)},t.onerror=function(){a(t)}}))}var Rp,Lp,Cp,Pp,jp,Mp,Bp,Up,Np=i,Fp=z.f,Gp=Function.prototype,Vp=Gp.toString,qp=/^\s*function ([^ (]*)/,zp="name";function Hp(e){return Kp.apply(this,arguments)}function Kp(){return Kp=Ja(ic().mark((function e(a){var c,t,b=arguments;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=!(b.length>1&&void 0!==b[1])||b[1],t=b.length>2&&void 0!==b[2]?b[2]:["encrypt","decrypt"],e.abrupt("return",new Promise((function(e,b){var r;"undefined"!=typeof crypto&&null!==(r=crypto)&&void 0!==r&&r.subtle?crypto.subtle.generateKey(a,c,t).then((function(a){e(a)})).catch((function(e){b(e)})):b(new Error(Lp.WebCryptoNotSupport.msg))})));case 3:case"end":return e.stop()}}),e)}))),Kp.apply(this,arguments)}function $p(){if("object"!==("undefined"==typeof crypto?"undefined":oc(crypto))||"[object crypto]"!==Object.prototype.toString.call(crypto).toLowerCase()||void 0===crypto.subtle)throw new Cp(Lp.WebCryptoNotSupport.code,Lp.WebCryptoNotSupport.msg);return!0}function Wp(e){for(var a=window.atob(e),c=new Uint8Array(a.length),t=0;t<a.length;t++)c[t]=a.charCodeAt(t);return c.buffer}function Yp(e){return Xp.apply(this,arguments)}function Xp(){return(Xp=Ja(ic().mark((function e(a){var c,t,b,r,n;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=a.data,t=a.privateKey,b=Wp(c),$p(),e.prev=3,e.next=6,crypto.subtle.decrypt({name:"RSA-OAEP"},t,b);case 6:r=e.sent,e.next=12;break;case 9:throw e.prev=9,e.t0=e.catch(3),new Cp(Lp.PrivateKeyDecryptFail.code,"".concat(Lp.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 n=(new TextDecoder).decode(r),e.abrupt("return",n);case 14:case"end":return e.stop()}}),e,null,[[3,9]])})))).apply(this,arguments)}function Qp(e){for(var a="",c=0;c<e.length;c+=16e3){var t=e.subarray(c,c+16e3);a+=String.fromCharCode.apply(null,t)}return a}Np&&!(zp in Gp)&&Fp(Gp,zp,{configurable:!0,get:function(){try{return Vp.call(this).match(qp)[1]}catch(tg){return""}}}),function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=y,s=y;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 54:f=h[l--],h[l]-=f;break;case 63:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 31:f=h[l--],h[l]=h[l]===f;break;case 16:f=h[l--],h[l]=h[l]<f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 57:f=h[l--],h[l]=h[l]instanceof f;break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=y,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 60:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 20:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 38:throw f=h[l--];case 69:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 22:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}("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 ic},get 9(){return oc},get 10(){return Ja},get 11(){return sc},get 12(){return rc},get 13(){return Za},get 14(){return ec},get 15(){return cc},get 16(){return Ip},get 17(){return Dp},get 18(){return Op},get 19(){return Yp},get 20(){return Rp},set 20(e){Rp=e},get 21(){return Lp},set 21(e){Lp=e},get 22(){return Cp},set 22(e){Cp=e},get 23(){return Pp},set 23(e){Pp=e},get 24(){return jp},set 24(e){jp=e},get 25(){return Mp},set 25(e){Mp=e},get 26(){return Bp},set 26(e){Bp=e},get 27(){return Up},set 27(e){Up=e}},void 0);var Jp,Zp,ev,av,cv,tv,bv,rv,nv=(Jp="vodTimestampSalt",Zp=function(e){return e.split("").map((function(e){return e.charCodeAt(0)}))},ev=function(e){return"0".concat(Number(e).toString(16)).substr(-2)},av=function(e){return Zp(Jp).reduce((function(e,a){return e^a}),e)},function(e){return e.split("").map(Zp).map(av).map(ev).join("")}),iv=(bv="vodTimestampSalt",rv=function(e){return(a=bv,a.split("").map((function(e){return e.charCodeAt(0)}))).reduce((function(e,a){return e^a}),e);var a},function(e){return e.match(/.{1,2}/g).map((function(e){return parseInt(e,16)})).map(rv).map((function(e){return String.fromCharCode(e)})).join("")}),dv={str2hex:function(e){if(""===e)return"";for(var a=[],c=0;c<e.length;c++)a.push(e.charCodeAt(c));return a},Base64ToHex:function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=window.atob(e.replace(/-/g,"+").replace(/_/g,"/"));if(a){for(var t=[],b=0;b<c.length;b++)t.push(c.charCodeAt(b));return new Uint8Array(t).buffer}for(var r="",n=0;n<c.length;n++)r+="0".concat(c.charCodeAt(n).toString(16)).substr(-2);return r},checkUnionInfoExpired:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30;if(0===a.indexOf(e)){var t=parseInt(iv(a.slice(e.length))),b=(new Date).getTime()-t;if(b>0&&b<=1e3*c)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(nv((new Date).getTime().toString()))},StringToArrayBuffer:function(e){for(var a=new ArrayBuffer(e.length),c=new Uint8Array(a),t=0;t<e.length;t++)c[t]=e.charCodeAt(t);return a},ArrayBufferToString:function(e){var a=[];e=ArrayBuffer.isView(e)?e:new Uint8Array(e);for(var c,t=0;t<e.length;t++)c=e[t],a.push(String.fromCharCode(c));return a.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:Qp,fromHex:function(e){for(var a=new Uint8Array(e.length/2),c=0;c<e.length;c+=2)a[c/2]=window.parseInt(e.substr(c,2),16);return a},toUTF8:function(e){for(var a=encodeURIComponent(e),c=unescape(a),t=new Uint8Array(c.length),b=0;b<c.length;++b)t[b]=c.charCodeAt(b);return t.buffer},toBase64:function(e,a){var c=Qp(e);a=void 0===a||a;var t=window.btoa(c).replace(/\+/g,"-").replace(/\//g,"_");return a?t:t.replace(/=*$/,"")}};e.EVENT_EME=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 63:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 5:f=h[l--],s=delete(o=h[l--])[f],h[++l]=s;break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 38:throw f=h[l--];case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("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 rc},get 16(){return Za},get 17(){return cc},get 18(){return ec},get 19(){return wl},get 20(){return dv},get 21(){return cv},set 21(e){cv=e},get 22(){return e.EVENT_EME},set 22(a){e.EVENT_EME=a},get 23(){return tv},set 23(e){tv=e}},void 0);var fv,ov,sv=tv,uv=E,lv=h,hv=Uc("match"),pv=i,vv=b,yv=Va,mv=uo,gv=z.f,_v=ca.f,kv=function(e){var a;return uv(e)&&(void 0!==(a=e[hv])?!!a:"RegExp"==lv(e))},Ev=Qd,Sv=mh,wv=Qe,xv=n,Tv=Ve.enforce,Av=Qr,Iv=Uc("match"),Dv=vv.RegExp,Ov=Dv.prototype,Rv=/a/g,Lv=/a/g,Cv=new Dv(Rv)!==Rv,Pv=Sv.UNSUPPORTED_Y;if(pv&&yv("RegExp",!Cv||Pv||xv((function(){return Lv[Iv]=!1,Dv(Rv)!=Rv||Dv(Lv)==Lv||"/a/i"!=Dv(Rv,"i")})))){for(var jv=function(e,a){var c,t=this instanceof jv,b=kv(e),r=void 0===a;if(!t&&b&&e.constructor===jv&&r)return e;Cv?b&&!r&&(e=e.source):e instanceof jv&&(r&&(a=Ev.call(e)),e=e.source),Pv&&(c=!!a&&a.indexOf("y")>-1)&&(a=a.replace(/y/g,""));var n=mv(Cv?new Dv(e,a):Dv(e,a),t?this:Ov,jv);return Pv&&c&&(Tv(n).sticky=!0),n},Mv=function(e){e in jv||gv(jv,e,{configurable:!0,get:function(){return Dv[e]},set:function(a){Dv[e]=a}})},Bv=_v(Dv),Uv=0;Bv.length>Uv;)Mv(Bv[Uv++]);Ov.constructor=jv,jv.prototype=Ov,wv(vv,"RegExp",jv)}Av("RegExp"),e.isNativeFunction=void 0,e.checkMSEValid=void 0,e.checkEMEValid=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 44:h[l]=-h[l];break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("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(a){e.isNativeFunction=a},get 13(){return fv},set 13(e){fv=e},get 14(){return ov},set 14(e){ov=e},get 15(){return e.checkMSEValid},set 15(a){e.checkMSEValid=a},get 16(){return e.checkEMEValid},set 16(a){e.checkEMEValid=a}},void 0);var Nv={exports:{}},Fv=!n((function(){return Object.isExtensible(Object.preventExtensions({}))})),Gv=Te,Vv=E,qv=D,zv=z.f,Hv=Fv,Kv=Ee("meta"),$v=0,Wv=Object.isExtensible||function(){return!0},Yv=function(e){zv(e,Kv,{value:{objectID:"O"+ ++$v,weakData:{}}})},Xv=Nv.exports={REQUIRED:!1,fastKey:function(e,a){if(!Vv(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!qv(e,Kv)){if(!Wv(e))return"F";if(!a)return"E";Yv(e)}return e[Kv].objectID},getWeakData:function(e,a){if(!qv(e,Kv)){if(!Wv(e))return!0;if(!a)return!1;Yv(e)}return e[Kv].weakData},onFreeze:function(e){return Hv&&Xv.REQUIRED&&Wv(e)&&!qv(e,Kv)&&Yv(e),e}};Gv[Kv]=!0;var Qv=Nv.exports,Jv=Xa,Zv=b,ey=Va,ay=Qe,cy=Qv,ty=Cn,by=Gb,ry=E,ny=n,iy=Gn,dy=cb,fy=uo,oy=z.f,sy=Ot,uy=Fb,ly=_n,hy=Gb,py=Cn,vy=Ib,yy=Qr,my=i,gy=Qv.fastKey,_y=Ve.set,ky=Ve.getterFor,Ey={getConstructor:function(e,a,c,t){var b=e((function(e,r){hy(e,b,a),_y(e,{type:a,index:sy(null),first:void 0,last:void 0,size:0}),my||(e.size=0),null!=r&&py(r,e[t],{that:e,AS_ENTRIES:c})})),r=ky(a),n=function(e,a,c){var t,b,n=r(e),d=i(e,a);return d?d.value=c:(n.last=d={index:b=gy(a,!0),key:a,value:c,previous:t=n.last,next:void 0,removed:!1},n.first||(n.first=d),t&&(t.next=d),my?n.size++:e.size++,"F"!==b&&(n.index[b]=d)),e},i=function(e,a){var c,t=r(e),b=gy(a);if("F"!==b)return t.index[b];for(c=t.first;c;c=c.next)if(c.key==a)return c};return uy(b.prototype,{clear:function(){for(var e=r(this),a=e.index,c=e.first;c;)c.removed=!0,c.previous&&(c.previous=c.previous.next=void 0),delete a[c.index],c=c.next;e.first=e.last=void 0,my?e.size=0:this.size=0},delete:function(e){var a=this,c=r(a),t=i(a,e);if(t){var b=t.next,n=t.previous;delete c.index[t.index],t.removed=!0,n&&(n.next=b),b&&(b.previous=n),c.first==t&&(c.first=b),c.last==t&&(c.last=n),my?c.size--:a.size--}return!!t},forEach:function(e){for(var a,c=r(this),t=ly(e,arguments.length>1?arguments[1]:void 0,3);a=a?a.next:c.first;)for(t(a.value,a.key,this);a&&a.removed;)a=a.previous},has:function(e){return!!i(this,e)}}),uy(b.prototype,c?{get:function(e){var a=i(this,e);return a&&a.value},set:function(e,a){return n(this,0===e?0:e,a)}}:{add:function(e){return n(this,e=0===e?0:e,e)}}),my&&oy(b.prototype,"size",{get:function(){return r(this).size}}),b},setStrong:function(e,a,c){var t=a+" Iterator",b=ky(a),r=ky(t);vy(e,a,(function(e,a){_y(this,{type:t,target:e,state:b(e),kind:a,last:void 0})}),(function(){for(var e=r(this),a=e.kind,c=e.last;c&&c.removed;)c=c.previous;return e.target&&(e.last=c=c?c.next:e.state.first)?"keys"==a?{value:c.key,done:!1}:"values"==a?{value:c.value,done:!1}:{value:[c.key,c.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),c?"entries":"values",!c,!0),yy(a)}};!function(e,a,c){var t=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),r=t?"set":"add",n=Zv[e],i=n&&n.prototype,d=n,f={},o=function(e){var a=i[e];ay(i,e,"add"==e?function(e){return a.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!ry(e))&&a.call(this,0===e?0:e)}:"get"==e?function(e){return b&&!ry(e)?void 0:a.call(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!ry(e))&&a.call(this,0===e?0:e)}:function(e,c){return a.call(this,0===e?0:e,c),this})};if(ey(e,"function"!=typeof n||!(b||i.forEach&&!ny((function(){(new n).entries().next()})))))d=c.getConstructor(a,e,t,r),cy.REQUIRED=!0;else if(ey(e,!0)){var s=new d,u=s[r](b?{}:-0,1)!=s,l=ny((function(){s.has(1)})),h=iy((function(e){new n(e)})),p=!b&&ny((function(){for(var e=new n,a=5;a--;)e[r](a,a);return!e.has(-0)}));h||((d=a((function(a,c){by(a,d,e);var b=fy(new n,a,d);return null!=c&&ty(c,b[r],{that:b,AS_ENTRIES:t}),b}))).prototype=i,i.constructor=d),(l||p)&&(o("delete"),o("has"),t&&o("get")),(p||u)&&o(r),b&&i.clear&&delete i.clear}f[e]=d,Jv({global:!0,forced:d!=n},f),dy(d,e),b||c.setStrong(d,e,t)}("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),Ey);var Sy=Yh.charAt,wy=Ve,xy=Ib,Ty="String Iterator",Ay=wy.set,Iy=wy.getterFor(Ty);xy(String,"String",(function(e){Ay(this,{type:Ty,string:String(e),index:0})}),(function(){var e,a=Iy(this),c=a.string,t=a.index;return t>=c.length?{value:void 0,done:!0}:(e=Sy(c,t),a.index+=e.length,{value:e,done:!1})}));var Dy=K,Oy=hn,Ry=function(){for(var e,a=Dy(this),c=Oy(a.delete),t=!0,b=0,r=arguments.length;b<r;b++)e=c.call(a,arguments[b]),t=t&&e;return!!t};Xa({target:"Map",proto:!0,real:!0,forced:!1},{deleteAll:function(){return Ry.apply(this,arguments)}});var Ly=function(e){return Map.prototype.entries.call(e)},Cy=K,Py=_n,jy=Ly,My=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{every:function(e){var a=Cy(this),c=jy(a),t=Py(e,arguments.length>1?arguments[1]:void 0,3);return!My(c,(function(e,c,b){if(!t(c,e,a))return b()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var By=aa,Uy=K,Ny=hn,Fy=_n,Gy=Hn,Vy=Ly,qy=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{filter:function(e){var a=Uy(this),c=Vy(a),t=Fy(e,arguments.length>1?arguments[1]:void 0,3),b=new(Gy(a,By("Map"))),r=Ny(b.set);return qy(c,(function(e,c){t(c,e,a)&&r.call(b,e,c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var zy=K,Hy=_n,Ky=Ly,$y=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{find:function(e){var a=zy(this),c=Ky(a),t=Hy(e,arguments.length>1?arguments[1]:void 0,3);return $y(c,(function(e,c,b){if(t(c,e,a))return b(c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Wy=K,Yy=_n,Xy=Ly,Qy=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{findKey:function(e){var a=Wy(this),c=Xy(a),t=Yy(e,arguments.length>1?arguments[1]:void 0,3);return Qy(c,(function(e,c,b){if(t(c,e,a))return b(e)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var Jy=K,Zy=Ly,em=function(e,a){return e===a||e!=e&&a!=a},am=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{includes:function(e){return am(Zy(Jy(this)),(function(a,c,t){if(em(c,e))return t()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var cm=K,tm=Ly,bm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{keyOf:function(e){return bm(tm(cm(this)),(function(a,c,t){if(c===e)return t(a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).result}});var rm=aa,nm=K,im=hn,dm=_n,fm=Hn,om=Ly,sm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{mapKeys:function(e){var a=nm(this),c=om(a),t=dm(e,arguments.length>1?arguments[1]:void 0,3),b=new(fm(a,rm("Map"))),r=im(b.set);return sm(c,(function(e,c){r.call(b,t(c,e,a),c)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var um=aa,lm=K,hm=hn,pm=_n,vm=Hn,ym=Ly,mm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{mapValues:function(e){var a=lm(this),c=ym(a),t=pm(e,arguments.length>1?arguments[1]:void 0,3),b=new(vm(a,um("Map"))),r=hm(b.set);return mm(c,(function(e,c){r.call(b,e,t(c,e,a))}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),b}});var gm=K,_m=hn,km=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{merge:function(e){for(var a=gm(this),c=_m(a.set),t=0;t<arguments.length;)km(arguments[t++],c,{that:a,AS_ENTRIES:!0});return a}});var Em=K,Sm=hn,wm=Ly,xm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{reduce:function(e){var a=Em(this),c=wm(a),t=arguments.length<2,b=t?void 0:arguments[1];if(Sm(e),xm(c,(function(c,r){t?(t=!1,b=r):b=e(b,r,c,a)}),{AS_ENTRIES:!0,IS_ITERATOR:!0}),t)throw TypeError("Reduce of empty map with no initial value");return b}});var Tm=K,Am=_n,Im=Ly,Dm=Cn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{some:function(e){var a=Tm(this),c=Im(a),t=Am(e,arguments.length>1?arguments[1]:void 0,3);return Dm(c,(function(e,c,b){if(t(c,e,a))return b()}),{AS_ENTRIES:!0,IS_ITERATOR:!0,INTERRUPTED:!0}).stopped}});var Om=K,Rm=hn;Xa({target:"Map",proto:!0,real:!0,forced:!1},{update:function(e,a){var c=Om(this),t=arguments.length;Rm(a);var b=c.has(e);if(!b&&t<3)throw TypeError("Updating absent value");var r=b?c.get(e):Rm(t>2?arguments[2]:void 0)(e,c);return c.set(e,a(r,e,c)),c}});var Lm={exports:{}};Lm.exports=function(e){var a=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function c(e,a){var c=e[0],t=e[1],b=e[2],r=e[3];t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[0]-680876936|0)<<7|c>>>25)+t|0)&t|~c&b)+a[1]-389564586|0)<<12|r>>>20)+c|0)&c|~r&t)+a[2]+606105819|0)<<17|b>>>15)+r|0)&r|~b&c)+a[3]-1044525330|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[4]-176418897|0)<<7|c>>>25)+t|0)&t|~c&b)+a[5]+1200080426|0)<<12|r>>>20)+c|0)&c|~r&t)+a[6]-1473231341|0)<<17|b>>>15)+r|0)&r|~b&c)+a[7]-45705983|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[8]+1770035416|0)<<7|c>>>25)+t|0)&t|~c&b)+a[9]-1958414417|0)<<12|r>>>20)+c|0)&c|~r&t)+a[10]-42063|0)<<17|b>>>15)+r|0)&r|~b&c)+a[11]-1990404162|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&b|~t&r)+a[12]+1804603682|0)<<7|c>>>25)+t|0)&t|~c&b)+a[13]-40341101|0)<<12|r>>>20)+c|0)&c|~r&t)+a[14]-1502002290|0)<<17|b>>>15)+r|0)&r|~b&c)+a[15]+1236535329|0)<<22|t>>>10)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[1]-165796510|0)<<5|c>>>27)+t|0)&b|t&~b)+a[6]-1069501632|0)<<9|r>>>23)+c|0)&t|c&~t)+a[11]+643717713|0)<<14|b>>>18)+r|0)&c|r&~c)+a[0]-373897302|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[5]-701558691|0)<<5|c>>>27)+t|0)&b|t&~b)+a[10]+38016083|0)<<9|r>>>23)+c|0)&t|c&~t)+a[15]-660478335|0)<<14|b>>>18)+r|0)&c|r&~c)+a[4]-405537848|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[9]+568446438|0)<<5|c>>>27)+t|0)&b|t&~b)+a[14]-1019803690|0)<<9|r>>>23)+c|0)&t|c&~t)+a[3]-187363961|0)<<14|b>>>18)+r|0)&c|r&~c)+a[8]+1163531501|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t&r|b&~r)+a[13]-1444681467|0)<<5|c>>>27)+t|0)&b|t&~b)+a[2]-51403784|0)<<9|r>>>23)+c|0)&t|c&~t)+a[7]+1735328473|0)<<14|b>>>18)+r|0)&c|r&~c)+a[12]-1926607734|0)<<20|t>>>12)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[5]-378558|0)<<4|c>>>28)+t|0)^t^b)+a[8]-2022574463|0)<<11|r>>>21)+c|0)^c^t)+a[11]+1839030562|0)<<16|b>>>16)+r|0)^r^c)+a[14]-35309556|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[1]-1530992060|0)<<4|c>>>28)+t|0)^t^b)+a[4]+1272893353|0)<<11|r>>>21)+c|0)^c^t)+a[7]-155497632|0)<<16|b>>>16)+r|0)^r^c)+a[10]-1094730640|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[13]+681279174|0)<<4|c>>>28)+t|0)^t^b)+a[0]-358537222|0)<<11|r>>>21)+c|0)^c^t)+a[3]-722521979|0)<<16|b>>>16)+r|0)^r^c)+a[6]+76029189|0)<<23|t>>>9)+b|0,t=((t+=((b=((b+=((r=((r+=((c=((c+=(t^b^r)+a[9]-640364487|0)<<4|c>>>28)+t|0)^t^b)+a[12]-421815835|0)<<11|r>>>21)+c|0)^c^t)+a[15]+530742520|0)<<16|b>>>16)+r|0)^r^c)+a[2]-995338651|0)<<23|t>>>9)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[0]-198630844|0)<<6|c>>>26)+t|0)|~b))+a[7]+1126891415|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[14]-1416354905|0)<<15|b>>>17)+r|0)|~c))+a[5]-57434055|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[12]+1700485571|0)<<6|c>>>26)+t|0)|~b))+a[3]-1894986606|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[10]-1051523|0)<<15|b>>>17)+r|0)|~c))+a[1]-2054922799|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[8]+1873313359|0)<<6|c>>>26)+t|0)|~b))+a[15]-30611744|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[6]-1560198380|0)<<15|b>>>17)+r|0)|~c))+a[13]+1309151649|0)<<21|t>>>11)+b|0,t=((t+=((r=((r+=(t^((c=((c+=(b^(t|~r))+a[4]-145523070|0)<<6|c>>>26)+t|0)|~b))+a[11]-1120210379|0)<<10|r>>>22)+c|0)^((b=((b+=(c^(r|~t))+a[2]+718787259|0)<<15|b>>>17)+r|0)|~c))+a[9]-343485551|0)<<21|t>>>11)+b|0,e[0]=c+e[0]|0,e[1]=t+e[1]|0,e[2]=b+e[2]|0,e[3]=r+e[3]|0}function t(e){var a,c=[];for(a=0;a<64;a+=4)c[a>>2]=e.charCodeAt(a)+(e.charCodeAt(a+1)<<8)+(e.charCodeAt(a+2)<<16)+(e.charCodeAt(a+3)<<24);return c}function b(e){var a,c=[];for(a=0;a<64;a+=4)c[a>>2]=e[a]+(e[a+1]<<8)+(e[a+2]<<16)+(e[a+3]<<24);return c}function r(e){var a,b,r,n,i,d,f=e.length,o=[1732584193,-271733879,-1732584194,271733878];for(a=64;a<=f;a+=64)c(o,t(e.substring(a-64,a)));for(b=(e=e.substring(a-64)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0;a<b;a+=1)r[a>>2]|=e.charCodeAt(a)<<(a%4<<3);if(r[a>>2]|=128<<(a%4<<3),a>55)for(c(o,r),a=0;a<16;a+=1)r[a]=0;return n=(n=8*f).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),d=parseInt(n[1],16)||0,r[14]=i,r[15]=d,c(o,r),o}function n(e){var a,t,r,n,i,d,f=e.length,o=[1732584193,-271733879,-1732584194,271733878];for(a=64;a<=f;a+=64)c(o,b(e.subarray(a-64,a)));for(t=(e=a-64<f?e.subarray(a-64):new Uint8Array(0)).length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],a=0;a<t;a+=1)r[a>>2]|=e[a]<<(a%4<<3);if(r[a>>2]|=128<<(a%4<<3),a>55)for(c(o,r),a=0;a<16;a+=1)r[a]=0;return n=(n=8*f).toString(16).match(/(.*?)(.{0,8})$/),i=parseInt(n[2],16),d=parseInt(n[1],16)||0,r[14]=i,r[15]=d,c(o,r),o}function i(e){var c,t="";for(c=0;c<4;c+=1)t+=a[e>>8*c+4&15]+a[e>>8*c&15];return t}function d(e){var a;for(a=0;a<e.length;a+=1)e[a]=i(e[a]);return e.join("")}function f(e){return/[\u0080-\uFFFF]/.test(e)&&(e=unescape(encodeURIComponent(e))),e}function o(e,a){var c,t=e.length,b=new ArrayBuffer(t),r=new Uint8Array(b);for(c=0;c<t;c+=1)r[c]=e.charCodeAt(c);return a?r:b}function s(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function u(e,a,c){var t=new Uint8Array(e.byteLength+a.byteLength);return t.set(new Uint8Array(e)),t.set(new Uint8Array(a),e.byteLength),c?t:t.buffer}function l(e){var a,c=[],t=e.length;for(a=0;a<t-1;a+=2)c.push(parseInt(e.substr(a,2),16));return String.fromCharCode.apply(String,c)}function h(){this.reset()}return d(r("hello")),"undefined"==typeof ArrayBuffer||ArrayBuffer.prototype.slice||function(){function a(e,a){return(e=0|e||0)<0?Math.max(e+a,0):Math.min(e,a)}ArrayBuffer.prototype.slice=function(c,t){var b,r,n,i,d=this.byteLength,f=a(c,d),o=d;return t!==e&&(o=a(t,d)),f>o?new ArrayBuffer(0):(b=o-f,r=new ArrayBuffer(b),n=new Uint8Array(r),i=new Uint8Array(this,f,b),n.set(i),r)}}(),h.prototype.append=function(e){return this.appendBinary(f(e)),this},h.prototype.appendBinary=function(e){this._buff+=e,this._length+=e.length;var a,b=this._buff.length;for(a=64;a<=b;a+=64)c(this._hash,t(this._buff.substring(a-64,a)));return this._buff=this._buff.substring(a-64),this},h.prototype.end=function(e){var a,c,t=this._buff,b=t.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<b;a+=1)r[a>>2]|=t.charCodeAt(a)<<(a%4<<3);return this._finish(r,b),c=d(this._hash),e&&(c=l(c)),this.reset(),c},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,a){var t,b,r,n=a;if(e[n>>2]|=128<<(n%4<<3),n>55)for(c(this._hash,e),n=0;n<16;n+=1)e[n]=0;t=(t=8*this._length).toString(16).match(/(.*?)(.{0,8})$/),b=parseInt(t[2],16),r=parseInt(t[1],16)||0,e[14]=b,e[15]=r,c(this._hash,e)},h.hash=function(e,a){return h.hashBinary(f(e),a)},h.hashBinary=function(e,a){var c=d(r(e));return a?l(c):c},h.ArrayBuffer=function(){this.reset()},h.ArrayBuffer.prototype.append=function(e){var a,t=u(this._buff.buffer,e,!0),r=t.length;for(this._length+=e.byteLength,a=64;a<=r;a+=64)c(this._hash,b(t.subarray(a-64,a)));return this._buff=a-64<r?new Uint8Array(t.buffer.slice(a-64)):new Uint8Array(0),this},h.ArrayBuffer.prototype.end=function(e){var a,c,t=this._buff,b=t.length,r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(a=0;a<b;a+=1)r[a>>2]|=t[a]<<(a%4<<3);return this._finish(r,b),c=d(this._hash),e&&(c=l(c)),this.reset(),c},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=s(e.buff),e},h.ArrayBuffer.prototype.setState=function(e){return e.buff=o(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,a){var c=d(n(new Uint8Array(e)));return a?l(c):c},h}();var Cm=c(Lm.exports),Pm="KekHelper",jm="-----BEGIN PUBLIC KEY-----",Mm="-----END PUBLIC KEY-----";function Bm(e){return String.fromCharCode.apply(null,new Uint8Array(e))}function Um(e){return new Uint8Array(e.split("").map((function(e){return e.charCodeAt(0)})))}function Nm(e,a,c){return Fm.apply(this,arguments)}function Fm(){return(Fm=Ja(ic().mark((function e(a,c,t){var b,r,n,i;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=Um(a),e.next=3,crypto.subtle.importKey("pkcs8",b,{name:t.name,hash:t.hash},!0,["decrypt"]);case 3:return r=e.sent,n=Um(c),e.next=7,crypto.subtle.importKey("spki",n,{name:t.name,hash:t.hash},!0,["encrypt"]);case 7:return i=e.sent,e.abrupt("return",{privateKey:r,publicKey:i});case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gm(){return Vm.apply(this,arguments)}function Vm(){return(Vm=Ja(ic().mark((function e(){var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a={name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},c=null,t="",b="",r="",i=/kek=localstorage/gi.test("object"===("undefined"==typeof location?"undefined":oc(location))?location.href:""),e.prev=7,d=performance.now(),!(f=i?localStorage.getItem("player_keypair"):null)){e.next=23;break}if(!((o=JSON.parse(f))&&o.privateKey&&o.publicKey)){e.next=23;break}return Up(Pm,"Found key pair in local storage",o),t=o.privateKey,b=o.publicKey,r=atob(o.publicKey.replace(jm,"").replace(Mm,"").replace(/\s/g,"")),n=atob(o.privateKey.replace("-----BEGIN PRIVATE KEY-----","").replace("-----END PRIVATE KEY-----","").replace(/\s/g,"")),e.next=20,Nm(n,r,a);case 20:c=e.sent,s=performance.now(),Up(Pm,"importKeyPair took ".concat(s-d," milliseconds"));case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),Up(Pm,"importKeyPair error:",e.t0);case 28:if(c){e.next=46;break}return u=performance.now(),e.next=32,Hp(a);case 32:return c=e.sent,e.next=35,crypto.subtle.exportKey("pkcs8",c.privateKey);case 35:return l=e.sent,h=Bm(l),t=window.btoa(h),e.next=40,crypto.subtle.exportKey("spki",c.publicKey);case 40:p=e.sent,r=Bm(p),b=window.btoa(r),v=performance.now(),Up(Pm,"keyPair generated, took ".concat(v-u," milliseconds")),i&&localStorage.setItem("player_keypair",JSON.stringify({privateKey:t,publicKey:b}));case 46:return y="".concat(jm,"\n").concat(b,"\n").concat(Mm),Up(Pm,"Public key (PEM format): \n".concat(y)),m=btoa(Ap(r.split("")).join("")),Up(Pm,"drmKeK: ".concat(m)),e.abrupt("return",{keyPair:c,drmKeK:m});case 51:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}var qm={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 zm(e,a){return Hm.apply(this,arguments)}function Hm(){return(Hm=Ja(ic().mark((function e(a,c){var t,b,r,n,i;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.iv,b=c.tagLength,r=c.data,n=null,a=dv.StringToArrayBuffer(a),r=dv.Base64ToHex(r,!0),e.prev=4,e.next=7,crypto.subtle.importKey("raw",a,"AES-GCM",!0,["encrypt","decrypt"]);case 7:i=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(t),tagLength:b},i,r);case 16:n=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(n));case 31:case"end":return e.stop()}}),e,null,[[4,10],[13,19]])})))).apply(this,arguments)}function Km(e,a){return $m.apply(this,arguments)}function $m(){return($m=Ja(ic().mark((function e(a,c){var t,b,r,n,i,d,f;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.iv,b=c.tagLength,r=c.data,n=btoa(dv.ArrayBufferToString(t)),i=qm.codec.base64.toBits(n),d=qm.codec.utf8String.toBits(a),f=new qm.cipher.aes(d),e.abrupt("return",qm.codec.utf8String.fromBits(qm.mode.gcm.decrypt(f,qm.codec.base64.toBits(r),i,[],b)));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}qm.cipher.aes=function(e){this._tables[0][0][0]||this._precompute();var a,c,t,b,r,n=this._tables[0][4],i=this._tables[1],d=e.length,f=1;if(4!==d&&6!==d&&8!==d)throw new qm.exception.invalid("invalid aes key size");for(this._key=[b=e.slice(0),r=[]],a=d;a<4*d+28;a++)t=b[a-1],(a%d==0||8===d&&a%d==4)&&(t=n[t>>>24]<<24^n[t>>16&255]<<16^n[t>>8&255]<<8^n[255&t],a%d==0&&(t=t<<8^t>>>24^f<<24,f=f<<1^283*(f>>7))),b[a]=b[a-d]^t;for(c=0;a;c++,a--)t=b[3&c?a:a-4],r[c]=a<=4||c<4?t:i[0][n[t>>>24]]^i[1][n[t>>16&255]]^i[2][n[t>>8&255]]^i[3][n[255&t]]},qm.cipher.aes.prototype={encrypt:function(e){return this._crypt(e,0)},decrypt:function(e){return this._crypt(e,1)},_tables:[[[],[],[],[],[]],[[],[],[],[],[]]],_precompute:function(){var e,a,c,t,b,r,n,i,d=this._tables[0],f=this._tables[1],o=d[4],s=f[4],u=[],l=[];for(e=0;e<256;e++)l[(u[e]=e<<1^283*(e>>7))^e]=e;for(a=c=0;!o[a];a^=t||1,c=l[c]||1)for(r=(r=c^c<<1^c<<2^c<<3^c<<4)>>8^255&r^99,o[a]=r,s[r]=a,i=16843009*u[b=u[t=u[a]]]^65537*b^257*t^16843008*a,n=257*u[r]^16843008*r,e=0;e<4;e++)d[e][a]=n=n<<24^n>>>8,f[e][r]=i=i<<24^i>>>8;for(e=0;e<5;e++)d[e]=d[e].slice(0),f[e]=f[e].slice(0)},_crypt:function(e,a){if(4!==e.length)throw new qm.exception.invalid("invalid aes block size");var c,t,b,r,n=this._key[a],i=e[0]^n[0],d=e[a?3:1]^n[1],f=e[2]^n[2],o=e[a?1:3]^n[3],s=n.length/4-2,u=4,l=[0,0,0,0],h=this._tables[a],p=h[0],v=h[1],y=h[2],m=h[3],g=h[4];for(r=0;r<s;r++)c=p[i>>>24]^v[d>>16&255]^y[f>>8&255]^m[255&o]^n[u],t=p[d>>>24]^v[f>>16&255]^y[o>>8&255]^m[255&i]^n[u+1],b=p[f>>>24]^v[o>>16&255]^y[i>>8&255]^m[255&d]^n[u+2],o=p[o>>>24]^v[i>>16&255]^y[d>>8&255]^m[255&f]^n[u+3],u+=4,i=c,d=t,f=b;for(r=0;r<4;r++)l[a?3&-r:r]=g[i>>>24]<<24^g[d>>16&255]<<16^g[f>>8&255]<<8^g[255&o]^n[u++],c=i,i=d,d=f,f=o,o=c;return l}},qm.bitArray={bitSlice:function(e,a,c){return e=qm.bitArray._shiftRight(e.slice(a/32),32-(31&a)).slice(1),void 0===c?e:qm.bitArray.clamp(e,c-a)},extract:function(e,a,c){var t=Math.floor(-a-c&31);return(-32&(a+c-1^a)?e[a/32|0]<<32-t^e[a/32+1|0]>>>t:e[a/32|0]>>>t)&(1<<c)-1},concat:function(e,a){if(0===e.length||0===a.length)return e.concat(a);var c=e[e.length-1],t=qm.bitArray.getPartial(c);return 32===t?e.concat(a):qm.bitArray._shiftRight(a,t,0|c,e.slice(0,e.length-1))},bitLength:function(e){var a,c=e.length;return 0===c?0:(a=e[c-1],32*(c-1)+qm.bitArray.getPartial(a))},clamp:function(e,a){if(32*e.length<a)return e;var c=(e=e.slice(0,Math.ceil(a/32))).length;return a&=31,c>0&&a&&(e[c-1]=qm.bitArray.partial(a,e[c-1]&2147483648>>a-1,1)),e},partial:function(e,a,c){return 32===e?a:(c?0|a:a<<32-e)+1099511627776*e},getPartial:function(e){return Math.round(e/1099511627776)||32},equal:function(e,a){if(qm.bitArray.bitLength(e)!==qm.bitArray.bitLength(a))return!1;var c,t=0;for(c=0;c<e.length;c++)t|=e[c]^a[c];return 0===t},_shiftRight:function(e,a,c,t){var b,r,n;for(void 0===t&&(t=[]);a>=32;a-=32)t.push(c),c=0;if(0===a)return t.concat(e);for(b=0;b<e.length;b++)t.push(c|e[b]>>>a),c=e[b]<<32-a;return r=e.length?e[e.length-1]:0,n=qm.bitArray.getPartial(r),t.push(qm.bitArray.partial(a+n&31,a+n>32?c:t.pop(),1)),t},_xor4:function(e,a){return[e[0]^a[0],e[1]^a[1],e[2]^a[2],e[3]^a[3]]},byteswapM:function(e){var a,c;for(a=0;a<e.length;++a)c=e[a],e[a]=c>>>24|c>>>8&65280|(65280&c)<<8|c<<24;return e}},qm.codec.utf8String={fromBits:function(e){var a,c,t="",b=qm.bitArray.bitLength(e);for(a=0;a<b/8;a++)3&a||(c=e[a/4]),t+=String.fromCharCode(c>>>8>>>8>>>8),c<<=8;return decodeURIComponent(escape(t))},toBits:function(e){e=unescape(encodeURIComponent(e));var a,c=[],t=0;for(a=0;a<e.length;a++)t=t<<8|e.charCodeAt(a),3&~a||(c.push(t),t=0);return 3&a&&c.push(qm.bitArray.partial(8*(3&a),t)),c}},qm.codec.base64={_chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",fromBits:function(e,a,c){var t,b="",r=0,n=qm.codec.base64._chars,i=0,d=qm.bitArray.bitLength(e);for(c&&(n=n.substr(0,62)+"-_"),t=0;6*b.length<d;)b+=n.charAt((i^e[t]>>>r)>>>26),r<6?(i=e[t]<<6-r,r+=26,t++):(i<<=6,r-=6);for(;3&b.length&&!a;)b+="=";return b},toBits:function(e,a){e=e.replace(/\s|=/g,"");var c,t,b=[],r=0,n=qm.codec.base64._chars,i=0;for(a&&(n=n.substr(0,62)+"-_"),c=0;c<e.length;c++){if((t=n.indexOf(e.charAt(c)))<0)throw new qm.exception.invalid("this isn't base64!");r>26?(r-=26,b.push(i^t>>>r),i=t<<32-r):i^=t<<32-(r+=6)}return 56&r&&b.push(qm.bitArray.partial(56&r,i,1)),b}},qm.codec.base64url={fromBits:function(e){return qm.codec.base64.fromBits(e,1,1)},toBits:function(e){return qm.codec.base64.toBits(e,1)}},qm.mode.gcm={name:"gcm",encrypt:function(e,a,c,t,b){var r,n=a.slice(0),i=qm.bitArray;return b=b||128,t=t||[],r=qm.mode.gcm._ctrMode(!0,e,n,t,c,b),i.concat(r.data,r.tag)},decrypt:function(e,a,c,t,b){var r,n,i=a.slice(0),d=qm.bitArray,f=d.bitLength(i);if(t=t||[],(b=b||128)<=f?(n=d.bitSlice(i,f-b),i=d.bitSlice(i,0,f-b)):(n=i,i=[]),r=qm.mode.gcm._ctrMode(!1,e,i,t,c,b),!d.equal(r.tag,n))throw new qm.exception.corrupt("gcm: tag doesn't match");return r.data},_galoisMultiply:function(e,a){var c,t,b,r,n,i=qm.bitArray._xor4;for(b=[0,0,0,0],r=a.slice(0),c=0;c<128;c++){for(!!(e[Math.floor(c/32)]&1<<31-c%32)&&(b=i(b,r)),n=!!(1&r[3]),t=3;t>0;t--)r[t]=r[t]>>>1|(1&r[t-1])<<31;r[0]=r[0]>>>1,n&&(r[0]=r[0]^225<<24)}return b},_ghash:function(e,a,c){var t,b,r=c.length;for(t=a.slice(0),b=0;b<r;b+=4)t[0]^=4294967295&c[b],t[1]^=4294967295&c[b+1],t[2]^=4294967295&c[b+2],t[3]^=4294967295&c[b+3],t=qm.mode.gcm._galoisMultiply(t,e);return t},_ctrMode:function(e,a,c,t,b,r){var n,i,d,f,o,s,u,l,h,p,v,y,m=qm.bitArray;for(h=c.length,p=m.bitLength(c),v=m.bitLength(t),y=m.bitLength(b),n=a.encrypt([0,0,0,0]),96===y?(i=b.slice(0),i=m.concat(i,[1])):(i=qm.mode.gcm._ghash(n,[0,0,0,0],b),i=qm.mode.gcm._ghash(n,i,[0,0,Math.floor(y/4294967296),4294967295&y])),d=qm.mode.gcm._ghash(n,[0,0,0,0],t),s=i.slice(0),u=d.slice(0),e||(u=qm.mode.gcm._ghash(n,d,c)),o=0;o<h;o+=4)s[3]++,f=a.encrypt(s),c[o]^=f[0],c[o+1]^=f[1],c[o+2]^=f[2],c[o+3]^=f[3];return c=m.clamp(c,p),e&&(u=qm.mode.gcm._ghash(n,d,c)),l=[Math.floor(v/4294967296),4294967295&v,Math.floor(p/4294967296),4294967295&p],u=qm.mode.gcm._ghash(n,u,l),f=a.encrypt(i),u[0]^=f[0],u[1]^=f[1],u[2]^=f[2],u[3]^=f[3],{tag:m.bitSlice(u,0,r),data:c}}};var Wm,Ym={webCryptoDecrypt:zm,decrypt:(Wm=Ja(ic().mark((function e(a,c){var t,b;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"==typeof c&&(c=JSON.parse(c)),!c.enableSoftwareAES&&null!==(t=crypto)&&void 0!==t&&t.subtle){e.next=7;break}return e.next=4,Km(a,c);case 4:b=e.sent,e.next=18;break;case 7:return e.prev=7,e.next=10,zm(a,c);case 10:b=e.sent,e.next=18;break;case 13:return e.prev=13,e.t0=e.catch(7),e.next=17,Km(a,c);case 17:b=e.sent;case 18:return e.abrupt("return",b);case 19:case"end":return e.stop()}}),e,null,[[7,13]])}))),function(e,a){return Wm.apply(this,arguments)})};function Xm(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}return a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 24:h[++l]=!0;break;case 42:h[++l]=!1;break;case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 29:f=h[l--],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 48:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 3:for(f=n[a++],o=n[a++],s=v,s=v;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 32:f=h[l--],h[l]+=f;break;case 44:h[l]=-h[l];break;case 31:f=h[l--],h[l]=h[l]===f;break;case 27:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 39:h[l]=!h[l];break;case 6:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 33:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 30:h[l]=void 0;break;case 7:h[l]=typeof h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 38:throw f=h[l--];case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}e.TRANSFORM_IV=void 0,e.transformUnionKey=void 0,function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=null,v=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)v.push(c[o]);v.p=b;for(var y=[];;)try{switch(n[a++]){case 40:h[++l]=null;break;case 64:d=n[a++],h[++l]=d<<24>>24;break;case 21:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 58:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 46:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 26:h[++l]=void 0;break;case 14:h[++l]=r;break;case 25:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 56:h[++l]={};break;case 12:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 59:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;h[++l]=s[o];break;case 70:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 65:for(f=n[a++],o=n[a++],s=v;f>0;--f)s=s.p;s[o]=h[l--];break;case 35:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 11:f=h[l--],(o=h[l--])[f]=h[l];break;case 45:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,v],o._u=e,h[++l]=o;break;case 71:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=v,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 22:for(f=h[l--],o=null;s=y.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)a=o[2],o[0]=0,y.push(o);else{if(!p)return f;a=p[1],r=p[2],v=p[3],y=p[4],h[++l]=f,p=p[0]}break;case 37:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,p=[p,a,r,v,y],a=f[0],null==s&&(s=function(){return this}()),r=s,(v=[o].concat(o)).length=Math.min(f[1],d)+1,v.p=f[2],y=[]):(u=f.apply(s,o),h[++l]=u);break;case 19:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 75:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 18:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 15:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 2:--l;break;case 53:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(m){for(;(d=y.pop())&&!d[0];);if(!d){e:for(;p;){for(f=p[4];d=f.pop();)if(d[0])break e;p=p[0]}if(!p)throw m;a=p[1],r=p[2],v=p[3],y=p[4],p=p[0]}1===(f=d[0])?(a=d[2],d[0]=0,y.push(d),h[++l]=m):2===f?(a=d[2],d[0]=0,y.push(d)):(a=d[3],d[0]=2,y.push(d),h[++l]=m)}}(d,[],0,a,c)}("504B010148cf39cc000000d9cd38cf480000011a3b0101354600010e3b0000250216283b0201283b02022500354600023a000000384702250125014101013b0101354600010e3b0000250216283b04022500354600033a0000004f47013b010025021640011200833b00014600043b00012e00050b40000f001440030f004640050f005a2e00060f0054024b005a3b0604354600073b0202250141020340033b00012300043b0603354600083b0203383b02010c00093b06050c000a1500800c000b2502163b000146000c4102043b00013546000d2e000e3b02042502163b00013546000f2500164bff781a163a000000002d024101063a0000000e2d004100013b0100405b40684045404b15009c1500ab1500ee40471500ca40041500f4400519000c13014600004101051a160010067e697a7a796e057d6c6c706504717d6e77046b6e7d6c0472796468046c6e796a0379727804747d6f740778797f6e656c6804787d687d02756a09687d7b5079727b6874046f797268067d7e6e696c68066e7968696e72046f68736c",{0:Uint8Array,get 1(){return Ja},get 2(){return ic},get 3(){return Ym},get 4(){return Cm},get 5(){return e.TRANSFORM_IV},set 5(a){e.TRANSFORM_IV=a},get 6(){return e.transformUnionKey},set 6(a){e.transformUnionKey=a}},void 0);var Qm="volcvui",Jm=new Map,Zm=new Map,eg=void 0,ag=function(){function a(c){var t;return ec(this,a),(t=Za(this,a)).EMEError=function(a){t.emit(e.EVENT_EME.ERROR,a)},t.encryptHandle=function(){var a;null===(a=t.eme)||void 0===a||a.emit(e.EVENT_EME.ENCRYPTED)},t.config=ag.defaultConfig,t.updateConfig(c),t.config.isEncrypt=!!(t.config.kid||t.config.drm||t.config.secretKey||t.config.drmKeyToken||t.config.keyValue),t.on(e.EVENT_EME.ENCRYPTED,t.encryptHandle),t}return rc(a,wl),cc(a,[{key:"destroy",value:function(){this.removeAllListeners(),this.eme&&(this.eme.destroy(),this.eme=null)}},{key:"log",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];Up.apply(void 0,[e].concat(c))}},{key:"setupEME",value:function(e){this.eme&&this.eme.setupEME(e)}},{key:"updateConfig",value:function(e){var a=this;Object.keys(e).map((function(c){void 0!==e[c]&&null!==e[c]&&(a.config[c]=e[c])})),this.log("set config",JSON.stringify(this.config))}},{key:"setOptions",value:function(e){this.eme&&this.eme.setOptions(e)}},{key:"getSecretKeyByToken",value:function(e,a,c){var t=this,b=this.config,r=e||b.kid,n=a||b.playDomain||"";n.indexOf("//")<0&&(n="//".concat(n));var i=c||b.drmKeyToken||"",d=dv.isBase64(i)?window.atob(i):i,f="".concat(n,"?").concat(d,"&PlayAuthIds=").concat(r,"&ssl=true");d.indexOf("DrmType=")<0&&(f+="&DrmType=".concat(b.useUnionInfoDRM?"webdevice":"22")),this.log("getSecretKeyByToken start, vid,",b.vid,f);var o=Promise.withResolvers(),s=o.promise,u=o.resolve,l=o.reject;return Op({type:"json",method:"GET",url:f}).then((function(e){var a,c,r=e.response;if("string"==typeof r&&(r=JSON.parse(r)),r&&null!==(a=r)&&void 0!==a&&a.Result&&(null===(c=r.Result.PlayAuthInfoList)||void 0===c?void 0:c.length)>0){var n=r.Result.PlayAuthInfoList[0].PlayAuthContent;t.log("getSecretKeyByToken end, vid,",b.vid,",res,",JSON.stringify(r)),u(n)}else l(new Error("getSecretKeyByToken end, vid, ".concat(b.vid,", response null")))})).catch((function(e){l(e)})),s}},{key:"getLicense",value:function a(){return Xm("504B010148cf39cc0000031ecd38cf48000003a1283b030325003546000b3a0000002247013b0100284005402019000219000125041640011202f53b000146000c3b00012e000d0b40000f004640030f0067400a0f0106400b0f010a40130f01e140160f01f040170f01f440190f01fa401a0f01fb40200f025640250f028840270f028e40290f029a2e000e0f0294024b029a382e000f0c00102a0c001141020140033b000123000c3b0401354600123b02013b040a2502163b04014600000302020b023b02024600130302030b023b02024600140302040b023b04042100033b02032100033b02042100093b04014600004600152712000b40273b000123000c4b022940053b000123000d3b04014600004600152100033b02044102073b02032100093b04040600033b04052712000b400b3b000123000c4b01f1400a3b000123000c283b05043b04033b02033b04043b04053b04063b05052506163b00014600164102073b04040600093b02070302050b281b0600073b020540001e1b0600063b020546001712000d3b02074600173b04041d4b00033b02074102083b040146000003020a0b023b020a46001803020b0b023b020a46001903020c0b023b04013546001a250041020d3b02082706000d3b04014600004600140302080b023b020b0600033b020d0600183b05063546001b3b020d46001c3b020d46001d3b020c25032712000b40193b000123000c4b011a3b0507072e001e1f2712000b40163b000123000c4b010340133b000123000c283b05073b02083b020d46001d2502163b000146001641020940173b000123000c4b00d73b05082e001f130126401a3b000123000c4b00c33b02084102093b04040600093b02070302060b281b0600073b020640001e1b0600063b02064600171200163b02093b02074600173b0404303b02073b02012300153b02093b0201230014183b0201230011283b04093b020125010240253b000123000c4b005d40203b000123000d3b0001352e00201d400525013b00012300212a3b02012300113b00014600213b0201230022283b040a3b020125010240293b000123000c4b001b183b0201230011283b04093b02012501023b0001354600232500164bfd061a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b01013546000525004100073b00074600064100083b00074600074100093b000746000841000a3b010135460007250035460009283b0102283b010325003546000a3a000000004700250125012501023b0008160024067f73727a757b036a7578037775780d7b796850757f79726f79496e7007786e7148656c790d6b7568744e796f73706a796e6f076c6e7371756f79076e796f73706a79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e654873777972096f797f6e7968577965087779654a7d70697903786e71046f797268097f70797d6e5779656f0f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73087a69727f68757372494874793c3e686e7d726f7a736e7149727573725779653e3c6f74736970783c7e793c6c6e736a757879783c75723c7f73727a757b696e7d687573723c7d6f3c7d3c7a69727f68757372057f7d687f7402682c05796e6e736e046f68736c",{get 0(){return a},1:Promise,get 2(){return Ja},get 3(){return ic},get 4(){return jp},get 5(){return eg},get 6(){return dv},get 7(){return void 0!==e.transformUnionKey?e.transformUnionKey:void 0},8:Error,9:arguments},this)}},{key:"_tryGetSecretKeyByToken",value:(t=Ja(ic().mark((function e(a,c){var t,b,r,n;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=this.config,b=t.kid,r=t.drmKeyToken,n=t.playDomain,!(b&&r&&n)){e.next=14;break}return e.prev=2,e.next=5,this.getSecretKeyByToken(b,n,r);case 5:this.config.secretKey=e.sent,a.success=!0,e.next=14;break;case 9:e.prev=9,e.t0=e.catch(2),a.success=!1,a.error=e.t0,c(a);case 14:case"end":return e.stop()}}),e,this,[[2,9]])}))),function(e,a){return t.apply(this,arguments)})},{key:"updateKid",value:function e(a){return Xm("504B010148cf39cc00000000cd38cf48000000170e46000006000d0e460000354600013b01022501021a1600020379717909696c787d6879577578",{get 0(){return e},1:arguments,2:a},this)}},{key:"getLicenseSecret",value:function a(){return Xm("504B010148cf39cc0000032ccd38cf480000048a3b01013546000c3b020246000b3b00012502021a163b01013546000c3b020246000d3b00012502021a16283b030725003546001e3a0000004c47013b010028400b401e19000219000125041640011202d93b000146001f3b00012e00200b40000f004140030f006240050f0089400a0f00e0400b0f00e4400f0f011540100f011940170f01d140180f01d540190f01ee401e0f025140230f02832e00210f027d024b0283382e00220c00232a0c002441020140033b000123001f3b0401354600253b02013b040f2502163b0201460024270600063b02014600262712000b40053b000123001f4b023e3b0001354600272e00282501163b04014600004600294102023b0202270600043b0407272712000b400b3b000123001f4b020b3b04040600033b04052712000b400b3b000123001f4b01f3400a3b000123001f283b05083b04032100032e002a3b04043b04052503163b000146002b410202400b3b00012300203b04083b050946002c1f2712000b40103b000123001f4b01ab400f3b000123001f283b050a3b02023b050b2502163b000146002b4102023b04061200273b04071200093b04074102024b00183b0202120012283b050c283b050d3b0202250125014102023b04014600000302030b023b020346002d0302040b023b020346002e0302050b023b04013546002f25004102063b02040600033b02060600183b050e354600303b02064600313b02064600323b020525032712000b40193b000123001f4b01003b04060600033b02022712000b40183b000123001f4b00e840173b000123001f283b050f3b02023b02064600322502163b000146002b4102023b050e354600333b0510354600343b0206460032250125013b02012300353b040612003d38380c00364102073b04042100033b05114102083b02023b02074600363b0208303b0401460007354600173b020725010240001e3b02012300294b00093b02023b0201230029183b0201230024283b040e3b020125010240233b000123001f4b0041401e3b00012300203b0001352e00371d400b25013b00012300382a3b02012300243b00014600383b0201230026283b040f3b02012501023b0001354600392500164bfd221a160e4100010e4600004100023b00024600014100033b00024600024100043b00024600034100053b00024600044100063b00024600054100073b00024600064100080e4600004600041200bf3b010113000e2300070e460007354600083b01024600090e46000a2502020e460007354600083b010246000b3a000000002d012502020e460007354600083b010246000d3a000000152d012502020e46000046000e4100093b00040600033b000912005b3b010346000f460010354600112500354600122e0013250140012c3e1200062e00144b00032e001541000a283b0104383b000a383b00093b0004200c0016250341000b0e460007354600173b000b2501023b0105354600182500163b010535460019250041000c3b000c46001a41000d3b000c46001841000e3b000c46001b41000f3b01053546001825003546001c283b0106283b010725003546001d3a0000002a4700250125012501023b000d16003a067f73727a757b036a7578037775780d7b796850757f79726f79496e7006696f79595159087779654a7d70697907786e7148656c790379717902737205594e4e534e08595159596e6e736e135f58514350555f59524f59434f495f5f594f4f0479717568115f58514350555f59524f5943594e4e534e13757268796e686e696f684f796e6a796e494e5009727d6a757b7d68736e09696f796e5d7b79726811687350737f7d707950736b796e5f7d6f79077572787964537a067f746e737179086b7578796a757279096c707d656e797d7865096f796e6a796e494e5009696c787d6879586e71076e796f73706a790d6b7568744e796f73706a796e6f076c6e7371756f79066e7976797f68046874797204717d6e77046b6e7d6c0472796468046c6e796a037972780a7b796850757f79726f7906717968747378076f697f7f796f6f1743686e655b79684f797f6e79685779655e65487377797205796e6e736e067d7e6e696c68066e7968696e72096f797f6e796857796500046f797268174c4e554a5d48594359525f4e454c4843494c5b4e5d58590f696f79497275737255727a73584e5117777965487377797259646c756e797858696e7d687573720d437b7968497275737255727a73157f74797f77497275737255727a7359646c756e7978076972757372555809697275737255727a73134f686e75727b48735d6e6e7d655e697a7a796e04747d6f740a78797f6e656c68577965097f70797d6e5779656f057f7d687f7402682c046f68736c",{get 0(){return a},get 1(){return sv},get 2(){return e.EVENT_EME},get 3(){return window},get 4(){return tc},5:Promise,get 6(){return Ja},get 7(){return ic},get 8(){return Pp},get 9(){return Rp},get 10(){return Mp},get 11(){return eg},get 12(){return Ip},get 13(){return atob},get 14(){return dv},get 15(){return e.transformUnionKey},get 16(){return Cm},get 17(){return cv},18:arguments},this)}},{key:"getSecretKey",value:function(){var e=this.config,a=e.vid,c=e.kid,t=e.getLicenseUrl,b=e.drmKeyToken,r=e.playDomain,n=e.secretKey;return t&&c?Pp(a||"",c,t):b&&c&&r?this.getSecretKeyByToken(c,r,b):n||(console.error("[DRM]DRM,getSecretKey args is invalid"),null)}},{key:"getKeyValue",value:function e(){return Xm("504B010148cf39cc00000000cd38cf480000004d0e4600004100013b00014600014100023b00014600024100033b00014600034100043b00014600044100053b0001460005410006283b01013b00023b00053b00033b00043b00063b01022506160006067f73727a757b036a7578037775780d7b796850757f79726f79496e70096f797f6e796857796507786e7148656c79",{get 0(){return e},get 1(){return jp},get 2(){return eg},3:arguments},this)}},{key:"_getUnionInfo",value:function(){var e=this.config,a=e.drmType,c=e.sessionId;if(!e.useUnionInfoDRM||!c)return null;var t=a===Rp.PRIVATE_ENCRYPT_UPGRADE?Zm:Jm;if(!t.get(c))throw new Error('The "sessionId" '.concat(c," for unionInfo is not valid"));return t.get(c)}}],[{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:Qm,useEME:!0,intertrustServerURL:void 0}}},{key:"updateUnionInfo",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qm,c=dv.getUnionInfo(e);return Jm.set(a,{unionID:e,unionInfo:c}),c}},{key:"generateEncryptInfo",value:(c=Ja(ic().mark((function e(){var a,c,t,b,r,n,i=arguments;return ic().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=i.length>0&&void 0!==i[0]?i[0]:"",c=i.length>1&&void 0!==i[1]?i[1]:Qm,e.next=4,Gm();case 4:return t=e.sent,b=t.drmKeK,r=t.keyPair,n=dv.getUnionInfo(a),Zm.set(c,{unionID:a,unionInfo:n}),eg=r,e.abrupt("return",{sessionId:c,unionInfo:n,drmKeK:b});case 11:case"end":return e.stop()}}),e)}))),function(){return c.apply(this,arguments)})}]);var c,t}(),cg=ag;cg.isWebAssemblySupported=Bp,e.XGSecretKey=cg,e.aes4js=Ym,e.util=dv})(Be.exports);var Ue,Ne,Fe,Ge,Ve,qe=Be.exports;!function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 22:h[++l]=null;break;case 76:d=n[a++],h[++l]=d<<24>>24;break;case 58:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=d<<16>>16;break;case 7:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 64:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=+i[d];break;case 63:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 48:h[++l]=void 0;break;case 72:h[++l]=r;break;case 57:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 39:h[++l]={};break;case 61:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 33:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 42:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 70:f=h[l--],h[l]=h[l][f];break;case 60:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 4:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],s=h[l--],o[f]=s;break;case 75:f=h[l--],o=h[l--],s=h[l--],o[f]=s;break;case 59:for(f=n[a++],o=n[a++],s=y,s=y;f>0;--f)s=s.p;h[++l]=s,h[++l]=o;break;case 25:f=h[l--],h[l]+=f;break;case 11:f=h[l--],h[l]-=f;break;case 2:f=h[l--],h[l]*=f;break;case 29:f=h[l--],h[l]/=f;break;case 69:f=h[l--],h[l]%=f;break;case 34:h[l]=-h[l];break;case 52:f=h[l--],s=++(o=h[l--])[f],h[++l]=s;break;case 40:f=h[l--],s=(o=h[l--])[f]++,h[++l]=s;break;case 17:f=h[l--],s=(o=h[l--])[f]--,h[++l]=s;break;case 53:f=h[l--],h[l]=h[l]==f;break;case 19:f=h[l--],h[l]=h[l]!=f;break;case 15:f=h[l--],h[l]=h[l]===f;break;case 13:f=h[l--],h[l]=h[l]!==f;break;case 24:f=h[l--],h[l]=h[l]<f;break;case 28:f=h[l--],h[l]=h[l]<=f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 68:f=h[l--],h[l]=h[l]>=f;break;case 55:f=h[l--],h[l]=h[l]<<f;break;case 9:f=h[l--],h[l]=h[l]>>f;break;case 41:f=h[l--],h[l]=h[l]>>>f;break;case 20:f=h[l--],h[l]=h[l]&f;break;case 10:f=h[l--],h[l]=h[l]|f;break;case 18:h[l]=~h[l];break;case 27:f=h[l--],h[l]=h[l]^f;break;case 71:h[l]=!h[l];break;case 35:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 31:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 1:f=h[l--],(o=h[l--])[f]=h[l];break;case 38:f=h[l--],h[l]=h[l]in f;break;case 21:f=h[l--],h[l]=h[l]instanceof f;break;case 51:h[l]=void 0;break;case 14:f=h[l--],s=delete(o=h[l--])[f],h[++l]=s;break;case 32:h[l]=typeof h[l];break;case 23:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 3:d=n[a++],f=h[l--],(s=[o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)}]).p=y,o._v=[f,d,s],o._u=e,h[++l]=o;break;case 45:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 5:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 16:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,m.push([2,0,a]),a+=d;break;case 56:throw f=h[l--];case 26:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 12:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 74:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 47:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 44:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 54:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 49:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,f=h[l--],h[l]===f&&(--l,a+=d);break;case 0:--l;break;case 46:f=h[l],h[++l]=f;break;case 36:for(s in f=n[a++],o=h[l--],d=[],o)d.push(s);y[f]=d;break;case 8:f=n[a++],o=h[l--],s=h[l--],(d=y[f].shift())?(s[o]=d,h[++l]=!0):h[++l]=!1;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}("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 Pe},get 38(){return _e},get 39(){return ye},get 40(){return me},get 41(){return we},get 42(){return Re},get 43(){return ve},get 44(){return Ae},get 45(){return pe},get 46(){return De},get 47(){return qe.aes4js},get 48(){return qe.TRANSFORM_IV},get 49(){return qe.util},get 50(){return Ue},set 50(e){Ue=e},get 51(){return Ne},set 51(e){Ne=e},get 52(){return Fe},set 52(e){Fe=e},get 53(){return Ge},set 53(e){Ge=e},get 54(){return Ve},set 54(e){Ve=e}},void 0);var ze="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};var He={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},Ke={exports:{}};!function(e,a){const{MAX_SAFE_COMPONENT_LENGTH:c,MAX_SAFE_BUILD_LENGTH:t,MAX_LENGTH:b}=He,r=ze,n=(a=e.exports={}).re=[],i=a.safeRe=[],d=a.src=[],f=a.safeSrc=[],o=a.t={};let s=0;const u="[a-zA-Z0-9-]",l=[["\\s",1],["\\d",b],[u,t]],h=(e,a,c)=>{const t=(e=>{for(const[a,c]of l)e=e.split(`${a}*`).join(`${a}{0,${c}}`).split(`${a}+`).join(`${a}{1,${c}}`);return e})(a),b=s++;r(e,b,a),o[e]=b,d[b]=a,f[b]=t,n[b]=new RegExp(a,c?"g":void 0),i[b]=new RegExp(t,c?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${u}*`),h("MAINVERSION",`(${d[o.NUMERICIDENTIFIER]})\\.(${d[o.NUMERICIDENTIFIER]})\\.(${d[o.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${d[o.NUMERICIDENTIFIERLOOSE]})\\.(${d[o.NUMERICIDENTIFIERLOOSE]})\\.(${d[o.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${d[o.NUMERICIDENTIFIER]}|${d[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${d[o.NUMERICIDENTIFIERLOOSE]}|${d[o.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${d[o.PRERELEASEIDENTIFIER]}(?:\\.${d[o.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${d[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${d[o.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${u}+`),h("BUILD",`(?:\\+(${d[o.BUILDIDENTIFIER]}(?:\\.${d[o.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${d[o.MAINVERSION]}${d[o.PRERELEASE]}?${d[o.BUILD]}?`),h("FULL",`^${d[o.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${d[o.MAINVERSIONLOOSE]}${d[o.PRERELEASELOOSE]}?${d[o.BUILD]}?`),h("LOOSE",`^${d[o.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${d[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${d[o.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${d[o.XRANGEIDENTIFIER]})(?:\\.(${d[o.XRANGEIDENTIFIER]})(?:\\.(${d[o.XRANGEIDENTIFIER]})(?:${d[o.PRERELEASE]})?${d[o.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${d[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${d[o.XRANGEIDENTIFIERLOOSE]})(?:${d[o.PRERELEASELOOSE]})?${d[o.BUILD]}?)?)?`),h("XRANGE",`^${d[o.GTLT]}\\s*${d[o.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${d[o.GTLT]}\\s*${d[o.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${c}})(?:\\.(\\d{1,${c}}))?(?:\\.(\\d{1,${c}}))?`),h("COERCE",`${d[o.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",d[o.COERCEPLAIN]+`(?:${d[o.PRERELEASE]})?(?:${d[o.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",d[o.COERCE],!0),h("COERCERTLFULL",d[o.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${d[o.LONETILDE]}\\s+`,!0),a.tildeTrimReplace="$1~",h("TILDE",`^${d[o.LONETILDE]}${d[o.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${d[o.LONETILDE]}${d[o.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${d[o.LONECARET]}\\s+`,!0),a.caretTrimReplace="$1^",h("CARET",`^${d[o.LONECARET]}${d[o.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${d[o.LONECARET]}${d[o.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${d[o.GTLT]}\\s*(${d[o.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${d[o.GTLT]}\\s*(${d[o.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${d[o.GTLT]}\\s*(${d[o.LOOSEPLAIN]}|${d[o.XRANGEPLAIN]})`,!0),a.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${d[o.XRANGEPLAIN]})\\s+-\\s+(${d[o.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${d[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${d[o.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(Ke,Ke.exports);var $e=Ke.exports;const We=Object.freeze({loose:!0}),Ye=Object.freeze({});var Xe=e=>e?"object"!=typeof e?We:e:Ye;const Qe=/^[0-9]+$/,Je=(e,a)=>{const c=Qe.test(e),t=Qe.test(a);return c&&t&&(e=+e,a=+a),e===a?0:c&&!t?-1:t&&!c?1:e<a?-1:1};var Ze={compareIdentifiers:Je,rcompareIdentifiers:(e,a)=>Je(a,e)};const ea=ze,{MAX_LENGTH:aa,MAX_SAFE_INTEGER:ca}=He,{safeRe:ta,safeSrc:ba,t:ra}=$e,na=Xe,{compareIdentifiers:ia}=Ze;const da=class e{constructor(a,c){if(c=na(c),a instanceof e){if(a.loose===!!c.loose&&a.includePrerelease===!!c.includePrerelease)return a;a=a.version}else if("string"!=typeof a)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof a}".`);if(a.length>aa)throw new TypeError(`version is longer than ${aa} characters`);ea("SemVer",a,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const t=a.trim().match(c.loose?ta[ra.LOOSE]:ta[ra.FULL]);if(!t)throw new TypeError(`Invalid Version: ${a}`);if(this.raw=a,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>ca||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ca||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ca||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map((e=>{if(/^[0-9]+$/.test(e)){const a=+e;if(a>=0&&a<ca)return a}return e})):this.prerelease=[],this.build=t[5]?t[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(a){if(ea("SemVer.compare",this.version,this.options,a),!(a instanceof e)){if("string"==typeof a&&a===this.version)return 0;a=new e(a,this.options)}return a.version===this.version?0:this.compareMain(a)||this.comparePre(a)}compareMain(a){return a instanceof e||(a=new e(a,this.options)),ia(this.major,a.major)||ia(this.minor,a.minor)||ia(this.patch,a.patch)}comparePre(a){if(a instanceof e||(a=new e(a,this.options)),this.prerelease.length&&!a.prerelease.length)return-1;if(!this.prerelease.length&&a.prerelease.length)return 1;if(!this.prerelease.length&&!a.prerelease.length)return 0;let c=0;do{const e=this.prerelease[c],t=a.prerelease[c];if(ea("prerelease compare",c,e,t),void 0===e&&void 0===t)return 0;if(void 0===t)return 1;if(void 0===e)return-1;if(e!==t)return ia(e,t)}while(++c)}compareBuild(a){a instanceof e||(a=new e(a,this.options));let c=0;do{const e=this.build[c],t=a.build[c];if(ea("build compare",c,e,t),void 0===e&&void 0===t)return 0;if(void 0===t)return 1;if(void 0===e)return-1;if(e!==t)return ia(e,t)}while(++c)}inc(e,a,c){if(e.startsWith("pre")){if(!a&&!1===c)throw new Error("invalid increment argument: identifier is empty");if(a){const e=new RegExp(`^${this.options.loose?ba[ra.PRERELEASELOOSE]:ba[ra.PRERELEASE]}$`),c=`-${a}`.match(e);if(!c||c[1]!==a)throw new Error(`invalid identifier: ${a}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a,c);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a,c);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a,c),this.inc("pre",a,c);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",a,c),this.inc("pre",a,c);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(c)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let t=this.prerelease.length;for(;--t>=0;)"number"==typeof this.prerelease[t]&&(this.prerelease[t]++,t=-2);if(-1===t){if(a===this.prerelease.join(".")&&!1===c)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(a){let t=[a,e];!1===c&&(t=[a]),0===ia(this.prerelease[0],a)?isNaN(this.prerelease[1])&&(this.prerelease=t):this.prerelease=t}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};var fa,oa,sa,ua,la,ha=Me(((e,a,c=!1)=>{if(e instanceof da)return e;try{return new da(e,a)}catch(t){if(!c)return null;throw t}})),pa={exports:{}};fa=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,oa=/^(?=([^\/?#]*))\1([^]*)$/,sa=/(?:\/|^)\.(?=\/)/g,ua=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,pa.exports=la={buildAbsoluteURL:function(e,a,c){if(c=c||{},e=e.trim(),!(a=a.trim())){if(!c.alwaysNormalize)return e;var t=la.parseURL(e);if(!t)throw new Error("Error trying to parse base URL.");return t.path=la.normalizePath(t.path),la.buildURLFromParts(t)}var b=la.parseURL(a);if(!b)throw new Error("Error trying to parse relative URL.");if(b.scheme)return c.alwaysNormalize?(b.path=la.normalizePath(b.path),la.buildURLFromParts(b)):a;var r=la.parseURL(e);if(!r)throw new Error("Error trying to parse base URL.");if(!r.netLoc&&r.path&&"/"!==r.path[0]){var n=oa.exec(r.path);r.netLoc=n[1],r.path=n[2]}r.netLoc&&!r.path&&(r.path="/");var i={scheme:r.scheme,netLoc:b.netLoc,path:null,params:b.params,query:b.query,fragment:b.fragment};if(!b.netLoc&&(i.netLoc=r.netLoc,"/"!==b.path[0]))if(b.path){var d=r.path,f=d.substring(0,d.lastIndexOf("/")+1)+b.path;i.path=la.normalizePath(f)}else i.path=r.path,b.params||(i.params=r.params,b.query||(i.query=r.query));return null===i.path&&(i.path=c.alwaysNormalize?la.normalizePath(b.path):b.path),la.buildURLFromParts(i)},parseURL:function(e){var a=fa.exec(e);return a?{scheme:a[1]||"",netLoc:a[2]||"",path:a[3]||"",params:a[4]||"",query:a[5]||"",fragment:a[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(sa,"");e.length!==(e=e.replace(ua,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}};var va=Me(pa.exports);function ya(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function ma(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?ya(Object(c),!0).forEach((function(a){Ta(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):ya(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function ga(){ga=function(){return e};var e={},a=Object.prototype,c=a.hasOwnProperty,t=Object.defineProperty||function(e,a,c){e[a]=c.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",n=b.asyncIterator||"@@asyncIterator",i=b.toStringTag||"@@toStringTag";function d(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{d({},"")}catch(I){d=function(e,a,c){return e[a]=c}}function f(e,a,c,b){var r=a&&a.prototype instanceof u?a:u,n=Object.create(r.prototype),i=new x(b||[]);return t(n,"_invoke",{value:k(e,c,i)}),n}function o(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(I){return{type:"throw",arg:I}}}e.wrap=f;var s={};function u(){}function l(){}function h(){}var p={};d(p,r,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==a&&c.call(y,r)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(a){d(e,a,(function(e){return this._invoke(a,e)}))}))}function _(e,a){function b(t,r,n,i){var d=o(e[t],e,r);if("throw"!==d.type){var f=d.arg,s=f.value;return s&&"object"==typeof s&&c.call(s,"__await")?a.resolve(s.__await).then((function(e){b("next",e,n,i)}),(function(e){b("throw",e,n,i)})):a.resolve(s).then((function(e){f.value=e,n(f)}),(function(e){return b("throw",e,n,i)}))}i(d.arg)}var r;t(this,"_invoke",{value:function(e,c){function t(){return new a((function(a,t){b(e,c,a,t)}))}return r=r?r.then(t,t):t()}})}function k(e,a,c){var t="suspendedStart";return function(b,r){if("executing"===t)throw new Error("Generator is already running");if("completed"===t){if("throw"===b)throw r;return{value:void 0,done:!0}}for(c.method=b,c.arg=r;;){var n=c.delegate;if(n){var i=E(n,c);if(i){if(i===s)continue;return i}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===t)throw t="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);t="executing";var d=o(e,a,c);if("normal"===d.type){if(t=c.done?"completed":"suspendedYield",d.arg===s)continue;return{value:d.arg,done:c.done}}"throw"===d.type&&(t="completed",c.method="throw",c.arg=d.arg)}}}function E(e,a){var c=a.method,t=e.iterator[c];if(void 0===t)return a.delegate=null,"throw"===c&&e.iterator.return&&(a.method="return",a.arg=void 0,E(e,a),"throw"===a.method)||"return"!==c&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+c+"' method")),s;var b=o(t,e.iterator,a.arg);if("throw"===b.type)return a.method="throw",a.arg=b.arg,a.delegate=null,s;var r=b.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=void 0),a.delegate=null,s):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,s)}function S(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function w(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var a=e[r];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function a(){for(;++t<e.length;)if(c.call(e,t))return a.value=e[t],a.done=!1,a;return a.value=void 0,a.done=!0,a};return b.next=b}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,t(m,"constructor",{value:h,configurable:!0}),t(h,"constructor",{value:l,configurable:!0}),l.displayName=d(h,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===l||"GeneratorFunction"===(a.displayName||a.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,d(e,i,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),d(_.prototype,n,(function(){return this})),e.AsyncIterator=_,e.async=function(a,c,t,b,r){void 0===r&&(r=Promise);var n=new _(f(a,c,t,b),r);return e.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},g(m),d(m,i,"Generator"),d(m,r,(function(){return this})),d(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,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(w),!e)for(var a in this)"t"===a.charAt(0)&&c.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=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 a=this;function t(c,t){return n.type="throw",n.arg=e,a.next=c,t&&(a.method="next",a.arg=void 0),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],n=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var i=c.call(r,"catchLoc"),d=c.call(r,"finallyLoc");if(i&&d){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!d)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(e,a){for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t];if(b.tryLoc<=this.prev&&c.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,s):this.complete(n)},complete:function(e,a){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&&a&&(this.next=a),s},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),w(c),s}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;w(c)}return b}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,c){return this.delegate={iterator:T(e),resultName:a,nextLoc:c},"next"===this.method&&(this.arg=void 0),s}},e}function _a(e){return(_a="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 ka(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function Ea(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){ka(r,t,b,n,i,"next",e)}function i(e){ka(r,t,b,n,i,"throw",e)}n(void 0)}))}}function Sa(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function wa(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,Ba(t.key),t)}}function xa(e,a,c){return a&&wa(e.prototype,a),c&&wa(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ta(e,a,c){return(a=Ba(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Aa(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Da(e,a)}function Ia(e){return(Ia=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Da(e,a){return(Da=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Oa(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c,t,b={},r=Object.keys(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||(b[c]=e[c]);return b}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||Object.prototype.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function Ra(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function La(e){var a=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 c,t=Ia(e);if(a){var b=Ia(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return Ra(e)}(this,c)}}function Ca(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var c=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=c){var t,b,r,n,i=[],d=!0,f=!1;try{if(r=(c=c.call(e)).next,0===a){if(Object(c)!==c)return;d=!1}else for(;!(d=(t=r.call(c)).done)&&(i.push(t.value),i.length!==a);d=!0);}catch(o){f=!0,b=o}finally{try{if(!d&&null!=c.return&&(n=c.return(),Object(n)!==n))return}finally{if(f)throw b}}return i}}(e,a)||ja(e,a)||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 Pa(e){return function(e){if(Array.isArray(e))return Ma(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ja(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 ja(e,a){if(e){if("string"==typeof e)return Ma(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?Ma(e,a):void 0}}function Ma(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function Ba(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}function Ua(e,a){var c=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);a&&(t=t.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),c.push.apply(c,t)}return c}function Na(e){for(var a=1;a<arguments.length;a++){var c=null!=arguments[a]?arguments[a]:{};a%2?Ua(Object(c),!0).forEach((function(a){$a(e,a,c[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(c)):Ua(Object(c)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(c,a))}))}return e}function Fa(){Fa=function(){return e};var e={},a=Object.prototype,c=a.hasOwnProperty,t=Object.defineProperty||function(e,a,c){e[a]=c.value},b="function"==typeof Symbol?Symbol:{},r=b.iterator||"@@iterator",n=b.asyncIterator||"@@asyncIterator",i=b.toStringTag||"@@toStringTag";function d(e,a,c){return Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}),e[a]}try{d({},"")}catch(I){d=function(e,a,c){return e[a]=c}}function f(e,a,c,b){var r=a&&a.prototype instanceof u?a:u,n=Object.create(r.prototype),i=new x(b||[]);return t(n,"_invoke",{value:k(e,c,i)}),n}function o(e,a,c){try{return{type:"normal",arg:e.call(a,c)}}catch(I){return{type:"throw",arg:I}}}e.wrap=f;var s={};function u(){}function l(){}function h(){}var p={};d(p,r,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(T([])));y&&y!==a&&c.call(y,r)&&(p=y);var m=h.prototype=u.prototype=Object.create(p);function g(e){["next","throw","return"].forEach((function(a){d(e,a,(function(e){return this._invoke(a,e)}))}))}function _(e,a){function b(t,r,n,i){var d=o(e[t],e,r);if("throw"!==d.type){var f=d.arg,s=f.value;return s&&"object"==typeof s&&c.call(s,"__await")?a.resolve(s.__await).then((function(e){b("next",e,n,i)}),(function(e){b("throw",e,n,i)})):a.resolve(s).then((function(e){f.value=e,n(f)}),(function(e){return b("throw",e,n,i)}))}i(d.arg)}var r;t(this,"_invoke",{value:function(e,c){function t(){return new a((function(a,t){b(e,c,a,t)}))}return r=r?r.then(t,t):t()}})}function k(e,a,c){var t="suspendedStart";return function(b,r){if("executing"===t)throw new Error("Generator is already running");if("completed"===t){if("throw"===b)throw r;return{value:void 0,done:!0}}for(c.method=b,c.arg=r;;){var n=c.delegate;if(n){var i=E(n,c);if(i){if(i===s)continue;return i}}if("next"===c.method)c.sent=c._sent=c.arg;else if("throw"===c.method){if("suspendedStart"===t)throw t="completed",c.arg;c.dispatchException(c.arg)}else"return"===c.method&&c.abrupt("return",c.arg);t="executing";var d=o(e,a,c);if("normal"===d.type){if(t=c.done?"completed":"suspendedYield",d.arg===s)continue;return{value:d.arg,done:c.done}}"throw"===d.type&&(t="completed",c.method="throw",c.arg=d.arg)}}}function E(e,a){var c=a.method,t=e.iterator[c];if(void 0===t)return a.delegate=null,"throw"===c&&e.iterator.return&&(a.method="return",a.arg=void 0,E(e,a),"throw"===a.method)||"return"!==c&&(a.method="throw",a.arg=new TypeError("The iterator does not provide a '"+c+"' method")),s;var b=o(t,e.iterator,a.arg);if("throw"===b.type)return a.method="throw",a.arg=b.arg,a.delegate=null,s;var r=b.arg;return r?r.done?(a[e.resultName]=r.value,a.next=e.nextLoc,"return"!==a.method&&(a.method="next",a.arg=void 0),a.delegate=null,s):r:(a.method="throw",a.arg=new TypeError("iterator result is not an object"),a.delegate=null,s)}function S(e){var a={tryLoc:e[0]};1 in e&&(a.catchLoc=e[1]),2 in e&&(a.finallyLoc=e[2],a.afterLoc=e[3]),this.tryEntries.push(a)}function w(e){var a=e.completion||{};a.type="normal",delete a.arg,e.completion=a}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function T(e){if(e){var a=e[r];if(a)return a.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var t=-1,b=function a(){for(;++t<e.length;)if(c.call(e,t))return a.value=e[t],a.done=!1,a;return a.value=void 0,a.done=!0,a};return b.next=b}}return{next:A}}function A(){return{value:void 0,done:!0}}return l.prototype=h,t(m,"constructor",{value:h,configurable:!0}),t(h,"constructor",{value:l,configurable:!0}),l.displayName=d(h,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var a="function"==typeof e&&e.constructor;return!!a&&(a===l||"GeneratorFunction"===(a.displayName||a.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,d(e,i,"GeneratorFunction")),e.prototype=Object.create(m),e},e.awrap=function(e){return{__await:e}},g(_.prototype),d(_.prototype,n,(function(){return this})),e.AsyncIterator=_,e.async=function(a,c,t,b,r){void 0===r&&(r=Promise);var n=new _(f(a,c,t,b),r);return e.isGeneratorFunction(c)?n:n.next().then((function(e){return e.done?e.value:n.next()}))},g(m),d(m,i,"Generator"),d(m,r,(function(){return this})),d(m,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var a=Object(e),c=[];for(var t in a)c.push(t);return c.reverse(),function e(){for(;c.length;){var t=c.pop();if(t in a)return e.value=t,e.done=!1,e}return e.done=!0,e}},e.values=T,x.prototype={constructor:x,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(w),!e)for(var a in this)"t"===a.charAt(0)&&c.call(this,a)&&!isNaN(+a.slice(1))&&(this[a]=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 a=this;function t(c,t){return n.type="throw",n.arg=e,a.next=c,t&&(a.method="next",a.arg=void 0),!!t}for(var b=this.tryEntries.length-1;b>=0;--b){var r=this.tryEntries[b],n=r.completion;if("root"===r.tryLoc)return t("end");if(r.tryLoc<=this.prev){var i=c.call(r,"catchLoc"),d=c.call(r,"finallyLoc");if(i&&d){if(this.prev<r.catchLoc)return t(r.catchLoc,!0);if(this.prev<r.finallyLoc)return t(r.finallyLoc)}else if(i){if(this.prev<r.catchLoc)return t(r.catchLoc,!0)}else{if(!d)throw new Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return t(r.finallyLoc)}}}},abrupt:function(e,a){for(var t=this.tryEntries.length-1;t>=0;--t){var b=this.tryEntries[t];if(b.tryLoc<=this.prev&&c.call(b,"finallyLoc")&&this.prev<b.finallyLoc){var r=b;break}}r&&("break"===e||"continue"===e)&&r.tryLoc<=a&&a<=r.finallyLoc&&(r=null);var n=r?r.completion:{};return n.type=e,n.arg=a,r?(this.method="next",this.next=r.finallyLoc,s):this.complete(n)},complete:function(e,a){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&&a&&(this.next=a),s},finish:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.finallyLoc===e)return this.complete(c.completion,c.afterLoc),w(c),s}},catch:function(e){for(var a=this.tryEntries.length-1;a>=0;--a){var c=this.tryEntries[a];if(c.tryLoc===e){var t=c.completion;if("throw"===t.type){var b=t.arg;w(c)}return b}}throw new Error("illegal catch attempt")},delegateYield:function(e,a,c){return this.delegate={iterator:T(e),resultName:a,nextLoc:c},"next"===this.method&&(this.arg=void 0),s}},e}function Ga(e){return(Ga="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 Va(e,a,c,t,b,r,n){try{var i=e[r](n),d=i.value}catch(f){return void c(f)}i.done?a(d):Promise.resolve(d).then(t,b)}function qa(e){return function(){var a=this,c=arguments;return new Promise((function(t,b){var r=e.apply(a,c);function n(e){Va(r,t,b,n,i,"next",e)}function i(e){Va(r,t,b,n,i,"throw",e)}n(void 0)}))}}function za(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function Ha(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,nc(t.key),t)}}function Ka(e,a,c){return a&&Ha(e.prototype,a),c&&Ha(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function $a(e,a,c){return(a=nc(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function Wa(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&Xa(e,a)}function Ya(e){return(Ya=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xa(e,a){return(Xa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function Qa(){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 Ja(e,a,c){return(Ja=Qa()?Reflect.construct.bind():function(e,a,c){var t=[null];t.push.apply(t,a);var b=new(Function.bind.apply(e,t));return c&&Xa(b,c.prototype),b}).apply(null,arguments)}function Za(e){var a="function"==typeof Map?new Map:void 0;return Za=function(e){if(null===e||(c=e,-1===Function.toString.call(c).indexOf("[native code]")))return e;var c;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==a){if(a.has(e))return a.get(e);a.set(e,t)}function t(){return Ja(e,arguments,Ya(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),Xa(t,e)},Za(e)}function ec(e,a){if(null==e)return{};var c,t,b=function(e,a){if(null==e)return{};var c,t,b={},r=Object.keys(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||(b[c]=e[c]);return b}(e,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(t=0;t<r.length;t++)c=r[t],a.indexOf(c)>=0||Object.prototype.propertyIsEnumerable.call(e,c)&&(b[c]=e[c])}return b}function ac(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cc(e){var a=Qa();return function(){var c,t=Ya(e);if(a){var b=Ya(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return function(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)throw new TypeError("Derived constructors may only return object or undefined");return ac(e)}(this,c)}}function tc(){return tc="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,a,c){var t=function(e,a){for(;!Object.prototype.hasOwnProperty.call(e,a)&&null!==(e=Ya(e)););return e}(e,a);if(t){var b=Object.getOwnPropertyDescriptor(t,a);return b.get?b.get.call(arguments.length<3?e:c):b.value}},tc.apply(this,arguments)}function bc(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function rc(e,a){var c="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!c){if(Array.isArray(e)||(c=function(e,a){if(e){if("string"==typeof e)return bc(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?bc(e,a):void 0}}(e))||a&&e&&"number"==typeof e.length){c&&(e=c);var t=0,b=function(){};return{s:b,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:b}}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 r,n=!0,i=!1;return{s:function(){c=c.call(e)},n:function(){var e=c.next();return n=e.done,e},e:function(e){i=!0,r=e},f:function(){try{n||null==c.return||c.return()}finally{if(i)throw r}}}}function nc(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}var ic,dc=function(){function e(){za(this,e)}return Ka(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(a){}}},{key:"buffers",value:function(e,a){if(!e||!e.length)return[];for(var c=[],t=0,b=e.length;t<b;t++){var r=c.length;if(r&&a){var n=c[r-1],i=n[1];if(e.start(t)-i<=a){var d=e.end(t);d>i&&(n[1]=d)}else c.push([e.start(t),e.end(t)])}else c.push([e.start(t),e.end(t)])}return c}},{key:"totalLength",value:function(e){return e&&e.length?e.reduce((function(e,a){return e+(a[1]-a[0])}),0):0}},{key:"info",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!a||!a.length)return{start:0,end:0,buffers:[]};for(var b=0,r=0,n=0,i=0,d=0,f=0,o=0,s=e.buffers(a,t),u=0,l=s.length;u<l;u++){var h=s[u];if(c+t>=h[0]&&c<=h[1])b=h[0],r=h[1],n=u;else{if(c+t<h[0]){i=h[0],d=h[1];break}c+t>h[1]&&(f=h[0],o=h[1])}}return{start:b,end:r,index:n,buffers:s,nextStart:i,nextEnd:d,prevStart:f,prevEnd:o,currentTime:c,behind:c-b,remaining:r?r-c:0,length:e.totalLength&&e.totalLength(s)}}},{key:"isBuffered",value:function(a,c){if(a){var t=e.get(a);if(null!=t&&t.length)for(var b=0;b<t.length;b++)if(c>=t.start(b)&&c<=t.end(b))return!0}return!1}}]),e}(),fc="undefined"!=typeof window,oc="manifest",sc="network",uc="network_timeout",lc="network_forbidden",hc="network_notfound",pc="network_range_not_satisfiable",vc="demux",yc="remux",mc="media",gc="drm",_c="other",kc="runtime",Ec={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"},Sc=($a(ic={},oc,{HLS:1100,DASH:1200}),$a(ic,sc,2100),$a(ic,uc,2101),$a(ic,lc,2103),$a(ic,hc,2104),$a(ic,pc,2116),$a(ic,vc,{FLV:3100,HLS:3200,MP4:3300,FMP4:3400,SIDX:3410}),$a(ic,yc,{FMP4:4100,MP4:4200}),$a(ic,mc,{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}),$a(ic,gc,{LICENSE:7100,CUSTOM_LICENSE:7200}),$a(ic,_c,8e3),$a(ic,kc,{NO_CANPLAY_ERROR:9001,BUFFERBREAK_ERROR:9002,WAITING_TIMEOUT_ERROR:9003}),ic),wc=function(e){Wa(c,e);var a=cc(c);function c(e,t,b,r,n){var i;return za(this,c),(i=a.call(this,n||(null==b?void 0:b.message))).errorType=e===uc?sc:e,i.originError=b,i.ext=r,i.errorCode=Sc[e][t]||Sc[e],i.errorMessage=i.message,i.errorCode||(i.errorType=_c,i.errorCode=Sc[i.errorType]),i}return Ka(c,null,[{key:"create",value:function(e,a,t,b,r){return e instanceof c?e:(e instanceof Error&&(t=e,e=""),e||(e=_c),new c(e,a,t,b,r))}},{key:"network",value:function(e){var a;return new c(null!=e&&e.isTimeout?uc:sc,null,e instanceof Error?e:null,{url:null==e?void 0:e.url,response:null==e?void 0:e.response,httpCode:null==e||null===(a=e.response)||void 0===a?void 0:a.status})}}]),c}(Za(Error)),xc={DEBUG:1,LOG:2,WARN:3,ERROR:4},Tc=["Boolean","Number","String","Undefined","Null","Date","Object"],Ac=function(){function e(a,c){za(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]"),this.logCacheLevel=(null==c?void 0:c.logCacheLevel)||3,this.logMaxSize=(null==c?void 0:c.logMaxSize)||204800,this.logSize=0,this.logTextArray=[]}return Ka(e,[{key:"debug",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.DEBUG].concat(t)),e.disabled||(a=console).debug.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"log",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.LOG].concat(t)),e.disabled||(a=console).log.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"warn",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.WARN].concat(t)),e.disabled||(a=console).warn.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"error",value:function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];this.logCache.apply(this,[xc.ERROR].concat(t)),e.disabled||(a=console).error.apply(a,["[".concat(Ic(),"]"),this._prefix].concat(t))}},{key:"logCache",value:function(e){if(!(e<this.logCacheLevel)){var a="";try{for(var c=arguments.length,t=new Array(c>1?c-1:0),b=1;b<c;b++)t[b-1]=arguments[b];var r=t.map((function(e){return Oc(e)}));a="[".concat(Ic(),"]")+this._prefix+JSON.stringify(r)}catch(i){return}if(e>=this.logCacheLevel&&(this.logSize+=a.length,this.logTextArray.push(a)),this.logSize>this.logMaxSize){var n=this.logTextArray.shift();this.logSize-=n.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 a;e.disabled||(console.group(this._prefix),(a=console).table.apply(a,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 Ic(){return(new Date).toLocaleString()}function Dc(e){if("object"!==Ga(e))return e;var a=Object.prototype.toString.call(e).slice(8,-1);switch(a){case"Array":case"Uint8Array":case"ArrayBuffer":return a+"["+e.length+"]";case"Object":return"{}";default:return a}}function Oc(e,a,c){c||(c=1),a||(a=2);var t={};if(!e||"object"!==Ga(e))return e;var b=Object.prototype.toString.call(e).slice(8,-1);if(!Tc.includes(b))return b;if(!(c>a)){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(c===a?t[r]=Dc(e[r]):"object"===Ga(e[r])?t[r]=Oc(e[r],a,c+1):t[r]=e[r]);return t}}function Rc(){var e,a,c=new Promise((function(c,t){e=c,a=t}));return c.used=!1,c.resolve=function(){return c.used=!0,e.apply(void 0,arguments)},c.reject=function(){return c.used=!0,a.apply(void 0,arguments)},c}function Lc(){try{return parseInt(performance.now(),10)}catch(e){return(new Date).getTime()}}$a(Ac,"disabled",!0);var Cc=function(e){try{return JSON.stringify(e)}catch(a){return""}};function Pc(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];try{return fc?e&&"undefined"!=typeof ManagedMediaSource?ManagedMediaSource:window.MediaSource:null}catch(a){}}function jc(e){return/ManagedMediaSource/gi.test(Object.prototype.toString.call(e))}var Mc="appendBuffer",Bc="removeBuffer",Uc="updateDuration",Nc=function(){function e(a,c){var t=this;za(this,e),$a(this,"media",null),$a(this,"mediaSource",null),$a(this,"_openPromise",Rc()),$a(this,"_queue",Object.create(null)),$a(this,"_sourceBuffer",Object.create(null)),$a(this,"_mseFullFlag",{}),$a(this,"_st",0),$a(this,"_opst",0),$a(this,"_logger",null),$a(this,"_config",null),$a(this,"_url",null),$a(this,"_onStartStreaming",(function(){t._logger.debug("startstreaming")})),$a(this,"_onEndStreaming",(function(){t._logger.debug("endstreaming")})),$a(this,"_onSBUpdateEnd",(function(e){var a=t._queue[e];if(a){var c=a[0];if((null==c?void 0:c.opName)!==Uc&&a.shift(),c){var b,r,n=Lc()-t._opst;t._logger.debug("UpdateEnd(".concat(e,"/").concat(c.opName,")"),Cc(function(e){var a=[];if(e instanceof TimeRanges)for(var c=0;c<e.length;c++)a.push({start:e.start(c),end:e.end(c)});return a}(null===(b=t._sourceBuffer[e])||void 0===b?void 0:b.buffered)),n,c.context),c.promise.resolve({name:c.opName,context:c.context,costtime:n});var i=null===(r=c.context)||void 0===r?void 0:r.callback;i&&"function"==typeof i&&i(c.context),t._startQueue(e)}}})),$a(this,"_onSBUpdateError",(function(e,a){var c=t._queue[e];if(c){var b=c[0];b&&(t._logger.error("UpdateError",e,b.opName,b.context),b.promise.reject(new wc(mc,Ec.MSE_APPEND_BUFFER,a)))}})),this._config=Object.assign(e.getDefaultConfig(),c),a&&this.bindMedia(a),this._logger=new Ac("MSE"),this._config.openLog&&Ac.enable()}var a,c,t;return Ka(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,a=!1;return Object.keys(this._queue).forEach((function(c){var t=e._queue[c];Array.isArray(t)&&(a||(a=t.length>0))})),a}},{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!jc(this.mediaSource)||this.mediaSource.streaming}},{key:"isFull",value:function(a){return a?this._mseFullFlag[a]:this._mseFullFlag[e.VIDEO]}},{key:"updateDuration",value:function(e){var a=this,c=this.mediaSource&&this.mediaSource.duration>e;if(this.mediaSource&&this.mediaSource.duration>e){var t=0;if(Object.keys(this._sourceBuffer).forEach((function(e){try{t=Math.max(a.bufferEnd(e)||0,t)}catch(c){}})),e<t)return Promise.resolve()}return this._enqueueBlockingOp((function(){a.isEnded?a._logger.debug("setDuration but ended"):a.mediaSource&&(a.mediaSource.duration=e,a._logger.debug("setDuration",e))}),Uc,{isReduceDuration:c})}},{key:"open",value:function(){var e=this;if(this._openPromise.used&&!this.isOpened&&this.mediaSource){var a=this.mediaSource;a.addEventListener("sourceopen",(function c(){var t=Lc()-e._st;e._logger.debug("sourceopen",t),a.removeEventListener("sourceopen",c),e._openPromise.resolve({costtime:t})})),this._openPromise=Rc()}return this._openPromise}},{key:"bindMedia",value:(t=qa(Fa().mark((function e(a){var c,t,b,r,n=this;return Fa().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(c=Pc(this._config.preferMMS),a&&c){e.next=6;break}throw new Error("Param media or MediaSource does not exist");case 6:return this.media=a,t=this.mediaSource=new c,b=jc(t),this._st=Lc(),r=function e(){var c=Lc()-n._st;n._logger.debug("sourceopen"),t.removeEventListener("sourceopen",e),URL.revokeObjectURL(a.src),n._openPromise.resolve({costtime:c})},t.addEventListener("sourceopen",r),b&&(t.addEventListener("startstreaming",this._onStartStreaming),t.addEventListener("endstreaming",this._onEndStreaming)),this._url=URL.createObjectURL(t),a.src=this._url,a.disableRemotePlayback=b,e.abrupt("return",this._openPromise);case 17:case"end":return e.stop()}}),e,this)}))),function(e){return t.apply(this,arguments)})},{key:"unbindMedia",value:(c=qa(Fa().mark((function e(){var a,c,t,b=this;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._openPromise.used||this._openPromise.resolve(),a=this.mediaSource){if(Object.keys(this._queue).forEach((function(e){var a=b._queue[e];a&&a.forEach((function(e){var a,c;return null===(a=e.promise)||void 0===a||null===(c=a.resolve)||void 0===c?void 0:c.call(a)}))})),c=!!this.media&&this.media.readyState>=1,t="open"===a.readyState,c&&t)try{a.endOfStream()}catch(r){}Object.keys(this._sourceBuffer).forEach((function(e){try{a.removeSourceBuffer(b._sourceBuffer[e])}catch(r){}})),jc(a)&&(a.removeEventListener("startstreaming",this._onStartStreaming),a.removeEventListener("endstreaming",this._onEndStreaming))}if(this.media){this.media.disableRemotePlayback=!1,this.media.removeAttribute("src");try{this.media.load()}catch(r){}this.media=null}this.mediaSource=null,this._openPromise=Rc(),this._queue=Object.create(null),this._sourceBuffer=Object.create(null);case 8:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"createSource",value:function(e,a){if(!this._sourceBuffer[e]&&this.mediaSource){var c;try{c=this._sourceBuffer[e]=this.mediaSource.addSourceBuffer(a)}catch(t){throw new wc(mc,Ec.MSE_ADD_SB,t)}c.mimeType=a,c.addEventListener("updateend",this._onSBUpdateEnd.bind(this,e)),c.addEventListener("error",this._onSBUpdateError.bind(this,e))}}},{key:"changeType",value:function(e,a){var c=this,t=this._sourceBuffer[e];return this.mediaSource&&t&&t.mimeType!==a?"function"!=typeof t.changeType?Promise.reject(new wc(mc,Ec.MSE_CHANGE_TYPE,new Error("changeType is not a function"))):this._enqueueOp(e,(function(){try{t.changeType(a)}catch(b){throw new wc(mc,Ec.MSE_CHANGE_TYPE,b)}t.mimeType=a,c._onSBUpdateEnd(e)}),"changeType",{mimeType:a}):Promise.resolve()}},{key:"createOrChangeSource",value:function(e,a){return this.createSource(e,a),this.changeType(e,a)}},{key:"append",value:function(e,a,c){var t=this;return a&&a.byteLength&&this._sourceBuffer[e]?this._enqueueOp(e,(function(){var b;t.mediaSource&&!t.media.error&&(t._logger.debug("MSE APPEND START",c),t._opst=Lc(),null===(b=t._sourceBuffer[e])||void 0===b||b.appendBuffer(a))}),Mc,c):Promise.resolve()}},{key:"remove",value:function(e,a,c,t){var b=this,r=!1;return this._mseFullFlag[e]&&(r=!0),this._enqueueOp(e,(function(){if(b.mediaSource&&!b.media.error){var r=b._sourceBuffer[e];a>=c||!r?b._onSBUpdateEnd(e):(b._opst=Lc(),b._logger.debug("MSE REMOVE START",e,a,c,t),r.remove(a,c))}}),Bc,t,r)}},{key:"clearBuffer",value:function(e,a){var c,t=this;return Object.keys(this._sourceBuffer).forEach((function(b){c=t.remove(b,e,a)})),c||Promise.resolve()}},{key:"clearAllBuffer",value:function(){var e,a=this;return Object.keys(this._sourceBuffer).forEach((function(c){var t=a._sourceBuffer[c];e=a.remove(c,0,dc.end(dc.get(t)))})),e}},{key:"clearOpQueues",value:function(e,a){var c;this._logger.debug("MSE clearOpQueue START");var t=this._queue[e];if(a&&t)this._queue[e]=[];else if(t&&t[e]&&!(t.length<5)){var b=[];t.forEach((function(e){e.context&&e.context.isinit&&b.push(e)})),this._queue[e]=t.slice(0,2),b.length>0&&(c=this._queue[e]).push.apply(c,b)}}},{key:"endOfStream",value:function(e){var a=this;return this.mediaSource&&"open"===this.mediaSource.readyState?this._enqueueBlockingOp((function(){var c=a.mediaSource;c&&"open"===c.readyState&&(a._logger.debug("MSE endOfStream START"),e?c.endOfStream(e):c.endOfStream())}),"endOfStream"):Promise.resolve()}},{key:"setLiveSeekableRange",value:function(e,a){var c=this.mediaSource;e<0||a<e||null==c||!c.setLiveSeekableRange||"open"!==c.readyState||c.setLiveSeekableRange(e,a)}},{key:"getSourceBuffer",value:function(e){return this._sourceBuffer[e]}},{key:"buffered",value:function(e){return dc.get(this._sourceBuffer[e])}},{key:"bufferStart",value:function(e){return dc.start(this.buffered(e))}},{key:"bufferEnd",value:function(e){return dc.end(this.buffered(e))}},{key:"_enqueueOp",value:function(e,a,c,t,b){var r=this;if(!this.mediaSource)return Promise.resolve();var n=this._queue[e]=this._queue[e]||[],i={exec:a,promise:Rc(),opName:c,context:t};return b?(n.splice(0,0,i),this._mseFullFlag[e]=!1,this._startQueue(e)):n.push(i),this.isOpened||this.isEnded?1===n.length&&this._startQueue(e):this._openPromise.then((function(){1===n.length&&r._startQueue(e)})),i.promise}},{key:"_enqueueBlockingOp",value:(a=qa(Fa().mark((function e(a,c,t){var b,r,n=this;return Fa().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((b=Object.keys(this._sourceBuffer)).length){e.next=5;break}return e.abrupt("return",a());case 5:return r=[],b.forEach((function(e){var a=n._queue[e],b=Rc();r.push(b),a.push({exec:function(){b.resolve()},promise:b,opName:c,context:t}),1===a.length&&n._startQueue(e)})),e.abrupt("return",Promise.all(r).then((function(){try{return a()}finally{b.forEach((function(e){var a=n._queue[e],c=n._sourceBuffer[e];null==a||a.shift(),c&&c.updating||n._startQueue(e)}))}})));case 8:case"end":return e.stop()}}),e,this)}))),function(e,c,t){return a.apply(this,arguments)})},{key:"_startQueue",value:function(e){var a=this._queue[e];if(a){var c=a[0];if(c&&!this._mseFullFlag[e])try{c.exec()}catch(r){var t,b;if(r&&r.message&&r.message.indexOf("SourceBuffer is full")>=0)this._mseFullFlag[e]=!0,c.context&&"object"===Ga(c.context)&&(c.context.isFull=!0),this._logger.error("[MSE error], context,",c.context," ,name,",c.opName,",err,SourceBuffer is full"),null==c||null===(t=c.promise)||void 0===t||t.reject(new wc(mc,Ec.MSE_FULL,r));else this._logger.error(r),null==c||null===(b=c.promise)||void 0===b||b.reject(r.constructor===wc?r:new wc(mc,Ec.MSE_OTHER,r)),a.shift(),this._startQueue(e)}}}},{key:"setTimeoffset",value:function(e,a,c){var t=this;return this._enqueueOp(e,(function(){a<0&&(a+=.001),t._sourceBuffer[e].timestampOffset=a,t._onSBUpdateEnd(e)}),"setTimeoffset",c)}},{key:"abort",value:function(e,a){var c=this;return this.isOpened?this._enqueueOp(e,(function(){c._sourceBuffer[e].abort(),c._onSBUpdateEnd(e)}),"abort",a):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"',a=Pc();if(!a)return!1;try{return a.isTypeSupported(e)}catch(c){return this._logger.error(e,c),!1}}},{key:"isMMSOnly",value:function(){return"undefined"!=typeof ManagedMediaSource&&"undefined"==typeof MediaSource}},{key:"getDefaultConfig",value:function(){return{openLog:!1,preferMMS:!1}}}]),e}();$a(Nc,"VIDEO","video"),$a(Nc,"AUDIO","audio");var Fc="fetch",Gc="xhr",Vc="arraybuffer",qc="text",zc="json",Hc=function(e){Wa(c,e);var a=cc(c);function c(e,t,b,r){var n;return za(this,c),$a(ac(n=a.call(this,r)),"retryCount",0),$a(ac(n),"isTimeout",!1),$a(ac(n),"loaderType",Fc),$a(ac(n),"startTime",0),$a(ac(n),"endTime",0),$a(ac(n),"options",{}),n.url=e,n.request=t,n.response=b,n}return Ka(c)}(Za(Error)),Kc=Object.prototype.toString;function $c(e){if("[object Object]"!==Kc.call(e))return!1;var a=Object.getPrototypeOf(e);return null===a||a===Object.prototype}function Wc(e){if(e&&null!==e[0]&&void 0!==e[0]&&(0!==e[0]||null!==e[1]&&void 0!==e[1])){var a="bytes="+e[0]+"-";return e[1]&&(a+=e[1]),a}}function Yc(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Xc(e,a){if(e){if(!a)return e;var c,t=Object.keys(a).map((function(e){if(null!=(c=a[e]))return Array.isArray(c)?e+="[]":c=[c],c.map((function(a){var c;return c=a,"[object Date]"===Kc.call(c)?a=a.toISOString():function(e){return null!==e&&"object"===Ga(e)}(a)&&(a=JSON.stringify(a)),"".concat(Yc(e),"=").concat(Yc(a))})).join("&")})).filter(Boolean).join("&");if(t){var b=e.indexOf("#");-1!==b&&(e=e.slice(0,b)),e+=(-1===e.indexOf("?")?"?":"&")+t}return e}}function Qc(e,a,c,t,b,r,n,i,d,f,o){return b=null!=b?parseFloat(b):null,t=parseInt(t||"0",10),Number.isNaN(t)&&(t=0),{data:e,done:a,options:{range:d,vid:f,index:i,contentLength:t,age:b,startTime:r,firstByteTime:n,endTime:Date.now(),priOptions:o},response:c}}function Jc(e,a){return Math.round(8*e*1e3/a/1024)}var Zc={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"},et={exports:{}};!function(e){var a=Object.prototype.hasOwnProperty,c="~";function t(){}function b(e,a,c){this.fn=e,this.context=a,this.once=c||!1}function r(e,a,t,r,n){if("function"!=typeof t)throw new TypeError("The listener must be a function");var i=new b(t,r||e,n),d=c?c+a:a;return e._events[d]?e._events[d].fn?e._events[d]=[e._events[d],i]:e._events[d].push(i):(e._events[d]=i,e._eventsCount++),e}function n(e,a){0==--e._eventsCount?e._events=new t:delete e._events[a]}function i(){this._events=new t,this._eventsCount=0}Object.create&&(t.prototype=Object.create(null),(new t).__proto__||(c=!1)),i.prototype.eventNames=function(){var e,t,b=[];if(0===this._eventsCount)return b;for(t in e=this._events)a.call(e,t)&&b.push(c?t.slice(1):t);return Object.getOwnPropertySymbols?b.concat(Object.getOwnPropertySymbols(e)):b},i.prototype.listeners=function(e){var a=c?c+e:e,t=this._events[a];if(!t)return[];if(t.fn)return[t.fn];for(var b=0,r=t.length,n=new Array(r);b<r;b++)n[b]=t[b].fn;return n},i.prototype.listenerCount=function(e){var a=c?c+e:e,t=this._events[a];return t?t.fn?1:t.length:0},i.prototype.emit=function(e,a,t,b,r,n){var i=c?c+e:e;if(!this._events[i])return!1;var d,f,o=this._events[i],s=arguments.length;if(o.fn){switch(o.once&&this.removeListener(e,o.fn,void 0,!0),s){case 1:return o.fn.call(o.context),!0;case 2:return o.fn.call(o.context,a),!0;case 3:return o.fn.call(o.context,a,t),!0;case 4:return o.fn.call(o.context,a,t,b),!0;case 5:return o.fn.call(o.context,a,t,b,r),!0;case 6:return o.fn.call(o.context,a,t,b,r,n),!0}for(f=1,d=new Array(s-1);f<s;f++)d[f-1]=arguments[f];o.fn.apply(o.context,d)}else{var u,l=o.length;for(f=0;f<l;f++)switch(o[f].once&&this.removeListener(e,o[f].fn,void 0,!0),s){case 1:o[f].fn.call(o[f].context);break;case 2:o[f].fn.call(o[f].context,a);break;case 3:o[f].fn.call(o[f].context,a,t);break;case 4:o[f].fn.call(o[f].context,a,t,b);break;default:if(!d)for(u=1,d=new Array(s-1);u<s;u++)d[u-1]=arguments[u];o[f].fn.apply(o[f].context,d)}}return!0},i.prototype.on=function(e,a,c){return r(this,e,a,c,!1)},i.prototype.once=function(e,a,c){return r(this,e,a,c,!0)},i.prototype.removeListener=function(e,a,t,b){var r=c?c+e:e;if(!this._events[r])return this;if(!a)return n(this,r),this;var i=this._events[r];if(i.fn)i.fn!==a||b&&!i.once||t&&i.context!==t||n(this,r);else{for(var d=0,f=[],o=i.length;d<o;d++)(i[d].fn!==a||b&&!i[d].once||t&&i[d].context!==t)&&f.push(i[d]);f.length?this._events[r]=1===f.length?f[0]:f:n(this,r)}return this},i.prototype.removeAllListeners=function(e){var a;return e?(a=c?c+e:e,this._events[a]&&n(this,a)):(this._events=new t,this._eventsCount=0),this},i.prototype.off=i.prototype.removeListener,i.prototype.addListener=i.prototype.on,i.prefixed=c,i.EventEmitter=i,e.exports=i}(et);var at=Me(et.exports),ct=2097152,tt=function(e){Wa(t,e);var a,c=cc(t);function t(){var e;return za(this,t),$a(ac(e=c.call(this)),"_abortController",null),$a(ac(e),"_timeoutTimer",null),$a(ac(e),"_reader",null),$a(ac(e),"_response",null),$a(ac(e),"_aborted",!1),$a(ac(e),"_index",-1),$a(ac(e),"_range",null),$a(ac(e),"_receivedLength",0),$a(ac(e),"_running",!1),$a(ac(e),"_logger",null),$a(ac(e),"_vid",""),$a(ac(e),"_onProcessMinLen",0),$a(ac(e),"_onCancel",null),$a(ac(e),"_priOptions",null),e}return Ka(t,[{key:"load",value:function(e){var a,c=this,t=e.url,b=e.vid,r=e.timeout,n=e.responseType,i=e.onProgress,d=e.index,f=e.onTimeout,o=e.onCancel,s=e.range,u=e.transformResponse,l=e.request,h=e.params,p=e.logger,v=e.method,y=e.headers,m=e.body,g=e.mode,_=e.credentials,k=e.cache,E=e.redirect,S=e.referrer,w=e.referrerPolicy,x=e.onProcessMinLen,T=e.priOptions;this._logger=p,this._aborted=!1,this._onProcessMinLen=x,this._onCancel=o,this._abortController="undefined"!=typeof AbortController&&new AbortController,this._running=!0,this._index=d,this._range=s||[0,0],this._vid=b||t,this._priOptions=T||{};var A={method:v,headers:y,body:m,mode:g,credentials:_,cache:k,redirect:E,referrer:S,referrerPolicy:w,signal:null===(a=this._abortController)||void 0===a?void 0:a.signal},I=!1;clearTimeout(this._timeoutTimer),t=Xc(t,h);var D=Wc(s);D&&(y=l?l.headers:A.headers=A.headers||(Headers?new Headers:{}),Headers&&y instanceof Headers?y.append("Range",D):y.Range=D),r&&(this._timeoutTimer=setTimeout((function(){if(I=!0,c.cancel(),f){var e=new Hc(t,A,null,"timeout");e.isTimeout=!0,f(e,{index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions})}}),r));var O=Date.now();return this._logger.debug("[fetch load start], index,",d,",range,",s),new Promise((function(e,a){fetch(l||t,l?void 0:A).then(function(){var b=qa(Fa().mark((function b(r){var f,o,l,h;return Fa().wrap((function(b){for(;;)switch(b.prev=b.next){case 0:if(clearTimeout(c._timeoutTimer),c._response=r,!c._aborted&&c._running){b.next=4;break}return b.abrupt("return");case 4:if(u&&(r=u(r,t)||r),r.ok){b.next=7;break}throw new Hc(t,A,r,"bad network response");case 7:if(f=Date.now(),n!==qc){b.next=15;break}return b.next=11,r.text();case 11:o=b.sent,c._running=!1,b.next=37;break;case 15:if(n!==zc){b.next=22;break}return b.next=18,r.json();case 18:o=b.sent,c._running=!1,b.next=37;break;case 22:if(!i){b.next=29;break}return c.resolve=e,c.reject=a,c._loadChunk(r,i,O,f),b.abrupt("return");case 29:return b.next=31,r.arrayBuffer();case 31:o=b.sent,o=new Uint8Array(o),c._running=!1,l=Date.now()-O,h=Jc(o.byteLength,l),c.emit(Zc.REAL_TIME_SPEED,{speed:h,len:o.byteLength,time:l,vid:c._vid,index:c._index,range:c._range,priOptions:c._priOptions});case 37:c._logger.debug("[fetch load end], index,",d,",range,",s),e(Qc(o,!0,r,r.headers.get("Content-Length"),r.headers.get("age"),O,f,d,s,c._vid,c._priOptions));case 39:case"end":return b.stop()}}),b)})));return function(e){return b.apply(this,arguments)}}()).catch((function(e){var b;clearTimeout(c._timeoutTimer),c._running=!1,c._aborted&&!I||((e=e instanceof Hc?e:new Hc(t,A,null,null===(b=e)||void 0===b?void 0:b.message)).startTime=O,e.endTime=Date.now(),e.isTimeout=I,e.options={index:c._index,range:c._range,vid:c._vid,priOptions:c._priOptions},a(e))}))}))}},{key:"cancel",value:(a=qa(Fa().mark((function e(){return Fa().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(a){}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 a.apply(this,arguments)})},{key:"_loadChunk",value:function(e,a,c,t){var b=this;if(!e.body||!e.body.getReader){this._running=!1;var r=new Hc(e.url,"",e,"onProgress of bad response.body.getReader");return r.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},void this.reject(r)}this._onProcessMinLen>0&&(this._cache=new Uint8Array(ct),this._writeIdx=0);var n,i,d,f=this._reader=e.body.getReader(),o=function(){var r=qa(Fa().mark((function r(){var s,u,l,h,p,v,y,m;return Fa().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return i=Date.now(),r.prev=1,r.next=4,f.read();case 4:n=r.sent,d=Date.now(),r.next=13;break;case 8:return r.prev=8,r.t0=r.catch(1),d=Date.now(),b._aborted||(b._running=!1,r.t0.options={index:b._index,range:b._range,vid:b._vid,priOptions:b._priOptions},b.reject(r.t0)),r.abrupt("return");case 13:if(u=(null===(s=b._range)||void 0===s?void 0:s.length)>0?b._range[0]:0,l=u+b._receivedLength,!b._aborted){r.next=19;break}return b._running=!1,a(void 0,!1,{range:[l,l],vid:b._vid,index:b._index,startTime:i,endTime:d,st:c,firstByteTime:t,priOptions:b._priOptions},e),r.abrupt("return");case 19:h=n.value?n.value.byteLength:0,b._receivedLength+=h,b._logger.debug("【fetchLoader,onProgress call】,task,",b._range,", start,",l,", end,",u+b._receivedLength,", done,",n.done),b._onProcessMinLen>0?b._writeIdx+h>=b._onProcessMinLen||n.done?((p=new Uint8Array(b._writeIdx+h)).set(b._cache.slice(0,b._writeIdx),0),h>0&&p.set(n.value,b._writeIdx),b._writeIdx=0,b._logger.debug("【fetchLoader,onProgress enough】,done,",n.done,",len,",p.byteLength,", writeIdx,",b._writeIdx)):h>0&&b._writeIdx+h<ct?(b._cache.set(n.value,b._writeIdx),b._writeIdx+=h,b._logger.debug("【fetchLoader,onProgress cache】,len,",h,", writeIdx,",b._writeIdx)):h>0&&(v=new Uint8Array(b._writeIdx+h+2048),b._logger.debug("【fetchLoader,onProgress extra start】,size,",b._writeIdx+h+2048,", datalen,",h,", writeIdx,",b._writeIdx),v.set(b._cache.slice(0,b._writeIdx),0),h>0&&v.set(n.value,b._writeIdx),b._writeIdx+=h,delete b._cache,b._cache=v,b._logger.debug("【fetchLoader,onProgress extra end】,len,",h,", writeIdx,",b._writeIdx)):p=n.value,(p&&p.byteLength>0||n.done)&&a(p,n.done,{range:[b._range[0]+b._receivedLength-(p?p.byteLength:0),b._range[0]+b._receivedLength],vid:b._vid,index:b._index,startTime:i,endTime:d,st:c,firstByteTime:t,priOptions:b._priOptions},e),n.done?(y=Date.now()-c,m=Jc(b._receivedLength,y),b.emit(Zc.REAL_TIME_SPEED,{speed:m,len:b._receivedLength,time:y,vid:b._vid,index:b._index,range:b._range,priOptions:b._priOptions}),b._running=!1,b._logger.debug("[fetchLoader onProgress end],task,",b._range,",done,",n.done),b.resolve(Qc(n,!0,e,e.headers.get("Content-Length"),e.headers.get("age"),c,t,b._index,b._range,b._vid,b._priOptions))):o();case 25:case"end":return r.stop()}}),r,null,[[1,8]])})));return function(){return r.apply(this,arguments)}}();o()}},{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)}}]),t}(at);var bt=function(e){Wa(c,e);var a=cc(c);function c(){var e;return za(this,c),$a(ac(e=a.call(this)),"_xhr",null),$a(ac(e),"_aborted",!1),$a(ac(e),"_timeoutTimer",null),$a(ac(e),"_range",null),$a(ac(e),"_receivedLength",0),$a(ac(e),"_url",null),$a(ac(e),"_onProgress",null),$a(ac(e),"_index",-1),$a(ac(e),"_headers",null),$a(ac(e),"_currentChunkSizeKB",384),$a(ac(e),"_timeout",null),$a(ac(e),"_xhr",null),$a(ac(e),"_withCredentials",null),$a(ac(e),"_startTime",-1),$a(ac(e),"_loadCompleteResolve",null),$a(ac(e),"_loadCompleteReject",null),$a(ac(e),"_runing",!1),$a(ac(e),"_logger",!1),$a(ac(e),"_vid",""),$a(ac(e),"_responseType",void 0),$a(ac(e),"_credentials",void 0),$a(ac(e),"_method",void 0),$a(ac(e),"_transformResponse",void 0),$a(ac(e),"_firstRtt",void 0),$a(ac(e),"_onCancel",null),$a(ac(e),"_priOptions",null),e}return Ka(c,[{key:"load",value:function(e){var a=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=Xc(e.url,e.params);var c=Date.now();return new Promise((function(e,c){a._loadCompleteResolve=e,a._loadCompleteReject=c,a._startLoad()})).catch((function(e){if(clearTimeout(a._timeoutTimer),a._runing=!1,!a._aborted)throw(e=e instanceof Hc?e:new Hc(a._url,a._request)).startTime=c,e.endTime=Date.now(),e.options={index:a._index,vid:a._vid,priOptions:a._priOptions},e}))}},{key:"_startLoad",value:function(){var e=null;if(this._responseType===Vc&&this._range&&this._range.length>1)if(this._onProgress){this._firstRtt=-1;var a=1024*this._currentChunkSizeKB,c=this._range[0]+this._receivedLength,t=this._range[1];a<this._range[1]-c&&(t=c+a),e=[c,t],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 a=this;try{this._startTime=Date.now();var c=this._xhr=new XMLHttpRequest;c.open(this._method||"GET",this._url,!0),c.responseType=this._responseType,this._timeout&&(c.timeout=this._timeout),c.withCredentials=this._withCredentials,c.onload=this._onLoad.bind(this),c.onreadystatechange=this._onReadyStatechange.bind(this),c.onerror=function(e){var c,t,b;a._running=!1;var r=new Hc(a._url,a._request,null==e||null===(c=e.currentTarget)||void 0===c?void 0:c.response,"xhr.onerror.status:"+(null==e||null===(t=e.currentTarget)||void 0===t?void 0:t.status)+",statusText,"+(null==e||null===(b=e.currentTarget)||void 0===b?void 0:b.statusText));r.options={index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions},a._loadCompleteReject(r)},c.ontimeout=function(e){a.cancel();var c=new Hc(a._url,a._request,{status:408},"timeout");a._onTimeout&&(c.isTimeout=!0,a._onTimeout(c,{index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions})),c.options={index:a._index,range:a._range,vid:a._vid,priOptions:a._priOptions},a._loadCompleteReject(c)};var t=this._headers||{},b=Wc(e);b&&(t.Range=b),t&&Object.keys(t).forEach((function(e){c.setRequestHeader(e,t[e])})),this._logger.debug("[xhr.send->] tast,",this._range,",load sub range, ",e),c.send(this._body)}catch(r){r.options={index:this._index,range:e,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(r)}}},{key:"_onReadyStatechange",value:function(e){2===e.target.readyState&&this._firstRtt<0&&(this._firstRtt=Date.now())}},{key:"_onLoad",value:function(e){var a,c=e.target.status;if(c<200||c>299){var t=new Hc(this._url,null,Na(Na({},e.target.response),{},{status:c}),"bad response,status:"+c);return t.options={index:this._index,range:this._range,vid:this._vid,priOptions:this._priOptions},this._loadCompleteReject(t)}var b,r=null,n=!1,i=(null===(a=this._range)||void 0===a?void 0:a.length)>0?this._range[0]:0;if(this._responseType===Vc){var d,f=new Uint8Array(e.target.response);if(b=i+this._receivedLength,f&&f.byteLength>0){this._receivedLength+=f.byteLength;var o=Date.now()-this._startTime,s=Jc(this._receivedLength,o);this.emit(Zc.REAL_TIME_SPEED,{speed:s,len:this._receivedLength,time:o,vid:this._vid,index:this._index,range:[b,i+this._receivedLength],priOptions:this._priOptions})}r=f,n=!((null===(d=this._range)||void 0===d?void 0:d.length)>1&&this._range[1]&&this._receivedLength<this._range[1]-this._range[0]),this._logger.debug("[xhr load done->], tast :",this._range,", start",b,"end ",i+this._receivedLength,",dataLen,",f?f.byteLength:0,",receivedLength",this._receivedLength,",index,",this._index,", done,",n)}else n=!0,r=e.target.response;var u={ok:c>=200&&c<300,status:c,statusText:this._xhr.statusText,url:this._xhr.responseURL,headers:this._getHeaders(this._xhr),body:this._xhr.response};this._transformResponse&&(u=this._transformResponse(u,this._url)||u),this._onProgress&&this._onProgress(r,n,{index:this._index,vid:this._vid,range:[b,i+this._receivedLength],startTime:this._startTime,endTime:Date.now(),priOptions:this._priOptions},u),n?(this._runing=!1,this._loadCompleteResolve&&this._loadCompleteResolve(Qc(this._onProgress?null:r,n,u,u.headers["content-length"],u.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,tc(Ya(c.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 a,c={},t=rc(e.getAllResponseHeaders().trim().split("\r\n"));try{for(t.s();!(a=t.n()).done;){var b=a.value.split(": ");c[b[0].toLowerCase()]=b.slice(1).join(": ")}}catch(r){t.e(r)}finally{t.f()}return c}}],[{key:"isSupported",value:function(){return"undefined"!=typeof XMLHttpRequest}}]),c}(at),rt=["retry","retryDelay","onRetryError","transformError"],nt=function(){function e(a,c){za(this,e),this.promise=Rc(),this.alive=!!c.onProgress,!c.logger&&(c.logger=new Ac("Loader")),this._loaderType=a,this._loader=a===Fc&&"undefined"!=typeof fetch?new tt:new bt,this._config=c,this._retryCount=0,this._retryTimer=null,this._canceled=!1,this._retryCheckFunc=c.retryCheckFunc,this._logger=c.logger}var a;return Ka(e,[{key:"exec",value:function(){var e=this,a=this._config,c=a.retry,t=a.retryDelay,b=a.onRetryError,r=a.transformError,n=ec(a,rt),i=function(){var a=qa(Fa().mark((function a(){var d,f,o;return Fa().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,e._loader.load(n);case 3:d=a.sent,e.promise.resolve(d),a.next=27;break;case 7:if(a.prev=7,a.t0=a.catch(0),e._loader.running=!1,e._logger.debug("[task request catch err]",a.t0),!e._canceled){a.next=13;break}return a.abrupt("return");case 13:if(a.t0.loaderType=e._loaderType,a.t0.retryCount=e._retryCount,f=a.t0,r&&(f=r(f)||f),b&&e._retryCount>0&&b(f,e._retryCount,{index:n.index,vid:n.vid,range:n.range,priOptions:n.priOptions}),e._retryCount++,o=!0,e._retryCheckFunc&&(o=e._retryCheckFunc(a.t0)),!(o&&e._retryCount<=c)){a.next=26;break}return clearTimeout(e._retryTimer),e._logger.debug("[task request setTimeout],retry",e._retryCount,",retry range,",n.range),e._retryTimer=setTimeout(i,t),a.abrupt("return");case 26:e.promise.reject(f);case 27:case"end":return a.stop()}}),a,null,[[0,7]])})));return function(){return a.apply(this,arguments)}}();return i(),this.promise}},{key:"cancel",value:(a=qa(Fa().mark((function e(){return Fa().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 a.apply(this,arguments)})},{key:"running",get:function(){return this._loader&&this._loader.running}},{key:"loader",get:function(){return this._loader}}]),e}();function it(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];if((a=a.filter(Boolean)).length<2)return a[0];var t=new Uint8Array(a.reduce((function(e,a){return e+a.byteLength}),0)),b=0;return a.forEach((function(e){t.set(e,b),b+=e.byteLength})),t}function dt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(a){return setTimeout(a,e)}))}var ft=function(e){Wa(t,e);var a,c=cc(t);function t(e){var a;return za(this,t),$a(ac(a=c.call(this,e)),"type",Fc),$a(ac(a),"_queue",[]),$a(ac(a),"_alive",[]),$a(ac(a),"_currentTask",null),$a(ac(a),"_finnalUrl",""),$a(ac(a),"_config",void 0),a._config=function(e){return Na({loaderType:Fc,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:qc,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)}(e),a._config.loaderType!==Gc&&tt.isSupported()||(a.type=Gc),a.log=e.logger,a}return Ka(t,[{key:"isFetch",value:function(){return this.type===Fc}},{key:"load",value:function(e){var a=this,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};"string"!=typeof e&&e?c=e:c.url=e||c.url||this._config.url,(c=Object.assign({},this._config,c)).params&&(c.params=Object.assign({},c.params)),c.headers&&$c(c.headers)&&(c.headers=Object.assign({},c.headers)),c.body&&$c(c.body)&&(c.body=Object.assign({},c.body)),c.transformRequest&&(c=c.transformRequest(c)||c),c.logger=this.log;var t=new nt(this.type,c);return t.loader.on(Zc.REAL_TIME_SPEED,(function(e){a.emit(Zc.REAL_TIME_SPEED,e)})),this._queue.push(t),1!==this._queue.length||this._currentTask&&this._currentTask.running||this._processTask(),t.promise}},{key:"cancel",value:(a=qa(Fa().mark((function e(){var a;return Fa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=this._queue.map((function(e){return e.cancel()})).concat(this._alive.map((function(e){return e.cancel()}))),this._currentTask&&a.push(this._currentTask.cancel()),this._queue=[],this._alive=[],e.next=6,Promise.all(a);case 6:return e.next=8,dt();case 8:case"end":return e.stop()}}),e,this)}))),function(){return a.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 a=this._currentTask.exec().catch((function(e){}));a&&"function"==typeof a.finally&&a.finally((function(){var a,c;null!==(a=e._currentTask)&&void 0!==a&&a.alive&&(null===(c=e._alive)||void 0===c?void 0:c.length)>0&&(e._alive=e._alive.filter((function(a){return a&&a!==e._currentTask}))),e._processTask()}))}}}],[{key:"isFetchSupport",value:function(){return tt.isSupported()}}]),t}(at),ot=function(){function e(){za(this,e),$a(this,"_prevCurrentTime",0)}return Ka(e,[{key:"do",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,c=arguments.length>2?arguments[2]:void 0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;if(e){var b=e.currentTime,r=0;if(this._prevCurrentTime===b){var n=dc.info(dc.get(e),b);if(!n.buffers.length)return;c&&n.nextStart||n.nextStart&&n.nextStart-b<a?r=n.nextStart+.1:n.end&&n.end-b>t&&!e.seeking&&(r=b+.1)}this._prevCurrentTime=b,r&&b!==r&&(e.currentTime=r)}}}]),e}(),st=function(){function e(a){var c=this;za(this,e),$a(this,"_seiSet",new Set),this.emitter=a,a.on(Zc.SEI,(function(e){e&&c._seiSet.add(e)}))}return Ka(e,[{key:"throw",value:function(e,a){var c=this;if(null!=e&&this._seiSet.size){var t=e-.2,b=e+.2,r=[];this._seiSet.forEach((function(e){e.time>=t&&e.time<=b&&r.push(e)})),r.forEach((function(e){c._seiSet.delete(e),c.emitter.emit(Zc.SEI_IN_TIME,e)})),a&&this._seiSet.forEach((function(a){a.time<e-5&&c._seiSet.delete(a)}))}}},{key:"reset",value:function(){this._seiSet.clear()}}]),e}(),ut=function(){function e(a){za(this,e),$a(this,"_chunkSpeed",0),$a(this,"_chunkCache",[]),$a(this,"_speeds",[]),$a(this,"_totalSize",0),$a(this,"_totalCost",0),this._opts=a||{}}return Ka(e,[{key:"addRecord",value:function(e,a){e&&a&&(this._speeds.push(8e3*e/a),this._speeds=this._speeds.slice(-3))}},{key:"addChunkRecord",value:function(e,a){var c,t;if(e&&a&&!(e<((null===(c=this._opts)||void 0===c?void 0:c.skipChunkSize)||1e3))){this._totalSize+=e,this._totalCost+=a,this._chunkSpeed=8e3*e/a,this._chunkCache.push({size:e,duration:a,timestamp:performance.now()});var b=(null===(t=this._opts)||void 0===t?void 0:t.chunkCountForSpeed)||50;this._chunkCache.length>b&&(this._chunkCache=this._chunkCache.slice(-b))}}},{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,a){return e+a}))/this._speeds.length;var a=this._chunkCache[this._chunkCache.length-1],c=performance.now()-a.timestamp;return c>((null===(e=this._opts)||void 0===e?void 0:e.longtimeNoReceived)||3e3)&&this._chunkCache.push({size:0,duration:c,timestamp:performance.now()}),8e3*this._chunkCache.reduce((function(e,a){return e+a.size}),0)/this._chunkCache.reduce((function(e,a){return e+a.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}(),lt=function(){function e(a){za(this,e),$a(this,"encodeType",""),$a(this,"audioCodec",""),$a(this,"videoCodec",""),$a(this,"domain",""),$a(this,"fps",0),$a(this,"bitrate",0),$a(this,"width",0),$a(this,"height",0),$a(this,"samplerate",0),$a(this,"channelCount",0),$a(this,"gop",0),$a(this,"_bitsAccumulateSize",0),$a(this,"_bitsAccumulateDuration",0),$a(this,"_startGopId",-1),this._timescale=a}return Ka(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 a,c=e.data,t=null==c||null===(a=c.onMetaData)||void 0===a?void 0:a.framerate;t&&t>0&&t<100&&(this.fps=t)}},{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 a=e.fpsNum/e.fpsDen;a>0&&a<100&&(this.fps=a)}}},{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 a=this;if((!this.fps||this.fps>=100)&&e.length){var c=e.reduce((function(e,a){return e+a.duration}),0)/e.length;this.fps=Math.round(this._timescale/c)}e.forEach((function(e){-1===a._startGopId&&(a._startGopId=e.gopId),e.gopId===a._startGopId&&a.gop++,a._bitsAccumulateDuration+=e.duration/(a._timescale/1e3),a._bitsAccumulateSize+=e.units.reduce((function(e,a){return e+a.length}),0),a._bitsAccumulateDuration>=1e3&&(a.bitrate=8*a._bitsAccumulateSize,a._bitsAccumulateDuration=0,a._bitsAccumulateSize=0)}))}}]),e}(),ht=function(){function e(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;za(this,e),$a(this,"_core",null),$a(this,"_samples",[]),this._core=a,this._timescale=c,this._stats=new lt(c),this._bindEvents()}return Ka(e,[{key:"getStats",value:function(){var e,a,c,t,b,r,n,i,d,f,o,s=(null===(e=this._core)||void 0===e?void 0:e.media)||{},u=s.currentTime,l=void 0===u?0:u,h=s.decodeFps,p=void 0===h?0:h;return Na(Na({},this._stats.getStats()),{},{downloadSpeed:(null===(a=this._core)||void 0===a||null===(c=a.speedInfo)||void 0===c?void 0:c.call(a).speed)||0,avgSpeed:(null===(t=this._core)||void 0===t||null===(b=t.speedInfo)||void 0===b?void 0:b.call(t).avgSpeed)||0,totalReceivedByte:(null===(r=this._core)||void 0===r||null===(n=r.speedInfo)||void 0===n?void 0:n.call(r).totalSize)||0,totalReceivedCost:(null===(i=this._core)||void 0===i||null===(d=i.speedInfo)||void 0===d?void 0:d.call(i).totalCost)||0,currentTime:l,bufferEnd:(null===(f=this._core)||void 0===f||null===(o=f.bufferInfo())||void 0===o?void 0:o.remaining)||0,decodeFps:p})}},{key:"_bindEvents",value:function(){var e=this;this._core.on(Zc.DEMUXED_TRACK,(function(a){var c=a.videoTrack;return e._stats.updateBitrate(c.samples)})),this._core.on(Zc.FLV_SCRIPT_DATA,(function(a){e._stats.setFpsFromScriptData(a)})),this._core.on(Zc.METADATA_PARSED,(function(a){"video"===a.type?e._stats.setVideoMeta(a.track):e._stats.setAudioMeta(a.track)})),this._core.on(Zc.TTFB,(function(a){e._stats.setDomain(a.responseUrl)}))}},{key:"reset",value:function(){this._samples=[],this._stats=new lt(this._timescale)}}]),e}();function pt(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function vt(e,a){for(var c=0;c<a.length;c++){var t=a[c];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,At(t.key),t)}}function yt(e,a,c){return a&&vt(e.prototype,a),c&&vt(e,c),Object.defineProperty(e,"prototype",{writable:!1}),e}function mt(e,a,c){return(a=At(a))in e?Object.defineProperty(e,a,{value:c,enumerable:!0,configurable:!0,writable:!0}):e[a]=c,e}function gt(e){return(gt=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _t(e,a){return(_t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,a){return e.__proto__=a,e})(e,a)}function kt(e,a){if(a&&("object"==typeof a||"function"==typeof a))return a;if(void 0!==a)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 Et(e){var a=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 c,t=gt(e);if(a){var b=gt(this).constructor;c=Reflect.construct(t,arguments,b)}else c=t.apply(this,arguments);return kt(this,c)}}function St(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){var c=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=c){var t,b,r,n,i=[],d=!0,f=!1;try{if(r=(c=c.call(e)).next,0===a){if(Object(c)!==c)return;d=!1}else for(;!(d=(t=r.call(c)).done)&&(i.push(t.value),i.length!==a);d=!0);}catch(o){f=!0,b=o}finally{try{if(!d&&null!=c.return&&(n=c.return(),Object(n)!==n))return}finally{if(f)throw b}}return i}}(e,a)||xt(e,a)||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 wt(e){return function(e){if(Array.isArray(e))return Tt(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||xt(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 xt(e,a){if(e){if("string"==typeof e)return Tt(e,a);var c=Object.prototype.toString.call(e).slice(8,-1);return"Object"===c&&e.constructor&&(c=e.constructor.name),"Map"===c||"Set"===c?Array.from(e):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?Tt(e,a):void 0}}function Tt(e,a){(null==a||a>e.length)&&(a=e.length);for(var c=0,t=new Array(a);c<a;c++)t[c]=e[c];return t}function At(e){var a=function(e,a){if("object"!=typeof e||null===e)return e;var c=e[Symbol.toPrimitive];if(void 0!==c){var t=c.call(e,a||"default");if("object"!=typeof t)return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===a?String:Number)(e)}(e,"string");return"symbol"==typeof a?a:String(a)}var It="video",Dt="audio",Ot="metadata",Rt="av1",Lt="avc",Ct="hevc",Pt="aac",jt="g7110a",Mt="g7110m",Bt="opus",Ut="mp3",Nt="LARGE_AV_SHIFT",Ft="LARGE_VIDEO_GAP",Gt="LARGE_VIDEO_GAP_BETWEEN_CHUNK",Vt="LARGE_AUDIO_GAP",qt="AUDIO_FILLED",zt="AUDIO_DROPPED",Ht=function(){function e(){pt(this,e),mt(this,"id",1),mt(this,"type",It),mt(this,"codecType",Lt),mt(this,"pid",-1),mt(this,"hvcC",void 0),mt(this,"codec",""),mt(this,"timescale",0),mt(this,"formatTimescale",0),mt(this,"sequenceNumber",0),mt(this,"baseMediaDecodeTime",0),mt(this,"baseDts",0),mt(this,"duration",0),mt(this,"warnings",[]),mt(this,"samples",[]),mt(this,"pps",[]),mt(this,"sps",[]),mt(this,"vps",[]),mt(this,"fpsNum",0),mt(this,"fpsDen",0),mt(this,"sarRatio",[]),mt(this,"width",0),mt(this,"height",0),mt(this,"nalUnitSize",4),mt(this,"present",!1),mt(this,"isVideoEncryption",!1),mt(this,"isAudioEncryption",!1),mt(this,"isVideo",!0),mt(this,"lastKeyFrameDts",0),mt(this,"kid",null),mt(this,"pssh",null),mt(this,"ext",void 0)}return yt(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],a=this.samples[this.samples.length-1];return a.dts-e.dts+a.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}(),Kt=function(){function e(){pt(this,e),mt(this,"id",2),mt(this,"type",Dt),mt(this,"codecType",Pt),mt(this,"pid",-1),mt(this,"codec",""),mt(this,"container",""),mt(this,"sequenceNumber",0),mt(this,"sampleDuration",0),mt(this,"timescale",0),mt(this,"formatTimescale",0),mt(this,"baseMediaDecodeTime",0),mt(this,"duration",0),mt(this,"warnings",[]),mt(this,"samples",[]),mt(this,"baseDts",0),mt(this,"sampleSize",16),mt(this,"sampleRate",0),mt(this,"channelCount",0),mt(this,"objectType",0),mt(this,"sampleRateIndex",0),mt(this,"config",[]),mt(this,"present",!1),mt(this,"isVideoEncryption",!1),mt(this,"isAudioEncryption",!1),mt(this,"kid",null),mt(this,"ext",void 0)}return yt(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!==Pt&&this.codecType!==jt&&this.codecType!==Mt&&this.codecType!==Bt&&this.codecType!==Ut)}},{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],a=this.samples[this.samples.length-1];return a.dts-e.dts+a.duration}return 0}}]),e}(),$t=function(){function e(a,c,t){pt(this,e),mt(this,"flag",{}),mt(this,"keyframe",!1),mt(this,"gopId",0),mt(this,"duration",0),mt(this,"size",0),mt(this,"units",[]),mt(this,"chromaFormat",420),this.originPts=this.pts=a,this.originDts=this.dts=c,t&&(this.units=t)}return yt(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}(),Wt=yt((function e(a,c,t,b){pt(this,e),mt(this,"duration",1024),mt(this,"flag",{dependsOn:2,isNonSyncSample:0}),mt(this,"keyframe",!0),this.originPts=this.pts=this.dts=a,this.data=c,this.size=c.byteLength,this.sampleOffset=b,t&&(this.duration=t)})),Yt=function(e){!function(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(a&&a.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),a&&_t(e,a)}(c,e);var a=Et(c);function c(){return pt(this,c),a.apply(this,arguments)}return yt(c)}(yt((function e(a,c){pt(this,e),mt(this,"time",0),this.data=a,this.originPts=this.pts=c}))),Xt=function(){function e(){pt(this,e),mt(this,"id",3),mt(this,"type",Ot),mt(this,"timescale",0),mt(this,"flvScriptSamples",[]),mt(this,"seiSamples",[])}return yt(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}(),Qt=function(){function e(a){pt(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]")}return yt(e,[{key:"warn",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).warn.apply(a,[this._prefix].concat(t))}}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();mt(Qt,"disabled",!0);var Jt="undefined"!=typeof window,Zt=Jt&&navigator.userAgent.toLocaleLowerCase(),eb=Jt&&/^((?!chrome|android).)*safari/.test(Zt),ab=Jt&&Zt.includes("firefox"),cb=Jt&&Zt.includes("android"),tb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"getRateIndexByRate",value:function(a){return e.FREQ.indexOf(a)}},{key:"parseADTS",value:function(a,c){for(var t=a.length,b=0;b+2<t&&(255!==a[b]||240!=(246&a[b+1]));)b++;if(!(b>=t)){var r=b,n=[],i=(60&a[b+2])>>>2,d=e.FREQ[i];if(!d)throw new Error("Invalid sampling index: ".concat(i));for(var f,o,s=1+((192&a[b+2])>>>6),u=(1&a[b+2])<<2|(192&a[b+3])>>>6,l=e._getConfig(i,u,s),h=l.config,p=l.codec,v=0,y=e.getFrameDuration(d);b+7<t;)if(255===a[b]&&240==(246&a[b+1])){if(!(o=(3&a[b+3])<<11|a[b+4]<<3|(224&a[b+5])>>5)||t-b<o)break;f=2*(1&~a[b+1]),n.push({pts:c+v*y,data:a.subarray(b+7+f,b+o)}),v++,b+=o}else b++;return{skip:r,remaining:b>=t?void 0:a.subarray(b),frames:n,samplingFrequencyIndex:i,sampleRate:d,objectType:s,channelCount:u,codec:p,config:h,originCodec:"mp4a.40.".concat(s)}}}},{key:"parseAudioSpecificConfig",value:function(a){if(a.length){var c=a[0]>>>3,t=(7&a[0])<<1|a[1]>>>7,b=(120&a[1])>>>3,r=e.FREQ[t];if(r){var n=e._getConfig(t,b,c);return{samplingFrequencyIndex:t,sampleRate:r,objectType:c,channelCount:b,config:n.config,codec:n.codec,originCodec:"mp4a.40.".concat(c)}}}}},{key:"getFrameDuration",value:function(e){return 1024*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:9e4)/e}},{key:"_getConfig",value:function(e,a,c){var t,b,r=[];return ab?e>=6?(t=5,b=e-3):(t=2,b=e):cb?(t=2,b=e):(t=5,b=e,e>=6?b=e-3:1===a&&(t=2,b=e)),r[0]=t<<3,r[0]|=(14&e)>>1,r[1]=(1&e)<<7,r[1]|=a<<3,5===t&&(r[1]|=(14&b)>>1,r[2]=(1&b)<<7,r[2]|=8,r[3]=0),{config:r,codec:"mp4a.40.".concat(t)}}},{key:"getSilentFrame",value:function(e,a){if("mp4a.40.2"===e){if(1===a)return new Uint8Array([0,200,0,128,35,128]);if(2===a)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===a)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===a)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===a)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===a)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===a)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===a)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 bb(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];a=a.filter(Boolean);var t=new Uint8Array(a.reduce((function(e,a){return e+a.byteLength}),0)),b=0;return a.forEach((function(e){t.set(e,b),b+=e.byteLength})),t}mt(tb,"FREQ",[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350]);var rb=Math.pow(2,32);function nb(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<8)+(e[a+1]||0)}function ib(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<24>>>0)+(e[a+1]<<16)+(e[a+2]<<8)+(e[a+3]||0)}function db(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return ib(e,a)*rb+ib(e,a+4)}function fb(e){for(var a,c="avc1.",t=0;t<3;t++)(a=e[t].toString(16)).length<2&&(a="0".concat(a)),c+=a;return c}function ob(e){if(!Array.isArray(e)){for(var a=[],c="",t=0;t<e.length;t++)t%2&&(c=e[t-1]+e[t],a.push(parseInt(c,16)),c="");return a}return e.map((function(e){return parseInt(e,16)}))}function sb(e,a){return Number(e+"."+a)}var ub=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseAnnexB",value:function(e){var a=e.byteLength-1,c=0;do{if(0!==e[a])break;c++,a--}while(a>0);c>=3&&(e=e.subarray(0,a+1));for(var t=e.length,b=2,r=0;null!==e[b]&&void 0!==e[b]&&1!==e[b];)b++;if((r=++b+2)>=t)return[];for(var n=[];r<t;)switch(e[r]){case 0:if(0!==e[r-1]){r+=2;break}if(0!==e[r-2]){r++;break}if(r<t-1&&1!==e[r+1]){r++;break}b!==r-2&&n.push(e.subarray(b,r-2));do{r++}while(1!==e[r]&&r<t);r=(b=r+1)+2;break;case 1:if(0!==e[r-1]||0!==e[r-2]){r+=3;break}b!==r-2&&n.push(e.subarray(b,r-2)),r=(b=r+1)+2;break;default:r+=3}return b<t&&n.push(e.subarray(b)),n}},{key:"parseAvcC",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4;if(!(e.length<4)){for(var c,t=e.length,b=[],r=0;r+a<t;)if(c=ib(e,r),3===a&&(c>>>=8),r+=a,c){if(r+c>t)break;b.push(e.subarray(r,r+c)),r+=c}return b}}},{key:"parseSEI",value:function(e,a){for(var c=e.length,t=a?2:1,b=0,r=0,n="";255===e[t];)b+=255,t++;for(b+=e[t++];255===e[t];)r+=255,t++;if(r+=e[t++],5===b&&c>t+16)for(var i=0;i<16;i++)n+=e[t].toString(16),t++;return{payload:e.subarray(t,t+r),type:b,size:r,uuid:n}}},{key:"removeEPB",value:function(e){for(var a=e.byteLength,c=[],t=1;t<a-2;)0===e[t]&&0===e[t+1]&&3===e[t+2]?(c.push(t+2),t+=2):t++;if(!c.length)return e;var b=a-c.length,r=new Uint8Array(b),n=0;for(t=0;t<b;n++,t++)n===c[0]&&(n++,c.shift()),r[t]=e[n];return r}}]),e}(),lb=function(){function e(a){if(pt(this,e),mt(this,"_bytesAvailable",void 0),mt(this,"_bitsAvailable",0),mt(this,"_word",0),!a)throw new Error("ExpGolomb data params is required");this._data=a,this._bytesAvailable=a.byteLength,this._bytesAvailable&&this._loadWord()}return yt(e,[{key:"bitsAvailable",get:function(){return this._bitsAvailable}},{key:"_loadWord",value:function(){var e=this._data.byteLength-this._bytesAvailable,a=Math.min(4,this._bytesAvailable);if(0===a)throw new Error("No bytes available");var c=new Uint8Array(4);c.set(this._data.subarray(e,e+a)),this._word=new DataView(c.buffer).getUint32(0),this._bitsAvailable=8*a,this._bytesAvailable-=a}},{key:"skipBits",value:function(e){if(this._bitsAvailable>e)this._word<<=e,this._bitsAvailable-=e;else{e-=this._bitsAvailable;var a=Math.floor(e/8);e-=8*a,this._bytesAvailable-=a,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 a=Math.min(this._bitsAvailable,e),c=this._word>>>32-a;return this._bitsAvailable-=a,this._bitsAvailable>0?this._word<<=a:this._bytesAvailable>0&&this._loadWord(),(a=e-a)>0&&this._bitsAvailable?c<<a|this.readBits(a):c}},{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 a=8,c=8,t=0;t<e;t++)0!==c&&(c=(a+this.readEG()+256)%256),a=0===c?a:c}}]),e}(),hb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseAVCDecoderConfigurationRecord",value:function(a){if(!(a.length<7)){for(var c,t,b=1+(3&a[4]),r=[],n=[],i=6,d=31&a[5],f=0;f<d;f++)if(t=a[i]<<8|a[i+1],i+=2,t){var o=a.subarray(i,i+t);i+=t,r.push(o),c||(c=e.parseSPS(ub.removeEPB(o)))}var s,u=a[i];i++;for(var l=0;l<u;l++)s=a[i]<<8|a[i+1],i+=2,s&&(n.push(a.subarray(i,i+s)),i+=s);return{sps:c,spsArr:r,ppsArr:n,nalUnitSize:b}}}},{key:"parseSPS",value:function(e){var a=new lb(e);a.readUByte();var c=a.readUByte(),t=a.readUByte(),b=a.readUByte();a.skipUEG();var r=420;if(100===c||110===c||122===c||244===c||44===c||83===c||86===c||118===c||128===c||138===c||144===c){var n=a.readUEG();if(n<=3&&(r=[0,420,422,444][n]),3===n&&a.skipBits(1),a.skipUEG(),a.skipUEG(),a.skipBits(1),a.readBool())for(var i=3!==n?8:12,d=0;d<i;d++)a.readBool()&&(d<6?a.skipScalingList(16):a.skipScalingList(64))}a.skipUEG();var f=a.readUEG();if(0===f)a.readUEG();else if(1===f){a.skipBits(1),a.skipUEG(),a.skipUEG();for(var o=a.readUEG(),s=0;s<o;s++)a.skipUEG()}a.skipUEG(),a.skipBits(1);var u=a.readUEG(),l=a.readUEG(),h=a.readBits(1);0===h&&a.skipBits(1),a.skipBits(1);var p,v,y,m,g,_=0,k=0,E=0,S=0;if(a.readBool()&&(_=a.readUEG(),k=a.readUEG(),E=a.readUEG(),S=a.readUEG()),a.readBool()){if(a.readBool())switch(a.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=[a.readUByte()<<8|a.readUByte(),a.readUByte()<<8|a.readUByte()]}if(a.readBool()&&a.readBool(),a.readBool()&&(a.readBits(4),a.readBool()&&a.readBits(24)),a.readBool()&&(a.readUEG(),a.readUEG()),a.readBool()){var w=a.readBits(32),x=a.readBits(32);v=a.readBool(),g=(y=x)/(m=2*w)}}return{codec:fb(e.subarray(1,4)),profileIdc:c,profileCompatibility:t,levelIdc:b,chromaFormat:r,width:Math.ceil(16*(u+1)-2*(_+k)),height:(2-h)*(l+1)*16-(h?2:4)*(E+S),sarRatio:p,fpsNum:y,fpsDen:m,fps:g,fixedFrame:v}}}]),e}(),pb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"parseHEVCDecoderConfigurationRecord",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(a.length<23)){c=c||{};for(var t,b,r,n,i,d=1+(3&a[21]),f=[],o=[],s=[],u=23,l=a[22],h=0;h<l;h++){r=63&a[u],n=a[u+1]<<8|a[u+2],u+=3;for(var p=0;p<n;p++)if(i=a[u]<<8|a[u+1],u+=2,i){switch(r){case 32:var v=a.subarray(u,u+i);t||(t=e.parseVPS(ub.removeEPB(v),c)),s.push(v);break;case 33:var y=a.subarray(u,u+i);b||(b=e.parseSPS(ub.removeEPB(y),c)),f.push(y);break;case 34:o.push(a.subarray(u,u+i))}u+=i}}return{hvcC:c,sps:b,spsArr:f,ppsArr:o,vpsArr:s,nalUnitSize:d}}}},{key:"parseVPS",value:function(a,c){c=c||{};var t=new lb(a);t.readUByte(),t.readUByte(),t.readBits(12);var b=t.readBits(3);return c.numTemporalLayers=Math.max(c.numTemporalLayers||0,b+1),t.readBits(17),e._parseProfileTierLevel(t,b,c),c}},{key:"parseSPS",value:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};c=c||{};var t=new lb(a);t.readUByte(),t.readUByte(),t.readBits(4);var b=t.readBits(3);c.numTemporalLayers=Math.max(b+1,c.numTemporalLayers||0),c.temporalIdNested=t.readBits(1),e._parseProfileTierLevel(t,b,c),t.readUEG();var r=c.chromaFormatIdc=t.readUEG(),n=420;r<=3&&(n=[0,420,422,444][r]);var i=0;3===r&&(i=t.readBits(1));var d,f,o,s,u=t.readUEG(),l=t.readUEG(),h=t.readBits(1);(1===h&&(d=t.readUEG(),f=t.readUEG(),o=t.readUEG(),s=t.readUEG()),c.bitDepthLumaMinus8=t.readUEG(),c.bitDepthChromaMinus8=t.readUEG(),1===h)&&(u-=(1!==r&&2!==r||0!==i?1:2)*(f+d),l-=(1===r&&0===i?2:1)*(s+o));return{codec:"hev1.1.6.L93.B0",width:u,height:l,chromaFormat:n,hvcC:c}}},{key:"_parseProfileTierLevel",value:function(e,a,c){var t=c.generalTierFlag||0;c.generalProfileSpace=e.readBits(2),c.generalTierFlag=Math.max(e.readBits(1),t),c.generalProfileIdc=Math.max(e.readBits(5),c.generalProfileIdc||0),c.generalProfileCompatibilityFlags=e.readBits(32),c.generalConstraintIndicatorFlags=[e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8),e.readBits(8)];var b=e.readBits(8);t<c.generalTierFlag?c.generalLevelIdc=b:c.generalLevelIdc=Math.max(b,c.generalLevelIdc||0);var r=[],n=[];if(a>e.bitsAvailable)throw new Error("maxSubLayersMinus inavlid size ".concat(a));for(var i=0;i<a;i++)r[i]=e.readBits(1),n[i]=e.readBits(1);a>0&&e.readBits(2*(8-a));for(var d=0;d<a;d++)0!==r[d]&&(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!==n[d]&&e.readBits(8)}}]),e}(),vb=9e4,yb=45e4,mb=9e4,gb=function(){function e(a,c,t,b){pt(this,e),this.videoTrack=a,this.audioTrack=c,this.metadataTrack=t,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==b?void 0:b.forceFixLargeGap,this._largeGapThreshold=(null==b?void 0:b.largeGapThreshold)||45e4}return yt(e,[{key:"fix",value:function(){var e=this,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];a=Math.round(9e4*a);var b=this.videoTrack,r=this.audioTrack,n=b.samples,i=r.samples;if(n.length||i.length){var d=n[0],f=i[0],o=0;if(n.length&&i.length&&(o=d.dts-f.pts),this._baseDtsInited||this._calculateBaseDts(this.audioTrack,this.videoTrack),c&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=a,this._baseAudioDts-=a,this._baseVideoDts-=a),!t){this._videoNextDts=o>0?a+o:a,this._audioNextPts=o>0?a:a-o,this._needForceFixLargeGap&&(this._videoNextDts=0,this._audioNextPts=0);var s=d?d.dts-this._baseDts-this._videoNextDts:0,u=f?f.pts-this._baseDts-this._audioNextPts:0;Math.abs(s||u)>mb&&(this._calculateBaseDts(this.audioTrack,this.videoTrack),this._baseDts-=a)}if(this._resetBaseDtsWhenStreamBreaked(),this._fixAudio(r),this._fixVideo(b),this.metadataTrack.exist()){var l=this.metadataTrack.timescale;this.metadataTrack.seiSamples.forEach((function(a){a.pts=a.originPts-e._baseDts,a.time=Math.max(0,a.pts)/l}))}b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].dts),r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].pts*r.timescale/9e4)}}},{key:"_fixVideo",value:function(e){var a=this,c=e.samples;if(c.length){if(c.forEach((function(e){e.dts-=a._needForceFixLargeGap?a._baseVideoDts:a._baseDts,e.pts-=a._needForceFixLargeGap?a._baseVideoDts:a._baseDts})),void 0===this._videoNextDts){var t=c[0];this._videoNextDts=t.dts}var b,r,n=c.length,i=0,d=c[0],f=c[1],o=this._videoNextDts-d.dts;if(Math.abs(o)>45e3)if(e.warnings.push({type:Gt,nextDts:this._videoNextDts/90,firstSampleDts:d.dts/90,nextSampleDts:((null===(b=c[1])||void 0===b?void 0:b.dts)||0)/90,sampleDuration:o/90}),d.dts+=o,d.pts+=o,f&&Math.abs(f.dts-d.dts)>mb)this._videoTimestampBreak=!0,c.forEach((function(e,a){0!==a&&(e.dts+=o,e.pts+=o)}));else for(var s=1;s<n-1;s++){var u,l=null===(u=c[s])||void 0===u?void 0:u.dts,h=c[s-1].dts;l&&l-h<0&&(c[s].dts+=o,c[s].pts+=o)}if(e.fpsNum&&e.fpsDen&&(r=e.timescale*(e.fpsDen/e.fpsNum)),r<900&&(r=0),!r){var p=e.samples[0],v=e.samples[1];r=1===n?9e3:Math.floor(v.dts-p.dts)}for(var y=0;y<n;y++){var m=c[y].dts,g=c[y+1];if((i=y<n-1?g.dts-m:c[y-1]?Math.min(m-c[y-1].dts,r):r)>mb||i<0){this._videoTimestampBreak=!0,i=this._audioTimestampBreak?r:Math.max(i,2700);var _=this._audioNextPts||0;g&&g.dts>_&&(i=r),e.warnings.push({type:Ft,time:m/e.timescale,dts:m,originDts:c[y].originDts,nextDts:this._videoNextDts,sampleDuration:i,refSampleDuration:r})}c[y].duration=i,this._videoNextDts+=i}}}},{key:"_fixAudio",value:function(e){var a=this,c=e.samples;if(c.length)if(e.codecType!==Ut)c.forEach((function(e){e.pts-=a._needForceFixLargeGap?a._baseAudioDts:a._baseDts,e.dts=e.pts})),this._doFixAudioInternal(e,c,9e4);else{this.lastAudioSample&&c.unshift(this.lastAudioSample);for(var t=0;t<c.length;t++){var b=c[t];if(!c[t+1])break;b.duration=c[t+1].pts-b.pts,b.pts-=this._baseDts,b.dts=b.pts}this.lastAudioSample=c.pop()}}},{key:"_calculateBaseDts",value:function(e,a){var c=e.samples,t=a.samples;if(!c.length&&!t.length)return!1;var b=1/0,r=1/0;c.length&&(e.baseDts=b=c[0].pts,this._baseAudioDts=b),t.length&&(a.baseDts=r=t[0].dts,this._baseVideoDts=r),this._baseDts=Math.min(b,r);var n=r-b,i=!1;return Number.isFinite(n)&&Math.abs(n)>45e3&&a.warnings.push({type:Nt,videoBaseDts:r,audioBasePts:b,baseDts:this._baseDts,delta:n}),Number.isFinite(n)&&Math.abs(n)>this._largeGapThreshold*vb&&(i=!0),this._baseDtsInited||(i&&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,a,c){e.sampleDuration||(e.sampleDuration=tb.getFrameDuration(e.timescale,c));var t=e.sampleDuration;if(void 0===this._audioNextPts){var b=a[0];this._audioNextPts=b.pts}for(var r=0;r<a.length;r++){var n=this._audioNextPts,i=a[r],d=i.pts-n;if(!this._audioTimestampBreak&&d>=3*t&&d<=vb&&!eb){var f=tb.getSilentFrame(e.codec,e.channelCount)||a[0].data.subarray(),o=Math.floor(d/t);Math.abs(i.pts-this._lastAudioExceptionGapDot)>yb&&(this._lastAudioExceptionGapDot=i.pts),e.warnings.push({type:qt,pts:i.pts/90,originPts:i.originPts,count:o,nextPts:n/90,refSampleDuration:t});for(var s=0;s<o;s++){var u=new Wt(Math.floor(n),f);u.originPts=Math.floor(this._baseDts+n),a.splice(r,0,u),this._audioNextPts+=t,r++}r--}else d<=-3*t&&d>=-9e4?(Math.abs(i.pts-this._lastAudioExceptionOverlapDot)>yb&&(this._lastAudioExceptionOverlapDot=i.pts,e.warnings.push({type:zt,pts:i.pts/90,originPts:i.originPts,nextPts:n/90,refSampleDuration:t})),a.splice(r,1),r--):(Math.abs(d)>=vb&&(this._audioTimestampBreak=!0,Math.abs(i.pts-this._lastAudioExceptionLargeGapDot)>yb&&(this._lastAudioExceptionLargeGapDot=i.pts,e.warnings.push({type:Vt,time:i.pts/1e3,pts:i.pts/90,originPts:i.originPts,nextPts:n/90,sampleDuration:d,refSampleDuration:t}))),i.dts=i.pts=n,this._audioNextPts+=t)}}}]),e}(),_b=[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],kb=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],Eb=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Sb=[0,1,1,4],wb=null,xb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"isHeader",value:function(e,a){return a+1<e.length&&255===e[a]&&!(224&~e[a+1])&&!!(6&e[a+1])}},{key:"appendFrame",value:function(a,c,t,b,r){if(!(t+24>c.length)){var n=e.parseHeader(c,t);if(n&&t+n.frameLength<=c.length){var i=b+r*(9e4*n.samplesPerFrame/n.sampleRate),d={data:c.subarray(t,t+n.frameLength),pts:i,dts:i};return d.size=d.data.byteLength,a.config=[],a.channelCount=n.channelCount,a.sampleRate=n.sampleRate,ab?a.codec="mp3":a.container="audio/mpeg",a.samples.push(d),{length:n.frameLength}}}}},{key:"parseHeader",value:function(e,a){var c=e[a+1]>>3&3,t=e[a+1]>>1&3,b=e[a+2]>>4&15,r=e[a+2]>>2&3;if(1!==c&&0!==b&&15!==b&&3!==r){var n=e[a+2]>>1&1,i=e[a+3]>>6,d=1e3*_b[14*(3===c?3-t:3===t?3:4)+b-1],f=kb[3*(3===c?0:2===c?1:2)+r],o=3===i?1:2,s=Eb[c][t],u=Sb[t],l=8*s*u,h=Math.floor(s*d/f+n)*u;if(null===wb){var p=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);wb=p?parseInt(p[1]):0}return!!wb&&wb<=87&&2===t&&d>=224e3&&0===i&&(e[a+3]=128|e[a+3]),{sampleRate:f,channelCount:o,frameLength:h,samplesPerFrame:l}}}}]),e}(),Tb=new Qt("TsDemuxer"),Ab=function(){function e(a,c,t){var b=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};pt(this,e),mt(this,"_pmtId",-1),mt(this,"_remainingPacketData",null),mt(this,"_videoPesData",[]),mt(this,"_audioPesData",[]),mt(this,"_gopId",0),this.videoTrack=a||new Ht,this.audioTrack=c||new Kt,this.metadataTrack=t||new Xt,this._fixer=new gb(this.videoTrack,this.audioTrack,this.metadataTrack,b)}return yt(e,[{key:"demux",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],t=this.audioTrack,b=this.videoTrack,r=this.metadataTrack;a&&(this._pmtId=-1,b.reset(),t.reset(),r.reset()),!c||a?(this._remainingPacketData=null,this._videoPesData=[],this._audioPesData=[]):(b.samples=[],t.samples=[],r.seiSamples=[],b.warnings=[],t.warnings=[],this._remainingPacketData&&(e=bb(this._remainingPacketData,e),this._remainingPacketData=null));var n=e.length,i=n%188;i&&(this._remainingPacketData=e.subarray(n-i),n-=i);for(var d=b.pid,f=t.pid,o=0;o<n;o+=188){if(71!==e[o])throw new Error("TS packet did not start with 0x47");var s=!!(64&e[o+1]),u=((31&e[o+1])<<8)+e[o+2],l=void 0;if((48&e[o+3])>>4>1){if((l=o+5+e[o+4])===o+188)continue}else l=o+4;switch(u){case 0:s&&(l+=e[l]+1),this._pmtId=(31&e[l+10])<<8|e[l+11];break;case this._pmtId:s&&(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:t.pid=f=p;break;case 3:case 4:-1===t.pid&&(t.pid=f=p,t.codecType=Ut);break;case 27:if(-1!==d)break;b.codecType=Lt,b.pid=d=p;break;case 36:if(-1!==d)break;b.codecType=Ct,b.pid=d=p;break;default:Tb.warn("Unsupported stream. type: ".concat(e[l],", pid: ").concat(p))}l+=5+((15&e[l+3])<<8|e[l+4])}break;case d:s&&this._videoPesData.length&&this._parseVideoData(),this._videoPesData.push(e.subarray(l,o+188));break;case f:s&&this._audioPesData.length&&this._parseAudioData(),this._audioPesData.push(e.subarray(l,o+188));break;case 17:case 8191:break;default:Tb.warn("Unknown pid: ".concat(u))}}return this._parseVideoData(),this._parseAudioData(),t.formatTimescale=b.formatTimescale=b.timescale=r.timescale=9e4,t.timescale=t.sampleRate||0,{videoTrack:b,audioTrack:t,metadataTrack:r}}},{key:"fix",value:function(e,a,c){return this._fixer.fix(e,a,c),{videoTrack:this.videoTrack,audioTrack:this.audioTrack,metadataTrack:this.metadataTrack}}},{key:"demuxAndFix",value:function(e,a,c,t){return this.demux(e,a,c),this.fix(t,a,c)}},{key:"_parseVideoData",value:function(){if(this._videoPesData.length){var a=e._parsePES(bb.apply(void 0,wt(this._videoPesData)));if(a){var c=ub.parseAnnexB(a.data);c?this._createVideoSample(c,a.pts,a.dts):Tb.warn("Cannot parse avc units",a),this._videoPesData=[]}else Tb.warn("Cannot parse video pes",this._videoPesData)}}},{key:"_createVideoSample",value:function(e,a,c){var t=this;if(e.length){var b=this.videoTrack,r=b.codecType===Ct,n=new $t(a,c);e.forEach((function(e){var c=r?e[0]>>>1&63:31&e[0];switch(c){case 5:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:if(!r&&5!==c||r&&5===c)break;n.setToKeyframe(),t._gopId++;break;case 6:case 39:case 40:if(!r&&6!==c||r&&6===c)break;return void t.metadataTrack.seiSamples.push(new Yt(ub.parseSEI(ub.removeEPB(e),r),a));case 32:if(!r)break;if(!b.vps.length){var i=pb.parseVPS(ub.removeEPB(e),b.hvcC);b.hvcC=b.hvcC||i,b.vps=[e]}break;case 7:case 33:if(!r&&7!==c||r&&7===c)break;if(!b.sps.length){var d=ub.removeEPB(e),f=r?pb.parseSPS(d,b.hvcC):hb.parseSPS(d);b.sps=[e],b.hvcC=b.hvcC||f.hvcC,b.codec=f.codec,b.width=f.width,b.height=f.height,b.sarRatio=f.sarRatio,b.fpsNum=f.fpsNum,b.fpsDen=f.fpsDen}break;case 8:case 34:if(!r&&8!==c||r&&8===c)break;b.pps.length||(b.pps=[e]);break;case 9:case 35:break;case 38:if(r){for(var o=!1,s=2;s<e.byteLength;s++)if(255===e[s]){o=!0;break}if(!o)return}}n.units.push(e)})),n.gopId=this._gopId,this._pushVideoSample(b,n)}}},{key:"_pushVideoSample",value:function(e,a){if(a.units.length)if(null===a.pts||void 0===a.pts){Tb.warn("Video sample no pts",a);var c=e.samples[e.samples.length-1];c?(a.pts=c.pts,a.dts=c.dts):Tb.warn("Drop video sample",a)}else e.samples.push(a)}},{key:"_parseAudioData",value:function(){if(this._audioPesData.length){var a=e._parsePES(bb.apply(void 0,wt(this._audioPesData)));if(a){switch(this.audioTrack.codecType){case Pt:this._parseAacData(a);break;case Ut:this._parseMPEG(a)}this._audioPesData=[]}else Tb.warn("Cannot parse audio pes",this._audioPesData)}}},{key:"_parseAacData",value:function(e){var a=this.audioTrack,c=e.pts;if(null==c){if(Tb.warn("AAC pes not pts",a),!a.samples.length||!a.sampleRate)return;c=a.samples[a.samples.length-1].pts+tb.getFrameDuration(a.sampleRate)}var t,b=tb.parseADTS(e.data,c);b?(a.codec=b.codec,a.channelCount=b.channelCount,a.sampleRate=b.sampleRate,a.objectType=b.objectType,a.sampleRateIndex=b.samplingFrequencyIndex,a.config=b.config,(t=a.samples).push.apply(t,wt(b.frames.map((function(e){return new Wt(e.pts,e.data)})))),b.skip&&Tb.warn("Skip aac adts ".concat(b.skip," bits")),b.remaining&&Tb.warn("Remaining aac adts ".concat(b.remaining," bits"))):Tb.warn("Cannot parse aac adts",e)}},{key:"_parseMPEG",value:function(e){var a=e.data,c=a.length,t=0,b=0,r=e.pts;if(void 0!==r)for(;b<c;)if(xb.isHeader(a,b)){var n=xb.appendFrame(this.audioTrack,a,b,r,t);if(!n)break;b+=n.length,t++}else b++;else Tb.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 a=e[8];if(!(null==a||e.length<a+9)&&1===(e[0]<<16|e[1]<<8|e[2])){var c=(e[4]<<8)+e[5];if(!(c&&c>e.length-6)){var t,b,r=e[7];return 192&r&&(t=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,64&r?t-(b=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2)>54e5&&(t=b):b=t),{data:e.subarray(9+a),pts:t,dts:b}}}}}]),e}(),Ib=function(){function e(a,c,t){pt(this,e),this.dv=new DataView(a),this.start=this.offset=c||this.dv.byteOffset,this.end=t?this.start+t:this.start+this.dv.byteLength}return yt(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 a=0;switch(e){case 4:a=this.dv.getFloat32(this.offset);break;case 8:a=this.dv.getFloat64(this.offset);break;default:throw new Error("read ".concat(e,"-byte float is not supported"))}return this.offset+=e,a}},{key:"back",value:function(e){this.offset-=e}},{key:"skip",value:function(e){this.offset+=e}},{key:"readInt",value:function(e){var a=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getInt8(a);case 2:return this.dv.getInt16(a);case 4:return this.dv.getInt32(a);default:throw new Error("read ".concat(e,"-byte integers is not supported"))}}},{key:"read",value:function(e){var a=this.offset;switch(this.offset+=e,e){case 1:return this.dv.getUint8(a);case 2:return this.dv.getUint16(a);case 3:return(this.dv.getUint16(a)<<8)+this.dv.getUint8(a+2);case 4:return this.dv.getUint32(a);default:return this.back(e-4),this.read(e-4)+this.dv.getUint32(a)*Math.pow(256,e-4)}}},{key:"write",value:function(e,a){var c=this.offset;switch(this.offset+=e,e){case 1:return this.dv.setUint8(c,a);case 2:return this.dv.setUint16(c,a);case 3:return this.dv.setUint8(c,a>>>16),this.dv.setUint16(c+1,65535&a);case 4:return this.dv.setUint32(c,a);default:throw new Error("write ".concat(e,"-byte integers is not supported"))}}},{key:"readToBuffer",value:function(e){var a;return a=this.offset||e?this.dv.buffer.slice(this.offset,e?this.offset+e:this.end):this.dv.buffer,this.offset+=a.byteLength,a}},{key:"readToUint8",value:function(e){var a=new Uint8Array(this.dv.buffer,this.offset,e||this.unreadLength);return this.offset+=a.byteLength,a}},{key:"readString",value:function(e){for(var a=0,c="";a<e;a++)c+=String.fromCharCode(this.dv.getUint8(this.offset)),this.offset++;return c}}],[{key:"fromUint8",value:function(a){return new e(a.buffer,a.byteOffset,a.byteLength)}},{key:"concatUint8s",value:function(e){var a=new Uint8Array(e.reduce((function(e,a){return e+a.byteLength}),0)),c=0;return e.forEach((function(e){a.set(e,c),c+=e.byteLength})),a}},{key:"concatUint8",value:function(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];return this.concatUint8s(a)}}]),e}(),Db=function(){function e(a,c){pt(this,e),this.offset=0,this.val=a,this.size=c}return yt(e,[{key:"skip",value:function(e){this.offset+=e}},{key:"read",value:function(e){var a=this.size-this.offset-e;if(a>=0){var c=0,t=0;if(this.offset+=e,this.size>31){for(;t<e;t++)c+=Math.pow(2,t);return this.val/Math.pow(2,a)&c}for(;t<e;t++)c+=1<<t;return this.val>>>a&c}throw new Error("the number of the read operation exceeds the total length limit of bits")}}],[{key:"fromByte",value:function(a,c){return new e(a.read(c),c<<3)}}]),e}(),Ob=function(){function e(){pt(this,e)}return yt(e,null,[{key:"findBox",value:function(a,c){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=[];if(!a)return b;for(var r=0,n="",i=0;a.length>7;){if(r=ib(a),n=String.fromCharCode.apply(null,a.subarray(4,8)),i=8,1===r?(r=db(a,8),i+=8):r||(r=a.length),!c[0]||n===c[0]){var d=a.subarray(0,r);if(!(c.length<2))return e.findBox(d.subarray(i),c.slice(1),t+i);b.push({start:t,size:r,headerSize:i,type:n,data:d})}t+=r,a=a.subarray(r)}return b}},{key:"tfhd",value:function(e){return Pb(e,!0,(function(e,a){e.trackId=ib(a);var c=4,t=1&e.flags,b=2&e.flags,r=8&e.flags,n=16&e.flags,i=32&e.flags;t&&(c+=4,e.baseDataOffset=ib(a,c),c+=4),b&&(e.sampleDescriptionIndex=ib(a,c),c+=4),r&&(e.defaultSampleDuration=ib(a,c),c+=4),n&&(e.defaultSampleSize=ib(a,c),c+=4),i&&(e.defaultSampleFlags=ib(a,c))}))}},{key:"sidx",value:function(e){return Pb(e,!0,(function(e,a){var c=0;e.reference_ID=ib(a,c),c+=4,e.timescale=ib(a,c),c+=4,0===e.version?(e.earliest_presentation_time=ib(a,c),c+=4,e.first_offset=ib(a,c),c+=4):(e.earliest_presentation_time=db(a,c),c+=8,e.first_offset=db(a,c),c+=8),c+=2,e.references=[];var t=nb(a,c);c+=2;for(var b=0;b<t;b++){var r={};e.references.push(r);var n=ib(a,c);c+=4,r.reference_type=n>>31&1,r.referenced_size=2147483647&n,r.subsegment_duration=ib(a,c),n=ib(a,c+=4),c+=4,r.starts_with_SAP=n>>31&1,r.SAP_type=n>>28&7,r.SAP_delta_time=268435455&n}}))}},{key:"moov",value:function(a){return Pb(a,!1,(function(a,c,t){a.mvhd=e.mvhd(e.findBox(c,["mvhd"],t)[0]),a.trak=e.findBox(c,["trak"],t).map((function(a){return e.trak(a)})),a.pssh=e.pssh(e.findBox(c,["pssh"],t)[0])}))}},{key:"mvhd",value:function(e){return Pb(e,!0,(function(e,a){var c=0;1===e.version?(e.timescale=ib(a,16),e.duration=db(a,20),c+=28):(e.timescale=ib(a,8),e.duration=ib(a,12),c+=16),e.nextTrackId=ib(a,c+76)}))}},{key:"trak",value:function(a){return Pb(a,!1,(function(a,c,t){a.tkhd=e.tkhd(e.findBox(c,["tkhd"],t)[0]),a.mdia=e.mdia(e.findBox(c,["mdia"],t)[0])}))}},{key:"tkhd",value:function(e){return Pb(e,!0,(function(e,a){var c=Ib.fromUint8(a);1===e.version?(c.read(8),c.read(8),e.trackId=c.read(4),c.read(4),e.duration=c.read(8)):(c.read(4),c.read(4),e.trackId=c.read(4),c.read(4),e.duration=c.read(4)),c.skip(16),e.matrix=[];for(var t=0;t<36;t++)e.matrix.push(c.read(1));c.back(36);for(var b,r=[],n=0;n<3;n++)r.push(sb(c.readInt(2),c.readInt(2))),r.push(sb(c.readInt(2),c.readInt(2))),b=c.readInt(4),r.push(sb(b>>30,1073741823&b));e.rotation=function(e){if(e.length<5)return 0;var a=Math.hypot(e[0],e[3]),c=Math.hypot(e[1],e[4]);return 0===a||0===c?0:180*Math.atan2(e[1]/c,e[0]/a)/Math.PI}(r),e.width=c.read(4),e.height=c.read(4)}))}},{key:"mdia",value:function(a){return Pb(a,!1,(function(a,c,t){a.mdhd=e.mdhd(e.findBox(c,["mdhd"],t)[0]),a.hdlr=e.hdlr(e.findBox(c,["hdlr"],t)[0]),a.minf=e.minf(e.findBox(c,["minf"],t)[0])}))}},{key:"mdhd",value:function(e){return Pb(e,!0,(function(e,a){var c=0;1===e.version?(e.timescale=ib(a,16),e.duration=db(a,20),c+=28):(e.timescale=ib(a,8),e.duration=ib(a,12),c+=16);var t=nb(a,c);e.language=String.fromCharCode(96+(t>>10&31),96+(t>>5&31),96+(31&t))}))}},{key:"hdlr",value:function(e){return Pb(e,!0,(function(e,a){0===e.version&&(e.handlerType=String.fromCharCode.apply(null,a.subarray(4,8)))}))}},{key:"minf",value:function(a){return Pb(a,!1,(function(a,c,t){a.vmhd=e.vmhd(e.findBox(c,["vmhd"],t)[0]),a.smhd=e.smhd(e.findBox(c,["smhd"],t)[0]),a.stbl=e.stbl(e.findBox(c,["stbl"],t)[0])}))}},{key:"vmhd",value:function(e){return Pb(e,!0,(function(e,a){e.graphicsmode=nb(a),e.opcolor=[nb(a,2),nb(a,4),nb(a,6)]}))}},{key:"smhd",value:function(e){return Pb(e,!0,(function(e,a){e.balance=nb(a)}))}},{key:"stbl",value:function(a){return Pb(a,!1,(function(a,c,t){var b,r,n;a.stsd=e.stsd(e.findBox(c,["stsd"],t)[0]),a.stts=e.stts(e.findBox(c,["stts"],t)[0]),a.ctts=e.ctts(e.findBox(c,["ctts"],t)[0]),a.stsc=e.stsc(e.findBox(c,["stsc"],t)[0]),a.stsz=e.stsz(e.findBox(c,["stsz"],t)[0]),a.stco=e.stco(e.findBox(c,["stco"],t)[0]),a.stco||(a.co64=e.co64(e.findBox(c,["co64"],t)[0]),a.stco=a.co64);var i=null===(b=a.stsd.entries[0])||void 0===b||null===(r=b.sinf)||void 0===r||null===(n=r.schi)||void 0===n?void 0:n.tenc.default_IV_size;a.stss=e.stss(e.findBox(c,["stss"],t)[0]),a.senc=e.senc(e.findBox(c,["senc"],t)[0],i)}))}},{key:"senc",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return Pb(e,!0,(function(e,c){var t=0,b=ib(c,t);t+=4,e.samples=[];for(var r=0;r<b;r++){for(var n={InitializationVector:[]},i=0;i<a;i++)n.InitializationVector[i]=c[t+i];if(t+=a,2&e.flags){n.subsamples=[];var d=nb(c,t);t+=2;for(var f=0;f<d;f++){var o={};o.BytesOfClearData=nb(c,t),t+=2,o.BytesOfProtectedData=ib(c,t),t+=4,n.subsamples.push(o)}}e.samples.push(n)}}))}},{key:"pssh",value:function(e){return Pb(e,!0,(function(e,a){for(var c=[],t=[],b=0,r=0;r<16;r++)t.push(jb(a[b+r]));if(b+=16,e.version>0){var n=ib(a,b);b+=4;for(var i=0;i<(""+n).length;i++)for(var d=0;d<16;d++){var f=a[b];b+=1,c.push(jb(f))}}var o=ib(a,b);e.data_size=o,b+=4,e.kid=c,e.system_id=t,e.buffer=a}))}},{key:"stsd",value:function(a){return Pb(a,!0,(function(a,c,t){a.entryCount=ib(c),a.entries=e.findBox(c.subarray(4),[],t+4).map((function(a){switch(a.type){case"av01":return e.av01(a);case"avc1":case"avc2":case"avc3":case"avc4":return e.avc1(a);case"hvc1":case"hev1":return e.hvc1(a);case"mp4a":return e.mp4a(a);case"alaw":case"ulaw":return e.alaw(a);case"enca":return Pb(a,!1,(function(a,c,t){a.channelCount=nb(c,16),a.samplesize=nb(c,18),a.sampleRate=ib(c,24)/65536,c=c.subarray(28),a.sinf=e.sinf(e.findBox(c,["sinf"],t)[0]),a.esds=e.esds(e.findBox(c,["esds"],t)[0])}));case"encv":return Pb(a,!1,(function(a,c,t){a.width=nb(c,24),a.height=nb(c,26),a.horizresolution=ib(c,28),a.vertresolution=ib(c,32),c=c.subarray(78),a.sinf=e.sinf(e.findBox(c,["sinf"],t)[0]),a.avcC=e.avcC(e.findBox(c,["avcC"],t)[0]),a.hvcC=e.hvcC(e.findBox(c,["hvcC"],t)[0]),a.pasp=e.pasp(e.findBox(c,["pasp"],t)[0])}))}})).filter(Boolean)}))}},{key:"tenc",value:function(e){return Pb(e,!1,(function(e,a){var c=6;e.default_IsEncrypted=a[c],c+=1,e.default_IV_size=a[c],c+=1,e.default_KID=[];for(var t=0;t<16;t++)e.default_KID.push(jb(a[c])),c+=1}))}},{key:"schi",value:function(a){return Pb(a,!1,(function(a,c,t){a.tenc=e.tenc(e.findBox(c,["tenc"],t)[0])}))}},{key:"sinf",value:function(a){return Pb(a,!1,(function(a,c,t){a.schi=e.schi(e.findBox(c,["schi"],t)[0]),a.frma=e.frma(e.findBox(c,["frma"],t)[0])}))}},{key:"frma",value:function(e){return Pb(e,!1,(function(e,a){e.data_format="";for(var c=0;c<4;c++)e.data_format+=String.fromCharCode(a[c])}))}},{key:"colr",value:function(e){return Pb(e,!1,(function(a,c){var t=Ib.fromUint8(c);a.data=e.data,a.colorType=t.readString(4),"nclx"===a.colorType?(a.colorPrimaries=t.read(2),a.transferCharacteristics=t.read(2),a.matrixCoefficients=t.read(2),a.fullRangeFlag=t.read(1)>>7):"rICC"!==a.colorType&&"prof"!==a.colorType||(a.iccProfile=c.readToUint8())}))}},{key:"av01",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.av1C=e.av1C(e.findBox(r,["av1C"],t)[0]),a.colr=e.colr(e.findBox(r,["colr"],t)[0])}))}},{key:"av1C",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data;var t,b=Ib.fromUint8(c),r=Db.fromByte(b,4);a.marker=r.read(1),a.version=r.read(7),a.seqProfile=r.read(3),a.seqLevelIdx0=r.read(5),a.seqTier0=r.read(1),a.highBitdepth=r.read(1),a.twelveBit=r.read(1),a.monochrome=r.read(1),a.chromaSubsamplingX=r.read(1),a.chromaSubsamplingY=r.read(1),a.chromaSamplePosition=r.read(2),a.reserved=r.read(3),a.initialPresentationDelayPresent=r.read(1),a.initialPresentationDelayPresent?a.initialPresentationDelayMinusOne=r.read(4):a.initialPresentationDelayMinusOne=0,a.configOBUs=b.readToUint8(),2===a.seqLevelIdx0&&1===a.highBitdepth?t=1===a.twelveBit?"12":"10":a.seqProfile<=2&&(t=1===a.highBitdepth?"10":"08"),a.codec=["av01",a.seqProfile,(a.seqLevelIdx0<10?"0"+a.seqLevelIdx0:a.seqLevelIdx0)+(a.seqTier0?"H":"M"),t].join(".")}))}},{key:"avc1",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.avcC=e.avcC(e.findBox(r,["avcC"],t)[0]),a.pasp=e.pasp(e.findBox(r,["pasp"],t)[0])}))}},{key:"avcC",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data,a.configurationVersion=c[0],a.AVCProfileIndication=c[1],a.profileCompatibility=c[2],a.AVCLevelIndication=c[3],a.codec=fb([c[1],c[2],c[3]]),a.lengthSizeMinusOne=3&c[4],a.spsLength=31&c[5],a.sps=[];for(var t=6,b=0;b<a.spsLength;b++){var r=nb(c,t);t+=2,a.sps.push(c.subarray(t,t+r)),t+=r}a.ppsLength=c[t],t+=1,a.pps=[];for(var n=0;n<a.ppsLength;n++){var i=nb(c,t);t+=2,a.pps.push(c.subarray(t,t+=i)),t+=i}}))}},{key:"hvc1",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Lb(a,c),r=c.subarray(b);t+=b,a.hvcC=e.hvcC(e.findBox(r,["hvcC"],t)[0]),a.pasp=e.pasp(e.findBox(r,["pasp"],t)[0])}))}},{key:"hvcC",value:function(e){return Pb(e,!1,(function(a,c){a.data=e.data,a.codec="hev1.1.6.L93.B0",a.configurationVersion=c[0];var t=c[1];a.generalProfileSpace=t>>6,a.generalTierFlag=(32&t)>>5,a.generalProfileIdc=31&t,a.generalProfileCompatibility=ib(c,2),a.generalConstraintIndicatorFlags=c.subarray(6,12),a.generalLevelIdc=c[12],a.avgFrameRate=nb(c,19),a.numOfArrays=c[22],a.vps=[],a.sps=[],a.pps=[];for(var b=23,r=0,n=0,i=0,d=0;d<a.numOfArrays;d++){r=63&c[b],n=nb(c,b+1),b+=3;for(var f,o=[],s=0;s<n;s++)i=nb(c,b),b+=2,o.push(c.subarray(b,b+i)),b+=i;if(32===r)(f=a.vps).push.apply(f,o);else if(33===r){var u;(u=a.sps).push.apply(u,o)}else if(34===r){var l;(l=a.pps).push.apply(l,o)}}}))}},{key:"pasp",value:function(e){return Pb(e,!1,(function(e,a){e.hSpacing=ib(a),e.vSpacing=ib(a,4)}))}},{key:"mp4a",value:function(a){return Pb(a,!1,(function(a,c,t){var b=Cb(a,c);a.esds=e.esds(e.findBox(c.subarray(b),["esds"],t+b)[0])}))}},{key:"esds",value:function(e){return Pb(e,!0,(function(e,a){e.codec="mp4a.";for(var c=0,t=0,b=0,r=0;a.length;){for(r=a[c=0],t=a[c+1],c+=2;128&t;)b=(127&t)<<7,t=a[c],c+=1;if(b+=127&t,3===r)a=a.subarray(c+3);else{if(4!==r){if(5===r){var n=e.config=a.subarray(c,c+b),i=(248&n[0])>>3;return 31===i&&n.length>=2&&(i=32+((7&n[0])<<3)+((224&n[1])>>5)),e.objectType=i,e.codec+=i.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+=(a[c].toString(16)+".").padStart(3,"0"),a=a.subarray(c+13)}}}))}},{key:"alaw",value:function(e){return Pb(e,!1,(function(e,a){Cb(e,a)}))}},{key:"stts",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push({count:ib(a,b),delta:ib(a,b+4)}),b+=8;e.entryCount=c,e.entries=t}))}},{key:"ctts",value:function(e){return Pb(e,!0,(function(e,a){var c=ib(a),t=[],b=4;if(1===e.version)for(var r=0;r<c;r++)t.push({count:ib(a,b),offset:ib(a,b+4)}),b+=8;else for(var n=0;n<c;n++)t.push({count:ib(a,b),offset:-(1+~ib(a,b+4))}),b+=8;e.entryCount=c,e.entries=t}))}},{key:"stsc",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push({firstChunk:ib(a,b),samplesPerChunk:ib(a,b+4),sampleDescriptionIndex:ib(a,b+8)}),b+=12;e.entryCount=c,e.entries=t}))}},{key:"stsz",value:function(e){return Pb(e,!0,(function(e,a){var c=ib(a),t=ib(a,4),b=[];if(!c)for(var r=8,n=0;n<t;n++)b.push(ib(a,r)),r+=4;e.sampleSize=c,e.sampleCount=t,e.entrySizes=b}))}},{key:"stco",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(ib(a,b)),b+=4;e.entryCount=c,e.entries=t}))}},{key:"co64",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(db(a,b)),b+=8;e.entryCount=c,e.entries=t}))}},{key:"stss",value:function(e){return Pb(e,!0,(function(e,a){for(var c=ib(a),t=[],b=4,r=0;r<c;r++)t.push(ib(a,b)),b+=4;e.entryCount=c,e.entries=t}))}},{key:"moof",value:function(a){return Pb(a,!1,(function(a,c,t){a.mfhd=e.mfhd(e.findBox(c,["mfhd"],t)[0]),a.traf=e.findBox(c,["traf"],t).map((function(a){return e.traf(a)}))}))}},{key:"mfhd",value:function(e){return Pb(e,!0,(function(e,a){e.sequenceNumber=ib(a)}))}},{key:"traf",value:function(a){return Pb(a,!1,(function(a,c,t){a.tfhd=e.tfhd(e.findBox(c,["tfhd"],t)[0]),a.tfdt=e.tfdt(e.findBox(c,["tfdt"],t)[0]),a.trun=e.trun(e.findBox(c,["trun"],t)[0])}))}},{key:"trun",value:function(e){return Pb(e,!0,(function(e,a){var c=e.version,t=e.flags,b=a.length,r=e.sampleCount=ib(a),n=4;if(b>n&&1&t&&(e.dataOffset=-(1+~ib(a,n)),n+=4),b>n&&4&t&&(e.firstSampleFlags=ib(a,n),n+=4),e.samples=[],b>n)for(var i,d=0;d<r;d++)i={},256&t&&(i.duration=ib(a,n),n+=4),512&t&&(i.size=ib(a,n),n+=4),1024&t&&(i.flags=ib(a,n),n+=4),2048&t&&(i.cts=c?-(1+~ib(a,n+4)):ib(a,n),n+=4),e.samples.push(i)}))}},{key:"tfdt",value:function(e){return Pb(e,!0,(function(e,a){1===e.version?e.baseMediaDecodeTime=db(a):e.baseMediaDecodeTime=ib(a)}))}},{key:"probe",value:function(a){return!!e.findBox(a,["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,a,c){var t,b,r=e.trak;if(r&&r.length){var n=r.find((function(e){var a,c;return"vide"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)})),i=r.find((function(e){var a,c;return"soun"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)}));if(n&&a){var d,f,o,s,u,l,h,p=a,v=null===(d=n.tkhd)||void 0===d?void 0:d.trackId;null!=v&&(p.id=n.tkhd.trackId),p.tkhdDuration=n.tkhd.duration,p.mvhdDurtion=e.mvhd.duration,p.mvhdTimecale=e.mvhd.timescale,p.timescale=p.formatTimescale=n.mdia.mdhd.timescale,p.duration=n.mdia.mdhd.duration||p.mvhdDurtion/p.mvhdTimecale*p.timescale,p.rotation=n.tkhd.rotation,p.matrix=n.tkhd.matrix;var y,m,g,_,k,E,S,w,x=n.mdia.minf.stbl.stsd.entries[0];if(p.width=x.width,p.height=x.height,x.pasp&&(p.sarRatio=[x.pasp.hSpacing,x.pasp.vSpacing]),x.av1C)p.codecType=Rt,p.codec=x.av1C.codec,p.av1C=x.av1C.data,p.colr=x.colr.data;else if(x.hvcC)p.codecType=Ct,p.codec=x.hvcC.codec,p.vps=x.hvcC.vps,p.sps=x.hvcC.sps,p.pps=x.hvcC.pps,p.hvcC=x.hvcC.data;else{if(!x.avcC)throw new Error("unknown video stsd entry");p.codec=x.avcC.codec,p.sps=x.avcC.sps,p.pps=x.avcC.pps}if(p.present=!0,p.ext={},p.ext.stss=null===(f=n.mdia)||void 0===f||null===(o=f.minf)||void 0===o||null===(s=o.stbl)||void 0===s?void 0:s.stss,p.ext.ctts=null===(u=n.mdia)||void 0===u||null===(l=u.minf)||void 0===l||null===(h=l.stbl)||void 0===h?void 0:h.ctts,x&&"encv"===x.type)p.isVideoEncryption=!0,x.default_KID=null===(y=x.sinf)||void 0===y||null===(m=y.schi)||void 0===m?void 0:m.tenc.default_KID,x.default_IsEncrypted=null===(g=x.sinf)||void 0===g||null===(_=g.schi)||void 0===_?void 0:_.tenc.default_IsEncrypted,x.default_IV_size=null===(k=x.sinf)||void 0===k||null===(E=k.schi)||void 0===E?void 0:E.tenc.default_IV_size,p.videoSenc=n.mdia.minf.stbl.senc&&n.mdia.minf.stbl.senc.samples,x.data_format=null===(S=x.sinf)||void 0===S||null===(w=S.frma)||void 0===w?void 0:w.data_format,p.useEME=e.useEME,p.kidValue=e.kidValue,p.pssh=e.pssh,p.encv=x}if(i&&c){var T,A,I,D,O,R,L,C,P,j=c,M=null===(T=i.tkhd)||void 0===T?void 0:T.trackId;null!=M&&(j.id=i.tkhd.trackId),j.tkhdDuration=i.tkhd.duration,j.mvhdDurtion=e.mvhd.duration,j.mvhdTimecale=e.mvhd.timescale,j.timescale=j.formatTimescale=i.mdia.mdhd.timescale,j.duration=i.mdia.mdhd.duration||j.mvhdDurtion/j.mvhdTimecale*j.timescale;var B,U,N,F,G,V,q,z,H=i.mdia.minf.stbl.stsd.entries[0];switch(j.sampleSize=H.sampleSize,j.sampleRate=H.sampleRate,j.channelCount=H.channelCount,j.present=!0,H.type){case"alaw":j.codecType=j.codec=jt,j.sampleRate=8e3;break;case"ulaw":j.codecType=j.codec=Mt,j.sampleRate=8e3;break;default:j.sampleDuration=tb.getFrameDuration(j.sampleRate,j.timescale),j.sampleRateIndex=tb.getRateIndexByRate(j.sampleRate),j.objectType=(null===(t=H.esds)||void 0===t?void 0:t.objectType)||2,H.esds&&(j.config=Array.from(H.esds.config)),j.codec=(null===(b=H.esds)||void 0===b?void 0:b.codec)||"mp4a.40.2"}if(j.sampleDuration=tb.getFrameDuration(j.sampleRate,j.timescale),j.objectType=(null===(A=H.esds)||void 0===A?void 0:A.objectType)||2,H.esds&&(H.esds.config?j.config=Array.from(H.esds.config):console.warn("esds config is null")),j.codec=(null===(I=H.esds)||void 0===I?void 0:I.codec)||"mp4a.40.2",j.sampleRateIndex=tb.getRateIndexByRate(j.sampleRate),j.ext={},j.ext.stss=null===(D=i.mdia)||void 0===D||null===(O=D.minf)||void 0===O||null===(R=O.stbl)||void 0===R?void 0:R.stss,j.ext.ctts=null===(L=i.mdia)||void 0===L||null===(C=L.minf)||void 0===C||null===(P=C.stbl)||void 0===P?void 0:P.ctts,j.present=!0,H&&"enca"===H.type)j.isAudioEncryption=!0,H.data_format=null===(B=H.sinf)||void 0===B||null===(U=B.frma)||void 0===U?void 0:U.data_format,H.default_KID=null===(N=H.sinf)||void 0===N||null===(F=N.schi)||void 0===F?void 0:F.tenc.default_KID,H.default_IsEncrypted=null===(G=H.sinf)||void 0===G||null===(V=G.schi)||void 0===V?void 0:V.tenc.default_IsEncrypted,H.default_IV_size=null===(q=H.sinf)||void 0===q||null===(z=q.schi)||void 0===z?void 0:z.tenc.default_IV_size,j.audioSenc=i.mdia.minf.stbl.senc&&i.mdia.minf.stbl.senc.samples,j.useEME=e.useEME,j.kidValue=e.kidValue,j.enca=H}if(c&&(c.isVideoEncryption=!!a&&a.isVideoEncryption),a&&(a.isAudioEncryption=!!c&&c.isAudioEncryption),null!=a&&a.encv||null!=c&&c.enca){var K,$,W=null==a||null===(K=a.encv)||void 0===K?void 0:K.default_KID,Y=null==c||null===($=c.enca)||void 0===$?void 0:$.default_KID,X=W||Y?(W||Y).join(""):null;a&&(a.kid=X),c&&(c.kid=X)}return a&&(a.flags=3841),c&&(c.flags=1793),{videoTrack:a,audioTrack:c}}}},{key:"evaluateDefaultDuration",value:function(e,a,c){var t,b=null==a||null===(t=a.samples)||void 0===t?void 0:t.length;return b?1024*b/a.timescale*e.timescale/c:1024}},{key:"moofToSamples",value:function(a,c,t){var b={};return a.mfhd&&(c&&(c.sequenceNumber=a.mfhd.sequenceNumber),t&&(t.sequenceNumber=a.mfhd.sequenceNumber)),a.traf.forEach((function(a){var r=a.tfhd,n=a.tfdt,i=a.trun;if(r&&i){n&&(c&&c.id===r.trackId&&(c.baseMediaDecodeTime=n.baseMediaDecodeTime),t&&t.id===r.trackId&&(t.baseMediaDecodeTime=n.baseMediaDecodeTime));var d=r.defaultSampleSize||0,f=r.defaultSampleDuration||e.evaluateDefaultDuration(c,t,i.samples.length||i.sampleCount),o=i.dataOffset||0,s=0,u=-1;if(!i.samples.length&&i.sampleCount){b[r.trackId]=[];for(var l=0;l<i.sampleCount;l++)b[r.trackId].push({offset:o,dts:s,duration:f,size:d}),s+=f,o+=d}else b[r.trackId]=i.samples.map((function(e,a){return(e={offset:o,dts:s,pts:s+(e.cts||0),duration:e.duration||f,size:e.size||d,gopId:u,keyframe:0===a||null!==e.flags&&void 0!==e.flags&&(65536&e.flags)>>>0!=65536}).keyframe&&(u++,e.gopId=u),s+=e.duration,o+=e.size,e}))}})),b}},{key:"moovToSamples",value:function(e){var a=e.trak;if(a&&a.length){var c=a.find((function(e){var a,c;return"vide"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)})),t=a.find((function(e){var a,c;return"soun"===(null===(a=e.mdia)||void 0===a||null===(c=a.hdlr)||void 0===c?void 0:c.handlerType)}));if(c||t){var b,r;if(c){var n,i,d=null===(n=c.mdia)||void 0===n||null===(i=n.minf)||void 0===i?void 0:i.stbl;if(!d)return;var f=d.stts,o=d.stsc,s=d.stsz,u=d.stco,l=d.stss,h=d.ctts;if(!(f&&o&&s&&u&&l))return;b=Rb(f,o,s,u,h,l)}if(t){var p,v,y,m=null===(p=t.mdia)||void 0===p||null===(v=p.minf)||void 0===v?void 0:v.stbl;if(!m)return;var g=null===(y=t.mdia.mdhd)||void 0===y?void 0:y.timescale,_=m.stts,k=m.stsc,E=m.stsz,S=m.stco;if(!(g&&_&&k&&E&&S))return;r=Rb(_,k,E,S)}return{videoSamples:b,audioSamples:r}}}}}]),e}();function Rb(e,a,c,t,b,r){var n,i,d,f=[],o=null==b?void 0:b.entries,s=a.entries,u=t.entries,l=c.entrySizes,h=null==r?void 0:r.entries;h&&(n={},h.forEach((function(e){n[e-1]=!0}))),o&&(i=[],o.forEach((function(e){for(var a=e.count,c=e.offset,t=0;t<a;t++)i.push(c)})));var p=-1,v=0,y=0,m=0,g=0,_=0,k=s[0].samplesPerChunk,E=s[1]?s[1].firstChunk-1:1/0;return e.entries.forEach((function(e){for(var a=e.count,t=e.delta,b=0;b<a;b++)d={dts:v,duration:t,size:l[y]||c.sampleSize,offset:u[m]+_,index:y},h&&(d.keyframe=n[y],d.keyframe&&p++,d.gopId=p),i&&y<i.length&&(d.pts=d.dts+i[y]),f.push(d),v+=t,++y<k?_+=d.size:(m++,_=0,m>=E&&(g++,E=s[g+1]?s[g+1].firstChunk-1:1/0),k+=s[g].samplesPerChunk)})),f}function Lb(e,a){return e.dataReferenceIndex=nb(a,6),e.width=nb(a,24),e.height=nb(a,26),e.horizresolution=ib(a,28),e.vertresolution=ib(a,32),e.frameCount=nb(a,40),e.depth=nb(a,74),78}function Cb(e,a){return e.dataReferenceIndex=nb(a,6),e.channelCount=nb(a,16),e.sampleSize=nb(a,18),e.sampleRate=ib(a,24)/65536,28}function Pb(e,a,c){if(e){if(e.size!==e.data.length)throw new Error("box ".concat(e.type," size !== data.length"));var t={start:e.start,size:e.size,headerSize:e.headerSize,type:e.type};return a&&(t.version=e.data[e.headerSize],t.flags=function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return(e[a]<<16)+(e[a+1]<<8)+(e[a+2]||0)}(e.data,e.headerSize+1),t.headerSize+=4),c(t,e.data.subarray(t.headerSize),t.start+t.headerSize),t}}var jb=function(){for(var e=[],a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];return c.forEach((function(a){e.push(function(e,a,c){for(var t=String(c),b=0|a,r=Math.ceil(b/t.length),n=[],i=String(e);r--;)n.push(t);return n.join("").substring(0,b-i.length)+i}(Number(a).toString(16),2,0))})),e[0]},Mb=function(){function e(a,c,t){pt(this,e),mt(this,"__loadedMoofWraps",[]),mt(this,"__lastRemainData",null),mt(this,"__lastRemainDataStart",0),mt(this,"__nextMoofStart",-1),this.videoTrack=a||new Ht,this.audioTrack=c||new Kt,this.metadataTrack=t||new Xt}return yt(e,[{key:"demuxPart",value:function(e,a,c){var t=this,b=this.videoTrack,r=this.audioTrack,n=b.exist(),i=r.exist(),d=/av01/.test(b.codec);b.samples=[],r.samples=[];var f=e,o=a;if(this.__lastRemainData){var s=this.__lastRemainDataStart+this.__lastRemainData.byteLength;if(a<=s&&a>this.__lastRemainDataStart&&a+e.byteLength>s){var u=e.subarray(this.__lastRemainData.byteLength+this.__lastRemainDataStart-a);f=bb(this.__lastRemainData,u),o=this.__lastRemainDataStart,this.__lastRemainData=null}else this.__lastRemainData=null,this.__lastRemainDataStart=0,this.__nextMoofStart=-1}if(!c){var l=Ob.findBox(f,["moov"])[0];if(!l)throw new Error("cannot found moov box");c=Ob.moov(l)}if(f){var h=o+f.byteLength;n||i||Ob.moovToTrack(c,b,r);var p=[];this.__nextMoofStart<0?Ob.findBox(f,["moof"],o).forEach((function(e){return p.push(e)})):this.__nextMoofStart>=o&&this.__nextMoofStart<=h-8&&Ob.findBox(f.subarray(this.__nextMoofStart-o),["moof"],this.__nextMoofStart).forEach((function(e){return p.push(e)})),p.filter((function(e){return e.size<=e.data.length})).forEach((function(e){var a=Ob.moof(e);t.__nextMoofStart=a.start+Math.max.apply(Math,wt(a.traf.map((function(e){return e.trun.samples.reduce((function(e,a){return e+a.size}),e.trun.dataOffset||0)})))),t.__loadedMoofWraps.push({start:a.start,nextMoofStart:t.__nextMoofStart,moof:a}),t.__loadedMoofWraps.sort((function(e,a){return e.start-a.start}))}));var v,y=function(e,a){var c="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!c){if(Array.isArray(e)||(c=xt(e))||a&&e&&"number"==typeof e.length){c&&(e=c);var t=0,b=function(){};return{s:b,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:b}}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 r,n=!0,i=!1;return{s:function(){c=c.call(e)},n:function(){var e=c.next();return n=e.done,e},e:function(e){i=!0,r=e},f:function(){try{n||null==c.return||c.return()}finally{if(i)throw r}}}}(this.__loadedMoofWraps);try{var m=function(){var e=v.value;if(e.start>h||e.nextMoofStart<o)return"continue";var a,c=e.start,n=Ob.moofToSamples(e.moof,b,r),i=b.baseMediaDecodeTime,s=r.baseMediaDecodeTime;Object.keys(n).forEach((function(e){b.id==e?n[e].some((function(e){var r=e.offset+=c;if(!(r<o)){if(r+e.size>h)return!0;var n=new $t((e.pts||e.dts)+i,e.dts+i);n.duration=e.duration,n.gopId=e.gopId,e.keyframe&&n.setToKeyframe();var s=f.subarray(r-o,r-o+e.size);if(n.data=s,!d)for(var u=0,l=s.length-1;u<l;)a=ib(s,u),u+=4,n.units.push(s.subarray(u,u+a)),u+=a;t.__lastRemainDataStart=r+e.size,b.samples.push(n)}})):r.id==e&&n[e].some((function(e){var a=e.offset+c;if(!(a<o)){if(a+e.size>h)return!0;var b=f.subarray(a-o,a-o+e.size);r.samples.push(new Wt(e.dts+s,b,e.duration)),t.__lastRemainDataStart=a+e.size}}))}))};for(y.s();!(v=y.n()).done;)m()}catch(g){y.e(g)}finally{y.f()}}return this.__lastRemainDataStart>o&&this.__lastRemainDataStart<f.byteLength+o?this.__lastRemainData=f.subarray(this.__lastRemainDataStart-o):(this.__lastRemainData=f,this.__lastRemainDataStart=o),b.samples.length&&(b.baseMediaDecodeTime=b.samples[0].pts),r.samples.length&&(r.baseMediaDecodeTime=r.samples[0].pts),{videoTrack:b,audioTrack:r,metadataTrack:this.metadataTrack}}},{key:"demux",value:function(e,a){var c=this.videoTrack,t=this.audioTrack,b=c.exist(),r=t.exist();if(c.samples=[],t.samples=[],a){if(!r){var n=Ob.findBox(a,["moov"])[0];if(!n)throw new Error("cannot found moov box");Ob.moovToTrack(Ob.moov(n),null,t)}var i=Ob.findBox(a,["moof"])[0];if(i){var d=Ob.moofToSamples(Ob.moof(i),null,t)[t.id],f=t.baseMediaDecodeTime;if(d){var o=i.start;d.map((function(e){e.offset+=o;var c=a.subarray(e.offset,e.offset+e.size);t.samples.push(new Wt(e.dts+f,c,e.duration))}))}}}if(e){if(!b&&!r){var s=Ob.findBox(e,["moov"])[0];if(!s)throw new Error("cannot found moov box");Ob.moovToTrack(Ob.moov(s),c,t)}var u=Ob.findBox(e,["moof"])[0];if(u){var l,h=Ob.moofToSamples(Ob.moof(u),c,t),p=c.baseMediaDecodeTime,v=t.baseMediaDecodeTime,y=u.start;Object.keys(h).forEach((function(a){c.id==a?h[a].map((function(a){a.offset+=y;var t=new $t((a.pts||a.dts)+p,a.dts+p);t.duration=a.duration,t.gopId=a.gopId,a.keyframe&&t.setToKeyframe();var b=e.subarray(a.offset,a.offset+a.size);t.data=b;for(var r=0,n=b.length-1;r<n;)l=ib(b,r),r+=4,t.units.push(b.subarray(r,r+l)),r+=l;c.samples.push(t)})):t.id==a&&h[a].map((function(a){a.offset+=y;var c=e.subarray(a.offset,a.offset+a.size);t.samples.push(new Wt(a.dts+v,c,a.duration))}))}))}}return{videoTrack:c,audioTrack:t,metadataTrack:this.metadataTrack}}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset(),this.metadataTrack.reset()}}],[{key:"probe",value:function(e){return Ob.probe(e)}}]),e}();var Bb=function(){function e(){pt(this,e),this.buffer=new Uint8Array(0)}return yt(e,[{key:"write",value:function(){for(var e=this,a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];c.forEach((function(a){a?e.buffer=function(e){for(var a=0,c=arguments.length,t=new Array(c>1?c-1:0),b=1;b<c;b++)t[b-1]=arguments[b];t.forEach((function(e){a+=e.length}));var r=new e(a),n=0;return t.forEach((function(e){r.set(e,n),n+=e.length})),r}(Uint8Array,e.buffer,a):window.console.warn(a)}))}}],[{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}(),Ub=Math.pow(2,32)-1,Nb=function(){function e(){pt(this,e)}return yt(e,null,[{key:"box",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];var b=8+(c=c.filter(Boolean)).reduce((function(e,a){return e+a.byteLength}),0),r=new Uint8Array(b);r[0]=b>>24&255,r[1]=b>>16&255,r[2]=b>>8&255,r[3]=255&b,r.set(e,4);var n=8;return c.forEach((function(e){r.set(e,n),n+=e.byteLength})),r}},{key:"ftyp",value:function(a){return a.find((function(e){return e.type===It&&e.codecType===Ct}))?e.FTYPHEV1:e.FTYPAVC1}},{key:"initSegment",value:function(a){return bb(e.ftyp(a),e.moov(a))}},{key:"pssh",value:function(a){var c=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],ob(a.kid),[0,0,0,0]));return e.box(e.types.pssh,c)}},{key:"moov",value:function(a){if(a[0].useEME&&(a[0].encv||a[0].enca)){a[0].pssh||(a[0].pssh={kid:a[0].kid});var c=this.pssh(a[0].pssh);return e.box.apply(e,[e.types.moov,e.mvhd(a[0].mvhdDurtion||a[0].duration,a[0].mvhdTimecale||a[0].timescale),e.mvex(a)].concat(wt(a.map((function(a){return e.trak(a)}))),[c]))}return e.box.apply(e,[e.types.moov,e.mvhd(a[0].mvhdDurtion||a[0].duration,a[0].mvhdTimecale||a[0].timescale)].concat(wt(a.map((function(a){return e.trak(a)}))),[e.mvex(a)]))}},{key:"mvhd",value:function(a){var c=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,c>>24&255,c>>16&255,c>>8&255,255&c,a>>24&255,a>>16&255,a>>8&255,255&a,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(a){return e.box(e.types.trak,e.tkhd(a.id,a.tkhdDuration||0,a.width,a.height),e.mdia(a))}},{key:"tkhd",value:function(a,c){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=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,a>>24&255,a>>16&255,a>>8&255,255&a,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c,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,t>>8&255,255&t,0,0,b>>8&255,255&b,0,0]))}},{key:"mdia",value:function(a){return e.box(e.types.mdia,e.mdhd(a.duration,a.timescale),e.hdlr(a.type),e.minf(a))}},{key:"mdhd",value:function(a){var c=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,c>>24&255,c>>16&255,c>>8&255,255&c,a>>24&255,a>>16&255,a>>8&255,255&a,85,196,0,0]))}},{key:"hdlr",value:function(a){return e.box(e.types.hdlr,e.HDLR_TYPES[a])}},{key:"minf",value:function(a){return e.box(e.types.minf,a.type===It?e.VMHD:e.SMHD,e.DINF,e.stbl(a))}},{key:"stbl",value:function(a){var c=[];return a&&a.ext&&a.ext.stss&&c.push(e.stss(a.ext.stss.entries)),e.box(e.types.stbl,e.stsd(a),e.STTS,c[0],e.STSC,e.STSZ,e.STCO)}},{key:"stsd",value:function(a){var c;return c="audio"===a.type?a.useEME&&a.enca?e.enca(a):a.codecType===Bt?e.opus(a):e.mp4a(a):a.useEME&&a.encv?e.encv(a):a.av1C?e.av01(a):e.avc1hev1(a),e.box(e.types.stsd,new Uint8Array([0,0,0,0,0,0,0,1]),c)}},{key:"enca",value:function(a){var c=a.enca.channelCount,t=a.enca.sampleRate,b=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,c,0,16,0,0,0,0,t>>8&255,255&t,0,0]),r=e.esds(a.config),n=e.sinf(a.enca);return e.box(e.types.enca,b,r,n)}},{key:"encv",value:function(a){var c,t,b=a.sps.length>0?a.sps[0]:[],r=a.pps.length>0?a.pps[0]:[],n=a.width,i=a.height,d=a.sarRatio[0],f=a.sarRatio[1],o=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,n>>8&255,255&n,i>>8&255,255&i,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]),s=new Uint8Array((c=(t=[1,b[1],b[2],b[3],255,225,b.length>>>8&255,255&b.length]).concat.apply(t,wt(b)).concat([1,r.length>>>8&255,255&r.length])).concat.apply(c,wt(r))),u=new Uint8Array([0,0,88,57,0,15,200,192,0,4,86,72]),l=e.sinf(a.encv),h=new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,f>>24,f>>16&255,f>>8&255,255&f]);return e.box(e.types.encv,o,e.box(e.types.avcC,s),e.box(e.types.btrt,u),l,e.box(e.types.pasp,h))}},{key:"schi",value:function(a){var c=new Uint8Array([]),t=e.tenc(a);return e.box(e.types.schi,c,t)}},{key:"tenc",value:function(a){var c=new Uint8Array([0,0,0,0,0,0,255&a.default_IsEncrypted,255&a.default_IV_size].concat(ob(a.default_KID)));return e.box(e.types.tenc,c)}},{key:"sinf",value:function(a){var c=new Uint8Array([]),t=new Uint8Array([a.data_format.charCodeAt(0),a.data_format.charCodeAt(1),a.data_format.charCodeAt(2),a.data_format.charCodeAt(3)]),b=new Uint8Array([0,0,0,0,99,101,110,99,0,1,0,0]),r=e.schi(a);return e.box(e.types.sinf,c,e.box(e.types.frma,t),e.box(e.types.schm,b),r)}},{key:"av01",value:function(a){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,a.width>>8&255,255&a.width,a.height>>8&255,255&a.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]),a.av1C,a.colr)}},{key:"avc1hev1",value:function(a){var c=a.codecType===Ct,t=c?e.types.hvc1:e.types.avc1,b=c?e.hvcC(a):e.avcC(a),r=[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,a.width>>8&255,255&a.width,a.height>>8&255,255&a.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]),b];return c?r.push(e.box(e.types.fiel,new Uint8Array([1,0]))):a.sarRatio&&a.sarRatio.length>1&&r.push(e.pasp(a.sarRatio)),e.box.apply(e,[t].concat(r))}},{key:"avcC",value:function(a){var c,t,b,r=[],n=[];return a.sps.forEach((function(e){b=e.byteLength,r.push(b>>>8&255),r.push(255&b),r.push.apply(r,wt(e))})),a.pps.forEach((function(e){b=e.byteLength,n.push(b>>>8&255),n.push(255&b),n.push.apply(n,wt(e))})),e.box(e.types.avcC,new Uint8Array((c=(t=[1,r[3],r[4],r[5],255,224|a.sps.length]).concat.apply(t,r).concat([a.pps.length])).concat.apply(c,n)))}},{key:"hvcC",value:function(a){var c=a.hvcC;if(c instanceof ArrayBuffer||c instanceof Uint8Array)return c;var t,b=a.vps,r=a.sps,n=a.pps;if(c){var i=c.generalProfileCompatibilityFlags,d=c.generalConstraintIndicatorFlags,f=(b.length&&1)+(r.length&&1)+(n.length&&1);t=[1,c.generalProfileSpace<<6|c.generalTierFlag<<5|c.generalProfileIdc,i>>>24,i>>>16,i>>>8,i,d[0],d[1],d[2],d[3],d[4],d[5],c.generalLevelIdc,240,0,252,252|c.chromaFormatIdc,248|c.bitDepthLumaMinus8,248|c.bitDepthChromaMinus8,0,0,c.numTemporalLayers<<3|c.temporalIdNested<<2|3,f];var o=function(e){var a;t.push(e.length>>8,e.length),(a=t).push.apply(a,wt(e))};b.length&&(t.push(160,0,b.length),b.forEach(o)),r.length&&(t.push(161,0,r.length),r.forEach(o)),n.length&&(t.push(162,0,n.length),n.forEach(o))}else t=[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(t))}},{key:"pasp",value:function(a){var c=St(a,2),t=c[0],b=c[1];return e.box(e.types.pasp,new Uint8Array([t>>24,t>>16&255,t>>8&255,255&t,b>>24,b>>16&255,b>>8&255,255&b]))}},{key:"mp4a",value:function(a){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,a.channelCount,0,16,0,0,0,0,a.sampleRate>>8&255,255&a.sampleRate,0,0]),a.config.length?e.esds(a.config):void 0)}},{key:"esds",value:function(a){var c=a.length;return e.box(e.types.esds,new Uint8Array([0,0,0,0,3,23+c,0,0,0,4,15+c,64,21,0,6,0,0,0,218,192,0,0,218,192,5].concat([c]).concat(a).concat([6,1,2])))}},{key:"opus",value:function(a){var c=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,a.channelCount,0,16,0,0,0,0,a.sampleRate>>8&255,255&a.sampleRate,0,0]),t=a.config.length?e.dOps(a):[];return e.box(e.types.Opus,c,t)}},{key:"dOps",value:function(a){if(a.config)return a.config[4]=a.sampleRate>>>24&255,a.config[5]=a.sampleRate>>>16&255,a.config[6]=a.sampleRate>>>8&255,a.config[7]=255&a.sampleRate,e.box(e.types.dOps,a.config)}},{key:"mvex",value:function(a){return e.box.apply(e,[e.types.mvex].concat(wt(a.map((function(a){return e.trex(a.id)})))))}},{key:"trex",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trex1",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0]))}},{key:"trex2",value:function(a){return e.box(e.types.trex,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,0,0,0,1,0,0,4,0,0,0,0,0,2,0,0,0]))}},{key:"moof",value:function(a){return e.box.apply(e,[e.types.moof,e.mfhd(a[0].samples?a[0].samples[0].gopId:0)].concat(wt(a.map((function(a){return e.traf(a)})))))}},{key:"mfhd",value:function(a){return e.box(e.types.mfhd,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]))}},{key:"traf",value:function(a){var c=e.tfhd(a.id),t=e.tfdt(a,a.baseMediaDecodeTime),b=0;if(a.isVideo&&a.videoSenc&&a.videoSenc.forEach((function(e){b+=8,e.subsamples&&e.subsamples.length&&(b+=2,b+=6*e.subsamples.length)})),a.videoSencLength=b,a.useEME&&(a.isVideoEncryption||a.isAudioEncryption)){if(a.isVideoEncryption){if(a.isVideo){var r=e.saiz(a),n=e.saio(a),i=e.trun1(a),d=e.senc(a);return e.box(e.types.traf,c,t,r,n,i,d)}if(a.isAudioEncryption){var f=e.sbgp(),o=e.saiz(a),s=e.saio(a),u=e.senc(a),l=e.trun1(a);return e.box(e.types.traf,c,t,f,o,s,u,l)}var h=e.sbgp(),p=e.trun1(a);return e.box(e.types.traf,c,t,h,p)}if(a.isVideo){var v=e.trun1(a);return e.box(e.types.traf,c,t,v)}var y=e.sbgp(),m=e.saiz(a),g=e.saio(a),_=e.senc(a),k=e.trun1(a);return e.box(e.types.traf,c,t,y,m,g,_,k)}var E=e.sdtp(a);return e.box(e.types.traf,c,t,E,e.trun(a.samples,E.byteLength+76))}},{key:"sdtp",value:function(a){var c=new Bb;return a.samples.forEach((function(e){c.write(new Uint8Array(a.isVideo?[e.keyframe?32:16]:[16]))})),e.box(e.types.sdtp,this.extension(0,0),c.buffer)}},{key:"trun1",value:function(a){var c=new Bb,t=Bb.writeUint32(a.samples.length),b=null;if(a.isVideo){var r=a.videoSencLength;b=Bb.writeUint32(16*a.samples.length+r+149),!a.isVideoEncryption&&a.isAudioEncryption&&(b=Bb.writeUint32(16*a.samples.length+92))}else{var n=12*a.samples.length+124;a.isAudioEncryption&&(n=12*a.samples.length+8*a.audioSenc.length+177),b=Bb.writeUint32(n)}return a.samples.forEach((function(e){c.write(Bb.writeUint32(e.duration)),c.write(Bb.writeUint32(e.size)),c.write(Bb.writeUint32(e.keyframe?33554432:65536)),a.isVideo&&c.write(Bb.writeUint32(e.cts?e.cts:0))})),e.box(e.types.trun,this.extension(0,a.flags),t,b,c.buffer)}},{key:"senc",value:function(a){var c=new Bb,t=a.samples.length,b=a.isVideo?16:8,r=a.isVideo?2:0,n=[],i=0;return a.isVideo?(n=a.videoSenc,i=a.videoSencLength):n=a.audioSenc,i=i||b*t,c.write(Bb.writeUint32(16+i),e.types.senc,this.extension(0,r)),c.write(Bb.writeUint32(t)),n.forEach((function(e){for(var a=0;a<e.InitializationVector.length;a++)c.write(new Uint8Array([e.InitializationVector[a]]));e.subsamples&&e.subsamples.length&&(c.write(Bb.writeUint16(e.subsamples.length)),e.subsamples.forEach((function(e){c.write(Bb.writeUint16(e.BytesOfClearData)),c.write(Bb.writeUint32(e.BytesOfProtectedData))})))})),c.buffer}},{key:"saio",value:function(a){var c=12*a.samples.length+141;!a.isVideo&&a.isAudioEncryption&&(c=149);var t=new Uint8Array([1,0,0,0,0,0,0,1,0,0,0,0,c>>24&255,c>>16&255,c>>8&255,255&c]);return e.box(e.types.saio,t)}},{key:"saiz",value:function(a){var c=a.samples.length,t=new Uint8Array([0,0,0,0,16,c>>24&255,c>>16&255,c>>8&255,255&c]);return e.box(e.types.saiz,t)}},{key:"sbgp",value:function(){var a=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),a)}},{key:"extension",value:function(e,a){return new Uint8Array([e,a>>16&255,a>>8&255,255&a])}},{key:"tfhd",value:function(a){return e.box(e.types.tfhd,new Uint8Array([0,0,0,0,a>>24,a>>16&255,a>>8&255,255&a]))}},{key:"tfdt",value:function(a,c){var t=Math.floor(c/(Ub+1)),b=Math.floor(c%(Ub+1));return a.useEME&&(a.isVideoEncryption||a.isAudioEncryption)?e.box(e.types.tfdt,new Uint8Array([0,0,0,0,b>>24,b>>16&255,b>>8&255,255&b])):e.box(e.types.tfdt,new Uint8Array([1,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,b>>24,b>>16&255,b>>8&255,255&b]))}},{key:"trun",value:function(a,c){var t=a.length,b=12+16*t;c+=8+b;var r=new Uint8Array(b);r.set([0,0,15,1,t>>>24&255,t>>>16&255,t>>>8&255,255&t,c>>>24&255,c>>>16&255,c>>>8&255,255&c],0);for(var n=0;n<t;n++){var i=a[n],d=i.duration,f=i.size,o=i.flag,s=void 0===o?{}:o,u=i.cts,l=void 0===u?0:u;r.set([d>>>24&255,d>>>16&255,d>>>8&255,255&d,f>>>24&255,f>>>16&255,f>>>8&255,255&f,s.isLeading<<2|(null===s.dependsOn||void 0===s.dependsOn?1:s.dependsOn),s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|(null===s.isNonSyncSample||void 0===s.isNonSyncSample?1:s.isNonSyncSample),61440&s.degradationPriority,15&s.degradationPriority,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*n)}return e.box(e.types.trun,r)}},{key:"moovMP4",value:function(a){return e.box.apply(e,[e.types.moov,e.mvhd(a[0].duration,a[0].timescale)].concat(wt(a.map((function(a){return e.trackMP4(a)})))))}},{key:"trackMP4",value:function(a){return e.box(e.types.trak,e.tkhd(a.id,a.duration,a.width,a.height),e.mdiaMP4(a))}},{key:"mdiaMP4",value:function(a){return e.box(e.types.mdia,e.mdhd(a.duration,a.timescale),e.hdlr(a.type),e.minfMP4(a))}},{key:"minfMP4",value:function(a){return e.box(e.types.minf,a.type===It?e.VMHD:e.SMHD,e.DINF,e.stblMP4(a))}},{key:"stblMP4",value:function(a){var c=a.ext,t=[e.stsd(a),e.stts(c.stts),e.stsc(c.stsc),e.stsz(c.stsz),e.stco(c.stco)];return c.stss.length&&t.push(e.stss(c.stss)),c.ctts.length&&t.push(e.ctts(c.ctts)),e.box.apply(e,[e.types.stbl].concat(t))}},{key:"stts",value:function(a){var c=a.length,t=new Uint8Array(8*c),b=0;return a.forEach((function(e){var a=e.value,c=e.count;t.set([c>>24,c>>16&255,c>>8&255,255&c,a>>24,a>>16&255,a>>8&255,255&a],b),b+=8})),e.box(e.types.stts,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stsc",value:function(a){var c=a.length,t=new Uint8Array(12*c),b=0;return a.forEach((function(e){var a=e.firstChunk,c=e.samplesPerChunk,r=e.sampleDescIndex;t.set([a>>24,a>>16&255,a>>8&255,255&a,c>>24,c>>16&255,c>>8&255,255&c,r>>24,r>>16&255,r>>8&255,255&r],b),b+=12})),e.box(e.types.stsc,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stsz",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stsz,bb(new Uint8Array([0,0,0,0,0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stco",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stco,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"stss",value:function(a){var c=a.length,t=new Uint8Array(4*c),b=0;return a.forEach((function(e){t.set([e>>24,e>>16&255,e>>8&255,255&e],b),b+=4})),e.box(e.types.stss,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{key:"ctts",value:function(a){var c=a.length,t=new Uint8Array(8*c),b=0;return a.forEach((function(e){var a=e.value,c=e.count;t.set([c>>24,c>>16&255,c>>8&255,255&c,a>>24,a>>16&255,a>>8&255,255&a],b),b+=8})),e.box(e.types.ctts,bb(new Uint8Array([0,0,0,0,c>>24,c>>16&255,c>>8&255,255&c]),t))}},{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(a){var c=a.timescale,t=a.samples[0].duration,b=t*a.samples.length,r=a.samples[0].sampleOffset*t,n=8;a.samples.forEach((function(e){n+=e.size}));var i=0;if(a.isVideo){var d,f=0;a.videoSenc&&(d=a.videoSenc),a.isVideo&&d.forEach((function(e){f+=8,e.subsamples&&e.subsamples.length&&(f+=2,f+=6*e.subsamples.length)})),a.videoSencLength=f,i=n+141+16*a.samples.length+f,a.useEME&&a.isAudioEncryption&&!a.isVideoEncryption&&(i=n+16*a.samples.length+84)}else i=n+116+12*a.samples.length,a.useEME&&a.isAudioEncryption&&(i=n+169+12*a.samples.length+8*a.audioSenc.length);var o=new Uint8Array([0,0,0,0,0,0,0,255&a.id,c>>24&255,c>>16&255,c>>8&255,255&c,r>>24&255,r>>16&255,r>>8&255,255&r,0,0,0,0,0,0,0,1,0,i>>16&255,i>>8&255,255&i,b>>24&255,b>>16&255,b>>8&255,255&b,144,0,0,0]);return e.box(e.types.sidx,o)}},{key:"mdat",value:function(a){return e.box(e.types.mdat,a)}}]),e}();mt(Nb,"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,a){return e[a]=[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)],e}),Object.create(null))),mt(Nb,"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])}),mt(Nb,"FTYPAVC1",Nb.box(Nb.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]))),mt(Nb,"FTYPHEV1",Nb.box(Nb.types.ftyp,new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,104,101,118,49]))),mt(Nb,"DINF",Nb.box(Nb.types.dinf,Nb.box(Nb.types.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])))),mt(Nb,"VMHD",Nb.box(Nb.types.vmhd,new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]))),mt(Nb,"SMHD",Nb.box(Nb.types.smhd,new Uint8Array([0,0,0,0,0,0,0,0]))),mt(Nb,"StblTable",new Uint8Array([0,0,0,0,0,0,0,0])),mt(Nb,"STTS",Nb.box(Nb.types.stts,Nb.StblTable)),mt(Nb,"STSC",Nb.box(Nb.types.stsc,Nb.StblTable)),mt(Nb,"STSZ",Nb.box(Nb.types.stsz,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]))),mt(Nb,"STCO",Nb.box(Nb.types.stco,Nb.StblTable));var Fb=function(){function e(a,c){pt(this,e),this.name=a||"",this._prefix="[".concat(this.name,"]"),e.disabled=c}return yt(e,[{key:"debug",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).debug.apply(a,[this._prefix].concat(t))}}},{key:"log",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).log.apply(a,[this._prefix].concat(t))}}},{key:"warn",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).warn.apply(a,[this._prefix].concat(t))}}},{key:"error",value:function(){var a;if(!e.disabled){for(var c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];(a=console).error.apply(a,[this._prefix].concat(t))}}},{key:"table",value:function(){var a;e.disabled||(console.group(this._prefix),(a=console).table.apply(a,arguments),console.groupEnd())}}],[{key:"enable",value:function(){e.disabled=!1}},{key:"disable",value:function(){e.disabled=!0}}]),e}();mt(Fb,"disabled",!0);var Gb=function(){function e(a,c,t){pt(this,e),this.videoTrack=a,this.audioTrack=c;var b=/Chrome\/([^.]+)/.exec(navigator.userAgent);this.forceFirstIDR=b&&Number(b[1])<50,this.log=new Fb("FMP4Remuxer",!t||!t.openLog||!t.openLog)}return yt(e,[{key:"remux",value:function(){var e,a,c,t,b,r=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this.videoTrack,d=this.audioTrack,f=i.exist(),o=d.exist(),s=[];return r&&(n&&n.initMerge?(f&&s.push(this.videoTrack),o&&s.push(this.audioTrack),c=Nb.initSegment(s)):(f&&(e=Nb.initSegment([this.videoTrack])),o&&(a=Nb.initSegment([this.audioTrack])))),f&&i.hasSample()&&(t=this._remuxVideo()),o&&d.hasSample()&&(b=this._remuxAudio()),i.samples=[],d.samples=[],{initSegment:c,videoInitSegment:e,audioInitSegment:a,videoSegment:t,audioSegment:b}}},{key:"_remuxVideo",value:function(){var e=this.videoTrack;this.forceFirstIDR&&(e.samples[0].flag={dependsOn:2,isNonSyncSample:0});var a=e.samples,c=/av01/.test(e.codec),t=0;c?a.forEach((function(e){t+=e.data.byteLength})):a.forEach((function(e){t+=e.units.reduce((function(e,a){return e+a.byteLength}),0),t+=4*e.units.length}));var b=new Uint8Array(t);if(c)for(var r,n=0,i=a.length,d=0;n<i;n++)r=a[n],b.set(r.data,d),r.size=r.data.byteLength,d+=r.size;else for(var f,o=new DataView(b.buffer),s=function(e,c){c=a[u];var t=0;c.units.forEach((function(a){o.setUint32(e,a.byteLength),e+=4,b.set(a,e),e+=a.byteLength,t+=4+a.byteLength})),c.size=t,h=e,f=c},u=0,l=a.length,h=0;u<l;u++)s(h,f);var p=Nb.mdat(b);return bb(Nb.moof([e]),p)}},{key:"_remuxAudio",value:function(){var e=this.audioTrack,a=new Uint8Array(e.samples.reduce((function(e,a){return e+a.size}),0));e.samples.reduce((function(e,c){return a.set(c.data,e),e+c.size}),0);var c=Nb.mdat(a);return bb(Nb.moof([e]),c)}},{key:"reset",value:function(){this.videoTrack.reset(),this.audioTrack.reset()}}]),e}(),Vb=function(){function e(){Sa(this,e);var a=window.crypto||window.msCrypto;this.subtle=a&&(a.subtle||a.webkitSubtle),this.externalDecryptor=null}var a,c;return xa(e,[{key:"destroy",value:function(){var e;null!==(e=this.externalDecryptor)&&void 0!==e&&e.destroy&&this.externalDecryptor.destroy()}},{key:"decrypt",value:function(e,a){if(e||a){var c=[];return e&&(c[0]=this._decryptSegment(e)),a&&(c[1]=this._decryptSegment(a)),Promise.all(c)}}},{key:"_decryptSegment",value:(c=Ea(ga().mark((function e(a){var c;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=a.data,!a.key){e.next=5;break}return e.next=4,this._decryptData(a.data,a.key,a.keyIv);case 4:c=e.sent;case 5:if(a.map){e.next=7;break}return e.abrupt("return",c);case 7:return e.abrupt("return",it(a.map,c));case 8:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"_decryptData",value:(a=Ea(ga().mark((function e(a,c,t){var b;return ga().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(a,c,t);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",c,{name:"AES-CBC"},!1,["encrypt","decrypt"]);case 10:return b=e.sent,e.t0=Uint8Array,e.next=14,this.subtle.decrypt({name:"AES-CBC",iv:t},b,a);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,c,t){return a.apply(this,arguments)})}]),e}(),qb=ma(ma({},Zc),{},{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"}),zb=new Ac("Transmuxer"),Hb=function(){function e(a,c,t,b){Sa(this,e),Ta(this,"_initSegmentId",""),this.hls=a,this._demuxer=c?new Mb:new Ab(null,null,null,b),this._isMP4=c,t&&(this._remuxer=new Gb(this._demuxer.videoTrack,this._demuxer.audioTrack))}return xa(e,[{key:"transmux",value:function(e,a,c,t,b,r){var n=this._demuxer;try{this._isMP4?n.demux(e,a):n.demuxAndFix(it(e,a),c,t,b)}catch(_){throw new wc(vc,Ec.HLS,_)}var i=n.videoTrack,d=n.audioTrack,f=n.metadataTrack,o={codec:i.codec,timescale:i.timescale,firstDts:i.firstDts/i.timescale,firstPts:i.firstPts/i.timescale,duration:i.samplesDuration/i.timescale},s={codec:d.codec,timescale:d.timescale,firstDts:d.firstDts/i.timescale,firstPts:d.firstPts/i.timescale,duration:d.samplesDuration/i.timescale,container:d.container},u="".concat(i.codec,"/").concat(i.width,"/").concat(i.height,"/").concat(d.codec,"/").concat(d.config);if(u!==this._initSegmentId&&(this._initSegmentId=u,r=!0),this._fireEvents(i,d,f,c||r),this.hls.emit(qb.DEMUXED_TRACK,{videoTrack:i,audioTrack:d}),!this._remuxer)return[i,d];r&&this.hls.isLive&&!this.hls.config.mseLowLatency&&(i.duration=this.hls.totalDuration*i.timescale,d.duration=this.hls.totalDuration*d.timescale);try{var l=this._remuxer.remux(r),h=l.videoInitSegment,p=l.videoSegment,v=l.audioInitSegment,y=l.audioSegment,m=it(h,p),g=it(v,y);return[m?ma(ma({},o),{},{data:m}):void 0,g?ma(ma({},s),{},{data:g}):void 0]}catch(_){throw new wc(yc,Ec.FMP4,_)}}},{key:"_fireEvents",value:function(e,a,c,t){var b=this,r=[e,a],n="discontinuity: ".concat(t);r.forEach((function(e){var a;null!==(a=e.samples)&&void 0!==a&&a.length&&(n+="; ".concat(e.samples.length," ").concat(e.type===It?"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))),t&&e.exist()&&b.hls.emit(qb.METADATA_PARSED,{type:e.type,track:e,meta:ma({codec:e.codec,timescale:e.timescale,baseDts:e.baseDts},e.type===It?{width:e.width,height:e.height,sarRatio:e.sarRatio}:{codec:e.codec,channelCount:e.channelCount,sampleRate:e.sampleRate})})})),zb.debug(n),e.warnings.forEach((function(e){var a;switch(e.type){case Nt:a=qb.LARGE_AV_FIRST_FRAME_GAP_DETECT;break;case Ft:a=qb.LARGE_VIDEO_DTS_GAP_DETECT;break;case Gt:a=qb.MAX_DTS_DELTA_WITH_NEXT_SEGMENT_DETECT}a&&b.hls.emit(qb.STREAM_EXCEPTION,ma(ma({},e),{},{type:a})),zb.warn("video exception",e)})),a.warnings.forEach((function(e){var a;switch(e.type){case Vt:a=qb.LARGE_AUDIO_DTS_GAP_DETECT;break;case qt:a=qb.AUDIO_GAP_DETECT;break;case zt:a=qb.AUDIO_OVERLAP_DETECT}a&&b.hls.emit(qb.STREAM_EXCEPTION,ma(ma({},e),{},{type:a})),zb.warn("audio exception",e)})),e.samples.forEach((function(e){e.keyframe&&b.hls.emit(qb.KEYFRAME,{pts:e.pts})})),c.seiSamples.forEach((function(e){b.hls.emit(qb.SEI,ma(ma({},e),{},{originPts:e.originPts/90,sei:{code:e.data.type,content:e.data.payload,dts:e.pts}}))}))}}]),e}(),Kb=["data"],$b=["data"],Wb=new Ac("BufferService"),Yb=function(){function e(a){var c=this;Sa(this,e),Ta(this,"_decryptor",new Vb),Ta(this,"_transmuxer",null),Ta(this,"_mse",null),Ta(this,"_softVideo",null),Ta(this,"_sourceCreated",!1),Ta(this,"_needInitSegment",!0),Ta(this,"_directAppend",!1),this.hls=a,a.config.softDecode?this._softVideo=a.media:(this._mse=new Nc(null,{preferMMS:a.config.preferMMS}),a.config.url&&this._mse.bindMedia(a.media).then((function(e){c.hls.emit(Zc.MEDIASOURCE_OPENED,e)}))),a.config.decryptor&&(this._decryptor.externalDecryptor=a.config.decryptor)}var a,c,t,b,r,n,i,d,f,o;return xa(e,[{key:"baseDts",get:function(){var e,a,c;return null===(e=this._transmuxer)||void 0===e||null===(a=e._demuxer)||void 0===a||null===(c=a._fixer)||void 0===c?void 0:c._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:(o=Ea(ga().mark((function e(a){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Wb.debug("update duration",a),!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(a);case 7:e.next=10;break;case 9:this._softVideo&&(this._softVideo.duration=a);case 10:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"createSource",value:function(e,a,c,t){if(!this._sourceCreated){var b=e||a;if(b){if(Ab.probe(b))this._transmuxer||(this._transmuxer=new Hb(this.hls,!1,!this._softVideo,this.hls.config.fixerConfig));else{if(!Ob.probe(b))throw new wc(_c,null,null,null,"unsupported stream");if(this._softVideo)this._transmuxer||(this._transmuxer=new Hb(this.hls,!0,null,this.hls.config.fixerConfig));else{this._directAppend=!0;var r=!1;e&&!c&&Ob.findBox(e,["moov","trak"]).forEach((function(e){var a=Ob.findBox(e.data,["trak","mdia","minf","stbl","stsd"])[0];if(a){var b=Ob.stsd(a).entries[0];if(b)if(b.hvcC)c=b.hvcC.codec||"hev1.1.6.L93.B0";else if(b.avcC)c=b.avcC.codec;else if(b.sampleRate||b.esds){var n;t=(null===(n=b.esds)||void 0===n?void 0:n.codec)||"mp4a.40.2",r=!0}}})),a&&!t&&Ob.findBox(a,["moov","trak","mdia","minf","stbl","stsd"]).forEach((function(e){var a=Ob.stsd(e).entries[0];a&&a.esds&&(t=a.esds.codec)})),e&&!c&&(c="avc1.42e01e"),a&&!t&&(t="mp4a.40.2"),r&&(c+=", ".concat(t),t=""),this._createMseSource(c,t)}}this._softVideo&&(this._sourceCreated=!0)}}}},{key:"appendBuffer",value:(f=Ea(ga().mark((function e(a,c,t,b,r,n,i){var d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S=this;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t&&t.length||null!=b&&b.length){e.next=2;break}return e.abrupt("return");case 2:if(d=function(){var e,c;null!==(e=S.hls)&&void 0!==e&&e.emit&&(null===(c=S.hls)||void 0===c||c.emit(Zc.APPEND_BUFFER,{start:a.start,end:a.end}))},!this._directAppend){e.next=8;break}return f=[],t&&f.push(this._mse.append(Nc.VIDEO,t)),b&&f.push(this._mse.append(Nc.AUDIO,b)),e.abrupt("return",Promise.all(f).then(d));case 8:if(o=this._needInitSegment||r,s=this._transmuxer.transmux(t,b,o,n,i,this._needInitSegment||r),u=Ca(s,2),l=u[0],h=u[1],b&&c&&(null==c||c.setTrackExist(!1,!0)),b&&a&&(null==a||a.setTrackExist(!0,!1)),c||null==a||a.setTrackExist(!!l,!!h),l&&!h&&this.hls.emit(qb.NO_AUDIO_TRACK),!this._softVideo){e.next=20;break}this._softVideo.appendBuffer(l,h),this._needInitSegment=!1,d(),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,v=this._mse,y=[],o&&!p&&this._handleCodecChange(l,h).forEach((function(e){return y.push(e)})),l&&(m=l.data,g=Oa(l,Kb),y.push(v.append(Nc.VIDEO,m,g))),h&&(_=h.data,k=Oa(h,$b),y.push(v.append(Nc.AUDIO,_,k))),(E=Promise.all(y)).then(d),e.abrupt("return",E);case 32:case"end":return e.stop()}}),e,this)}))),function(e,a,c,t,b,r,n){return f.apply(this,arguments)})},{key:"removeBuffer",value:(d=Ea(ga().mark((function e(){var a,c,t,b=this,r=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=r.length>0&&void 0!==r[0]?r[0]:0,c=r.length>1&&void 0!==r[1]?r[1]:1/0,t=this.hls.media,!(!this._mse||!t||a<0||c<a||a>=this._mse.duration)){e.next=5;break}return e.abrupt("return");case 5:return e.abrupt("return",this._mse.clearBuffer(a,c).then((function(){return b.hls.emit(Zc.REMOVE_BUFFER,{start:a,end:c,removeEnd:c})})));case 6:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"evictBuffer",value:(i=Ea(ga().mark((function e(a){var c,t,b;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this.hls.media,this._mse&&c&&a&&!(a<0)){e.next=3;break}return e.abrupt("return");case 3:if(t=c.currentTime,!((b=t-a)<=0)){e.next=7;break}return e.abrupt("return");case 7:if(!(dc.start(dc.get(c))+1>=b)){e.next=10;break}return e.abrupt("return");case 10:return e.abrupt("return",this.removeBuffer(0,b));case 11:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"clearAllBuffer",value:(n=Ea(ga().mark((function e(){return ga().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 n.apply(this,arguments)})},{key:"decryptBuffer",value:function(e,a){return this._decryptor.decrypt(e,a)}},{key:"reset",value:(r=Ea(ga().mark((function e(){var a,c=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=c.length>0&&void 0!==c[0]&&c[0],!this._mse||a){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 r.apply(this,arguments)})},{key:"endOfStream",value:(b=Ea(ga().mark((function e(){return ga().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(Zc.BUFFEREOS);case 5:this._softVideo&&this._softVideo.endOfStream();case 6:case"end":return e.stop()}}),e,this)}))),function(){return b.apply(this,arguments)})},{key:"setLiveSeekableRange",value:(t=Ea(ga().mark((function e(a,c){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._mse&&this._mse.setLiveSeekableRange(a,c);case 1:case"end":return e.stop()}}),e,this)}))),function(e,a){return t.apply(this,arguments)})},{key:"detachMedia",value:(c=Ea(ga().mark((function e(){return ga().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 c.apply(this,arguments)})},{key:"destroy",value:(a=Ea(ga().mark((function e(){var a;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return null===(a=this._decryptor)||void 0===a||a.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 a.apply(this,arguments)})},{key:"_createMseSource",value:function(e,a,c){Wb.debug("create mse source, videoCodec=".concat(e,", audioCodec=").concat(a));var t=this._mse;t&&(e&&(t.createSource(Nc.VIDEO,"video/mp4;codecs=".concat(e)),this._sourceCreated=!0),a?(t.createSource(Nc.AUDIO,"audio/mp4;codecs=".concat(a)),this._sourceCreated=!0):c&&(t.createSource(Nc.AUDIO,"".concat(c,';codecs=""')),this._sourceCreated=!0),this.hls.emit(Zc.SOURCEBUFFER_CREATED))}},{key:"_handleCodecChange",value:function(e,a){var c=[],t=this._mse;return[{type:Nc.VIDEO,codecs:null==e?void 0:e.codec},{type:Nc.AUDIO,codecs:null==a?void 0:a.codec}].filter((function(e){return!!e.codecs})).forEach((function(e){var a=e.type,b=e.codecs,r=t.getSourceBuffer(a);if(r){var n=b.split(",")[0];new RegExp(n,"ig").test(r.mimeType)||c.push(t.changeType(a,"".concat(a,"/mp4;codecs=").concat(b)))}})),c}},{key:"seamlessSwitch",value:function(){this._needInitSegment=!0}},{key:"isFull",value:function(){var e,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nc.VIDEO;return null===(e=this._mse)||void 0===e?void 0:e.isFull(a)}}]),e}();var Xb=xa((function e(){Sa(this,e),Ta(this,"version",0),Ta(this,"streams",[]),Ta(this,"isMaster",!0)})),Qb="AUDIO",Jb="SUBTITLE",Zb={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 er(e){for(var a=[],c=0;c<e.length;c++)Array.isArray(e[c])?a=a.concat(er(e[c])):a.push(e[c]);return a}var ar=xa((function e(){Sa(this,e),Ta(this,"id",0),Ta(this,"url",""),Ta(this,"default",!1),Ta(this,"autoSelect",!1),Ta(this,"forced",!1),Ta(this,"group",""),Ta(this,"name",""),Ta(this,"lang",""),Ta(this,"segments",[]),Ta(this,"endSN",0)})),cr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"mediaType",Qb),Ta(Ra(e),"channels",0),e}return xa(c)}(ar),tr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"mediaType",Jb),e}return xa(c)}(ar),br=xa((function e(){Sa(this,e),Ta(this,"id",0),Ta(this,"bitrate",0),Ta(this,"width",0),Ta(this,"height",0),Ta(this,"name",""),Ta(this,"url",""),Ta(this,"audioCodec",""),Ta(this,"videoCodec",""),Ta(this,"textCodec",""),Ta(this,"audioGroup",""),Ta(this,"audioStreams",[]),Ta(this,"subtitleStreams",[]),Ta(this,"closedCaptionsStream",[])})),rr=xa((function e(){Sa(this,e),Ta(this,"version",0),Ta(this,"url",""),Ta(this,"type",""),Ta(this,"startCC",0),Ta(this,"endCC",0),Ta(this,"startSN",0),Ta(this,"endSN",0),Ta(this,"totalDuration",0),Ta(this,"targetDuration",0),Ta(this,"partTargetDuration",0),Ta(this,"canSkipUntil",0),Ta(this,"canSkipDateRanges",!1),Ta(this,"skippedSegments",0),Ta(this,"canBlockReload",!1),Ta(this,"partHoldBack",0),Ta(this,"live",!0),Ta(this,"lowLatency",!1),Ta(this,"endPartIndex",0),Ta(this,"segments",[]),Ta(this,"dateRanges",{}),Ta(this,"skippedSegments",0)})),nr=function(){function e(a){Sa(this,e),Ta(this,"sn",0),Ta(this,"cc",0),Ta(this,"url",""),Ta(this,"parentUrl",""),Ta(this,"title",""),Ta(this,"start",0),Ta(this,"duration",0),Ta(this,"dataTime",""),Ta(this,"key",null),Ta(this,"byteRange",null),Ta(this,"isInitSegment",!1),Ta(this,"initSegment",null),Ta(this,"isLast",!1),Ta(this,"hasAudio",!1),Ta(this,"hasVideo",!1),Ta(this,"independent",!1),Ta(this,"partIndex",0),this.parentUrl=a}return xa(e,[{key:"end",get:function(){return this.start+this.duration}},{key:"setTrackExist",value:function(e,a){this.hasVideo=e,this.hasAudio=a}},{key:"setByteRange",value:function(e,a){this.byteRange=[0];var c=e.split("@");1===c.length&&a&&a.byteRange?(this.byteRange[0]=a.byteRange[1]||0,this.byteRange[0]&&(this.byteRange[0]+=1)):this.byteRange[0]=parseInt(c[1]),this.byteRange[1]=this.byteRange[0]+parseInt(c[0])-1}}]),e}(),ir=function(){function e(a){Sa(this,e),Ta(this,"method",""),Ta(this,"url",""),Ta(this,"iv",null),Ta(this,"keyFormat",""),Ta(this,"keyFormatVersions",""),a instanceof e&&(this.method=a.method,this.url=a.url,this.keyFormat=a.keyFormat,this.keyFormatVersions=a.keyFormatVersions,a.iv&&(this.iv=new Uint8Array(a.iv)))}return xa(e,[{key:"clone",value:function(a){var c=new e(this);return null!=a&&c.setIVFromSN(a),c}},{key:"setIVFromSN",value:function(e){if(!this.iv&&"AES-128"===this.method&&"number"==typeof e&&this.url){this.iv=new Uint8Array(16);for(var a=12;a<16;a++)this.iv[a]=e>>8*(15-a)&255}}},{key:"isSegmentEncrypted",value:function(){return"AES-128"===this.method}},{key:"isValidKeySystem",value:function(){return er([Zb.CLEAR_KEY,Zb.FAIRPLAY,Zb.WIDEVINE,Zb.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}(),dr=function(){function e(a,c,t){Sa(this,e),this.msn=a,this.part=c,this.skip=t}return xa(e,[{key:"addDirectives",value:function(e){var a=new self.URL(e);return void 0!==this.msn&&a.searchParams.set("_HLS_msn",this.msn.toString()),this.part&&a.searchParams.set("_HLS_part",this.part.toString()),this.skip&&a.searchParams.set("_HLS_skip",this.skip),a.href}}]),e}(),fr=/^#(EXT[^:]*)(?::(.*))?$/,or=/([^=]+)=(?:"([^"]*)"|([^",]*))(?:,|$)/g,sr=/^(?:[a-zA-Z0-9+\-.]+:)?\/\//,ur=/^((?:[a-zA-Z0-9+\-.]+:)?\/\/[^/?#]*)?([^?#]*\/)?/;function lr(e){var a=e.match(fr);if(a&&a[1])return[a[1].replace("EXT-X-",""),a[2]]}function hr(e){for(var a={},c=or.exec(e);c;)a[c[1]]=c[2]||c[3],c=or.exec(e);return a}function pr(e,a){if(!a||!e||sr.test(e))return e;var c=ur.exec(a);return c?"/"===e[0]?c[1]+e:c[1]+c[2]+e:e}var vr={audio:[/^mp4a/,/^vorbis$/,/^opus$/,/^flac$/,/^[ae]c-3$/],video:[/^avc/,/^hev/,/^hvc/,/^vp0?[89]/,/^av1$/],text:[/^vtt$/,/^wvtt/,/^stpp/]};function yr(e,a){var c=vr[e];if(c&&a&&a.length)for(var t=0;t<c.length;t++)for(var b=0;b<a.length;b++)if(c[t].test(a[b]))return a[b]}function mr(e,a){var c;if(a)for(var t in a)if(Object.prototype.hasOwnProperty.call(a,t)&&e[t]!==a[t]){c=t;break}var b=null;e.DURATION&&(b=parseFloat(e.DURATION),Number.isFinite(b)?e._endDate&&(b=(e._endDate.getTime()-e._startDate.getTime())/1e3):b=null);var r,n,i=(r=e.CUE||e["X-CUE"],n={pre:!1,post:!1,once:!1},(r?r.split(/[ ,]+/):[]).reduce((function(e,a){return e[a.toLowerCase()]=!0,e}),n));return!!e.ID&&!c&&Number.isFinite(e._startDate.getTime())&&(null===b||b>=0)&&(!("YES"===e.END_ON_NEXT)||!!e.CLASS)&&(!e.CUE||!i.pre&&!i.post||i.pre!==i.post)&&(!("com.apple.hls.interstitial"===e.CLASS)||"X-ASSET-URI"in e||"X-ASSET-LIST"in e)}var gr=function(){function e(){Sa(this,e)}return xa(e,null,[{key:"parse",value:function(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",c=arguments.length>1?arguments[1]:void 0,t=arguments.length>2?arguments[2]:void 0;if(!a.includes("#EXTM3U"))throw new Error("Invalid m3u8 file");var b=function(e){return e.split(/[\r\n]/).map((function(e){return e.trim()})).filter(Boolean)}(a);return e.isMediaPlaylist(a)?function(e,a,c){var t=new rr;t.url=a;for(var b,r=new nr(a),n=null,i=null,d=0,f=0,o=0,s=0,u=!1,l=0;b=e[s++];)if("#"===b[0]){var h=lr(b);if(h){var p=Ca(h,2),v=p[0],y=p[1];switch(v){case"VERSION":t.version=parseInt(y);break;case"PLAYLIST-TYPE":t.type=null==y?void 0:y.toUpperCase();break;case"TARGETDURATION":t.targetDuration=parseFloat(y);break;case"PART-INF":c&&(t.lowLatency=!0);var m=hr(y);m["PART-TARGET"]&&(t.partTargetDuration=parseFloat(m["PART-TARGET"]));break;case"SERVER-CONTROL":var g=hr(y);t.canBlockReload="YES"===g["CAN-BLOCK-RELOAD"],t.partHoldBack=parseFloat(g["PART-HOLD-BACK"]||0),t.canSkipUntil=parseFloat(g["CAN-SKIP-UNTIL"]||0),t.canSkipDateRanges=t.canSkipUntil>0&&"YES"===g["CAN-SKIP-DATERANGES"];break;case"ENDLIST":u=!0;break;case"MEDIA-SEQUENCE":f=t.startSN=parseInt(y);break;case"DISCONTINUITY-SEQUENCE":o=t.startCC=parseInt(y);break;case"DISCONTINUITY":o++;break;case"BYTERANGE":r.setByteRange(y,t.segments[t.segments.length-1]);break;case"PART":if(!t.lowLatency)break;var _=hr(y);r.duration=parseFloat(_.DURATION),r.independent="YES"===_.INDEPENDENT,r.sn=f,r.cc=o,r.partIndex=l,r.start=d,r.duration=parseFloat(_.DURATION),d+=r.duration,r.url=pr(_.URI,a),i&&(r.key=i.clone(f)),n&&(r.initSegment=n),t.segments.push(r),r=new nr(a),l++;break;case"PRELOAD-HINT":var k=hr(y);if(t.preloadHint=k,"PART"===k.TYPE&&k.URI){var E=k.URI.split(".ts")[0].split("-");t.nextSN=E[3],t.nextIndex=E[E.length-1]}break;case"PROGRAM-DATE-TIME":r.dataTime=y;break;case"EXTINF":if(t.lowLatency){l=0;break}var S=Ca(y.split(","),2),w=S[0],x=S[1];r.start=d,r.duration=parseFloat(w),d+=r.duration,r.title=x;break;case"KEY":var T=hr(y);if("NONE"===T.METHOD){i=null;break}if((i=new ir).method=T.METHOD,i.url=/^blob:/.test(T.URI)?T.URI:pr(T.URI,a),i.keyFormat=T.KEYFORMAT||"identity",i.keyFormatVersions=T.KEYFORMATVERSIONS,!i.isSupported())throw new Error("encrypt ".concat(T.METHOD,"/").concat(T.KEYFORMAT," is not supported"));if(T.IV){var A=T.IV.slice(2);A=(1&A.length?"0":"")+A,i.iv=new Uint8Array(A.length/2);for(var I=0,D=A.length/2;I<D;I++)i.iv[I]=parseInt(A.slice(2*I,2*I+2),16)}break;case"MAP":var O=hr(y);r.url=pr(O.URI,a),O.BYTERANGE&&r.setByteRange(O.BYTERANGE),r.isInitSegment=!0,r.sn=0,i&&(r.key=i.clone(0)),n=r,r=new nr(a);break;case"SKIP":var R=hr(y),L=parseInt(R["SKIPPED-SEGMENTS"],10);L<=Number.MAX_SAFE_INTEGER&&(t.skippedSegments+=L,f+=L);break;case"DATERANGE":var C=hr(y),P=t.dateRanges[C.ID];C._startDate=P?P._startDate:new Date(C["START-DATE"]);var j=(null==P?void 0:P._endDate)||new Date(C.END_DATE);Number.isFinite(j)&&(C._endDate=j),(mr(C,P)||t.skippedSegments)&&(t.dateRanges[C.ID]=C)}}}else{if(t.lowLatency){f++;continue}r.sn=f,r.cc=o,r.url=pr(b,a),i&&(r.key=i.clone(f)),n&&(r.initSegment=n),t.segments.push(r),r=new nr(a),f++}t.segments=t.segments.filter((function(e){return 0!==e.duration}));var M=t.segments[t.segments.length-1];return M&&(u&&(M.isLast=!0),t.endSN=M.sn,t.endPartIndex=M.partIndex),u&&(t.live=!1),t.totalDuration=d,t.endCC=o,t}(b,c,t):function(e,a){for(var c,t=new Xb,b=0,r=[],n=[];c=e[b++];){var i=lr(c);if(i){var d=Ca(i,2),f=d[0],o=d[1];if("VERSION"===f)t.version=parseInt(o);else if("MEDIA"===f&&o){var s=hr(o),u=void 0;switch(s.TYPE){case"AUDIO":u=new cr;break;case"SUBTITLES":u=new tr;break;default:u=new ar}u.url=pr(s.URI,a),u.default="YES"===s.DEFAULT,u.autoSelect="YES"===s.AUTOSELECT,u.group=s["GROUP-ID"],u.name=s.NAME,u.lang=s.LANGUAGE,s.CHANNELS&&(u.channels=Number(s.CHANNELS.split("/")[0]),Number.isNaN(u.channels)&&(u.channels=0)),"AUDIO"===s.TYPE&&s.URI&&r.push(u),"SUBTITLES"===s.TYPE&&n.push(u)}else if("STREAM-INF"===f&&o){var l=new br,h=hr(o);if(l.bitrate=parseInt(h["AVERAGE-BANDWIDTH"]||h.BANDWIDTH),l.name=h.NAME,l.url=pr(e[b++],a),h.RESOLUTION){var p=Ca(h.RESOLUTION.split("x"),2),v=p[0],y=p[1];l.width=parseInt(v),l.height=parseInt(y)}if(h.CODECS){var m=h.CODECS.split(/[ ,]+/).filter(Boolean);l.videoCodec=yr("video",m),l.audioCodec=yr("audio",m),l.textCodec=yr("text",m)}l.audioGroup=h.AUDIO,l.subtitleGroup=h.SUBTITLES,t.streams.push(l)}}}return t.streams.forEach((function(e,a){e.id=a})),r.length&&(r.forEach((function(e,a){e.id=a})),t.streams.forEach((function(e){e.audioGroup&&(e.audioStreams=r.filter((function(a){return a.group===e.audioGroup})))}))),n.length&&(n.forEach((function(e,a){e.id=a})),t.streams.forEach((function(e){e.subtitleGroup&&(e.subtitleStreams=n.filter((function(a){return a.group===e.subtitleGroup})))}))),t}(b,c)}},{key:"isMediaPlaylist",value:function(e){return e.includes("#EXTINF:")||e.includes("#EXT-X-TARGETDURATION:")}}]),e}(),_r=function(){function e(a){var c=this;Sa(this,e),Ta(this,"_emitOnLoaded",(function(e,a){var t=e.response,b=e.options||{},r=b.firstByteTime,n=b.startTime,i=b.endTime,d=b.contentLength,f=i-n;c.hls.emit(Zc.SPEED,{time:f,byteLength:d,url:a}),c.hls.emit(Zc.LOAD_COMPLETE,{url:a,elapsed:f||0}),c.hls.emit(Zc.TTFB,{url:a,responseUrl:t.url,elapsed:r-n}),c.hls.emit(Zc.LOAD_RESPONSE_HEADERS,{headers:t.headers,url:a})})),Ta(this,"_onLoaderRetry",(function(e,a){c.hls.emit(qb.LOAD_RETRY,{error:wc.network(e),retryTime:a})})),this.hls=a,this._timer=null,this._useLowLatency=a.config.useLowLatency;var t=this.hls.config,b=t.retryCount,r=t.retryDelay,n=t.manifestLoadTimeout,i=t.fetchOptions;this._loader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._audioLoader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._subtitleLoader=new ft(ma(ma({},i),{},{responseType:"text",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry}))}var a;return xa(e,[{key:"load",value:(a=Ea(ga().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=[this._loader.load(a)],c&&b.push(this._audioLoader.load(c)),t&&b.push(this._subtitleLoader.load(t)),e.prev=3,e.next=6,Promise.all(b);case 6:if(s=e.sent,u=Ca(s,3),l=u[0],h=u[1],p=u[2],l){e.next=13;break}return e.abrupt("return",[]);case 13:this._emitOnLoaded(l,a),r=l.data,d=l.response.url||a,c?(n=null==h?void 0:h.data,i=null==p?void 0:p.data,f=(null==h||null===(v=h.response)||void 0===v?void 0:v.url)||c,o=(null==p||null===(y=p.response)||void 0===y?void 0:y.url)||t,n&&this._emitOnLoaded(h,c),i&&this._emitOnLoaded(p,t)):(i=null==h?void 0:h.data,o=(null==h||null===(m=h.response)||void 0===m?void 0:m.url)||t,i&&this._emitOnLoaded(h,t)),e.next=22;break;case 19:throw e.prev=19,e.t0=e.catch(3),wc.network(e.t0);case 22:if(g=this.hls.config.onPreM3U8Parse,e.prev=23,g&&(r=g(r)||r,n&&(n=g(n,!0)||n),i&&(i=g(i,!0)||i)),_=gr.parse(r,d,this._useLowLatency),!1!==(null===(S=_)||void 0===S?void 0:S.live)||!_.segments||_.segments.length){e.next=28;break}throw new Error("empty segments list");case 28:n&&(k=gr.parse(n,f,this._useLowLatency)),i&&(E=gr.parse(i,o,this._useLowLatency)),e.next=35;break;case 32:throw e.prev=32,e.t1=e.catch(23),new wc(oc,Ec.HLS,e.t1);case 35:return _&&(_.isMaster?this.hls.emit(qb.HLS_MANIFEST_LOADED,{playlist:_}):(this._useLowLatency&&(_.canBlockReload?this.deliveryDirectives=new dr(_.nextSN,_.nextIndex,""):this.deliveryDirectives=null),this.hls.emit(qb.HLS_LEVEL_LOADED,{playlist:_}))),e.abrupt("return",[_,k,E]);case 37:case"end":return e.stop()}}),e,this,[[3,19],[23,32]])}))),function(e,c,t){return a.apply(this,arguments)})},{key:"parseText",value:function(e,a){var c,t=this.hls.config.onPreM3U8Parse;try{var b;if(t&&(e=t(e)||e),!1===(null===(b=c=gr.parse(e,a,this._useLowLatency))||void 0===b?void 0:b.live)&&c.segments&&!c.segments.length)throw new Error("empty segments list")}catch(r){throw new wc(oc,Ec.HLS,r)}return c&&(c.isMaster?this.hls.emit(qb.HLS_MANIFEST_LOADED,{playlist:c}):this.hls.emit(qb.HLS_LEVEL_LOADED,{playlist:c})),[c]}},{key:"poll",value:function(e,a,c,t,b,r){var n=this;clearTimeout(this._timer),r=r||3e3;var i=this.hls.config.pollRetryCount,d=function(){var f=Ea(ga().mark((function f(){var o,s;return ga().wrap((function(f){for(;;)switch(f.prev=f.next){case 0:return clearTimeout(n._timer),o=e,f.prev=2,n.deliveryDirectives&&(o=n.deliveryDirectives.addDirectives(e)),f.next=6,n.load(o,a,c);case 6:if((s=f.sent)[0]){f.next=9;break}return f.abrupt("return");case 9:i=n.hls.config.pollRetryCount,t(s[0],s[1],s[2]),f.next=17;break;case 13:f.prev=13,f.t0=f.catch(2),--i<=0&&b(f.t0);case 17:n._timer=setTimeout(d,r);case 18:case"end":return f.stop()}}),f,null,[[2,13]])})));return function(){return f.apply(this,arguments)}}();this._timer=setTimeout(d,r)}},{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 kr(e,a,c){return a>c&&(c=a),Math.min(Math.max(e,a),c)}var Er=new Ac("playlist"),Sr=function(){function e(a,c,t){Sa(this,e),Ta(this,"live",void 0),Ta(this,"id",0),Ta(this,"bitrate",0),Ta(this,"width",0),Ta(this,"height",0),Ta(this,"name",""),Ta(this,"url",""),Ta(this,"audioCodec",""),Ta(this,"videoCodec",""),Ta(this,"textCodec",""),Ta(this,"startCC",0),Ta(this,"endCC",0),Ta(this,"startSN",0),Ta(this,"endSN",-1),Ta(this,"totalDuration",0),Ta(this,"targetDuration",0),Ta(this,"partTargetDuration",0),Ta(this,"canSkipUntil",0),Ta(this,"canSkipDateRanges",!1),Ta(this,"skippedSegments",0),Ta(this,"canBlockReload",!1),Ta(this,"partHoldBack",0),Ta(this,"lowLatency",!1),Ta(this,"endPartIndex",0),Ta(this,"snDiff",null),Ta(this,"segments",[]),Ta(this,"audioStreams",[]),Ta(this,"subtitleStreams",[]),Ta(this,"closedCaptions",[]),Ta(this,"currentAudioStream",null),Ta(this,"currentSubtitleStream",null),this.update(this._setLLPlaybackPoint(a),c,t)}return xa(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 a=this.lastSegment;a&&(a.duration=e-a.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,a){return this.currentAudioStream&&this._clearSegments(e,a),this._clearSegments(e,a)}},{key:"getAudioSegment",value:function(e){if(e&&this.currentAudioStream){var a=e.sn-this.snDiff;return this.currentAudioStream.segments.find((function(e){return e.sn===a}))}}},{key:"update",value:function(e,a){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,a&&this.currentAudioStream&&Array.isArray(a.segments)&&(this._updateSegments(a,this.currentAudioStream),(null===this.snDiff||void 0===this.snDiff)&&e.segments.length&&a.segments.length&&(this.snDiff=e.segments[0].sn-a.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 a=this;if(e&&this.currentSubtitleStream&&Array.isArray(e.segments)){var c=this._updateSegments(e,this.currentSubtitleStream),t=this.currentSubtitleStream.segments;if(t.length>100&&(this.currentSubtitleStream.segments=t.slice(100)),c)return c.map((function(e){return{sn:e.sn,url:e.url,duration:e.duration,start:e.start,end:e.end,lang:a.currentSubtitleStream.lang}}))}}},{key:"switchSubtitle",value:function(e){var a=this.subtitleStreams.find((function(a){return a.lang===e})),c=this.currentSubtitleStream;a&&(this.currentSubtitleStream=a,c.segments=[])}},{key:"_setLLPlaybackPoint",value:function(e){if(!e.lowLatency||!e.segments.length)return e;for(var a=e.totalDuration-e.partHoldBack,c=e.segments,t=0,b=0,r=c.length;b<r;b++)c[b].start<=a&&c[b].independent&&(t=b);var n=c.slice(t),i=0;return n.forEach((function(e){e.start=i,i=e.end})),e.segments=n,e.totalDuration=i,e.startSN=n[0].sn,e.startCC=n[0].cc,Er.log("set ll-hls playback point: SN=".concat(e.startSN," partIndex=").concat(n[0].partIndex,", duration=").concat(i)),e}},{key:"_clearSegments",value:function(e,a){for(var c=0,t=this.segments,b=0,r=t.length;b<r;b++)if(t[b].end>=e){c=b;break}return c>a&&(c=a),c&&(this.segments=this.segments.slice(c),this.currentAudioStream&&(this.currentAudioStream.segments=this.currentAudioStream.segments.slice(c))),a-c}},{key:"_updateSegments",value:function(e,a){var c=a.segments;if(this.live){var t,b=e.lowLatency,r=c[c.length-1],n=null!==(t=null==r?void 0:r.sn)&&void 0!==t?t:-1,i=(null==r?void 0:r.partIndex)||0,d=n<e.endSN&&e.segments.length;if(b&&(d=d||i<e.endPartIndex),d){Er.log("update segments: endSN:".concat(n,", partIndex:").concat(i," --\x3e endSN:").concat(e.endSN,", partIndex:").concat(e.endPartIndex));var f=e.segments.findIndex((function(e){return e.sn===n&&e.partIndex===i})),o=f<0?e.segments:e.segments.slice(f+1);if(c.length&&o.length){var s=r.end,u=s;o.forEach((function(e){e.start=s,s=e.end})),Er.log("liveEdge: ".concat(u," -> ").concat(s));var l=(null==r?void 0:r.cc)||-1;l>o[0].cc&&o.forEach((function(e){return e.cc+=l}))}return a.endSN=e.endSN,a.segments=c.concat(o),o}}else a.segments=e.segments}}]),e}(),wr=function(){function e(a){Sa(this,e),Ta(this,"streams",[]),Ta(this,"currentStream",null),Ta(this,"dvrWindow",0),Ta(this,"_segmentPointer",-1),this.hls=a}return xa(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 a;return null===(a=this.currentStream)||void 0===a?void 0:a.getAudioSegment(e)}},{key:"moveSegmentPointer",value:function(e){var a;null==e&&(e=this._segmentPointer+1),this._segmentPointer=kr(e,-1,null===(a=this.currentSegments)||void 0===a?void 0:a.length)}},{key:"reset",value:function(){this.streams=[],this.currentStream=null,this.dvrWindow=0,this._segmentPointer=-1}},{key:"getSegmentByIndex",value:function(e){var a;return null===(a=this.currentSegments)||void 0===a?void 0:a[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,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,c=null===(e=this.currentSegments)||void 0===e?void 0:e.findIndex((function(e){return e.sn===a}));return-1!==c&&this.setNextSegmentByIndex(c+1),c}},{key:"findSegmentIndexByTime",value:function(e){var a=this.currentSegments;if(a){for(var c,t=0,b=a.length;t<b;t++)if(e>=(c=a[t]).start&&e<c.end)return t;var r=a[a.length-1];if(Math.abs(e-(null==r?void 0:r.end))<.2)return a.length-1}}},{key:"upsertPlaylist",value:function(e,a,c){var t=this;if(e){if(e.isMaster)this.streams.length=e.streams.length,e.streams.filter((function(e){return e.url})).forEach((function(e,a){t.streams[a]?t.streams[a].update(e):t.streams[a]=new Sr(e)})),this.currentStream=this.streams[0];else if(Array.isArray(e.segments)){var b=this.currentStream;if(b){b.update(e,a,c);var r=b.updateSubtitle(c);r&&this.hls.emit(qb.SUBTITLE_SEGMENTS,{list:r})}else this.reset(),this.currentStream=this.streams[0]=new Sr(e,a,c)}this.currentStream&&this.hls.isLive&&!this.dvrWindow&&(this.dvrWindow=this.currentSegments.reduce((function(e,a){return e+=a.duration}),0))}}},{key:"updateSegmentsRanges",value:function(e,a){var c;(null===(c=this.currentSegments)||void 0===c?void 0:c.filter((function(a){return a.sn>=e}))).forEach((function(e){e.start=a,a=e.end}))}},{key:"switchSubtitle",value:function(e){var a;null===(a=this.currentStream)||void 0===a||a.switchSubtitle(e)}},{key:"clearOldSegment",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.hls.config.maxPlaylistSize||50,a=this.currentStream;if(this.dvrWindow&&a){var c=a.endTime-this.dvrWindow;if(!(c<=0))a.segments.length<=e||(this._segmentPointer=a.clearOldSegment(c,this._segmentPointer))}}},{key:"checkSegmentTrackChange",value:function(e,a){var c=this.findSegmentIndexByTime(e),t=this.getSegmentByIndex(c);if(t&&(t.hasAudio||t.hasVideo)){if(2!==a&&t.hasAudio&&t.hasVideo)return t;if(!(t.end-e>.3)){var b=this.getSegmentByIndex(c+1);if(b&&(b.hasAudio||b.hasVideo))return b.hasAudio!==t.hasAudio||b.hasVideo!==t.hasVideo?b:void 0}}}},{key:"feedbackLiveEdge",value:function(e,a){var c;this.currentSegments&&((null===(c=this.lastSegment)||void 0===c?void 0:c.sn)===e.sn?this.liveEdge=a:this.updateSegmentsRanges(e.sn+1,a))}}]),e}(),xr=function(){function e(a){var c=this;Sa(this,e),Ta(this,"error",null),Ta(this,"_emitOnLoaded",(function(e,a){var t=e.data,b=e.response,r=e.options||{},n=r.firstByteTime,i=r.startTime,d=r.endTime,f=r.contentLength,o=d-i;c._bandwidthService.addRecord(f||t.byteLength,o),c.hls.emit(Zc.SPEED,{time:o,byteLength:f,url:a}),c.hls.emit(Zc.LOAD_COMPLETE,{url:a,elapsed:o||0}),c.hls.emit(Zc.TTFB,{url:a,responseUrl:b.url,elapsed:n-i}),c.hls.emit(Zc.LOAD_RESPONSE_HEADERS,{headers:b.headers,url:a})})),Ta(this,"_onLoaderRetry",(function(e,a){c.hls.emit(Zc.LOAD_RETRY,{error:wc.network(e),retryTime:a})})),this.hls=a,this._bandwidthService=new ut,this._mapCache={},this._keyCache={};var t=this.hls.config,b=t.retryCount,r=t.retryDelay,n=t.loadTimeout,i=t.fetchOptions;this._segmentLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._audioSegmentLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry})),this._keyLoader=new ft(ma(ma({},i),{},{responseType:"arraybuffer",retry:b,retryDelay:r,timeout:n,onRetryError:this._onLoaderRetry}))}var a,c;return xa(e,[{key:"speedInfo",value:function(){return{speed:this._bandwidthService.getLatestSpeed(),avgSpeed:this._bandwidthService.getAvgSpeed()}}},{key:"load",value:function(e,a,c){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:c,b=[];return e&&(b[0]=this.loadVideoSegment(e,c)),a&&(b[1]=this.loadAudioSegment(a,t)),Promise.all(b)}},{key:"loadVideoSegment",value:function(e,a){return this._loadSegment(this._segmentLoader,e,a)}},{key:"loadAudioSegment",value:function(e,a){return this._loadSegment(this._audioSegmentLoader,e,a)}},{key:"_loadSegment",value:(c=Ea(ga().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g=this;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=[],this.hls.emit(Zc.LOAD_START,{url:c.url}),o[0]=a.load(c.url),t&&c.initSegment&&(u=c.initSegment.url,(r=this._mapCache[u])||(this.hls.emit(Zc.LOAD_START,{url:u}),o[1]=a.load(u).then((function(e){e&&(Object.keys(g._mapCache)>30&&(g._mapCache={}),r=g._mapCache[u]=e.data,g._emitOnLoaded(e,u))}))),(l=null===(s=c.initSegment.key)||void 0===s?void 0:s.url)&&(f=c.initSegment.key.iv,(d=this._keyCache[l])||(this.hls.emit(Zc.LOAD_START,{url:l}),o[2]=this._keyLoader.load(l).then((function(e){e&&(d=g._keyCache[l]=e.data,g._emitOnLoaded(e,l))}))))),(h=null===(b=c.key)||void 0===b?void 0:b.url)&&c.key.isSegmentEncrypted()&&(i=c.key.iv,(n=this._keyCache[h])||(this.hls.emit(Zc.LOAD_START,{url:h}),o[3]=this._keyLoader.load(h).then((function(e){e&&(n=g._keyCache[h]=e.data,g._emitOnLoaded(e,h))})))),e.next=8,Promise.all(o);case 8:if(p=e.sent,v=Ca(p,1),y=v[0]){e.next=13;break}return e.abrupt("return");case 13:return m=y.data,this._emitOnLoaded(y,c.url),e.abrupt("return",{data:m,map:r,key:n,mapKey:d,keyIv:i,mapKeyIv:f});case 16:case"end":return e.stop()}}),e,this)}))),function(e,a,t){return c.apply(this,arguments)})},{key:"reset",value:function(){this.error=null,this._mapCache={},this._keyCache={},this._bandwidthService.reset()}},{key:"cancel",value:(a=Ea(ga().mark((function e(){return ga().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 a.apply(this,arguments)})}]),e}(),Tr=new Ac("hls"),Ar=function(e){Aa(y,e);var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v=La(y);function y(e){var a,c,t;return Sa(this,y),Ta(Ra(a=v.call(this)),"version",y.version),Ta(Ra(a),"media",null),Ta(Ra(a),"config",null),Ta(Ra(a),"_manifestLoader",null),Ta(Ra(a),"_segmentLoader",null),Ta(Ra(a),"_playlist",null),Ta(Ra(a),"_bufferService",null),Ta(Ra(a),"_gapService",null),Ta(Ra(a),"_seiService",null),Ta(Ra(a),"_stats",null),Ta(Ra(a),"_prevSegSn",null),Ta(Ra(a),"_prevSegCc",null),Ta(Ra(a),"_tickTimer",null),Ta(Ra(a),"_tickInterval",500),Ta(Ra(a),"_segmentProcessing",!1),Ta(Ra(a),"_reloadOnPlay",!1),Ta(Ra(a),"_switchUrlOpts",null),Ta(Ra(a),"_isProcessQuotaExceeded",!1),Ta(Ra(a),"_loadSegment",Ea(ga().mark((function e(){var c,t,b,r,n,i,d,f;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a._segmentProcessing&&a.media){e.next=2;break}return e.abrupt("return");case 2:if(c=a._playlist,t=c.nextSegment,b=c.lastSegment,r=Ra(a),n=r.config,i=Math.min(Math.max((null==b?void 0:b.duration)-.008||0,.016),.1),t){e.next=8;break}return e.abrupt("return");case 8:if(a.isLive){e.next=18;break}if(d=a.bufferInfo(),a.media.paused&&!a.media.currentTime&&(d=a.bufferInfo(d.nextStart||.5)),f=Math.abs(d.end-a.media.duration)<i,!(d.remaining>=n.preloadTime||f)){e.next=15;break}return a._tryEos(),e.abrupt("return");case 15:if(!n.preferMMSStreaming||a._bufferService.msStreaming){e.next=17;break}return e.abrupt("return");case 17:!a._urlSwitching&&a._prevSegSn!==t.sn-1&&d.end&&Math.abs(t.start-d.end)>1&&a._playlist.setNextSegmentByIndex(a._playlist.findSegmentIndexByTime(d.end+.1));case 18:return e.abrupt("return",a._loadSegmentDirect());case 19:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onLoadeddata",(function(){a.isLive&&!a.config.mseLowLatency&&a.media.duration!==1/0&&a._bufferService.updateDuration(1/0).catch((function(e){}))})),Ta(Ra(a),"_onPlay",Ea(ga().mark((function e(){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a.media.seeking||0!==a.media.currentTime){e.next=3;break}return Tr.debug("replay currentTime 0, return"),e.abrupt("return");case 3:if(clearTimeout(a._disconnectTimer),!a._reloadOnPlay){e.next=9;break}a._reloadOnPlay=!1,a.replay(!0),e.next=12;break;case 9:return e.next=11,a._loadSegment();case 11:a._startTick();case 12:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onPause",(function(){if(a.isLive){if(!a._reloadOnPlay){var e=a.config.disconnectTime;if(null==e&&(e=a._playlist.dvrWindow),!Number.isFinite(e))return;clearTimeout(a._disconnectTimer),a._disconnectTimer=setTimeout((function(){a._reloadOnPlay=!0,a._clear()}),e||0)}}else a._stopTick()})),Ta(Ra(a),"_onSeeking",Ea(ga().mark((function e(){var c,t,b,r,n,i,d;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a.media){e.next=2;break}return e.abrupt("return");case 2:if(a._onCheckQuotaExceeded(),c=a.media.currentTime,!(t=a._playlist.seekRange)){e.next=10;break}if(!((b=kr(c,t[0],a.isLive?t[1]:a.media.duration))>=0&&Math.abs(c-b)>=.1)){e.next=10;break}return a.media.currentTime=b,e.abrupt("return");case 10:if(r=a._playlist.currentSegment,n=dc.info(dc.get(a.media),c,.1),!r){e.next=17;break}if(!(n.end&&Math.abs(n.end-r.end)<.2)){e.next=15;break}return e.abrupt("return");case 15:if(!a.isLive||!n.end){e.next=17;break}return e.abrupt("return");case 17:if(i=a._playlist.findSegmentIndexByTime(c),d=a._playlist.getSegmentByIndex(i),null!=i&&d&&(!a._segmentProcessing||d!==a._playlist.nextSegment)){e.next=21;break}return e.abrupt("return");case 21:return Tr.debug("seek to",c,d),a._playlist.setNextSegmentByIndex(i),a._stopTick(),e.next=26,a._segmentLoader.cancel();case 26:if(a._segmentProcessing=!1,n.end&&!a.isLive){e.next=30;break}return e.next=30,a._loadSegmentDirect(!0);case 30:a._startTick();case 31:case"end":return e.stop()}}),e)})))),Ta(Ra(a),"_onTimeupdate",(function(){if(a.media){var e,c=a.config;if(c.isLive&&c.maxLatency&&c.targetLatency){var t=a._playlist.liveEdge;if(!t)return;var b=t-a.media.currentTime;b>=c.maxLatency&&(Tr.debug("latency jump, currentTime:".concat(a.media.currentTime,", liveEdge:").concat(t,", latency=").concat(b)),a.media.currentTime=t-c.targetLatency)}if(c.seiInTime)null===(e=a._seiService)||void 0===e||e.throw(a.media.currentTime);c.allowedStreamTrackChange&&!c.softDecode&&a.media.readyState&&a._checkStreamTrackChange(a.media.currentTime)}})),Ta(Ra(a),"_tick",(function(){if(a.media){a._startTick();var e=a.media,c=a._segmentLoader.error;if(a._onCheckQuotaExceeded(),a._isProcessQuotaExceeded&&(a._bufferService.isFull()||(a._isProcessQuotaExceeded=!1,a._segmentProcessing=!1)),c){(!e.readyState||a.bufferInfo(.5).remaining<1)&&(c.fatal=!0,a._emitError(wc.network(c)))}else e.readyState&&(!function(e){return e&&!e.paused&&!e.ended&&0!==e.playbackRate&&0!==e.readyState}(e)?e.readyState<2&&a._gapService&&a._gapService.do(e,a.config.maxJumpDistance,!e.currentTime||a.isLive):(a._loadSegment(),a._gapService&&a._gapService.do(e,a.config.maxJumpDistance,a.isLive))),a.isLive||a._tryEos()}})),a.config=(t=(null==(c=e)?void 0:c.media)||document.createElement("video"),e=ma(ma({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}},c),{},{media:t})),a.media=a.config.media,a._manifestLoader=new _r(Ra(a)),a._segmentLoader=new xr(Ra(a)),a._playlist=new wr(Ra(a)),a._bufferService=new Yb(Ra(a)),e.seiInTime&&(a._seiService=new st(Ra(a))),e.softDecode||(a._gapService=new ot),a._stats=new ht(Ra(a),9e4),a.media.addEventListener("loadeddata",a._onLoadeddata),a.media.addEventListener("play",a._onPlay),a.media.addEventListener("pause",a._onPause),a.media.addEventListener("seeking",a._onSeeking),a.media.addEventListener("timeupdate",a._onTimeupdate),a}return xa(y,[{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,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.1;return dc.info(dc.get(this.media),null===(e=this.media)||void 0===e?void 0:e.currentTime,a)}},{key:"getStats",value:function(){return this._stats.getStats()}},{key:"playbackQuality",value:function(){return function(e){if(!e)return{};if("function"==typeof e.getVideoPlaybackQuality){var a=e.getVideoPlaybackQuality();return{droppedVideoFrames:a.droppedVideoFrames||a.corruptedVideoFrames,totalVideoFrames:a.totalVideoFrames,creationTime:a.creationTime}}return{droppedVideoFrames:e.webkitDroppedFrameCount,totalVideoFrames:e.webkitDecodedFrameCount,creationTime:performance.now()}}(this.media)}},{key:"load",value:(p=Ea(ga().mark((function e(){var a,c,t,b=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=b.length>0&&void 0!==b[0]?b[0]:"",t="boolean"==typeof(c=b.length>1&&void 0!==b[1]?b[1]:{})?c:!(null==c||!c.reuseMse),"object"===_a(c)&&null!=c&&c.clearSwitchStatus&&(this._urlSwitching=!1,this._switchUrlOpts=null,this.config.startTime=void 0),a&&(this.config.url=a),a=this.config.url,e.next=8,this._reset(t);case 8:return e.next=10,this._loadData(a);case 10:this._startTick();case 11:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"_loadData",value:(h=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{a&&(a=a.trim())}catch(p){}if(a){e.next=3;break}throw this._emitError(new wc(_c,Ec.OPTION,null,null,"m3u8 url is missing"));case 3:return e.next=5,this._loadM3U8(a);case 5:if(c=e.sent,t=this._playlist.currentStream,!this._urlSwitching){e.next=23;break}if(!this.isLive){e.next=14;break}b=this._playlist.setNextSegmentBySN(this._prevSegSn),Tr.log("segment nb=".concat(this._prevSegSn," index of ").concat(b," in the new playlist")),-1===b&&(this._prevSegCc=null,this._prevSegSn=null),e.next=23;break;case 14:if(0===t.bitrate&&null!==(r=this._switchUrlOpts)&&void 0!==r&&r.bitrate&&(t.bitrate=null===(d=this._switchUrlOpts)||void 0===d?void 0:d.bitrate),f="number"==typeof(null===(n=this._switchUrlOpts)||void 0===n?void 0:n.startTime)?null===(i=this._switchUrlOpts)||void 0===i?void 0:i.startTime:this._getSeamlessSwitchPoint(),this.config.startTime=f,o=this._playlist.findSegmentIndexByTime(f),!(s=this._playlist.getSegmentByIndex(o+1))){e.next=23;break}return u=s.start,e.next=23,this._bufferService.removeBuffer(u);case 23:if(c){e.next=25;break}return e.abrupt("return");case 25:if(!this.isLive){e.next=36;break}if(this._bufferService.setLiveSeekableRange(0,4294967295),Tr.log("totalDuration first time got:",this._playlist.totalDuration),Tr.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),c.isMaster||this._pollM3U8(a),!(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(t.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=Ea(ga().mark((function e(a){return ga().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(!a));case 7:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"switchURL",value:(u=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d,f=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c=f.length>1&&void 0!==f[1]?f[1]:{},t={seamless:!1,startTime:0,bitrate:0},e.t0=_a(c),e.next="number"===e.t0?5:"boolean"===e.t0?7:"object"===e.t0?9:11;break;case 5:return c={startTime:c},e.abrupt("break",12);case 7:return c={seamless:c},e.abrupt("break",12);case 9:for(b in c)void 0!==c[b]&&null!==c[b]||delete c[b];return e.abrupt("break",12);case 11:throw"unsupported switchURL args: ".concat(c);case 12:if(c=Object.assign({},t,c),n=(r=c).seamless,i=r.startTime,this.config.url=a,this.config.startTime=i,this._switchUrlOpts=c,n){e.next=38;break}if(e.prev=18,!this.config.softDecode){e.next=23;break}e.t1=this.load(a),e.next=26;break;case 23:return e.next=25,this.load(a);case 25:e.t1=e.sent;case 26:d=e.t1,e.next=33;break;case 29:throw e.prev=29,e.t2=e.catch(18),this.emit(qb.SWITCH_URL_FAILED,e.t2),e.t2;case 33:return this._reloadOnPlay=!1,d&&this.emit(qb.SWITCH_URL_SUCCESS,{url:a}),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(a);case 46:this._startTick();case 47:this._switchUrlOpts=null;case 48:case"end":return e.stop()}}),e,this,[[18,29]])}))),function(e){return u.apply(this,arguments)})},{key:"switchStream",value:(s=Ea(ga().mark((function e(a){var c,t,b,r,n,i=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=!(i.length>1&&void 0!==i[1])||i[1],t=this.currentStream,b=this.streams,t&&t.id!==a&&b&&!(b.length<2)){e.next=5;break}return e.abrupt("return");case 5:if(r=b.find((function(e){return e.id===a}))){e.next=8;break}return e.abrupt("return");case 8:return e.prev=8,e.next=11,this._clear();case 11:if(!c){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(wc.create(e.t0));case 19:if(t.currentAudioStream&&r.audioStreams.length>2&&(n=t.currentAudioStream.id,r.currentAudioStream=r.audioStreams.find((function(e){return e.id===n}))||r.currentAudioStream),this._playlist.currentStream=r,e.prev=21,!this.isLive&&r.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=t,e.t1;case 35:return this._startTick(),e.abrupt("return",r);case 37:case"end":return e.stop()}}),e,this,[[8,16],[21,31]])}))),function(e){return s.apply(this,arguments)})},{key:"switchAudioStream",value:(o=Ea(ga().mark((function e(a){var c,t,b,r,n=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=!(n.length>1&&void 0!==n[1])||n[1],t=this.currentStream){e.next=4;break}return e.abrupt("return");case 4:if((b=t.currentAudioStream)&&b.id!==a&&!(t.audioStreams.length<2)){e.next=7;break}return e.abrupt("return");case 7:if(r=t.audioStreams.find((function(e){return e.id===a}))){e.next=10;break}return e.abrupt("return");case 10:return e.prev=10,e.next=13,this._clear();case 13:if(!c){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(wc.create(e.t0));case 21:if(t.currentAudioStream=r,e.prev=22,!this.isLive&&r.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),t.currentAudioStream=b,e.t1;case 36:return this._startTick(),e.abrupt("return",r);case 38:case"end":return e.stop()}}),e,this,[[10,18],[22,32]])}))),function(e){return o.apply(this,arguments)})},{key:"switchSubtitleStream",value:(f=Ea(ga().mark((function e(a){return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._playlist.switchSubtitle(a),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 f.apply(this,arguments)})},{key:"detachMedia",value:(d=Ea(ga().mark((function e(){return ga().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 d.apply(this,arguments)})},{key:"destroy",value:(i=Ea(ga().mark((function e(){var a;return ga().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===(a=this._seiService)||void 0===a||a.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 i.apply(this,arguments)})},{key:"_loadM3U8",value:(n=Ea(ga().mark((function e(a){var c,t,b,r,n,i,d;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!(r=null===(t=this.config.manifestList)||void 0===t||null===(b=t.filter((function(e){return e.url===a}))[0])||void 0===b?void 0:b.manifest)){e.next=6;break}e.t0=this._manifestLoader.parseText(r,a),e.next=9;break;case 6:return e.next=8,this._manifestLoader.load(a);case 8:e.t0=e.sent;case 9:n=e.t0,i=Ca(n,1),c=i[0],e.next=17;break;case 14:throw e.prev=14,e.t1=e.catch(0),this._emitError(wc.create(e.t1));case 17:if(c){e.next=19;break}return e.abrupt("return");case 19:if(this._playlist.upsertPlaylist(c),!c.isMaster){e.next=24;break}return null!==(d=this._playlist.currentStream.subtitleStreams)&&void 0!==d&&d.length&&this.emit(qb.SUBTITLE_PLAYLIST,{list:this._playlist.currentStream.subtitleStreams}),e.next=24,this._refreshM3U8();case 24:return this.emit(qb.STREAM_PARSED),e.abrupt("return",c);case 26:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e){return n.apply(this,arguments)})},{key:"_refreshM3U8",value:function(){var e,a,c=this,t=this._playlist.currentStream;if(!t||!t.url)throw this._emitError(wc.create(null,null,new Error("m3u8 url is not defined")));var b=t.url,r=null===(e=t.currentAudioStream)||void 0===e?void 0:e.url,n=null===(a=t.currentSubtitleStream)||void 0===a?void 0:a.url;return this._manifestLoader.load(b,r,n).then((function(e){var a=Ca(e,3),t=a[0],i=a[1],d=a[2];t&&(c._playlist.upsertPlaylist(t,i,d),c.isLive&&c._pollM3U8(b,r,n))})).catch((function(e){throw c._emitError(wc.create(e))}))}},{key:"_pollM3U8",value:function(e,a,c){var t,b,r=this,n=this._playlist.isEmpty;this._playlist.lowLatency?t=1e3*(this._playlist.currentStream.partTargetDuration||0):t=1e3*((null===(b=this._playlist.lastSegment)||void 0===b?void 0:b.duration)||0);this._manifestLoader.poll(e,a,c,(function(e,a,c){r._playlist.upsertPlaylist(e,a,c),r._playlist.clearOldSegment(),(e&&n&&!r._playlist.isEmpty||!r._playlist.hadSegmentLoaded&&r._playlist.nbSegments>=r.config.minSegmentsStartPlay)&&r._loadSegment(),n&&(n=r._playlist.isEmpty)}),(function(e){r._emitError(wc.create(e))}),t)}},{key:"_loadSegmentDirect",value:(r=Ea(ga().mark((function e(a){var c,t,b,r,n,i;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this._playlist.nextSegment){e.next=3;break}return e.abrupt("return");case 3:return t=!1,b=null,e.prev=5,this._segmentProcessing=!0,Tr.log("load segment, sn:".concat(c.sn,", [").concat(c.start,", ").concat(c.end,"], partIndex:").concat(c.partIndex)),e.next=10,this._reqAndBufferSegment(c,this._playlist.getAudioSegment(c));case 10:t=e.sent,e.next=16;break;case 13:e.prev=13,e.t0=e.catch(5),b=e.t0;case 16:return e.prev=16,this._segmentProcessing=!1,e.finish(16);case 19:if(!b){e.next=26;break}if(!this._bufferService.isFull()){e.next=25;break}return Tr.log("load segment, sn:".concat(c.sn,", partIndex:").concat(c.partIndex)),this._segmentProcessing=!0,this._isProcessQuotaExceeded=!0,e.abrupt("return",!1);case 25:return e.abrupt("return",this._emitError(wc.create(b)));case 26:return t&&(n=this.bufferInfo().end,this.isLive&&!this.media.seeking&&n&&Math.abs(c.end-n)>1&&(Tr.warn("segment: ".concat(c.sn," expected end=").concat(c.end,", real end=").concat(n)),this._playlist.feedbackLiveEdge(c,n)),i=(null===(r=this._playlist.currentStream)||void 0===r?void 0:r.url)===c.parentUrl,this._urlSwitching&&!i&&(Tr.warn("pre playlist segment appended!"),this._bufferService.seamlessSwitch()),this.isLive&&this._urlSwitching&&i&&(this._urlSwitching=!1,this.emit(qb.SWITCH_URL_SUCCESS,{url:this.config.url})),this._playlist.moveSegmentPointer(),c.isLast?this._end():a||this._loadSegment()),e.abrupt("return",t);case 28:case"end":return e.stop()}}),e,this,[[5,13,16,19]])}))),function(e){return r.apply(this,arguments)})},{key:"_reqAndBufferSegment",value:(b=Ea(ga().mark((function e(a,c){var t,b,r,n,i,d,f,o,s,u,l;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=a?a.cc:c.cc,r=this._prevSegCc!==b,n=[],e.prev=3,e.next=6,this._segmentLoader.load(a,c,r);case 6:n=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(n[0]){e.next=16;break}return e.abrupt("return");case 16:return e.next=18,(t=this._bufferService).decryptBuffer.apply(t,Pa(n));case 18:if(i=e.sent){e.next=21;break}return e.abrupt("return");case 21:return d=a?a.sn:c.sn,f=a?a.start:c.start,o=this._playlist.currentStream,this._bufferService.createSource(i[0],i[1],null==o?void 0:o.videoCodec,null==o?void 0:o.audioCodec),s=Date.now(),u=this._prevSegSn===d-1,this.isLive&&this._urlSwitching&&(l=this.bufferInfo().end,this._playlist.updateSegmentsRanges(d,l),Tr.warn("update the new playlist liveEdge, segment id=".concat(d,", buffer start=").concat(l,", liveEdge=").concat(this._playlist.liveEdge)),f=l),e.next=30,this._bufferService.appendBuffer(a,c,i[0],i[1],r,u,f);case 30:return this.emit(qb.APPEND_COST,{elapsed:Date.now()-s,url:a.url}),e.next=33,this._bufferService.evictBuffer(this.config.bufferBehind);case 33:return this._prevSegCc=b,this._prevSegSn=d,e.abrupt("return",!0);case 36:case"end":return e.stop()}}),e,this,[[3,9]])}))),function(e,a){return b.apply(this,arguments)})},{key:"_onCheckQuotaExceeded",value:(t=Ea(ga().mark((function e(){var a,c,t,b,r,n;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=this.media.currentTime,c=this.media.buffered,t=!1,b=0;case 4:if(!(b<c.length)){e.next=11;break}if(!(c.start(0)>=a&&a<c.end(b))){e.next=8;break}return t=!0,e.abrupt("break",11);case 8:b++,e.next=4;break;case 11:if(!this._bufferService.isFull()){e.next=17;break}if(r=t?this.config.bufferBehind:5,!((n=this.media.currentTime)-r>0)){e.next=17;break}return e.next=17,this._bufferService.removeBuffer(0,n-r);case 17:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"_checkStreamTrackChange",value:function(e){var a=this._playlist.checkSegmentTrackChange(e,this._bufferService.nbSb);a&&this.switchURL(this.config.url,a.start+.2)}},{key:"_clear",value:(c=Ea(ga().mark((function e(){return ga().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 c.apply(this,arguments)})},{key:"_reset",value:(a=Ea(ga().mark((function e(){var a,c,t=arguments;return ga().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=t.length>0&&void 0!==t[0]&&t[0],this._reloadOnPlay=!1,this._prevSegSn=null,this._prevSegCc=null,this._switchUrlOpts=null,this._playlist.reset(),this._segmentLoader.reset(),null===(a=this._seiService)||void 0===a||a.reset(),this._stats.reset(),e.next=11,this._clear();case 11:return e.abrupt("return",this._bufferService.reset(c));case 12:case"end":return e.stop()}}),e,this)}))),function(){return a.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 a,c,t,b,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!1===(null===(a=e.originError)||void 0===a?void 0:a.fatal)?Tr.warn(e):(Tr.table(e),Tr.error(e),Tr.error(null===(c=this.media)||void 0===c?void 0:c.error),null!==(t=this.media)&&void 0!==t&&t.readyState&&this.media.pause(),this._stopTick(),this._urlSwitching&&(this._urlSwitching=!1,this.emit(qb.SWITCH_URL_FAILED,e)),this.emit(qb.ERROR,e),r&&this._end(),null===(b=this._seiService)||void 0===b||b.reset());return e}},{key:"_getSeamlessSwitchPoint",value:function(){var e=this.media,a=e.currentTime;if(!e.paused){var c,t=this._playlist.findSegmentIndexByTime(e.currentTime),b=this._playlist.getSegmentByIndex(t),r=null===(c=this._stats)||void 0===c?void 0:c.getStats().downloadSpeed;if(r&&b)a+=b.duration*this._playlist.currentStream.bitrate/r+1;else a+=5}return a}},{key:"_tryEos",value:function(){var e,a,c=this.media,t=this._playlist,b=t.nextSegment,r=t.lastSegment;if((!b||r&&dc.isBuffered(c,r.start+r.duration/2))&&c.readyState&&c.duration>0&&(null===(e=this._bufferService)||void 0===e?void 0:e.msIsOpened)&&!(null!==(a=this._bufferService)&&void 0!==a&&a.msHasOpTasks)){var n=this.bufferInfo();c.paused&&!c.currentTime&&(n=this.bufferInfo(n.nextStart||.5)),(Math.abs(n.end-c.duration)<.1||!this.isLive&&r&&n.end>=r.start+r.duration)&&this._bufferService.endOfStream()}}}],[{key:"isSupported",value:function(e){return e&&"video"!==e&&"audio"!==e?"undefined"!=typeof WebAssembly:Nc.isSupported()}},{key:"enableLogger",value:function(){Ac.enable(),Qt.enable()}},{key:"disableLogger",value:function(){Ac.disable(),Qt.disable()}}]),y}(at);Ta(Ar,"version","3.0.21");try{localStorage.getItem("xgd")?Ar.enableLogger():Ar.disableLogger()}catch(Cn){}var Ir=function(){function e(a,c){var t=this;Sa(this,e),Ta(this,"_opts",null),Ta(this,"_plugin",null),Ta(this,"_onLowDecode",(function(){var e,a,c,b,r=t._opts,n=r.media,i=r.innerDegrade;null===(e=t._plugin)||void 0===e||null===(a=e.player)||void 0===a||a.emit("lowdecode",n.degradeInfo),null===(c=t._plugin)||void 0===c||null===(b=c.player)||void 0===b||b.emit("core_event",ma(ma({},n.degradeInfo),{},{eventName:qb.LOWDECODE})),1===i&&t._degrade(n.src)})),Ta(this,"_degrade",(function(e){var a=t._plugin.player,c=a.video;if(!c||"MVideo"===c.TAG){var b=a.video.degradeVideo;a.video=b,c.degrade(e),e&&(a.config.url=e);var r=a.root.firstChild;"MVideo"===r.TAG&&a.root.replaceChild(b,r);var n=t._plugin.constructor.pluginName.toLowerCase();a.unRegisterPlugin(n),a.once("canplay",(function(){a.play()}))}})),Ta(this,"forceDegradeToVideo",(function(e){1===t._opts.innerDegrade&&t._degrade(e)})),this._opts=a,this._plugin=c,this._init()}return xa(e,[{key:"_init",value:function(){var e=this._opts,a=e.media,c=e.preloadTime,t=e.innerDegrade,b=e.isLive;a&&(b||!a.setPlayMode?(t&&a.setAttribute("innerdegrade",t),c&&a.setAttribute("preloadtime",c),this._bindEvents()):a.setPlayMode("VOD"))}},{key:"_bindEvents",value:function(){this._opts.media.addEventListener("lowdecode",this._onLowDecode)}},{key:"destroy",value:function(){var e,a;null===(e=this._opts)||void 0===e||null===(a=e.media)||void 0===a||a.removeEventListener("lowdecode",this._onLowDecode),this._plugin=null}}]),e}(),Dr=["currentTime"];function Or(e,a){var c={startTime:a.player.currentTime};switch(_a(e)){case"boolean":c.seamless=e;break;case"object":var t=e.currentTime,b=Oa(e,Dr);Object.assign(c,b),"number"==typeof t&&(c.startTime=t)}return c}var Rr=function(e){Aa(c,e);var a=La(c);function c(){var e;Sa(this,c);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return Ta(Ra(e=a.call.apply(a,[this].concat(b))),"logger",Tr),Ta(Ra(e),"hls",null),Ta(Ra(e),"pluginExtension",null),Ta(Ra(e),"getStats",(function(){var a;return null===(a=e.hls)||void 0===a?void 0:a.getStats()})),Ta(Ra(e),"_onSwitchSubtitle",(function(a){var c,t=a.lang;null===(c=e.hls)||void 0===c||c.switchSubtitleStream(t)})),Ta(Ra(e),"_keepPauseStatus",(function(){e.player.paused&&e.player.once("canplay",(function(){e.player.pause()}))})),e}return xa(c,[{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,a,c=null===(e=this.player)||void 0===e||null===(a=e.config)||void 0===a?void 0:a.mediaType;return!!c&&"video"!==c&&"audio"!==c&&"offscreen-video"!==c}},{key:"beforePlayerInit",value:function(){var e=this,a=this.player.config,c=this.player.media||this.player.video,t=a.hls||{};if((a.url||a.__allowHlsEmptyUrl__)&&(this.softDecode||t.preferMMS||!Nc.isMMSOnly())){this.hls&&this.hls.destroy();var b=Object.getOwnPropertyDescriptor(this.player,"switchURL");b&&!b.writable||(this.player.switchURL=function(a,c){return new Promise((function(t,b){var r=e.player,n=e.hls;if(n){var i,d,f=Or(c,e);r.config.url=a,n.switchURL(a,f).then((function(){return t(!0)})).catch(b),!f.seamless&&null!==(i=e.player.config)&&void 0!==i&&null!==(d=i.hls)&&void 0!==d&&d.keepStatusAfterSwitch&&e._keepPauseStatus()}else b()}))});var r,n=this.player.switchURL;if(this.player.handleSource=!1,t.innerDegrade=t.innerDegrade||a.innerDegrade,null!==t.disconnectTime&&void 0!==t.disconnectTime||(t.disconnectTime=0),this.hls=new Ar(ma({softDecode:this.softDecode,isLive:a.isLive,media:c,startTime:a.startTime,url:a.url},t)),this.softDecode||ue.BasePlugin.defineGetterOrSetter(this.player,{url:{get:function(){var a,c;return null===(a=e.hls)||void 0===a||null===(c=a.media)||void 0===c?void 0:c.src},configurable:!0}}),this.softDecode&&(this.pluginExtension=new Ir(ma({isLive:a.isLive,media:c},t),this),this.player.forceDegradeToVideo=function(){for(var a,c=arguments.length,t=new Array(c),b=0;b<c;b++)t[b]=arguments[b];return null===(a=e.pluginExtension)||void 0===a?void 0:a.forceDegradeToVideo.apply(a,t)}),a.isLive)null===(r=this.player)||void 0===r||r.useHooks("replay",(function(){var a;return null===(a=e.hls)||void 0===a?void 0:a.replay()}));this.on(ue.Events.URL_CHANGE,n),this.on(ue.Events.SWITCH_SUBTITLE||"switch_subtitle",this._onSwitchSubtitle),this.on(ue.Events.DESTROY,this.destroy.bind(this)),this._transError(),this._transCoreEvent(Zc.TTFB),this._transCoreEvent(Zc.LOAD_START),this._transCoreEvent(Zc.LOAD_RESPONSE_HEADERS),this._transCoreEvent(Zc.LOAD_COMPLETE),this._transCoreEvent(Zc.LOAD_RETRY),this._transCoreEvent(Zc.SOURCEBUFFER_CREATED),this._transCoreEvent(Zc.MEDIASOURCE_OPENED),this._transCoreEvent(Zc.APPEND_BUFFER),this._transCoreEvent(Zc.REMOVE_BUFFER),this._transCoreEvent(Zc.BUFFEREOS),this._transCoreEvent(Zc.KEYFRAME),this._transCoreEvent(Zc.METADATA_PARSED),this._transCoreEvent(Zc.DEMUXED_TRACK),this._transCoreEvent(Zc.SEI),this._transCoreEvent(Zc.SEI_IN_TIME),this._transCoreEvent(Zc.SPEED),this._transCoreEvent(Zc.HLS_MANIFEST_LOADED),this._transCoreEvent(Zc.HLS_LEVEL_LOADED),this._transCoreEvent(Zc.STREAM_EXCEPTION),this._transCoreEvent(Zc.SWITCH_URL_SUCCESS),this._transCoreEvent(Zc.SWITCH_URL_FAILED),this._transCoreEvent(qb.NO_AUDIO_TRACK),this._transCoreEvent(qb.STREAM_PARSED),this._transCoreEvent(qb.SUBTITLE_SEGMENTS),this._transCoreEvent(qb.SUBTITLE_PLAYLIST),this._transCoreEvent(qb.APPEND_COST),a.url&&this.hls.load(a.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(qb.ERROR,(function(a){e.player&&e.player.emit(ue.Events.ERROR,new ue.Errors(e.player,a))}))}},{key:"_transCoreEvent",value:function(e){var a=this;this.hls.on(e,(function(c){a.player&&(a.player.emit("core_event",ma(ma({},c),{},{eventName:e})),e===Zc.SEI_IN_TIME&&a.hls.hasSubtitle&&a._emitSeiPaylodTime(c))}))}},{key:"_emitSeiPaylodTime",value:function(e){try{var a=JSON.parse(Array.from(e.data.payload).map((function(e){return String.fromCharCode(e)})).join("").slice(0,-1));if(!a.rtmp_dts)return;this.player.emit("core_event",{eventName:qb.SEI_PAYLOAD_TIME,time:a.rtmp_dts})}catch(c){}}}],[{key:"pluginName",get:function(){return"hls"}},{key:"isSupported",value:function(e,a){return Ar.isSupported(e,a)}}]),c}(ue.BasePlugin);Ta(Rr,"Hls",Ar),Ta(Rr,"EVENT",qb);const Lr="4.1.13-rc.1";var Cr=function(e){return e.GetKeyByKeyTokenFail="Get key by keyToken fail",e}(Cr||{}),Pr=function(e){return e[e.KDS=0]="KDS",e[e.DRM=1]="DRM",e}(Pr||{});function jr(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=window.MediaSource=window.MediaSource||(e?window.ManagedMediaSource:void 0)||window.WebKitMediaSource;return a&&"function"==typeof a.isTypeSupported}function Mr(e,a,c,t){e.once(t,(function b(){e.off(a,c),e.off(t,b)}))}var Br={getBrowserVersion:function(){var e=navigator.userAgent;if(e.toLowerCase().indexOf("mobile")>-1)return"Unknown";function a(a){return((e.match(a)||[""])[0].match(/[\d]+/)||["0"])[0]}if(e.indexOf("Firefox")>-1)return"Firefox ".concat(a(/firefox\/[\d.]+/gi));if(e.indexOf("Edge")>-1)return"Edge ".concat(a(/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(a(/opera\/[\d.]+/gi));if(e.indexOf("OPR")>-1)return"Opera ".concat(a(/opr\/[\d.]+/gi))}else{if(e.indexOf("Chrome")>-1)return"Chrome ".concat(a(/chrome\/[\d.]+/gi));if(e.indexOf("Safari")>-1)return"Safari ".concat(a(/safari\/[\d.]+/gi));if(!(e.indexOf("MSIE")>-1||e.indexOf("Trident")>-1))return"Unknown";if(e.indexOf("MSIE")>-1)return"IE ".concat(a(/msie [\d.]+/gi));if(e.indexOf("Trident")>-1){var c=a(/trident\/[\d.]+/gi),t=parseInt(c)+4;return"IE ".concat(t)}}},parseUrl:function(e){var a=e.split("?")[1],c={};return a&&a.split("&").forEach((function(e){var a=e.split("=");c[a[0]]=decodeURIComponent(a[1])})),c},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],a=!1;return navigator.userAgent.toLocaleLowerCase().indexOf("ipad")>-1?(navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform||!jr(e))&&(a=!0):navigator.userAgent.toLocaleLowerCase().indexOf("mobile")>-1&&"Win32"!==navigator.platform&&!jr(e)&&(a=!0),a},checkMediaSourceSupport:jr,getAbsoluteURL:function(e){var a=new Image;return a.src=e,e=a.src},offInDestroy:Mr,on:function(e,a,c,t){if(t)e.on(a,c),Mr(e,a,c,t);else{var b=function(c){b(c),e.off(a,b)};e.on(a,b)}},once:function(e,a,c,t){if(t)e.once(a,c),Mr(e,a,c,t);else{var b=function(c){b(c),e.off(a,b)};e.once(a,b)}}};function Ur(e){var a=e.url,c=e.method,t=void 0===c?"GET":c,b=e.type,r=e.timeout,n=void 0===r?1e4:r,i=e.body,d=e.xhrSetup,f=e.cache,o=void 0===f||f;return new Promise((function(e,c){var r=new window.XMLHttpRequest;if("GET"!==(t=t.toUpperCase())&&"POST"!==t)throw new Error("XHR ".concat(t," is not allowed"));if(b&&(r.responseType=b),n&&(r.timeout=n),r.onload=function(){200===r.status||206===r.status?e(r):c(r)},r.onerror=function(){c(r)},r.ontimeout=function(){c(r)},r.onabort=function(){c(r)},"GET"===t&&!o){var f=/\?/gi.test(a)?"&":"?";a+="".concat(f,"_=").concat((new Date).getTime())}if(r.open(t,"".concat(a),!0),d)try{d(r,a)}catch(s){console.error("xhr setup failure: ".concat((null==s?void 0:s.stack)||(null==s?void 0:s.message)))}switch(t){case"POST":"text"===b&&r.setRequestHeader("Content-type","application/x-www-form-urlencoded"),r.send(i);break;case"GET":r.send()}}))}var Nr=Br.getBrowserVersion();function Fr(e){return Gr.apply(this,arguments)}function Gr(){return Gr=pe(De().mark((function e(a){var c,t,b,r,n=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=n.length>1&&void 0!==n[1]?n[1]:{},e.prev=1,b=c.payload?JSON.stringify(c.payload):void 0,r=/^blob:/.test(a),"IE 11"===Nr){e.next=10;break}return e.next=7,Ur({url:a,type:c.type||"text",cache:r,body:b,method:c.method});case 7:t=e.sent,e.next=13;break;case 10:return e.next=12,new Promise((function(e,t){var r=new XMLHttpRequest;c.type&&(r.responseType=c.type),r.open(c.method||"get",a),r.send(b),r.onload=function(){200===r.status||206===r.status?e(r):t(r.status)}}));case 12:t=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",t);case 19:case"end":return e.stop()}}),e,null,[[1,15]])}))),Gr.apply(this,arguments)}function Vr(e,a){return qr.apply(this,arguments)}function qr(){return(qr=pe(De().mark((function e(a,c){var t,b,r,n,i,d,f,o,s,u,l;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=a.config,b=a.isNativeMode,r=c.url,n="",e.next=5,Fr(r);case 5:if(!(i=e.sent)){e.next=28;break}if(e.prev=7,d=JSON.parse(i.responseText),"TOP"!==t.getKeyType){e.next=13;break}n=d.Result.SecretKey,e.next=23;break;case 13:if(!b){e.next=22;break}if(f=Ve(d.data)){e.next=17;break}throw new Error("parse key data failed");case 17:o=f.encData,s=f.key,u=f.iv,l=Ne(o,s,u),n=window.btoa(l),e.next=23;break;case 22:n=window.btoa(d.data);case 23:e.next=28;break;case 25:e.prev=25,e.t0=e.catch(7),n=Br.isBase64(i.responseText)?i.responseText:window.btoa(i.responseText);case 28:return e.abrupt("return",n);case 29:case"end":return e.stop()}}),e,null,[[7,25]])})))).apply(this,arguments)}function zr(e,a){return Hr.apply(this,arguments)}function Hr(){return(Hr=pe(De().mark((function e(a,c){var t;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=void 0,e.t0=c.system,e.next=e.t0===Pr.KDS?4:8;break;case 4:return e.next=6,Vr(a,c);case 6:return t=e.sent,e.abrupt("break",9);case 8:console.error("wrong key system:",c.system);case 9:return e.abrupt("return",t);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Kr(e,a){return $r.apply(this,arguments)}function $r(){return($r=pe(De().mark((function e(a,c){var t,b,r,n,i,d,f,o,s;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.config,b={},e.next=4,Ur({url:a,xhrSetup:function(e){t.netAllowCredentials&&(e.withCredentials=!0)}});case 4:return r=e.sent,(n=r.responseText).match(/#EXT-X-KEY:(\w+=\w+)+/)&&(i=n.match(/,URI="([^"]+)"/),d=i?i[1]:"",null!=(f=Br.parseUrl(d))&&f.ak&&("TOP"===t.getKeyType?(o=/^https?:/.test(t.playDomain)?t.playDomain:"//".concat((t.playDomain||"").replace(/^\/\//gi,"")),s=Br.isBase64(t.keyToken)?window.atob(t.keyToken):t.keyToken,d="".concat(o,"?").concat(s,"&Source=jarvis&Ak=").concat(f.ak)):d="".concat(t.keyDomain||"","/kds/api/v3/keys?source=jarvis&ak=").concat(f.ak,"&token=").concat(t.keyToken||"")),b.keyUrl=d,b.responseText=n),e.abrupt("return",b);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wr(){Promise.withResolvers||(Promise.withResolvers=function(){var e={};return e.promise=new Promise((function(a,c){e.resolve=a,e.reject=c})),e})}var Yr=function(){return _e((function e(){ye(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(a){var c=Date.now(),t=Math.max(16.7-(c-e),0),b=setTimeout(a,t);return e=c+t,b}}window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})}}])}(),Xr=function(){return _e((function e(){ye(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 a=this.ticks;if(a.unshift(e),a.length>10){var c=a.pop();c&&(this.fps=Math.floor(1e4/(e-c)),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(){Yr.install()}}])}(),Qr=Jr&&!function(){var e="_localstorage_support_test";try{return localStorage.setItem(e,!0),localStorage.removeItem(e),!1}catch(a){return!0}}();function Jr(){try{return"undefined"!=typeof localStorage&&"setItem"in localStorage&&!!localStorage.setItem}catch(e){return!1}}var Zr={length:Qr?localStorage.length:0,clear:function(e){try{for(var a=localStorage.length-1;a>=0;a--){var c=localStorage.key(a);0===c.indexOf(e)&&localStorage.removeItem(c)}}catch(Cn){}},getItem:function(e){try{return localStorage.getItem(e)}catch(Cn){return null}},key:function(e){try{return localStorage.key(e)}catch(Cn){return null}},setItem:function(e,a){try{localStorage.setItem(e,a)}catch(Cn){}},removeItem:function(e){try{localStorage.removeItem(e)}catch(Cn){}},isSupport:Qr},en=function(){return _e((function e(){var a,c;ye(this,e);var t=new Promise((function(e,t){a=e,c=t}));return t.resolve=a,t.reject=c,t}),[{key:"resolve",value:function(e){}},{key:"reject",value:function(e){}}])}();!function(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var i=parseInt(e.slice(16,24),16),d=2*parseInt(e.slice(32,40),16);for(b=40;b<d+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var f=d+40,o=parseInt(e.slice(f,f+4),16);for(f+=4,b=0;b<o;++b){var s=t(e,f);f+=2*s[0];for(var u=0;u<s[1];++u){var l=t(e,f);String.fromCharCode(r^l[1]),f+=2*l[0]}}a.p=null,function e(a,c,t,b,r){var i,d,f,o,s,u=-1,l=[],h=null,p=[c];for(d=Math.min(c.length,t),f=0;f<d;++f)p.push(c[f]);p.p=b;for(var v=[];;)try{switch(n[a++]){case 22:l[++u]=null;break;case 48:l[++u]=void 0;break;case 33:for(d=n[a++],f=n[a++],o=p;d>0;--d)o=o.p;l[++u]=o[f];break;case 12:for(d=l[u--],f=null;o=v.pop();)if(2===o[0]||3===o[0]){f=o;break}if(f)a=f[2],f[0]=0,v.push(f);else{if(!h)return d;a=h[1],r=h[2],p=h[3],v=h[4],l[++u]=d,h=h[0]}break;case 74:u-=i=n[a++],f=l.slice(u+1,u+i+1),d=l[u--],o=l[u--],d._u===e?(d=d._v,h=[h,a,r,p,v],a=d[0],null==o&&(o=function(){return this}()),r=o,(p=[f].concat(f)).length=Math.min(d[1],i)+1,p.p=d[2],v=[]):(s=d.apply(o,f),l[++u]=s);break;case 0:--u;break;default:throw new Error("ioe")}}catch(y){for(;(i=v.pop())&&!i[0];);if(!i){e:for(;h;){for(d=h[4];i=d.pop();)if(i[0])break e;h=h[0]}if(!h)throw y;a=h[1],r=h[2],p=h[3],v=h[4],h=h[0]}1===(d=i[0])?(a=i[2],i[0]=0,v.push(i),l[++u]=y):2===d?(a=i[2],i[0]=0,v.push(i)):(a=i[3],i[0]=2,v.push(i),l[++u]=y)}}(i,[],0,a,c)}("504B010185868188000000008b83868500000009162101004a0000300c0000",{get 0(){return Wr}},void 0);var an=["module"],cn="danger_d_speed";var tn={stall_penalty:11,switch_penalty:4,interval:1e3,startInterval:1e3,decodeUnderflowBuffer:1,decodeUnderflowMode:1,decodeUnderflowCount:1},bn=function(){return _e((function e(a,c,t,b){var r=this,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{logger:function(){},openLog:!1};ye(this,e),this._wasmPromise=new en,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=a,this.segment_duration=b||5e3,this.logger=function(){for(var e=arguments.length,a=new Array(e),c=0;c<e;c++)a[c]=arguments[c];n.logger.apply(n,["abr(".concat(r.uuid,")::")].concat(a))},this.openLog=n.openLog,this.autoBitrateOpts=Object.assign({},tn,a.autoBitrateOpts),this.stall_penalty=this.autoBitrateOpts.stall_penalty,this.switch_penalty=this.autoBitrateOpts.switch_penalty,this.interval=this.autoBitrateOpts.interval;var i=a.progressTimer||1e3,d=this.autoBitrateOpts.startInterval||i;this.initInterval=.8*d,this._preloadMethod=a.preloadmethod||0,this._videoWidth=0,this._videoHeight=0,this._maxDefinition=this.autoBitrateOpts.maxDefinition||null,this._underflowDefinition=this.autoBitrateOpts.underflowDefinition||null,this.updateBitrate(c),this.updateMediaInfos(t,!1)}),[{key:"_onLoadWasm",value:function(){var e=this,a=this.autoBitrateOpts.module,c=this.autoBitrateOpts;c.module;var t=Ie(c,an),b=this.autoBitrateOpts.isClassic||!1;a&&(b?this.module=new a(Ae({promise:this._wasmPromise},t)):a(this.module={onRuntimeInitialized:function(){e._wasmPromise.resolve()}}));return this._wasmPromise}},{key:"updateMediaInfos",value:function(e){var a=this,c=!(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 c,t;null===(c=a._heightToDefinitionConfig)||void 0===c||c.set(e.height||e.vheight,e);var b,r=e.bandwidth||e.bitrate;(r<a._minBitrate&&(a._minBitrate=r),null===(t=a._bitrateToDefinitionConfig)||void 0===t||t.set(r,e),e.definition)&&(null===(b=a._definitionToDefitionConfig)||void 0===b||b.set(e.definition,e))})),this._maxDefinition&&(this._defaultMaxBitrate=this._getBitrate(this._maxDefinition)),this._underflowDefinition&&(this._underflowBitrate=this._getBitrate(this._underflowDefinition)),this.mediaInfos=e):c&&console.error("baseAbr mediaInfos null")}},{key:"_getBitrate",value:function(e){var a;return(null===(a=this._definitionToDefitionConfig)||void 0===a||null===(a=a.get(e))||void 0===a?void 0:a.bandwidth)||-1}},{key:"transformMediaInfo",value:function(){if(this.setDebugModel(this.openLog),this.mediaInfos){this.logger("mediaInfos",this.mediaInfos);try{for(var e,a=[],c=this.mediaInfos.dynamic_video_list,t=0;t<c.length;t++){var b=c[t];this._isCurrentHDR===!!b.isHDR&&a.push({stream_id:"s".concat(t),bandwidth:b.bitrate||b.bandwidth,width:b.vwidth||b.width,height:b.vheight||b.height,codec:b.codecs||b.codec_type||"h264",frame_rate:Number(b.fps)||-1,segment_duration:this.segment_duration,definition:b.qualityType,gearName:b.gearName})}var r={v_adaptation:a},n=JSON.stringify(r);null===(e=this.module)||void 0===e||e.ccall("parseMPD","null",["string"],[n])}catch(Cn){}}else console.warn("mediaInfos is null")}},{key:"_getDefaultSpeed",value:function(e){var a=0,c=navigator.connection;if(c&&c.downlink)a=1024*c.downlink/8,this.logger("initSpeed connect",a);else try{a=parseFloat(Zr.getItem(cn)||"")||0,this.logger("initSpeed connect",a)}catch(Cn){}return 0===a&&(a=e&&e.historyAvspeed||0,this.logger("initSpeed history",a)),a}},{key:"setDebugModel",value:function(e){var a,c;null===(a=this.module)||void 0===a||null===(c=a._setDebugModel)||void 0===c||c.call(a,e)}},{key:"updateBitrate",value:function(e){var a,c,t=this;(this.bitrate=e,e>0)&&(this.module?null===(a=(c=this.module).updateBitrate)||void 0===a||a.call(c,e):this.readyPromise().then((function(){var a,c;null===(a=t.module)||void 0===a||null===(c=a.updateBitrate)||void 0===c||c.call(a,e)})))}},{key:"getPreloadBitrate",value:function(){return null}},{key:"_updateDeviceInfo",value:function(e){try{if(this._hasDeviceInfoChanged){var a,c=window.devicePixelRatio||1;null===(a=this.module)||void 0===a||a._updateDeviceInfo(this._videoWidth||Number(this.config.width),this._videoHeight||Number(this.config.height),c,e||-1)}this._hasDeviceInfoChanged=!1}catch(Cn){}}},{key:"readyPromise",value:function(){return this._wasmPromise}}])}();bn.SPPED_CACHE=cn;var rn=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}(rn||{}),nn={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"},dn=function(e){function a(e,c,t,b,r){var n,i,d,f,o,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{logger:function(){},openLog:!1};ye(this,a),(n=ve(this,a,[c,t,b,r,s]))._bufferRange=new Map,n._sortedBufferRange=[],n._lastCheckResolutionStamp=0,n._currentDefinition=null,n._isSeeking=!1,n._waitingStartTime=0,n._stallCount=0,n._seekState=0,n._stallState=0,n._videoCurrentTime=0,n._hasStart=!1,n._isPaused=!1,n._hasAddFragment=!1,n._eventInfo={local_time_ms:0,internet_speed:0,buffer_length:0,last_bitrate:0,now_bitrate:0,play_speed:1},n._bitrateSet=[],n._generalInfo={},n._currentInAbr=!1,n._hasCalcTimelineLog=!1,n._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:[]}},n._tickCount=0,n._fps=30,n.startTime=performance.now(),n._prevDefinitionItem=null,n._currentItem=null,n._switchCount=0,n._switchBitrate=0,n._avgStatItems={},n._qoeArgs=[0,0,0,0],n._abrUsed=-1,n._abrAlwaysOn=1,n._preloadInfo=null,n._hasLogStartInfo=!1,n._hasExecuteAbrAlgo=!1,n._lastExecuteTimeInMs=0,n._isSegmentDrive=!1,n._prevCurrentTime=-1,n._abrChangeTimeMap={},n._underFlowDecodeCount=0,n._onSegmentPredict=function(e){if(n.isCurrentInAbr&&n._isSegmentDrive){var a=Math.floor(n.player.downloadSpeed);e.isInitSegment||"video"!==e.mediaType||n._loopAbr(a,e.start,e.fix?e.end:0,e)}},n._onPlay=function(){n._hasStart=!0,n.logger("onplay")},n._onSeeking=function(){var e,a;n._isSeeking=!0,n.player.currentTime<n._videoCurrentTime?n._seekState=-1:n._seekState=1,null===(e=n.module)||void 0===e||null===(a=e._updateSeekInfo)||void 0===a||a.call(e,n._seekState),n.logger("seekState",n._seekState)},n._onSeekEnd=function(){n._isSeeking=!1,n.checkRestart()},n._onWaiting=function(){if(!(n._isSeeking||n._waitingStartTime>0)){for(var e=n.player.video.buffered,a=n.player.currentTime,c=!0,t=0;t<e.length;t++){var b=e.start(t),r=e.end(t);if(b<=a&&a<r-(n.autoBitrateOpts.decodeUnderflowBuffer||1)&&n.player.readyState<HTMLVideoElement.HAVE_ENOUGH_DATA){n._underFlowDecodeCount++,c=!1;break}}var i=n._underFlowDecodeCount>=(n.autoBitrateOpts.decodeUnderflowCount||1),d=n._defaultMaxBitrate>0||n._underflowBitrate>0,f=1===n.autoBitrateOpts.decodeUnderflowMode&&n._isSegmentDrive;if(i&&(d||f)){var o=!0;if(f){var s=n._maxBitrate;n._maxBitrate=n._minBitrate,o=n._maxBitrate!==s}n.player.emit("ABR_LIMIT_BITRATE",{removed:o}),n._underflowBitrate>0&&(n._maxBitrate=n._underflowBitrate)}n._waitingStartTime=(new Date).getTime(),n._stallId=setTimeout((function(){var e,a;clearTimeout(n._stallId),n._stallCount++,n._stallState=1,null===(e=n.module)||void 0===e||null===(a=e.updateWaitingState)||void 0===a||a.call(e,c)}),200)}},n._onPlaying=function(){n._waitingStartTime=0,n._stallState=0,clearTimeout(n._stallId),n.checkRestart()},n._onTimeUpdate=function(e){var a=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(n._sortedBufferRange&&0!==n._sortedBufferRange.length&&n._currentInAbr&&n.player){n._videoCurrentTime=n.player.currentTime;var c=Date.now();if(!(c-n._lastCheckResolutionStamp<1e3&&0!==n._lastCheckResolutionStamp)||a){n._lastCheckResolutionStamp=c;for(var t=n.player.currentTime,b=0,r=n._sortedBufferRange.length-1,i=null;b<=r;){var d=Math.floor(b+(r-b)/2),f=n._sortedBufferRange[d];if(t<f.start)r=d-1;else{if(!(t>=f.end)){i=f;break}b=d+1}}if(i){var o,s=null===(o=n._bitrateToDefinitionConfig)||void 0===o?void 0:o.get(i.bandwidth),u=null==s?void 0:s.definition;if(n._currentDefinition===u&&!a||!u)return void(u||n.logger("error definition, mpd配置与接口配置不一致"));n._currentDefinition=u,n._prevDefinitionItem=n._currentItem,n._currentFps=s.fps,n._currentItem=s,n._emitAutoDescChange(u,!1,n._currentFps,s),n._prevDefinitionItem&&n._currentDefinition&&n._prevDefinitionItem.definition!==n._currentDefinition.definition&&n._emitDefinitionRealChange(i)}}}},n._onCanPlay=function(){n._currentInAbr&&n._currentDefinition&&(n._updateId=setTimeout((function(){clearTimeout(n._updateId),n._emitAutoDescChange(n._currentDefinition,!1,n._currentFps,n._currentItem)}),0))},n._onBufferRangeUpdate=function(e){if(void 0!==e.start){null===n._currentItem&&n._onTimeUpdate(null,!0);var a=e.start;n._hasAddFragment=!0,n._bufferRange.set(a,e);var c=Le(n._bufferRange.values());n._sortedBufferRange=c.sort((function(e,a){return e.start-a.start})),n.avgStat(nn.DOWNLOAD_BITRATE,e.bandwidth)}},n._onReplay=function(){n.checkRestart()},n._onEnded=function(){n.stop()},n._onError=function(){n.stop()},n.start=function(){if(n.logger("start"),n._isPaused=!1,!n._hasCalcTimelineLog){var e=1===Math.floor(100*Math.random());n._abr_play_info.is_hint=e?1:0}n._hasCalcTimelineLog=!0,n._loop()},n.stop=function(){!0===(arguments.length>0&&void 0!==arguments[0]&&arguments[0])&&(n._abrAlwaysOn=-1),clearTimeout(n.timerId),n._isPaused=!0,n.logger("stop")},n.logger("constructor",c,t,b,r,n.bitrate),n.player=e,n.isOpenAutoDefi=!!n.autoBitrateOpts.isOpenAutoDefi,n._isSegmentDrive=1===n.autoBitrateOpts.abrDriveMode,n.onPlayRateChange=n._onPlayrateChange.bind(n),n._onWinSizeChange=(i=n.onWinElemSizeChange.bind(n),d=1e3,f=!1,function(){for(var e=this,a=arguments.length,c=new Array(a),t=0;t<a;t++)c[t]=arguments[t];var b=c,r=f&&!o;clearTimeout(o),o=setTimeout((function(){o=null,f||i.apply(e,b)}),d),r&&i.apply(e,b)}),n._maxDefinition=n.autoBitrateOpts.maxDefinition||null,n._maxBitrate=-1,n.listeners=[{evt:"MAX_BUFFER_CHANGE",handler:n._onMaxBufferChange.bind(n)},{evt:"playbackrateChange",handler:n.onPlayRateChange},{evt:"replay",handler:n._onReplay},{evt:"ended",handler:n._onEnded},{evt:"error",handler:n._onError},{evt:"timeupdate",handler:n._onTimeUpdate},{evt:"addVideoBufferEnd",handler:n._onBufferRangeUpdate},{evt:"canplay",handler:n._onCanPlay},{evt:"play",handler:n._onPlay},{evt:"seeking",handler:n._onSeeking},{evt:"seeked",handler:n._onSeekEnd},{evt:"waiting",handler:n._onWaiting},{evt:"playing",handler:n._onPlaying},{evt:"video_resize",handler:n._onWinSizeChange},{evt:"NEXT_SEGMENT_PREDICT",handler:n._onSegmentPredict}],n.listeners.forEach((function(e){var a=e.evt,c=e.handler;n.player.on(a,c)})),n._abrMethod=n.autoBitrateOpts.method||0,n._loopInterval=n.initInterval,Xr.install(),n._maxCacheTimeVideo=n.config.preloadTime||5,n._maxCacheTimeAudio=n._maxCacheTimeVideo;for(var u=Object.keys(nn),l=0;l<u.length;l++){var h=u[l],p=nn[h];n._avgStatItems[p]=new fn}return n}return we(a,e),_e(a,[{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 Xr,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,a,c=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(a=this.player)||void 0===a?void 0:a.video);if(c){var t=c.getBoundingClientRect();this._videoWidth=Math.floor(t.width),this._videoHeight=Math.floor(t.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 a=e.videoCacheTime,c=e.audioCacheTime;this._maxCacheTimeAudio=c,this._maxCacheTimeVideo=a}},{key:"_emitAutoDescChange",value:function(e,a,c,t){var b;this.logger("[ABR],emitAutoDescChange, definition, ",e,",item,",t,",pre_item,",this._prevDefinitionItem),null===(b=this.player)||void 0===b||b.emit("UPDATE_AUTO_DESC",{definition:e,reset:a,fps:c,item:t,pre_item:this._prevDefinitionItem})}},{key:"_emitDefinitionRealChange",value:function(e){var a,c=0,t=e.start;this._abrChangeTimeMap[t]&&(this._abrChangeTimeMap[t]=0,delete this._abrChangeTimeMap[t],c=1),null===(a=this.player)||void 0===a||a.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:c})}},{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 a=!!this.autoBitrateOpts.isPlayAutoDefi;if(this.isOpenAutoDefi&&a){this._abrUsed=1;var c=this._getDefaultSpeed(this.player);this._isSegmentDrive||(e=this._loopAbr(c)),this.start(),this._changeLoopInterval(),this.logger("time start progress",(new Date).getTime()),this.logger("time costTime",performance.now()-this.startTime)}}catch(Cn){this.logger("decision error",Cn),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 a,c=e.player,t=e.config;if(e._hasStart&&null!==(a=t.autoBitrateOpts)&&void 0!==a&&a.stillRunWhenPaused||!c.paused||!c.config.autoplay&&!e._hasStart){var b=e._hasAddFragment?void 0:e._getDefaultSpeed(c);e._loopAbr(b)}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(Cn){}}},{key:"updateBufferInfo",value:function(e){var a,c,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,b=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=this.player.playbackRate,n=this.bufferLength;b>0&&(this.player&&(n=b-this.player.video.currentTime));var i=e||Math.floor(this.player.downloadSpeed);this._tickCount<5&&0===i&&(i=this._getDefaultSpeed(this.player),this.logger("initSpeed fix"));var d=-1===this._maxBitrate?this._defaultMaxBitrate:this._maxBitrate;return this.logger("downloadSpeed:",i,"buffer:",n,"maxCacheTimeAudio:",this._maxCacheTimeAudio,"maxCacheVideoTime",this._maxCacheTimeVideo,"seekState",this._seekState,"stallState",this._stallState,"segmentBufferStart",t,"segmentBufferEnd",b),null===(a=this.module)||void 0===a||a._updateBufferInfo(r,this._maxCacheTimeAudio,this._maxCacheTimeVideo,n,this._isSegmentDrive?b:n,i,this._seekState,null===(c=this.player)||void 0===c?void 0:c.currentTime,this._stallState,d),this._seekState=0,this._eventInfo={internet_speed:i,buffer_length:n,last_bitrate:this.bitrate,play_speed:r},this.logger("playRate:",r,"buff:",n,"downloadSpeed:",i),{buffer:n,downloadSpeed:i}}},{key:"updateSwitchInfo",value:function(){var e,a,c=(new Date).getTime();this._openTimeMs=c,this._abr_play_info.start_play_time_ms=c;var t,b,r=(null===(e=this.player)||void 0===e?void 0:e.config.preloadTime)||50,n=(b=(t=c).toString(16)).length<=8?{high:0,low:t}:{high:parseInt(b.substr(0,b.length-8),16),low:parseInt(b.substr(b.length-8),16)},i=this.autoBitrateOpts.noStallCheckTime||5,d=this.openLog;this.logger("openTime:",c,"this.logger",d),null===(a=this.module)||void 0===a||a._updateSwitchInfo(n.low,n.high,i,d,this.stall_penalty,this.switch_penalty);var f=this._mediaList.video,o=f.map((function(e){var a=e.bandwidth,c=e.bitrate;return a||c}));this._bitrateSet=o.map((function(e,a){return{bitrate:e,codecs:f[a].codecs||f[a].codec_type||""}})),this._generalInfo={max_cache_time:r,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(a){this.logger("updatePreloadCacheInfo",a),this._preloadInfo=null}}},{key:"updatePreloadLogInfo",value:function(e){this._generalInfo.preload_info=e||{}}},{key:"_loopAbr",value:function(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};this._tickCount++;var b=-1,r=[];if(!this.module||!this.player)return this.bitrate;try{var n,i=(new Date).getTime(),d=this.player;this.updateDeviceInfo();var f=this.updateBufferInfo(e,a,c),o=f.downloadSpeed,s=f.buffer;if(this.module.updateDropFrame&&d.video.getVideoPlaybackQuality){var u,l=d.video.getVideoPlaybackQuality(),h=l.droppedVideoFrames/l.totalVideoFrames;null===(u=this.module)||void 0===u||u.updateDropFrame(h)}b=this.module._getPredictedBitrate(this.bitrate,this._abrMethod);for(var p=0;p<7;p++)r.push(this.module.HEAP32[b/Int32Array.BYTES_PER_ELEMENT+p]);var v=r[0],y=1===r[1];this._eventInfo.now_bitrate=v,this._eventInfo.local_time_ms=(new Date).getTime();var m=0;if(v!==this.bitrate&&0!==v||this.autoBitrateOpts.reportVerboseAbrLog){var g=this.player.currentTime;if(this.module.getStat){var _=this.module.getStat();d.emit("ABR_STAT",Ae(Ae({v_time:g,diff_current_position:-1===this._prevCurrentTime?0:g-this._prevCurrentTime,net_speed:8*o,costTime:(new Date).getTime()-i,download_time:null==t?void 0:t.costTime},_),{},{gop_size:null==t?void 0:t.gopSize,audio_buffer:null==t?void 0:t.audioBuffer})),this._abrChangeTimeMap[_.download_position]=1}this._prevCurrentTime=g}if(v!==this.bitrate&&0!==v){var k=this.bitrate;m=Math.abs(k-v);for(var E=[],S=(d.media||d.video).buffered,w=0;w<S.length;w++)E.push({start:S.start(w),end:S.end(w)});var x=this._videoWidth||Number(this.config.width),T=this._videoHeight||Number(this.config.height),A=(new Date).getTime(),I={speed:"".concat(o," KB/s"),buffer_length:"".concat(s," s"),video_pos:d.currentTime,all_buffers:E,seek_state:this._seekState,stall_state:this._stallState,screen_width:x,screen_height:T,dpr:window&&window.devicePixelRatio,playbackRate:d.playbackRate,bitrateSet:this._bitrateSet,abrMethod:this._abrMethod,delta:this._hasExecuteAbrAlgo?A-this._lastExecuteTimeInMs:0};this._lastExecuteTimeInMs=A,this._hasExecuteAbrAlgo=!0,this.logger("abr predicate: ".concat(v,", prevBitrate: ").concat(k,","),"willStall: ".concat(y,", switchBitrate: ").concat(m)),this.updateBitrate(v),d.emit("ABR_CHANGE_A",k,v,y,JSON.stringify(I))}this._hasLogStartInfo||(this._hasLogStartInfo=!0,this._generalInfo.startup_info={predict_bitrate:v,download_speed:o,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===(n=this.player)||void 0===n||n.emit("ABR_LOOP"),this.onAbrLoop(o,r[2],m,r.slice(3))}catch(Cn){this.logger("abr error",Cn),console.error("loopAbr error",Cn)}finally{b>-1&&this.module._free(b)}return this.bitrate}},{key:"destroy",value:function(){var e,a=this;this.stop(),this.listeners.forEach((function(e){var c,t=e.evt,b=e.handler;null===(c=a.player)||void 0===c||c.off(t,b)})),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,a,c=(null===(e=this.player)||void 0===e?void 0:e.getBufferedRange())||[],t=((null===(a=this.player)||void 0===a?void 0:a.video)||{currentTime:0}).currentTime,b=c[1]-Math.max(c[0],t),r=Math.max(0,b).toFixed(2);return parseFloat(r)}},{key:"downloadSpeed",get:function(){return Math.floor(this.player.downloadSpeed)}},{key:"nowBitrate",get:function(){return this.bitrate}},{key:"openTimeMs",get:function(){return this._openTimeMs}},{key:"isCurrentInAbr",get:function(){return this._currentInAbr},set:function(e){this._currentInAbr=e}},{key:"isCurrentHDR",get:function(){return this._isCurrentHDR},set:function(e){this._isCurrentHDR=e}},{key:"onAbrLoop",value:function(e){var a,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,b=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];if(this._qoeArgs=b,this._currentItem&&this.avgStat(nn.PLAYBACK_BITRATE,this._currentItem.bitrate),this.avgStat(nn.DOWNLOAD_NETWORK_SPEED,1e3*e*8),this.avgStat(nn.PREDICT_NETWORK_SPEED,c),this.avgStat(nn.BUFFER_LENGTH,this.bufferLength),this.avgStat(nn.QOE,this.getQoeRelValue(0)),t>0&&(this._switchCount++,this._switchBitrate+=t),this._abr_play_info.is_hint){var r=((new Date).getTime()-this.openTimeMs)/1e3;r=parseFloat(r.toFixed(2)),this._abr_play_info.playback_info.internet_speed_record.push([r,this.downloadSpeed]),this._abr_play_info.playback_info.play_bitrate_record.push([r,this.nowBitrate]),this._abr_play_info.playback_info.buffer_length_record.push([r,this.bufferLength]),this._abr_play_info.playback_info.play_speed_record.push([r,(null===(a=this.player)||void 0===a?void 0:a.playbackRate)||-1]),this._abr_play_info.playback_info.qoe_record.push([r,this.getQoeRelValue(0)]),this._abr_play_info.playback_info.qoe_a_record.push([r,this.getQoeRelValue(1)]),this._abr_play_info.playback_info.qoe_b_record.push([r,this.getQoeRelValue(2)]),this._abr_play_info.playback_info.qoe_c_record.push([r,this.getQoeRelValue(3)])}}},{key:"getQoeRelValue",value:function(e){return this._qoeArgs[e]/100}},{key:"avgStat",value:function(e,a){var c=this._avgStatItems[e];c&&c.add(a)}},{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 a;this.segment_duration=e,null!==(a=this.module)&&void 0!==a&&a.updateSegmentDuration&&this.module.updateSegmentDuration(e)}},{key:"getAbrVVStats",value:function(){for(var e={},a=Object.keys(nn),c=0;c<a.length;c++){var t=a[c],b=nn[t],r=this._avgStatItems[b];e[b]=r.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}}])}(bn),fn=function(){return _e((function e(){ye(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,a){function c(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var t,b=0,r=[];for(t=0;t<4;++t)b+=(3&parseInt(e.slice(8+2*t,10+2*t),16))<<2*t;var n=parseInt(e.slice(16,24),16),i=2*parseInt(e.slice(32,40),16);for(t=40;t<i+40;t+=2)r.push(parseInt(e.slice(t,t+2),16));var d=i+40,f=parseInt(e.slice(d,d+4),16);for(d+=4,t=0;t<f;++t){var o=c(e,d);d+=2*o[0];for(var s=0;s<o[1];++s){var u=c(e,d);String.fromCharCode(b^u[1]),d+=2*u[0]}}a.p=null,function(e,a,c,t){var b,n,i,d,f=-1,o=[],s=null,u=[a];for(n=Math.min(a.length,0),i=0;i<n;++i)u.push(a[i]);u.p=t;for(var l=[];;)try{switch(r[e++]){case 48:o[++f]=void 0;break;case 12:for(n=o[f--],i=null;d=l.pop();)if(2===d[0]||3===d[0]){i=d;break}if(i)e=i[2],i[0]=0,l.push(i);else{if(!s)return n;e=s[1],s[2],u=s[3],l=s[4],o[++f]=n,s=s[0]}break;default:throw new Error("ioe")}}catch(h){for(;(b=l.pop())&&!b[0];);if(!b){e:for(;s;){for(n=s[4];b=n.pop();)if(b[0])break e;s=s[0]}if(!s)throw h;e=s[1],s[2],u=s[3],l=s[4],s=s[0]}1===(n=b[0])?(e=b[2],b[0]=0,l.push(b),o[++f]=h):2===n?(e=b[2],b[0]=0,l.push(b)):(e=b[3],b[0]=2,l.push(b),o[++f]=h)}}(n,[],0,a)}("504B010185868188000000008b83868500000002300c0000",{});var on=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(a){return!0}}(),sn=function(){if(on)try{return!!window.localStorage.getItem("playerlog")}catch(e){return!1}return!1}();!function(){if(on)try{return!!window.localStorage.getItem("playertestlog")}catch(e){return!1}}();var un={1:"debug",2:"log",3:"warn",4:"error"};function ln(e,a,c){for(var t=un[a],b=arguments.length,r=new Array(b>3?b-3:0),n=3;n<b;n++)r[n-3]=arguments[n];if(t&&e&&e[t])e[t].apply(e,[c].concat(r));else if(sn&&console.log){var i;(i=console).log.apply(i,["[logger]",c].concat(r))}}function hn(e,a,c){for(var t=arguments.length,b=new Array(t>3?t-3:0),r=3;r<t;r++)b[r-3]=arguments[r];if(1===arguments.length)ln(console,2,e);else ln.apply(void 0,[e,2,c||""].concat(b))}function pn(e){return"auto"===e||"自动"===e}var vn=function(){return _e((function e(a,c){var t=this;ye(this,e),this._startPlay=!1,this.bitrateMap={},this.defIdMap={},this.canplayHandler=function(){t._startPlay=!0},this.updateABRDownSpeed=function(e){e.eventName===qb.SPEED&&(t._abrInstance.updateBufferInfo(),t._abrInstance.getPreloadBitrate())},this._onAbrChange=function(e,a,c,b){var r=t._plugin,n=r.player,i=r.core,d=t.bitrateMap[e],f=t.bitrateMap[a],o=null==d?void 0:d.definition,s=f&&f.definition?f.definition:o,u=n.getBufferedRange(),l=Array.isArray(u)?u[1]:n.currentTime;null===(null==i?void 0:i.abrSwitchPoint)||o===s||!t._startPlay||n.duration>0&&n.duration-l<2?t.abrInstance.bitrate!==e&&t.abrInstance.updateBitrate(e):(t._abrSwitchHandler(f),n.emit("ABR_CHANGE",{prev:o,cur:s,prevName:d.definitionName,curName:f.definitionName,abrInfo:b}))},this._onAutoDescChange=function(e){var a=e.definition,c=e.reset,b=e.fps,r=e.item;t.updateAutoDefiDesc(a,c,b,r)};var b=a.player;this._plugin=a,this._abrSwitchHandler=c;var r=a.config.autoBitrateOpts||{};this.isPlayAutoDef=!!r.isPlayAutoDefi,this.isOpenAutoDef=!!r.isOpenAutoDefi,this.isCurrentAutoDef=this.isOpenAutoDef&&this.isPlayAutoDef,b.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(De().mark((function e(a){var c,t,b,r,n,i=this;return De().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 c=this._plugin,t=c.player,b=c.config,r=b.autoBitrateOpts||{},t.on(rn.UPDATE_AUTO_DESC,this._onAutoDescChange),t.on(rn.ABR_CHANGE,this._onAbrChange),this.bitrateMap={},this.defIdMap={},n=a.video.map((function(e){return{bandwidth:e.bitrate,height:e.height,width:e.width,codecs:e.codecs,definition:e.definition}})),"boolean"!=typeof r.autoRestartAbr&&(r.autoRestartAbr=!0),"boolean"!=typeof r.stillRunWhenPaused&&(r.stillRunWhenPaused=!0),this._abrInstance=new dn(t,b,0,{dynamic_video_list:Le(n)},5e3,{logger:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];hn.apply(void 0,[i._plugin.logger,1,e].concat(c))},openLog:sn}),e.next=14,this._abrInstance.init(a);case 14:this._abrInstance.isCurrentInAbr=this.isCurrentAutoDef;case 15:case"end":return e.stop()}}),e,this)}))),function(a){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 a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:void 0,b=this._plugin,r=b.player,n=(b.config.autoBitrateOpts||{}).autoDefiText||"auto";this.curDefinition={definition:"自动 ".concat(e),item:t},r.emit("ABR_AUTO_DESC_CHANGE",n,a?void 0:e,c,t)}},{key:"updateAbrCacheData",value:function(){var e,a=this,c=this._plugin,t=c.player,b=c.config,r=c.playerConfig,n=b.autoBitrateOpts||{},i=(null===(e=r.definition)||void 0===e?void 0:e.list)||[],d=!1;if(i.forEach((function(e){var c=a.isAutoDefValue(e.definition);c&&(d=!0),e.bitrate&&(c||a.bitrateMap[e.bitrate]||(a.bitrateMap[e.bitrate]={url:e.url,definition:e.definition,definitionName:e.text},a.defIdMap[e.definition]={bitrate:e.bitrate,definition:e.definition}))})),this.isOpenAutoDef&&!d&&r.definition&&t.curDefinition){var f,o=n.autoDefiText||"auto",s={definition:"auto",bitrate:t.curDefinition.bitrate,text:o,url:"__auto__",selected:this.isPlayAutoDef,name:"自动",vwidth:t.curDefinition.vwidth,vheight:t.curDefinition.vheight};null===(f=r.definition)||void 0===f||f.list.push(s)}}},{key:"isAutoDefValue",value:function(e){return pn(e)}},{key:"destroy",value:function(){var e=this._plugin.player;e.off(rn.ABR_CHANGE,this._onAbrChange),e.off("playing",this.canplayHandler),e.off("core_event",this.updateABRDownSpeed),this._abrInstance&&(e.off(rn.UPDATE_AUTO_DESC,this._onAutoDescChange),this._abrInstance.destroy()),this.defIdMap={},this.bitrateMap={}}}]);var e}();function yn(e){e.root&&ue.Util.addClass(e.root,"xgplayer-is-enter")}function mn(e){e.root&&ue.Util.removeClass(e.root,"xgplayer-is-enter")}function gn(e,a,c){if(e&&a&&c){var t=Object.getOwnPropertyDescriptor(e,a);null!=t&&t.configurable?delete e[a]:t&&!t.writable||(e[a]=c)}}var _n=function(e){var a={};function c(t){if(a[t])return a[t].exports;var b=a[t]={i:t,l:!1,exports:{}};return e[t].call(b.exports,b,b.exports,c),b.l=!0,b.exports}return c.m=e,c.c=a,c.d=function(e,a,t){c.o(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:t})},c.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,a){if(1&a&&(e=c(e)),8&a)return e;if(4&a&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(c.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&a&&"string"!=typeof e)for(var b in e)c.d(t,b,function(a){return e[a]}.bind(null,b));return t},c.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(a,"a",a),a},c.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},c.p="",c(c.s=22)}([function(e,a,c){var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)},function(e,a,c){var t=c(12)("wks"),b=c(13),r=c(0).Symbol,n="function"==typeof r;(e.exports=function(e){return t[e]||(t[e]=n&&r[e]||(n?r:b)("Symbol."+e))}).store=t},function(e,a,c){var t=e.exports={version:"2.6.12"};"number"==typeof __e&&(__e=t)},function(e,a,c){var t=c(4);e.exports=function(e){if(!t(e))throw TypeError(e+" is not an object!");return e}},function(e,a,c){var 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.exports=function(e){return"object"===(void 0===e?"undefined":t(e))?null!==e:"function"==typeof e}},function(e,a,c){var t=c(6);e.exports=function(e,a,c){if(t(e),void 0===a)return e;switch(c){case 1:return function(c){return e.call(a,c)};case 2:return function(c,t){return e.call(a,c,t)};case 3:return function(c,t,b){return e.call(a,c,t,b)}}return function(){return e.apply(a,arguments)}}},function(e,a,c){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,a,c){e.exports=!c(15)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,a,c){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},function(e,a,c){var t=c(3),b=c(26),r=c(27),n=Object.defineProperty;a.f=c(7)?Object.defineProperty:function(e,a,c){if(t(e),a=r(a,!0),t(c),b)try{return n(e,a,c)}catch(i){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(e[a]=c.value),e}},function(e,a,c){e.exports=!1},function(e,a,c){var t=c(8),b=c(1)("toStringTag"),r="Arguments"==t(function(){return arguments}());e.exports=function(e){var a,c,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(c=function(e,a){try{return e[a]}catch(c){}}(a=Object(e),b))?c:r?t(a):"Object"==(n=t(a))&&"function"==typeof a.callee?"Arguments":n}},function(e,a,c){var t=c(2),b=c(0),r=b["__core-js_shared__"]||(b["__core-js_shared__"]={});(e.exports=function(e,a){return r[e]||(r[e]=void 0!==a?a:{})})("versions",[]).push({version:t.version,mode:c(10)?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(e,a,c){var t=0,b=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++t+b).toString(36))}},function(e,a,c){var t=c(9),b=c(28);e.exports=c(7)?function(e,a,c){return t.f(e,a,b(1,c))}:function(e,a,c){return e[a]=c,e}},function(e,a,c){e.exports=function(e){try{return!!e()}catch(a){return!0}}},function(e,a,c){var t=c(4),b=c(0).document,r=t(b)&&t(b.createElement);e.exports=function(e){return r?b.createElement(e):{}}},function(e,a,c){var t=c(0),b=c(14),r=c(18),n=c(13)("src"),i=c(29),d=(""+i).split("toString");c(2).inspectSource=function(e){return i.call(e)},(e.exports=function(e,a,c,i){var f="function"==typeof c;f&&(r(c,"name")||b(c,"name",a)),e[a]!==c&&(f&&(r(c,n)||b(c,n,e[a]?""+e[a]:d.join(String(a)))),e===t?e[a]=c:i?e[a]?e[a]=c:b(e,a,c):(delete e[a],b(e,a,c)))})(Function.prototype,"toString",(function(){return"function"==typeof this&&this[n]||i.call(this)}))},function(e,a,c){var t={}.hasOwnProperty;e.exports=function(e,a){return t.call(e,a)}},function(e,a,c){e.exports={}},function(e,a,c){var t,b,r,n=c(5),i=c(38),d=c(39),f=c(16),o=c(0),s=o.process,u=o.setImmediate,l=o.clearImmediate,h=o.MessageChannel,p=o.Dispatch,v=0,y={},m=function(){var e=+this;if(y.hasOwnProperty(e)){var a=y[e];delete y[e],a()}},g=function(e){m.call(e.data)};u&&l||(u=function(e){for(var a=[],c=1;arguments.length>c;)a.push(arguments[c++]);return y[++v]=function(){i("function"==typeof e?e:Function(e),a)},t(v),v},l=function(e){delete y[e]},"process"==c(8)(s)?t=function(e){s.nextTick(n(m,e,1))}:p&&p.now?t=function(e){p.now(n(m,e,1))}:h?(r=(b=new h).port2,b.port1.onmessage=g,t=n(r.postMessage,r,1)):o.addEventListener&&"function"==typeof postMessage&&!o.importScripts?(t=function(e){o.postMessage(e+"","*")},o.addEventListener("message",g,!1)):t="onreadystatechange"in f("script")?function(e){d.appendChild(f("script")).onreadystatechange=function(){d.removeChild(this),m.call(e)}}:function(e){setTimeout(n(m,e,1),0)}),e.exports={set:u,clear:l}},function(e,a,c){var t=c(6);function b(e){var a,c;this.promise=new e((function(e,t){if(void 0!==a||void 0!==c)throw TypeError("Bad Promise constructor");a=e,c=t})),this.resolve=t(a),this.reject=t(c)}e.exports.f=function(e){return new b(e)}},function(e,a,c){e.exports=c(23)},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),c(24);var t,b=(t=c(48))&&t.__esModule?t:{default:t};a.default={url:b.default},e.exports=a.default},function(e,a,c){var t,b,r,n,i=c(10),d=c(0),f=c(5),o=c(11),s=c(25),u=c(4),l=c(6),h=c(30),p=c(31),v=c(37),y=c(20).set,m=c(40)(),g=c(21),_=c(41),k=c(42),E=c(43),S=d.TypeError,w=d.process,x=w&&w.versions,T=x&&x.v8||"",A=d.Promise,I="process"==o(w),D=function(){},O=b=g.f,R=!!function(){try{var e=A.resolve(1),a=(e.constructor={})[c(1)("species")]=function(e){e(D,D)};return(I||"function"==typeof PromiseRejectionEvent)&&e.then(D)instanceof a&&0!==T.indexOf("6.6")&&-1===k.indexOf("Chrome/66")}catch(t){}}(),L=function(e){var a;return!(!u(e)||"function"!=typeof(a=e.then))&&a},C=function(e,a){if(!e._n){e._n=!0;var c=e._c;m((function(){for(var t=e._v,b=1==e._s,r=0,n=function(a){var c,r,n,i=b?a.ok:a.fail,d=a.resolve,f=a.reject,o=a.domain;try{i?(b||(2==e._h&&M(e),e._h=1),!0===i?c=t:(o&&o.enter(),c=i(t),o&&(o.exit(),n=!0)),c===a.promise?f(S("Promise-chain cycle")):(r=L(c))?r.call(c,d,f):d(c)):f(t)}catch(s){o&&!n&&o.exit(),f(s)}};c.length>r;)n(c[r++]);e._c=[],e._n=!1,a&&!e._h&&P(e)}))}},P=function(e){y.call(d,(function(){var a,c,t,b=e._v,r=j(e);if(r&&(a=_((function(){I?w.emit("unhandledRejection",b,e):(c=d.onunhandledrejection)?c({promise:e,reason:b}):(t=d.console)&&t.error&&t.error("Unhandled promise rejection",b)})),e._h=I||j(e)?2:1),e._a=void 0,r&&a.e)throw a.v}))},j=function(e){return 1!==e._h&&0===(e._a||e._c).length},M=function(e){y.call(d,(function(){var a;I?w.emit("rejectionHandled",e):(a=d.onrejectionhandled)&&a({promise:e,reason:e._v})}))},B=function(e){var a=this;a._d||(a._d=!0,(a=a._w||a)._v=e,a._s=2,a._a||(a._a=a._c.slice()),C(a,!0))},U=function e(a){var c,t=this;if(!t._d){t._d=!0,t=t._w||t;try{if(t===a)throw S("Promise can't be resolved itself");(c=L(a))?m((function(){var b={_w:t,_d:!1};try{c.call(a,f(e,b,1),f(B,b,1))}catch(r){B.call(b,r)}})):(t._v=a,t._s=1,C(t,!1))}catch(b){B.call({_w:t,_d:!1},b)}}};R||(A=function(e){h(this,A,"Promise","_h"),l(e),t.call(this);try{e(f(U,this,1),f(B,this,1))}catch(a){B.call(this,a)}},(t=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=c(44)(A.prototype,{then:function(e,a){var c=O(v(this,A));return c.ok="function"!=typeof e||e,c.fail="function"==typeof a&&a,c.domain=I?w.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&C(this,!1),c.promise},catch:function(e){return this.then(void 0,e)}}),r=function(){var e=new t;this.promise=e,this.resolve=f(U,e,1),this.reject=f(B,e,1)},g.f=O=function(e){return e===A||e===n?new r(e):b(e)}),s(s.G+s.W+s.F*!R,{Promise:A}),c(45)(A,"Promise"),c(46)("Promise"),n=c(2).Promise,s(s.S+s.F*!R,"Promise",{reject:function(e){var a=O(this);return(0,a.reject)(e),a.promise}}),s(s.S+s.F*(i||!R),"Promise",{resolve:function(e){return E(i&&this===n?A:this,e)}}),s(s.S+s.F*!(R&&c(47)((function(e){A.all(e).catch(D)}))),"Promise",{all:function(e){var a=this,c=O(a),t=c.resolve,b=c.reject,r=_((function(){var c=[],r=0,n=1;p(e,!1,(function(e){var i=r++,d=!1;c.push(void 0),n++,a.resolve(e).then((function(e){d||(d=!0,c[i]=e,--n||t(c))}),b)})),--n||t(c)}));return r.e&&b(r.v),c.promise},race:function(e){var a=this,c=O(a),t=c.reject,b=_((function(){p(e,!1,(function(e){a.resolve(e).then(c.resolve,t)}))}));return b.e&&t(b.v),c.promise}})},function(e,a,c){var t=c(0),b=c(2),r=c(14),n=c(17),i=c(5),d=function e(a,c,d){var f,o,s,u,l=a&e.F,h=a&e.G,p=a&e.P,v=a&e.B,y=h?t:a&e.S?t[c]||(t[c]={}):(t[c]||{}).prototype,m=h?b:b[c]||(b[c]={}),g=m.prototype||(m.prototype={});for(f in h&&(d=c),d)s=((o=!l&&y&&void 0!==y[f])?y:d)[f],u=v&&o?i(s,t):p&&"function"==typeof s?i(Function.call,s):s,y&&n(y,f,s,a&e.U),m[f]!=s&&r(m,f,u),p&&g[f]!=s&&(g[f]=s)};t.core=b,d.F=1,d.G=2,d.S=4,d.P=8,d.B=16,d.W=32,d.U=64,d.R=128,e.exports=d},function(e,a,c){e.exports=!c(7)&&!c(15)((function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a}))},function(e,a,c){var t=c(4);e.exports=function(e,a){if(!t(e))return e;var c,b;if(a&&"function"==typeof(c=e.toString)&&!t(b=c.call(e)))return b;if("function"==typeof(c=e.valueOf)&&!t(b=c.call(e)))return b;if(!a&&"function"==typeof(c=e.toString)&&!t(b=c.call(e)))return b;throw TypeError("Can't convert object to primitive value")}},function(e,a,c){e.exports=function(e,a){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:a}}},function(e,a,c){e.exports=c(12)("native-function-to-string",Function.toString)},function(e,a,c){e.exports=function(e,a,c,t){if(!(e instanceof a)||void 0!==t&&t in e)throw TypeError(c+": incorrect invocation!");return e}},function(e,a,c){var t=c(5),b=c(32),r=c(33),n=c(3),i=c(34),d=c(36),f={},o={},s=e.exports=function(e,a,c,s,u){var l,h,p,v,y=u?function(){return e}:d(e),m=t(c,s,a?2:1),g=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(r(y)){for(l=i(e.length);l>g;g++)if((v=a?m(n(h=e[g])[0],h[1]):m(e[g]))===f||v===o)return v}else for(p=y.call(e);!(h=p.next()).done;)if((v=b(p,m,h.value,a))===f||v===o)return v};s.BREAK=f,s.RETURN=o},function(e,a,c){var t=c(3);e.exports=function(e,a,c,b){try{return b?a(t(c)[0],c[1]):a(c)}catch(n){var r=e.return;throw void 0!==r&&t(r.call(e)),n}}},function(e,a,c){var t=c(19),b=c(1)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(t.Array===e||r[b]===e)}},function(e,a,c){var t=c(35),b=Math.min;e.exports=function(e){return e>0?b(t(e),9007199254740991):0}},function(e,a,c){var t=Math.ceil,b=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?b:t)(e)}},function(e,a,c){var t=c(11),b=c(1)("iterator"),r=c(19);e.exports=c(2).getIteratorMethod=function(e){if(null!=e)return e[b]||e["@@iterator"]||r[t(e)]}},function(e,a,c){var t=c(3),b=c(6),r=c(1)("species");e.exports=function(e,a){var c,n=t(e).constructor;return void 0===n||null==(c=t(n)[r])?a:b(c)}},function(e,a,c){e.exports=function(e,a,c){var t=void 0===c;switch(a.length){case 0:return t?e():e.call(c);case 1:return t?e(a[0]):e.call(c,a[0]);case 2:return t?e(a[0],a[1]):e.call(c,a[0],a[1]);case 3:return t?e(a[0],a[1],a[2]):e.call(c,a[0],a[1],a[2]);case 4:return t?e(a[0],a[1],a[2],a[3]):e.call(c,a[0],a[1],a[2],a[3])}return e.apply(c,a)}},function(e,a,c){var t=c(0).document;e.exports=t&&t.documentElement},function(e,a,c){var t=c(0),b=c(20).set,r=t.MutationObserver||t.WebKitMutationObserver,n=t.process,i=t.Promise,d="process"==c(8)(n);e.exports=function(){var e,a,c,f=function(){var t,b;for(d&&(t=n.domain)&&t.exit();e;){b=e.fn,e=e.next;try{b()}catch(r){throw e?c():a=void 0,r}}a=void 0,t&&t.enter()};if(d)c=function(){n.nextTick(f)};else if(!r||t.navigator&&t.navigator.standalone)if(i&&i.resolve){var o=i.resolve(void 0);c=function(){o.then(f)}}else c=function(){b.call(t,f)};else{var s=!0,u=document.createTextNode("");new r(f).observe(u,{characterData:!0}),c=function(){u.data=s=!s}}return function(t){var b={fn:t,next:void 0};a&&(a.next=b),e||(e=b,c()),a=b}}},function(e,a,c){e.exports=function(e){try{return{e:!1,v:e()}}catch(a){return{e:!0,v:a}}}},function(e,a,c){var t=c(0).navigator;e.exports=t&&t.userAgent||""},function(e,a,c){var t=c(3),b=c(4),r=c(21);e.exports=function(e,a){if(t(e),b(a)&&a.constructor===e)return a;var c=r.f(e);return(0,c.resolve)(a),c.promise}},function(e,a,c){var t=c(17);e.exports=function(e,a,c){for(var b in a)t(e,b,a[b],c);return e}},function(e,a,c){var t=c(9).f,b=c(18),r=c(1)("toStringTag");e.exports=function(e,a,c){e&&!b(e=c?e:e.prototype,r)&&t(e,r,{configurable:!0,value:a})}},function(e,a,c){var t=c(0),b=c(9),r=c(7),n=c(1)("species");e.exports=function(e){var a=t[e];r&&a&&!a[n]&&b.f(a,n,{configurable:!0,get:function(){return this}})}},function(e,a,c){var t=c(1)("iterator"),b=!1;try{var r=[7][t]();r.return=function(){b=!0},Array.from(r,(function(){throw 2}))}catch(n){}e.exports=function(e,a){if(!a&&!b)return!1;var c=!1;try{var r=[7],n=r[t]();n.next=function(){return{done:c=!0}},r[t]=function(){return n},e(r)}catch(i){}return c}},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0});var 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};a.default=function(e,a,c){if(e&&a){var b=void 0;try{b=(0,r.getUri)(e,a,c)}catch(i){return Promise.reject(i.message)}return new n.default({type:"json",method:"GET",url:b}).then((function(e){return e&&e.response?"string"==typeof e.response?JSON.parse(e.response).Result:"object"===t(e.response)?e.response.Result:e.response:e}))}return Promise.reject("vid, host and token can't be empty")};var b,r=c(49),n=(b=c(51))&&b.__esModule?b:{default:b};e.exports=a.default},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.getUri=function(e,a){var c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};try{e=JSON.parse((0,t.decode)(e))}catch(i){throw new Error("base64 decode error: "+i.message)}var b=[];for(var r in c)b.push(r+"="+c[r]);var n=(/^http/.test(a)?a:"//"+a)+"?"+e.GetPlayInfoToken+"&ssl=true";return b.length>0&&(n+="&"+b.join("&")),n};var t=c(50)},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.decode=function(e){var a,c,t,b,r,n,i,d=[-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(n=e.length,r=0,i="";r<n;){do{a=d[255&e.charCodeAt(r++)]}while(r<n&&-1===a);if(-1===a)break;do{c=d[255&e.charCodeAt(r++)]}while(r<n&&-1===c);if(-1===c)break;i+=String.fromCharCode(a<<2|(48&c)>>4);do{if(61==(t=255&e.charCodeAt(r++)))return i;t=d[t]}while(r<n&&-1===t);if(-1===t)break;i+=String.fromCharCode((15&c)<<4|(60&t)>>2);do{if(61==(b=255&e.charCodeAt(r++)))return i;b=d[b]}while(r<n&&-1===b);if(-1===b)break;i+=String.fromCharCode((3&t)<<6|b)}return i}},function(e,a,c){Object.defineProperty(a,"__esModule",{value:!0}),a.default=function e(){var a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},c=a.url,t=a.method,b=void 0===t?"GET":t,r=(a.type,a.data),n=void 0===r?{}:r,i=a.headers,d=void 0===i?{}:i;return function(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}(this,e),new Promise((function(e,a){var t=new window.XMLHttpRequest,r=b.toUpperCase(),i=[];for(var f in n)i.push(f+"="+n[f]);if("GET"!==r)throw new Error("xhr "+r+" is not supported");for(var o in t.open(r,""+c,!0),t.responseType="",d)t.setRequestHeader(o,""+d[o]);t.send(),t.onload=function(){200===t.status||206===t.status?e(t):a(t)},t.onerror=function(){a(t)},t.ontimeout=function(){a(t)}}))},e.exports=a.default}]),kn=Me(_n);function En(e,a){return Sn.apply(this,arguments)}function Sn(){return(Sn=pe(De().mark((function e(a,c){return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e){hn("service request: ".concat(c,", ").concat(a)),kn.url(a,c).then((function(a){var c=[],t=(null==a?void 0:a.Data)||a;hn("service response: ".concat(t?JSON.stringify({Status:t.Status,vid:t.VideoID}):void 0)),null!=t&&t.PlayInfoList&&t.PlayInfoList.length>0?(c=t.PlayInfoList,e({videoList:c,vid:t.VideoID,rawData:a})):(console.error("HAS NO VIDEO INFORMATION CORRECTLY, PLEASE CHECK THE TOKEN."),e({videoList:[],rawData:a}))}))})));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wn(e){if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var a=0;e.every((function(c,t){return e[0].Bitrate===c.Bitrate&&(a=t,!0)})),a>0&&e.splice(a)}return e}function xn(e,a,c){var t=c||[];if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var b=0;e.every((function(a,c){return e[0].Bitrate===a.Bitrate&&(b=c,!0)})),b>0&&e.splice(b)}e.forEach((function(e){var a,c,b={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},r=function(e,a){for(var c=0;c<a.length;c++)if(e.Definition.toLocaleLowerCase()===a[c].definition.toLocaleLowerCase())return c;return-1}(e,t);r>=0?(a=b,(c=t[r])||(c=a),Object.keys(a).map((function(e){c[e]=a[e]}))):t.push(b)}));var r=-1;if(a)for(var n=0;n<e.length;n++)e[n].Definition.toLocaleLowerCase()===a.toLocaleLowerCase()&&(r=n);return r<0&&(r=0),c[r]&&(c[r].selected=!0),{index:r,list:t}}var Tn=function(){return _e((function e(a,c){ye(this,e),this.timeID=void 0,this.func=a,this.frequency=c}),[{key:"repeat",value:function(){var e=this,a=this.func,c=this.frequency;a&&c&&(this.timeID=setTimeout((function(){a(),e.repeat()}),c))}},{key:"cancel",value:function(){this.timeID&&(clearTimeout(this.timeID),this.timeID=void 0)}}])}();function An(e,a,c){function t(e,a){var c=parseInt(e.slice(a,a+2),16);return c>>>7==0?[1,c]:c>>>6==2?(c=(63&c)<<8,[2,c+=parseInt(e.slice(a+2,a+4),16)]):(c=(63&c)<<16,[3,c+=parseInt(e.slice(a+2,a+6),16)])}var b,r=0,n=[],i=[];for(b=0;b<4;++b)r+=(3&parseInt(e.slice(8+2*b,10+2*b),16))<<2*b;var d=parseInt(e.slice(16,24),16),f=2*parseInt(e.slice(32,40),16);for(b=40;b<f+40;b+=2)n.push(parseInt(e.slice(b,b+2),16));var o=f+40,s=parseInt(e.slice(o,o+4),16);for(o+=4,b=0;b<s;++b){var u=t(e,o);o+=2*u[0];for(var l="",h=0;h<u[1];++h){var p=t(e,o);l+=String.fromCharCode(r^p[1]),o+=2*p[0]}i.push(l)}return a.p=null,function e(a,c,t,b,r){var d,f,o,s,u,l=-1,h=[],p=[0,null],v=null,y=[c];for(f=Math.min(c.length,t),o=0;o<f;++o)y.push(c[o]);y.p=b;for(var m=[];;)try{switch(n[a++]){case 76:d=n[a++],h[++l]=d<<24>>24;break;case 7:d=((d=((d=n[a++])<<8)+n[a++])<<8)+n[a++],h[++l]=(d<<8)+n[a++];break;case 63:d=(n[a]<<8)+n[a+1],a+=2,h[++l]=i[d];break;case 48:h[++l]=void 0;break;case 72:h[++l]=r;break;case 57:d=(n[a]<<8)+n[a+1],a+=2,l=l-d+1,f=h.slice(l,l+d),h[l]=f;break;case 39:h[++l]={};break;case 61:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],o=h[l--],h[l][f]=o;break;case 33:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;h[++l]=s[o];break;case 42:d=(n[a]<<8)+n[a+1],a+=2,f=i[d],h[l]=h[l][f];break;case 70:f=h[l--],h[l]=h[l][f];break;case 60:for(f=n[a++],o=n[a++],s=y;f>0;--f)s=s.p;s[o]=h[l--];break;case 25:f=h[l--],h[l]+=f;break;case 15:f=h[l--],h[l]=h[l]===f;break;case 13:f=h[l--],h[l]=h[l]!==f;break;case 62:f=h[l--],h[l]=h[l]>f;break;case 35:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?--l:a+=d;break;case 31:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,h[l]?a+=d:--l;break;case 23:d=n[a++],f=h[l--],(o=function e(){var a=e._v;return(0,e._u)(a[0],arguments,a[1],a[2],this)})._v=[f,d,y],o._u=e,h[++l]=o;break;case 45:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])[1]=a+d;break;case 5:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=m[m.length-1])&&!f[1]?(f[0]=3,f.push(a)):m.push([1,0,a]),a+=d;break;case 26:if(o=(f=m.pop())[0],s=p[0],1===o)a=f[1];else if(0===o)if(0===s)a=f[1];else{if(1!==s)throw p[1];if(!v)return p[1];a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=p[1],p=[0,null],v=v[0]}else a=f[2],f[0]=0,m.push(f);break;case 12:for(f=h[l--],o=null;s=m.pop();)if(2===s[0]||3===s[0]){o=s;break}if(o)p=[1,f],a=o[2],o[0]=0,m.push(o);else{if(!v)return f;a=v[1],r=v[2],y=v[3],m=v[4],h[++l]=f,p=[0,null],v=v[0]}break;case 74:l-=d=n[a++],o=h.slice(l+1,l+d+1),f=h[l--],s=h[l--],f._u===e?(f=f._v,v=[v,a,r,y,m],a=f[0],null==s&&(s=function(){return this}()),r=s,(y=[o].concat(o)).length=Math.min(f[1],d)+1,y.p=f[2],m=[]):(u=f.apply(s,o),h[++l]=u);break;case 47:for(d=n[a++],s=[void 0],u=d;u>0;--u)s[u]=h[l--];o=h[l--],u=new(f=Function.bind.apply(o,s)),h[++l]=u;break;case 44:a+=2+(d=(d=(n[a]<<8)+n[a+1])<<16>>16);break;case 54:d=(d=(n[a]<<8)+n[a+1])<<16>>16,a+=2,(f=h[l--])||(a+=d);break;case 0:--l;break;case 46:f=h[l],h[++l]=f;break;default:throw new Error("ioe")}}catch(g){for(p=[0,null];(d=m.pop())&&!d[0];);if(!d){e:for(;v;){for(f=v[4];d=f.pop();)if(d[0])break e;v=v[0]}if(!v)throw g;a=v[1],r=v[2],y=v[3],m=v[4],v=v[0]}1===(f=d[0])?(a=d[2],d[0]=0,m.push(d),h[++l]=g):2===f?(a=d[2],d[0]=0,m.push(d),p=[3,g]):(a=d[3],d[0]=2,m.push(d),h[++l]=g)}}(d,[],0,a,c)}var In=["eventName"],Dn=null,On=null,Rn=function(){function e(){var a,c;ye(this,e);for(var t=arguments.length,b=new Array(t),r=0;r<t;r++)b[r]=arguments[r];return(a=ve(this,e,[].concat(b))).abrService=null,a._currentPlaySessionId=-1,Dn||(Dn=a.player._startInit),On||(On=a.player.playNext),ue.BasePlugin.defineGetterOrSetter(a.player,(c=a,{downloadSpeed:{get:function(){return c.core.speedInfo().speed/8e3},configurable:!0},historyAvspeed:{get:function(){return c.core.speedInfo().avgSpeed/8e3},configurable:!0},abrInstance:{get:function(){var e;return null===(e=c.abrService)||void 0===e?void 0:e.abrInstance},configurable:!0},logCache:{get:function(){if(c.logger)return c.logger.getLogCache()},configurable:!0},currentDefinitionFromPlayer:{get:function(){var e;return null!=c&&null!==(e=c.abrService)&&void 0!==e&&e.isCurrentInAbr()?c.abrService.curDefinition:c.player.curDefinition},configurable:!0}})),ue.BasePlugin.defineMethod(a.player,function(e){var a=e.player,c=e.playerConfig,t=Object.getOwnPropertyDescriptor(a,"switchURL");return null!=t&&t.configurable&&delete a.switchURL,{playNext:function(t){var b;e._currentPlaySessionId++;var r=e._currentPlaySessionId,n=a.paused;a.pause(),a.hasStart=!1,a.curDefinition=null,["url","vid","kid","playAuthToken","keyToken","startTime","secretKey"].forEach((function(a){e.config[a]=void 0})),c.url=void 0,c.definition&&(c.definition={list:[]}),Object.keys(t).map((function(a){a.toLocaleLowerCase()===e.pluginName.toLocaleLowerCase()?"Object"===ue.Util.typeOf(t[a])&&Object.keys(t[a]).map((function(c){e.config[c]=t[a][c]})):c[a]=t[a]})),c.autoplay="boolean"==typeof t.autoplay?t.autoplay:!n,e.getUrlTime=(new Date).getTime()/1e3,null===(b=e.abrService)||void 0===b||b.destroy(),e.abrService=null,e.isNativeMode?e.start(void 0,{playSessionId:r}):new Promise((function(a){e.hls?a(void 0):setTimeout((function(){a(void 0)}),0)})).then((function(){e.isPlaySessionValid(r)&&e.hls.detachMedia().then((function(){e.isPlaySessionValid(r)&&e.start(void 0,{playSessionId:r})}))}))},_startInit:function(a){var c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t={};ue.Util.isNotNull(c.playSessionId)?t.playSessionId=c.playSessionId:e._currentPlaySessionId>0&&(t.playSessionId=e._currentPlaySessionId),e.start("",t)},switchURL:function(a,c){return pe(De().mark((function t(){var b,r,n,i,d,f,o;return De().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(b=e.player,r=e.hls,n=e.isNativeMode,i=b.paused,d=Or(c,e),f=++e._currentPlaySessionId,!r&&!n){t.next=11;break}return b.config.url=a,d.seamless||(yn(b),n&&((o=b.media||b.video).removeAttribute("src"),o.load(),d.startTime>0&&(b.currentTime=d.startTime))),t.next=9,e.start(a,{switchUrlArgs:d,playSessionId:f});case 9:if(e.isPlaySessionValid(f)){t.next=11;break}return t.abrupt("return");case 11:return t.abrupt("return",new Promise((function(e){var a=function(){mn(b),i?b.once("playing",(function(){b.pause(),e()})):e()};d.seamless?e():(ue.Sniffer.os.isAndroid?b.once("timeupdate",(function(){a()})):b.once("canplay",(function(){a()})),n&&!i&&b.play())})));case 12:case"end":return t.stop()}}),t)})))()},changeDefinition:function(a,c){var t,b,r,n,i,d,f,o,s,u,l,h=arguments.length>2&&void 0!==arguments[2]&&arguments[2],p=e.player,v=e.playerConfig,y=e.abrService,m=e.isNativeMode,g=p.config.definition,_="自动"===(null===(t=a)||void 0===t?void 0:t.definition)||"auto"===(null===(b=a)||void 0===b?void 0:b.definition);if(!c&&p.curDefinition&&(c=p.curDefinition),Array.isArray(null==g?void 0:g.list)&&g.list.forEach((function(e){var c,t;h?!pn(e.definition)&&(null===(c=a)||void 0===c?void 0:c.bitrate)===e.bitrate&&p.curDefinition&&(p.curDefinition.bitrate=e.bitrate,"number"==typeof e.height&&"number"==typeof e.width&&(p.curDefinition.height=e.height,p.curDefinition.width=e.width)):(null===(t=a)||void 0===t?void 0:t.definition)===e.definition&&(p.curDefinition=e)})),null!==(r=a)&&void 0!==r&&r.bitrate&&"number"!=typeof a.bitrate&&(a.bitrate=parseInt(a.bitrate,10)||0),!h&&!_){var k,E=null===(k=v.definition)||void 0===k?void 0:k.list;if(E&&(!a.bitrate||!a.uri||!a.size||!a.duration))for(var S=0;S<E.length;S++)if(a.definition===E[S].definition){var w;a.bitrate=E[S].bitrate,a.uri=E[S].uri||(null===(w=c)||void 0===w?void 0:w.uri),a.size=E[S].size,a.duration=E[S].duration||v.duration;break}}h?e.log("[switchBitrate:ABR] switch bitrate to ".concat(a.definition,", ").concat(null===(d=c)||void 0===d?void 0:d.bitrate,"->").concat(a.bitrate),e.core.abrSwitchPoint,_):(p.emit(ue.Events.DEFINITION_CHANGE,{from:c,to:a}),_&&p.curDefinition&&pn(null===(o=a=p.curDefinition)||void 0===o?void 0:o.definition)&&"number"==typeof(null===(s=c)||void 0===s?void 0:s.bitrate)&&c.bitrate>0&&(a.bitrate=null===(u=c)||void 0===u?void 0:u.bitrate),_?(null==y||y.enable(),y&&"number"==typeof(null===(l=c)||void 0===l?void 0:l.bitrate)&&c.bitrate>0&&(y.bitrate=c.bitrate)):null==y||y.disable(),e.log("[switchBitrate:CBS] switch bitrate to ".concat(a.definition,", ").concat(null===(f=c)||void 0===f?void 0:f.bitrate,"->").concat(a.bitrate)));if(!(!h&&_||h&&!e.core.abrSwitchPoint||h&&(null===(n=a)||void 0===n?void 0:n.bitrate)===(null===(i=c)||void 0===i?void 0:i.bitrate)))if(p.hasStart){h||(p.curDefinition=a);var x=h?e.core.abrSwitchPoint:p.currentTime,T=p.getBufferedRange(),A=Array.isArray(T)?T[1]:-1;e.log("beforeSwitchURL: ".concat(a.url,", isAbrSwitch: ").concat(h,", targetTime: ").concat(x),"duration: ".concat(p.duration,", bufferEnd: ").concat(A));var I=p.switchURL(a.url,Ae({seamless:!m&&(!1!==(null==g?void 0:g.seamless)&&"undefined"!=typeof MediaSource&&"function"==typeof MediaSource.isTypeSupported||h),currentTime:x},a));I&&I.then?I.then((function(){h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:c,to:a})})):h||p.emit(ue.Events.AFTER_DEFINITION_CHANGE,{from:c,to:a})}else p.config.url=a.url}}}(a)),a}return we(e,Rr),_e(e,[{key:"versionNum",get:function(){return Rn.semver.major}},{key:"beforePlayerInit",value:function(){var a=this;this.log("beforePlayerInit"),this.player;var c=this.playerConfig,t=this.config,b=Br.isMobile(t.preferMMS);this.isNativeMode=!(!b&&(void 0===t.useHls||t.useHls)),this.getUrlTime=(new Date).getTime()/1e3,this.hlsOpts=t.hlsOpts||{},this.hlsTimer=new Tn((function(){a._detectExpires()}),t.checkExpireInterval),c.hls||(c.hls={}),c.hls.preferMMS=!!t.preferMMS,c.hls.preferMMSStreaming=!!t.preferMMSStreaming,c.hls.fetchOptions||(c.hls.fetchOptions={}),t.netAllowCredentials&&(c.hls.fetchOptions.credentials="include"),t.maxBufferLength>0&&(c.hls.preloadTime=t.maxBufferLength),this.isNativeMode||c.hls.decryptor||(c.hls.decryptor=new Ue({enableSoftwareAES:!!this.hlsOpts.enableSoftwareAES})),!this.isNativeMode&&this._mseEnvValid()&&(c.url&&(t.url=c.url,c.url=""),c.__allowHlsEmptyUrl__=!0,Re(e,"beforePlayerInit",this,3)([])),this._bindEvents()}},{key:"_bindEvents",value:function(){var e=this,a=this.config,c=this.player;this.isNativeMode||c.once("playing",(function(){var e=c.media||c.video,a=!1,t=e.querySelector("track");t&&("hidden"===t.track.mode&&(a=!0),t.track.mode="hidden",e.removeChild(t)),c.config.textTrack&&c.config.textTrack.length>0&&c.config.textTrack.some((function(c){if(c.src&&c.label&&c.default){var t=document.createElement("track");return t.src=c.src,t.kind=c.kind,t.label=c.label,t.srclang=c.srclang,t.default=!0,e.appendChild(t),a&&(t.track.mode="hidden"),!0}}))})),a.checkHlsOffline&&Br.on(this,"timeupdate",(function(){e._checkOffline()}),"destroy"),Br.on(c,"loadeddata",(function(){var a,c;e.isNativeMode||(null!==(a=e.abrService)&&void 0!==a&&a.isCurrentInAbr()&&e.abrService.enable(),null===(c=e.abrService)||void 0===c||c.execute())}),"destroy"),Br.on(c,"error",(function(){var a;null===(a=e.hlsTimer)||void 0===a||a.cancel()}),"destroy"),Br.on(c,"core_event",(function(a){var t=a.eventName,b=Ie(a,In);switch(t){case qb.STREAM_PARSED:var r,n,i=null===(r=e.core)||void 0===r?void 0:r.currentStream;i&&!i.bitrate&&null!==(n=c.curDefinition)&&void 0!==n&&n.bitrate&&(i.bitrate=c.curDefinition.bitrate);break;case qb.APPEND_BUFFER:var d,f;(null===(d=e.core)||void 0===d?void 0:d.currentStream)&&c.emit("addVideoBufferEnd",{start:b.start,end:b.end,bandwidth:null===(f=c.curDefinition)||void 0===f?void 0:f.bitrate})}}),"destroy")}},{key:"destroy",value:function(){var a;Re(e,"destroy",this,3)([]),this.hlsTimer&&(this.hlsTimer.cancel(),this.hlsTimer=void 0),gn(this.player,"_startInit",Dn),gn(this.player,"playNext",On),this._playOriginalUrl=null,null===(a=this._secretKey)||void 0===a||a.destroy()}},{key:"log",value:function(e){for(var a=arguments.length,c=new Array(a>1?a-1:0),t=1;t<a;t++)c[t-1]=arguments[t];hn.apply(void 0,[this.logger,2,e].concat(c))}},{key:"_mseEnvValid",value:function(){var e=this.player,a=this.config,c=!1;return qe.checkMSEValid(a.preferMMS)?c=!0:e.emit("error",{msg:"MediaSource or SourceBuffer hijack",errorCode:-9995}),c}},{key:"start",value:(n=pe(De().mark((function e(){var a,c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=k.length>0&&void 0!==k[0]?k[0]:"",b=k.length>1&&void 0!==k[1]?k[1]:{},this.log("_start"),r=this.player,n=b.playSessionId,(i=/^blob:/i.test(t))||(this._playOriginalUrl=null),e.prev=7,t){e.next=20;break}return e.next=11,this._getRawManifest({playSessionId:n});case 11:if(d=e.sent,this.isPlaySessionValid(n)){e.next=14;break}return e.abrupt("return");case 14:if(null!=d&&d.url){e.next=16;break}throw new Error("no service url");case 16:t=d.url,this._rawManifestInfo=d,e.next=21;break;case 20:this._rawManifestInfo&&(this._rawManifestInfo.url=t,this._rawManifestInfo.videoList=this._rawManifestInfo.videoList||r.definitionList||[]);case 21:if(f={playSessionId:n},!this._rawManifestInfo){e.next=36;break}if(o=this._rawManifestInfo,s=o.url,u=o.vid,l=o.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!==s){e.next=33;break}return f.vid=u,f.kid=p.kid,f.playAuth=p.playAuth,e.abrupt("break",36);case 33:h++,e.next=26;break;case 36:if(i){e.next=44;break}return this._playOriginalUrl=r.config.url=t,e.next=40,this._getTransformManifestUrl(t,f);case 40:if(v=e.sent,this.isPlaySessionValid(n)&&v){e.next=43;break}return e.abrupt("return");case 43:r.config.url=v.url;case 44:e.next=53;break;case 46:return e.prev=46,e.t0=e.catch(7),y=e.t0.message||e.t0.name||"url transform error",m=e.t0.stack||"",g=e.t0.code||-9996,y===Cr.GetKeyByKeyTokenFail&&(g=-9991),e.abrupt("return",r.emit("error",{errorCode:g,msg:y,errorStack:m}));case 53:if(this.isPlaySessionValid(n)){e.next=55;break}return e.abrupt("return");case 55:t=this.player.config.url,this.isNativeMode||(b.switchUrlArgs?(this.log("hls switchUrl: ".concat(t)),this.hls.switchURL(t,b.switchUrlArgs)):(this.log("hls load: ".concat(t)),this.hls.load(t,{clearSwitchStatus:!0}))),null!==(a=b.switchUrlArgs)&&void 0!==a&&a.seamless||null===(_=Dn)||void 0===_||_.call(this.player,t,{playSessionId:n}),null===(c=this.hlsTimer)||void 0===c||c.repeat();case 59:case"end":return e.stop()}}),e,this,[[7,46]])}))),function(){return n.apply(this,arguments)})},{key:"_getRawManifest",value:(r=pe(De().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h,p,v;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.log("getRawManifest()"),t=a.playSessionId,b=this.config,r=this.playerConfig,n=b.vid,i=b.playAuthToken,d=b.playDomain,f=b.testUrl,o=b.testUrlExpire,s=b.autoBitrateOpts,u={url:b.url||r.url,playAuthToken:i,vid:n,playDomain:d,testUrl:f,testUrlExpire:o},l=(null===(c=r.definition)||void 0===c?void 0:c.list)||[],h=(null==s?void 0:s.isOpenAutoDefi)&&Array.isArray(l)&&l.filter((function(e){return pn(e.definition)})).length>0,!this.isNativeMode&&h&&(p=this._initAbrDefinition())&&(u.url=p.url),!u.url){e.next=20;break}if(this.log("directUrl: ".concat(u.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!pn(e.definition)})));case 14:if(this.isPlaySessionValid(t)){e.next=16;break}return e.abrupt("return",null);case 16:this._emitResourceReady(l);case 17:return e.abrupt("return",{url:u.url});case 20:if(!i&&!u.vid){e.next=31;break}return e.prev=21,e.next=24,this._playByToken(i,d,{playSessionId:t});case 24:return v=e.sent,e.abrupt("return",v);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 r.apply(this,arguments)})},{key:"_initAbrService",value:(b=pe(De().mark((function e(a){var c,t,b,r,n,i,d=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=this.player,t=this.playerConfig,b=this.config,!this.isNativeMode&&b.autoBitrateOpts&&b.autoBitrateOpts.isOpenAutoDefi){e.next=3;break}return e.abrupt("return",!1);case 3:return this.abrService||(this.log("new ABRService()"),this.abrService=new vn(this,(function(e){for(var a,b=(null===(a=t.definition)||void 0===a?void 0:a.list)||[],r=0,n=0;n<b.length;n++)if(e.definition===b[n].definition){r=n;break}var i=b.filter((function(e){var a;return e.bitrate===(null===(a=c.curDefinition)||void 0===a?void 0:a.bitrate)&&!pn(e.definition)}))[0],f=b[r];d.log("changeDefinition: ".concat((null==i?void 0:i.definition)||(null==i?void 0:i.text)," -> ").concat(f.definition||f.text)),c.changeDefinition(f,i,!0)}))),this.log("abrService init"),e.next=7,this.abrService.init({video:a.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&&(i=null===(r=t.definition)||void 0===r?void 0:r.list,Array.isArray(i)&&i.length>0&&this.abrService.updateAbrCacheData(),null!==(n=c.curDefinition)&&void 0!==n&&n.bitrate&&(this.abrService.bitrate=c.curDefinition.bitrate)),e.abrupt("return",!0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return b.apply(this,arguments)})},{key:"_initAbrDefinition",value:function(){var e,a,c=this.player,t=this.playerConfig,b=this.config,r=(null===(e=t.definition)||void 0===e?void 0:e.list)||[],n=t.definition&&void 0!==Pe(t.definition.defaultDefinition)?t.definition.defaultDefinition:t.defaultDefinition,i=!(null===(a=b.autoBitrateOpts)||void 0===a||!a.isPlayAutoDefi),d=null;if(r.length>0){var f=r.filter((function(e){return!pn(e.definition)}));d=f.length>0?f.filter((function(e){return e.definition===n}))[0]||f[0]:null,c.curDefinition&&!i||(c.curDefinition=r.filter((function(e){return i?pn(e.definition):e.definition===n}))[0]||null),c.curDefinition.vwidth||Object.assign(c.curDefinition,this._getDefinitionItem(c.curDefinition.definition)),d&&!c.curDefinition.bitrate&&(c.curDefinition.bitrate=d.bitrate)}if(i)for(var o=0;o<r.length;o++){var s=r[o];s.selected=pn(s.definition)}return d}},{key:"_getDefinitionItem",value:function(e){var a=this.playerConfig;if(!a.definition||!a.definition.list)return null;for(var c=0;c<a.definition.list.length;c++){var t=a.definition.list[c];if(t.definition===e)return t}return null}},{key:"_playByToken",value:(t=pe(De().mark((function e(a,c,t){var b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k=this;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return b=this.player,r=this.config,n=t.playSessionId,e.next=4,En(a,c);case 4:if(i=e.sent,d=i.vid,f=i.videoList,o=i.rawData,this.isPlaySessionValid(n)){e.next=10;break}return e.abrupt("return",null);case 10:if(this.emit&&this.emit("get_play_info",o),!(f&&f.length>0&&(f[0].MainPlayUrl||f[0].src))){e.next=31;break}return wn(f),this.getUrlTime=(new Date).getTime()/1e3,s=b.config.definition,u=(null==s?void 0:s.defaultDefinition)||b.config.defaultDefinition,f[0].UrlExpire&&(this.urlExpireTimestamp=r.testUrlExpire||f[0].UrlExpire),l=xn(f,u,(null==s?void 0:s.list)||[]),e.next=20,this._initAbrService(l.list);case 20:if(p=e.sent,this.isPlaySessionValid(n)){e.next=23;break}return e.abrupt("return",null);case 23:return p?(h=(null===(y=b.config.definition)||void 0===y?void 0:y.list)||[],v=h.filter((function(e){var a;return e.bitrate===(null===(a=k.abrService)||void 0===a?void 0:a.bitrate)}))[0]):(h=l.list,v=h[l.index],b.curDefinition=v),"private_encrypt_upgrade"===v.drmType&&(r.secretKey=v.playAuth),m=v.url,this._emitResourceReady(h),this.emit&&this.emit("can_start"),e.abrupt("return",{url:m,vid:d,videoList:l.list});case 31:throw g=(o||{ResponseMetadata:{Error:{CodeN:0,Message:""},RequestId:""}}).ResponseMetadata,this.emit&&this.emit("playInterfaceInfo",{code:g.Error.CodeN,message:g.Error.Message,logid:g.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,a,c){return t.apply(this,arguments)})},{key:"_getTransformManifestUrl",value:(c=pe(De().mark((function e(a){var c,t,b=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=b.length>1&&void 0!==b[1]?b[1]:{},e.next=3,this._loadSource(a,c);case 3:if(t=e.sent,this.isPlaySessionValid(c.playSessionId)){e.next=6;break}return e.abrupt("return",null);case 6:if(t){e.next=8;break}return e.abrupt("return",null);case 8:if("string"!=typeof t){e.next=12;break}return e.abrupt("return",{url:t});case 12:return e.abrupt("return",new Promise((function(e){var a=new FileReader;a.onload=function(){e({url:a.result})},a.readAsDataURL(t)})));case 13:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"_processRetData",value:function(e){if(e.sort((function(e,a){return a.Bitrate-e.Bitrate})),e[0].Bitrate){var a=0;e.every((function(c,t){return e[0].Bitrate===c.Bitrate&&(a=t,!0)})),a>0&&e.splice(a)}}},{key:"_checkOffline",value:function(){var e,a,c=(null===(e=this.player)||void 0===e?void 0:e.media)||(null===(a=this.player)||void 0===a?void 0:a.video);this.hls&&c&&!c.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,a=this.config,c=this.player;c&&!c.ended&&(a.expireDetectType.indexOf("getUrlTime")>-1&&this.getUrlTime&&c.duration&&(new Date).getTime()/1e3>this.getUrlTime+3300+c.duration&&(this.getUrlTime=0,this._emitExpireEvent()),a.expireDetectType.indexOf("xhrStatus")>-1&&this._playOriginalUrl&&Math.random()<1/7.5&&Ur({url:this._playOriginalUrl,xhrSetup:function(e){a.netAllowCredentials&&(e.withCredentials=!0)}}).catch((function(a){a&&void 0!==a.status&&(e.hlsExpireCount=void 0===e.hlsExpireCount?1:e.hlsExpireCount+1,e.hlsExpireCount>3&&(e.hlsExpireCount=0,e._emitExpireEvent()))})),a.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,a=(new Date).getTime()/1e3;this.emitExpireTimestamp?a-this.emitExpireTimestamp>300&&(this.emitExpireTimestamp=a,e.emit("MEDIA_EXPIRED")):(this.emitExpireTimestamp=a,e.emit("MEDIA_EXPIRED"))}},{key:"_updateM3U8",value:function e(a,c,t){return An("504B0101858681880000005f8b8386850000024f21020b3f001d2f012e2a001e2100044a013600203f00192e2a0011210002210003193f001f4a022e2a00112100044a010c2c00293f00192e2a0011210002210003193f001f4a022e2a00112102062e2a00202101072100044a024a010c300c482a00003c0001482a00012a00023f00030d23000a21010a2101012a00040f36000f2101022e2a00052101094a013c01090500433c000c2101023f0006461f00072101023f0007461f00072101023f0008463c00032100032f003c00022100022e2a00092101094a01002100022e2a000a4a003c00021a2d0016210103210109390001273f000b3d000c2f023c00021a2101042e2a000d2100024a013c00042101082e2a000e21010b3f000f2f013f00102e2a00112100043f00124a024a023c01082101052e2a00132100012a00012a00144a013600152101052e2a00152100012a00012a00144a012c00092100012a00012a00143c00052100052e2a001621010b3f00172f014a011f00033900003c00062100053600272100062a00184c013e3600153f00192e2a00112100064c01463f001a4a022c00033f00192c00033f00193c00072101082e2a000e21010b3f001b3f001c2f02070000000017044a023c01080500433c000d2101023f0006461f00072101023f0007461f00072101023f0008463c00092100092f003c00082100082e2a00092101084a01002100082e2a000a4a003c00081a2d0016210103210108390001273f00213d000c2f023c00081a2101052e2a00224a003c000a21000a3600072100080c2c00132101042e2a000d2100084a013c000b21000b0c300c002306697578607c6b067a76777f707e0a7e7c6d527c604d60697c034d564903525d4a04786d767b0b5b75767b5b6c70757d7c6b114e7c7b52706d5b75767b5b6c70757d7c6b0e5476635b75767b5b6c70757d7c6b067869697c777d077e7c6d5b75767b096d7c616d36716d7475046d60697c0f7a6b7c786d7c567b737c7a6d4c4b55076b7c6975787a7c0e354c4b50243b3142473b4432303b06354c4b50243b067a76777a786d013b0d706a4b7c75786d706f7c4c4b55036c6b750e7e7c6d587b6a76756c6d7c4c4b550574786d7a71203131716d6d6965716d6d696a302326453645363732304536456e324537456e3206757c777e6d710001363f313a5c414d50575f233031457d32453726457d6229352b296430312623353126234247456b654577443330312623456b6545773033303137333126383a3030017e1431716d6d6965716d6d696a302645232645364536046d7c6a6d023513107b6c70757d587b6a76756c6d7c4c4b551578696975707a786d70767736613474697c7e4c4b5508706a54767b70757c",{get 0(){return e},get 1(){return Pr},get 2(){return window},get 3(){return Blob},get 4(){return URL},get 5(){return Br},get 6(){return va},7:arguments,8:a,9:c,10:t,11:RegExp},this)}},{key:"_loadSource",value:(a=pe(De().mark((function e(a){var c,t,b,r,n,i,d,f,o,s,u,l,h,p,v,y,m,g,_,k,E,S,w,x,T=arguments;return De().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=T.length>1&&void 0!==T[1]?T[1]:{},t=this.player,b=this.config,r=c.kid||b.kid,n=c.vid||b.vid,i=c.playSessionId,d=c.playAuth||b.secretKey,this.log("loadSource: ".concat(a,", Kid: ").concat(r,", vid: ").concat(n,", secretKey: ").concat(d)),e.next=9,Kr(a,this);case 9:if(f=e.sent,this.isPlaySessionValid(i)){e.next=12;break}return e.abrupt("return",null);case 12:if(null!=f&&f.keyUrl&&null!=f&&f.responseText){e.next=15;break}return this.log("loadSource with normal url: ".concat(t.config.url)),e.abrupt("return",t.config.url);case 15:if(o=f.keyUrl,s=f.responseText,u=b.getLicenseUrl,l=b.drmType,h=b.drmKeyToken,p=b.playDomain,v=b.sessionId,!b.keyValue){e.next=21;break}y=this._updateM3U8(s,b.keyValue),e.next=65;break;case 21:if(!(u&&r||r&&h&&p||d)){e.next=51;break}if(this._secretKey=new qe.XGSecretKey({getLicenseUrl:u,vid:n,useUnionInfoDRM:b.useUnionInfoDRM,playDomain:p,drmType:l,drmKeyToken:h,drm:b.drm,keyValue:b.keyValue,kid:r,useEME:!1,secretKey:d,keyTokenExpiredDuration:b.keyTokenExpiredDuration,sessionId:v}),e.prev=23,!this.isNativeMode){e.next=33;break}return e.next=27,this._secretKey.getLicense();case 27:if(g=e.sent,this.isPlaySessionValid(i)){e.next=30;break}return e.abrupt("return",null);case 30:m=(null==g?void 0:g.keyValue)||g,e.next=42;break;case 33:return e.next=35,this._secretKey.getLicenseSecret();case 35:if(_=e.sent,this.isPlaySessionValid(i)){e.next=38;break}return e.abrupt("return",null);case 38:k=null==_?void 0:_.secretKey,E=null==_?void 0:_.decryptKey,S=E&&qe.util.ArrayBufferToString(E),m="".concat(Pr.DRM,"-").concat(k,"_").concat(S);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===(w=e.t0.error)||void 0===w?void 0:w.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:y=this._updateM3U8(s,m,Pr.DRM),e.next=65;break;case 51:if(!b.keyToken||!("TOP"===b.getKeyType?b.playDomain:b.keyDomain)){e.next=64;break}return e.next=54,zr(this,{system:Pr.KDS,url:o});case 54:if(x=e.sent,this.isPlaySessionValid(i)){e.next=57;break}return e.abrupt("return",null);case 57:if(!x){e.next=61;break}y=this._updateM3U8(s,x,Pr.KDS),e.next=62;break;case 61:throw new Error(Cr.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(y)),e.abrupt("return",y);case 67:case"end":return e.stop()}}),e,this,[[23,44]])}))),function(e){return An("504B010185868188000000008b8386850000000e2101002e2a0000482101014a020c0001057869697560",{get 0(){return a},1:arguments,2:e},this)})},{key:"_emitResourceReady",value:function(e){var a=this.player,c=this.abrService;(null!=c&&c.isPlayAutoDef||!e.some((function(e){return!!e.selected})))&&e.forEach((function(e){var t;e.selected=null!=c&&c.isPlayAutoDef?c.isAutoDefValue(e.definition):e.definition===(null===(t=a.curDefinition)||void 0===t?void 0:t.definition)})),a.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 Lr}},{key:"semver",get:function(){var e=ha(Lr)||{},a=e.major,c=e.minor,t=e.patch;return{version:Lr,major:a,minor:c,patch:t}}}]);var a,c,t,b,r,n}(),Ln=Rn;return Ln.updateUnionInfo=qe.XGSecretKey.updateUnionInfo,Ln.generateEncryptInfo=qe.XGSecretKey.generateEncryptInfo,Ln.isSupported=function(e){e=(e||navigator.userAgent).toLocaleLowerCase();var a=/(iphone)/.test(e)||/(ipad)/.test(e),c=/(android)/.test(e),t=/(windows phone)/.test(e),b=!(a||c||t),r=/(quark)/.test(e);if(b||c){var n=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==n||!n.isTypeSupported('video/mp4; codecs="avc1.42E01E, mp4a.40.2"'))}return!!a&&!r&&!/iphone os 11_[2-4]\D/gi.test(e)},Ln}));
|