diff --git a/CHANGELOG.md b/CHANGELOG.md index 9985aef8..1182e0f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +# es6-shim 0.35.4 (29 October 2018) +* [Fix] protect against evil build processes by ensuring these feature tests don‘t look like no-ops that are safe to remove +* [Fix] broken `hasULPDistance` → working `withinULPDistance` helper +* [Fix] `acosh`: fix precision (#338) +* [Fix] `Math.{asinh,atanh,cosh,sinh}` precision (from #338) +* [Fix] Google Translate adds a broken `Set` to the global scope (#438) +* [Fix] Distinguish Set and Map iterators (#387) +* [Docs] Tweaking documentation specifying inclusion order (#435) + # es6-shim 0.35.3 (23 January 2017) * [Fix] avoid needlessly shimming `Array#{find, findIndex}` (#433) * [Dev Deps] update `eslint`, `@ljharb/eslint-config`, `grunt-saucelabs` diff --git a/es6-sham.js b/es6-sham.js index 1026c771..10f8fc38 100644 --- a/es6-sham.js +++ b/es6-sham.js @@ -2,7 +2,7 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-sham: v0.35.3 + * es6-sham: v0.35.4 * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ diff --git a/es6-sham.min.js b/es6-sham.min.js index dfcaf9cb..f7b16dce 100644 --- a/es6-sham.min.js +++ b/es6-sham.min.js @@ -1,11 +1,11 @@ /*! - * https://github.com/paulmillr/es6-shim - * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) - * and contributors, MIT License - * es6-sham: v0.35.3 - * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE - * Details and documentation: - * https://github.com/paulmillr/es6-shim/ - */ -(function(t,e){if(typeof define==="function"&&define.amd){define(e)}else if(typeof exports==="object"){module.exports=e()}else{t.returnExports=e()}})(this,function(){"use strict";var t=new Function("return this;");var e=t();var r=e.Object;var n=Function.call.bind(Function.call);var o=Function.toString;var i=String.prototype.match;var f=function(t){try{t();return false}catch(t){return true}};var a=function(){return!f(function(){r.defineProperty({},"x",{get:function(){}})})};var u=!!r.defineProperty&&a();(function(){if(r.setPrototypeOf){return}var t=r.getOwnPropertyNames;var e=r.getOwnPropertyDescriptor;var n=r.create;var o=r.defineProperty;var i=r.getPrototypeOf;var f=r.prototype;var a=function(r,n){t(n).forEach(function(t){o(r,t,e(n,t))});return r};var u=function(t,e){return a(n(e),t)};var c,s;try{c=e(f,"__proto__").set;c.call({},null);s=function(t,e){c.call(t,e);return t}}catch(t){c={__proto__:null};if(c instanceof r){s=u}else{c.__proto__=f;if(c instanceof r){s=function(t,e){t.__proto__=e;return t}}else{s=function(t,e){if(i(t)){t.__proto__=e;return t}else{return u(t,e)}}}}}r.setPrototypeOf=s})();if(u&&function foo(){}.name!=="foo"){r.defineProperty(Function.prototype,"name",{configurable:true,enumerable:false,get:function(){var t=n(o,this);var e=n(i,t,/\s*function\s+([^(\s]*)\s*/);var f=e&&e[1];r.defineProperty(this,"name",{configurable:true,enumerable:false,writable:false,value:f});return f}})}}); + * https://github.com/paulmillr/es6-shim + * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) + * and contributors, MIT License + * es6-sham: v0.35.4 + * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE + * Details and documentation: + * https://github.com/paulmillr/es6-shim/ + */ +(function(t,e){if(typeof define==="function"&&define.amd){define(e)}else if(typeof exports==="object"){module.exports=e()}else{t.returnExports=e()}})(this,function(){"use strict";var t=new Function("return this;");var e=t();var r=e.Object;var n=Function.call.bind(Function.call);var o=Function.toString;var i=String.prototype.match;var f=function(t){try{t();return false}catch(e){return true}};var a=function(){return!f(function(){r.defineProperty({},"x",{get:function(){}})})};var u=!!r.defineProperty&&a();(function(){if(r.setPrototypeOf){return}var t=r.getOwnPropertyNames;var e=r.getOwnPropertyDescriptor;var n=r.create;var o=r.defineProperty;var i=r.getPrototypeOf;var f=r.prototype;var a=function(r,n){t(n).forEach(function(t){o(r,t,e(n,t))});return r};var u=function(t,e){return a(n(e),t)};var c,s;try{c=e(f,"__proto__").set;c.call({},null);s=function(t,e){c.call(t,e);return t}}catch(l){c={__proto__:null};if(c instanceof r){s=u}else{c.__proto__=f;if(c instanceof r){s=function(t,e){t.__proto__=e;return t}}else{s=function(t,e){if(i(t)){t.__proto__=e;return t}else{return u(t,e)}}}}}r.setPrototypeOf=s})();if(u&&function foo(){}.name!=="foo"){r.defineProperty(Function.prototype,"name",{configurable:true,enumerable:false,get:function(){var t=n(o,this);var e=n(i,t,/\s*function\s+([^(\s]*)\s*/);var f=e&&e[1];r.defineProperty(this,"name",{configurable:true,enumerable:false,writable:false,value:f});return f}})}}); //# sourceMappingURL=es6-sham.map diff --git a/es6-shim.js b/es6-shim.js index 39018b4c..5b1e7b5b 100644 --- a/es6-shim.js +++ b/es6-shim.js @@ -2,7 +2,7 @@ * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License - * es6-shim: v0.35.3 + * es6-shim: v0.35.4 * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ diff --git a/es6-shim.map b/es6-shim.map index 9877c124..bb392e2b 100644 --- a/es6-shim.map +++ b/es6-shim.map @@ -1 +1 @@ -{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","Infinity","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","NaN","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","asinh","atanh","cbrt","negate","clz32","cosh","expm1","t","sum","hypot","y","largest","log2","log10","log1p","sinh","tanh","trunc","imul","ah","al","bh","bl","fround","v","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","entireSet","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["es6-shim.js"],"names":["root","factory","define","amd","exports","module","returnExports","this","_apply","Function","call","bind","apply","_call","isArray","Array","keys","Object","not","notThunker","func","notThunk","arguments","throwsError","e","valueOrFalseIfThrows","isCallableWithoutNew","arePropertyDescriptorsSupported","defineProperty","get","supportsDescriptors","functionsHaveNames","foo","name","_forEach","prototype","forEach","_reduce","reduce","_filter","filter","_some","some","object","value","force","configurable","enumerable","writable","defineProperties","map","forceOverride","method","_toString","toString","isCallable","IsCallableSlow","x","IsCallableFast","Value","getter","TypeError","proxy","originalObject","key","targetObject","originalDescriptor","getOwnPropertyDescriptor","getKey","set","setKey","redefine","property","newValue","descriptor","defineByDescriptor","preserveToString","target","source","create","properties","Prototype","supportsSubclassing","C","f","setPrototypeOf","Sub","Subclass","arg","o","constructor","getGlobal","self","window","global","Error","globals","globalIsFinite","isFinite","_indexOf","String","indexOf","_arrayIndexOfApply","_concat","concat","_strSlice","slice","_push","push","_pushApply","_shift","shift","_max","Math","max","_min","min","_floor","floor","_abs","abs","_exp","exp","_log","log","_sqrt","sqrt","_hasOwnProperty","hasOwnProperty","ArrayIterator","noop","OrigMap","Map","origMapDelete","origMapGet","origMapHas","has","origMapSet","Symbol","symbolSpecies","species","numberIsNaN","Number","isNaN","numberIsFinite","_sign","sign","number","_log1p","log1p","NaN","Infinity","isStandardArguments","isArguments","isLegacyArguments","length","callee","Type","primitive","string","regex","symbol","overrideNative","replacement","original","hasSymbols","$iterator$","iterator","Set","Reflect","$String","domAll","document","all","isNullOrUndefined","isNullOrUndefinedAndNotDocumentAll","ES","Call","F","V","args","IsCallable","RequireObjectCoercible","optMessage","TypeIsObject","ToObject","IsConstructor","ToInt32","ToNumber","ToUint32","ToInteger","ToLength","len","MAX_SAFE_INTEGER","SameValue","a","b","SameValueZero","IsIterable","GetIterator","itFn","GetMethod","it","p","IteratorComplete","iterResult","done","IteratorClose","completionIsThrow","returnMethod","innerResult","innerException","IteratorNext","result","next","IteratorStep","Construct","newTarget","isES6internal","construct","proto","obj","SpeciesConstructor","O","defaultConstructor","S","CreateHTML","tag","attribute","ToString","p1","escapedV","replace","p2","p3","IsRegExp","argument","isRegExp","match","defineWellKnownSymbol","sym","search","symbolSearch","originalSearch","RegExp","searchShim","regexp","searcher","symbolReplace","originalReplace","replaceValue","replaceShim","searchValue","replacer","split","symbolSplit","originalSplit","limit","splitShim","separator","splitter","symbolMatchExists","stringMatchIgnoresSymbolMatch","symbolMatch","originalMatch","matchShim","matcher","wrapConstructor","keysToSkip","getOwnPropertyNames","defaultSpeciesGetter","addDefaultSpecies","addIterator","impl","implementation","createDataProperty","createDataPropertyOrThrow","emulateES6construct","defaultNewTarget","defaultProto","slots","fromCodePoint","originalFromCodePoint","codePoints","StringShims","i","RangeError","fromCharCode","join","raw","callSite","cooked","rawString","literalsegments","stringElements","nextIndex","nextKey","nextSeg","nextSub","0","1","stringRepeat","repeat","s","times","half","stringMaxLength","StringPrototypeShims","thisStr","numTimes","startsWith","searchString","searchStr","position","start","endsWith","endPosition","pos","end","includes","codePointAt","first","charCodeAt","isEnd","second","startsWithRejectsRegex","startsWithHandlesInfinity","startsWithSupportsSymbolMatch","re","endsWithSupportsSymbolMatch","includesSupportsSymbolMatch","ws","trimRegexp","trimShim","trim","nonWS","nonWSregex","isBadHexRegex","hasStringTrimBug","iteratorResult","StringIterator","_s","_i","substr","ArrayShims","from","items","mapFn","mapping","T","usingIterator","nextValue","arrayLike","of","A","k","array","kind","retval","arrayOfSupportsSubclassing","Foo","fooArr","ArrayPrototypeShims","copyWithin","relativeTarget","relativeStart","to","relativeEnd","finalItem","count","direction","fill","find","predicate","list","thisArg","findIndex","values","entries","unscopables","originalArrayPrototypeValues","searchElement","getPrototypeOf","arrayFromSwallowsNegativeLengths","arrayFromHandlesIterables","arr","arrayFromHandlesUndefinedMapFunction","origArrayFrom","int32sAsOne","pow","toLengthsCorrectly","reversed","originalForEach","callbackFn","originalMap","originalFilter","originalSome","every","originalEvery","originalReduce","reduceRight","originalReduceRight","lacksOctalSupport","lacksBinarySupport","trimsNonWhitespace","c","OrigNumber","binaryRegex","octalRegex","isBinary","test","isOctal","toPrimitive","valueOf","hasNonWS","isBadHex","NumberShim","primValue","parseInt","receiver","valueOfSucceeds","MAX_VALUE","MIN_VALUE","NEGATIVE_INFINITY","POSITIVE_INFINITY","maxSafeInteger","MIN_SAFE_INTEGER","EPSILON","parseFloat","isInteger","isSafeInteger","isEnumerableOn","propertyIsEnumerable","ensureEnumerable","prop","sliceArgs","initial","desiredArgCount","assignTo","assignToSource","assignReducer","sourceKeys","symbols","getOwnPropertySymbols","ObjectShims","assign","is","assignHasPendingExceptions","preventExtensions","thrower","ES5ObjectShims","magic","checkArgs","polyfill","FAKENULL","gpo","spo","objectKeysAcceptsPrimitives","originalObjectKeys","objectKeysRejectsRegex","regexRejectingObjectKeys","regexKeys","objectGOPNAcceptsPrimitives","cachedWindowNames","originalObjectGetOwnPropertyNames","val","objectGOPDAcceptsPrimitives","originalObjectGetOwnPropertyDescriptor","seal","objectSealAcceptsPrimitives","originalObjectSeal","isSealed","objectIsSealedAcceptsPrimitives","originalObjectIsSealed","freeze","objectFreezeAcceptsPrimitives","originalObjectFreeze","isFrozen","objectIsFrozenAcceptsPrimitives","originalObjectIsFrozen","objectPreventExtensionsAcceptsPrimitives","originalObjectPreventExtensions","isExtensible","objectIsExtensibleAcceptsPrimitives","originalObjectIsExtensible","objectGetProtoAcceptsPrimitives","originalGetProto","hasFlags","desc","regExpFlagsGetter","flags","ignoreCase","multiline","unicode","sticky","regExpSupportsFlagsWithRegex","regExpNeedsToSupportSymbolMatch","regexToStringIsGeneric","regexToStringSupportsGenericFlags","origRegExpToString","R","pattern","flagsGetter","sourceDesc","legacySourceGetter","sourceGetter","OrigRegExp","RegExpShim","patternIsRegExp","calledWithNew","P","$input","regexGlobals","input","lastMatch","lastParen","leftContext","rightContext","inverseEpsilon","roundTiesToEven","n","BINARY_32_EPSILON","BINARY_32_MAX_VALUE","BINARY_32_MIN_VALUE","E","LOG2E","LOG10E","numberCLZ","clz","MathShims","acosh","xInvSquared","halfX","asinh","aSquared","atanh","cbrt","negate","clz32","cosh","t","expm1","sum","hypot","y","largest","log2","log10","sinh","u","tanh","trunc","imul","ah","al","bh","bl","fround","v","withinULPDistance","expected","distance","expm1OfTen","origMathRound","round","roundHandlesBoundaryConditions","smallestPositiveNumberWhereRoundBreaks","largestPositiveNumberWhereRoundBreaks","roundDoesNotIncreaseIntegers","num","ceil","origImul","PromiseShim","setTimeout","IsPromise","promise","_promise","PromiseCapability","capability","resolver","resolve","reject","makeZeroTimeout","postMessage","timeouts","messageName","setZeroTimeout","fn","handleMessage","event","data","stopPropagation","addEventListener","makePromiseAsap","Promise","pr","task","then","enqueue","setImmediate","process","nextTick","PROMISE_IDENTITY","PROMISE_THROWER","PROMISE_PENDING","PROMISE_FULFILLED","PROMISE_REJECTED","PROMISE_FULFILL_OFFSET","PROMISE_REJECT_OFFSET","PROMISE_CAPABILITY_OFFSET","PROMISE_FAKE_CAPABILITY","enqueuePromiseReactionJob","handler","promiseReactionJob","promiseCapability","handlerResult","fulfillPromise","reactionLength","fulfillReactionHandler0","reactionCapability0","rejectReactions0","idx","state","rejectPromise","reason","rejectReactionHandler0","createResolvingFunctions","alreadyResolved","resolution","promiseResolveThenableJob","optimizedThen","thenable","Promise$prototype$then","resolvingFunctions","Promise$prototype","_promiseAllResolver","index","remaining","alreadyCalled","performPromiseAll","iteratorRecord","resultCapability","nextPromise","resolveElement","performPromiseRace","iterable","exception","ee","race","rejectFunc","resolveFunc","catch","onRejected","onFulfilled","returnValueIsIgnored","fulfillReactionHandler","rejectReactionHandler","accept","defer","chain","promiseSupportsSubclassing","promiseIgnoresNonFunctionThenCallbacks","promiseRequiresObjectContext","promiseResolveBroken","getsThenSynchronously","BadResolverPromise","executor","hasBadResolverPromise","origAll","origRace","origResolve","origReject","r","testOrder","preservesInsertionOrder","preservesNumericInsertionOrder","fastkey","skipInsertionOrderCheck","emptyObject","addIterableToMap","MapConstructor","entry","iter","adder","nextItem","addIterableToSet","SetConstructor","add","collectionShims","empty","MapEntry","prev","isRemoved","isMap","_es6map","requireMapSlot","MapIterator","head","_head","isMapIterator","Map$prototype","MapShim","_map","_size","_storage","fkey","delete","clear","callback","context","isSet","_es6set","requireSetSlot","Set$prototype","SetShim","[[SetData]]","decodeKey","charAt","ensureMap","m","size","hasFKey","SetIterator","entireSet","isSetIterator","isGoogleTranslate","remove","mapAcceptsArguments","testMap","mapUsesSameValueZero","mapSupportsChaining","testSet","setUsesSameValueZero","setSupportsChaining","origSetAdd","origSetHas","origSetDel","SetDelete","mapSupportsSubclassing","M","mapFailsToSupportSubclassing","mapRequiresNew","setSupportsSubclassing","setFailsToSupportSubclassing","setRequiresNew","OrigSet","newMap","mapIterationThrowsStopIterator","anonymousSetHas","throwUnlessTargetIsObject","ReflectShims","deleteProperty","ownKeys","callAndCatchException","ConvertExceptionToBoolean","internalGet","parent","internalSet","existingDesc","propertyKey","attributes","objectDotGetPrototypeOf","willCreateCircularPrototype","lastProto","defineOrOverrideReflectProperty","shim","acceptsPrimitives","originalReflectGetProto","basic","extensible","Date","dateToString","shimmedDateToString","stringHTMLshims","anchor","big","blink","bold","fixed","fontcolor","color","fontsize","italics","link","url","small","strike","sub","sup","shouldOverwrite","output","quotesCount","toLowerCase","JSONstringifiesSymbols","stringify","JSON","JSONstringifyAcceptsObjectSymbol","origStringify","replaceFn","wrappedReplacer","parsedValue"],"mappings":";;;;;;;;;CAYC,SAAUA,EAAMC,GAEf,SAAWC,UAAW,YAAcA,OAAOC,IAAK,CAE9CD,OAAOD,OACF,UAAWG,WAAY,SAAU,CAItCC,OAAOD,QAAUH,QACZ,CAELD,EAAKM,cAAgBL,OAEvBM,KAAM,WACN,YAEA,IAAIC,GAASC,SAASC,KAAKC,KAAKF,SAASG,MACzC,IAAIC,GAAQJ,SAASC,KAAKC,KAAKF,SAASC,KACxC,IAAII,GAAUC,MAAMD,OACpB,IAAIE,GAAOC,OAAOD,IAElB,IAAIE,GAAM,QAASC,YAAWC,GAC5B,MAAO,SAASC,YACd,OAAQb,EAAOY,EAAMb,KAAMe,YAG/B,IAAIC,GAAc,SAAUH,GAC1B,IACEA,GACA,OAAO,OACP,MAAOI,GACP,MAAO,OAGX,IAAIC,GAAuB,QAASA,sBAAqBL,GACvD,IACE,MAAOA,KACP,MAAOI,GACP,MAAO,QAIX,IAAIE,GAAuBR,EAAIK,EAC/B,IAAII,GAAkC,WAEpC,OAAQJ,EAAY,WAClB,MAAON,QAAOW,kBAAmB,KAAOC,IAAK,iBAGjD,IAAIC,KAAwBb,OAAOW,gBAAkBD,GACrD,IAAII,GAAqB,QAAUC,SAAUC,OAAS,KAEtD,IAAIC,GAAWzB,SAASC,KAAKC,KAAKI,MAAMoB,UAAUC,QAClD,IAAIC,GAAU5B,SAASC,KAAKC,KAAKI,MAAMoB,UAAUG,OACjD,IAAIC,GAAU9B,SAASC,KAAKC,KAAKI,MAAMoB,UAAUK,OACjD,IAAIC,GAAQhC,SAASC,KAAKC,KAAKI,MAAMoB,UAAUO,KAE/C,IAAId,GAAiB,SAAUe,EAAQV,EAAMW,EAAOC,GAClD,IAAKA,GAASZ,IAAQU,GAAQ,CAAE,OAChC,GAAIb,EAAqB,CACvBb,OAAOW,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,MACZC,SAAU,KACVJ,MAAOA,QAEJ,CACLD,EAAOV,GAAQW,GAMnB,IAAIK,GAAmB,SAAUN,EAAQO,EAAKC,GAC5CjB,EAASlB,EAAKkC,GAAM,SAAUjB,GAC5B,GAAImB,GAASF,EAAIjB,EACjBL,GAAee,EAAQV,EAAMmB,IAAUD,KAI3C,IAAIE,GAAY5C,SAASC,KAAKC,KAAKM,OAAOkB,UAAUmB,SACpD,IAAIC,SAAoB,QAAU,WAAa,QAASC,gBAAeC,GAErE,aAAcA,KAAM,YAAcJ,EAAUI,KAAO,qBACjD,QAASC,gBAAeD,GAAK,aAAcA,KAAM,WAErD,IAAIE,IACFC,OAAQ,SAAUjB,EAAQV,EAAM2B,GAC9B,IAAK9B,EAAqB,CACxB,KAAM,IAAI+B,WAAU,oCAEtB5C,OAAOW,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,MACZlB,IAAK+B,KAGTE,MAAO,SAAUC,EAAgBC,EAAKC,GACpC,IAAKnC,EAAqB,CACxB,KAAM,IAAI+B,WAAU,oCAEtB,GAAIK,GAAqBjD,OAAOkD,yBAAyBJ,EAAgBC,EACzE/C,QAAOW,eAAeqC,EAAcD,GAClClB,aAAcoB,EAAmBpB,aACjCC,WAAYmB,EAAmBnB,WAC/BlB,IAAK,QAASuC,UAAW,MAAOL,GAAeC,IAC/CK,IAAK,QAASC,QAAO1B,GAASmB,EAAeC,GAAOpB,MAGxD2B,SAAU,SAAU5B,EAAQ6B,EAAUC,GACpC,GAAI3C,EAAqB,CACvB,GAAI4C,GAAazD,OAAOkD,yBAAyBxB,EAAQ6B,EACzDE,GAAW9B,MAAQ6B,CACnBxD,QAAOW,eAAee,EAAQ6B,EAAUE,OACnC,CACL/B,EAAO6B,GAAYC,IAGvBE,mBAAoB,SAAUhC,EAAQ6B,EAAUE,GAC9C,GAAI5C,EAAqB,CACvBb,OAAOW,eAAee,EAAQ6B,EAAUE,OACnC,IAAI,SAAWA,GAAY,CAChC/B,EAAO6B,GAAYE,EAAW9B,QAGlCgC,iBAAkB,SAAUC,EAAQC,GAClC,GAAIA,GAAUvB,EAAWuB,EAAOxB,UAAW,CACzC1B,EAAeiD,EAAQ,WAAYC,EAAOxB,SAAS3C,KAAKmE,GAAS,QAOvE,IAAIC,GAAS9D,OAAO8D,QAAU,SAAU5C,EAAW6C,GACjD,GAAIC,GAAY,QAASA,cACzBA,GAAU9C,UAAYA,CACtB,IAAIQ,GAAS,GAAIsC,EACjB,UAAWD,KAAe,YAAa,CACrChE,EAAKgE,GAAY5C,QAAQ,SAAU4B,GACjCL,EAAMgB,mBAAmBhC,EAAQqB,EAAKgB,EAAWhB,MAGrD,MAAOrB,GAGT,IAAIuC,GAAsB,SAAUC,EAAGC,GACrC,IAAKnE,OAAOoE,eAAgB,CAAE,MAAO,OACrC,MAAO5D,GAAqB,WAC1B,GAAI6D,GAAM,QAASC,UAASC,GAC1B,GAAIC,GAAI,GAAIN,GAAEK,EACdvE,QAAOoE,eAAeI,EAAGF,SAASpD,UAClC,OAAOsD,GAETxE,QAAOoE,eAAeC,EAAKH,EAC3BG,GAAInD,UAAY4C,EAAOI,EAAEhD,WACvBuD,aAAe9C,MAAO0C,IAExB,OAAOF,GAAEE,KAIb,IAAIK,GAAY,WAKd,SAAWC,QAAS,YAAa,CAAE,MAAOA,MAC1C,SAAWC,UAAW,YAAa,CAAE,MAAOA,QAC5C,SAAWC,UAAW,YAAa,CAAE,MAAOA,QAC5C,KAAM,IAAIC,OAAM,kCAGlB,IAAIC,GAAUL,GACd,IAAIM,GAAiBD,EAAQE,QAC7B,IAAIC,GAAW1F,SAASC,KAAKC,KAAKyF,OAAOjE,UAAUkE,QACnD,IAAIC,GAAqB7F,SAASG,MAAMD,KAAKI,MAAMoB,UAAUkE,QAC7D,IAAIE,GAAU9F,SAASC,KAAKC,KAAKI,MAAMoB,UAAUqE,OAEjD,IAAIC,GAAYhG,SAASC,KAAKC,KAAKyF,OAAOjE,UAAUuE,MACpD,IAAIC,GAAQlG,SAASC,KAAKC,KAAKI,MAAMoB,UAAUyE,KAC/C,IAAIC,GAAapG,SAASG,MAAMD,KAAKI,MAAMoB,UAAUyE,KACrD,IAAIE,GAASrG,SAASC,KAAKC,KAAKI,MAAMoB,UAAU4E,MAChD,IAAIC,GAAOC,KAAKC,GAChB,IAAIC,GAAOF,KAAKG,GAChB,IAAIC,GAASJ,KAAKK,KAClB,IAAIC,GAAON,KAAKO,GAChB,IAAIC,GAAOR,KAAKS,GAChB,IAAIC,GAAOV,KAAKW,GAChB,IAAIC,GAAQZ,KAAKa,IACjB,IAAIC,GAAkBtH,SAASC,KAAKC,KAAKM,OAAOkB,UAAU6F,eAC1D,IAAIC,EACJ,IAAIC,GAAO,YAEX,IAAIC,GAAUnC,EAAQoC,GACtB,IAAIC,GAAgBF,GAAWA,EAAQhG,UAAU,SACjD,IAAImG,GAAaH,GAAWA,EAAQhG,UAAUN,GAC9C,IAAI0G,GAAaJ,GAAWA,EAAQhG,UAAUqG,GAC9C,IAAIC,GAAaN,GAAWA,EAAQhG,UAAUkC,GAE9C,IAAIqE,GAAS1C,EAAQ0C,UACrB,IAAIC,GAAgBD,EAAOE,SAAW,WAEtC,IAAIC,GAAcC,OAAOC,OAAS,QAASA,OAAMnG,GAM/C,MAAOA,KAAUA,EAEnB,IAAIoG,GAAiBF,OAAO5C,UAAY,QAASA,UAAStD,GACxD,aAAcA,KAAU,UAAYqD,EAAerD,GAErD,IAAIqG,GAAQ1F,EAAW0D,KAAKiC,MAAQjC,KAAKiC,KAAO,QAASA,MAAKtG,GAC5D,GAAIuG,GAASL,OAAOlG,EACpB,IAAIuG,IAAW,EAAG,CAAE,MAAOA,GAC3B,GAAIN,EAAYM,GAAS,CAAE,MAAOA,GAClC,MAAOA,GAAS,GAAK,EAAI,EAE3B,IAAIC,GAAS,QAASC,OAAMzG,GAC1B,GAAIa,GAAIqF,OAAOlG,EACf,IAAIa,GAAK,GAAKoF,EAAYpF,GAAI,CAAE,MAAO6F,KACvC,GAAI7F,IAAM,GAAKA,IAAM8F,SAAU,CAAE,MAAO9F,GACxC,GAAIA,KAAO,EAAG,CAAE,OAAQ8F,SAExB,MAAQ,GAAI9F,EAAK,IAAM,EAAIA,EAAIA,GAAKkE,EAAK,EAAIlE,IAAO,EAAIA,EAAK,IAK/D,IAAI+F,GAAsB,QAASC,aAAY7G,GAC7C,MAAOS,GAAUT,KAAW,qBAE9B,IAAI8G,IAAoB,QAASD,aAAY7G,GAC3C,MAAOA,KAAU,YACRA,KAAU,gBACVA,GAAM+G,SAAW,UACxB/G,EAAM+G,QAAU,GAChBtG,EAAUT,KAAW,kBACrBS,EAAUT,EAAMgH,UAAY,oBAEhC,IAAIH,IAAcD,EAAoBlI,WAAakI,EAAsBE,EAEzE,IAAIG,KACFC,UAAW,SAAUrG,GAAK,MAAOA,KAAM,YAAgBA,KAAM,kBAAqBA,KAAM,UACxFsG,OAAQ,SAAUtG,GAAK,MAAOJ,GAAUI,KAAO,mBAC/CuG,MAAO,SAAUvG,GAAK,MAAOJ,GAAUI,KAAO,mBAC9CwG,OAAQ,SAAUxG,GAChB,aAAcuC,GAAQ0C,SAAW,kBAAqBjF,KAAM,UAIhE,IAAIyG,IAAiB,QAASA,gBAAevH,EAAQ6B,EAAU2F,GAC7D,GAAIC,GAAWzH,EAAO6B,EACtB5C,GAAee,EAAQ6B,EAAU2F,EAAa,KAC9CxG,GAAMiB,iBAAiBjC,EAAO6B,GAAW4F,GAI3C,IAAIC,UAAoB3B,KAAW,kBAAqBA,GAAO,SAAW,YAAcmB,GAAKI,OAAOvB,IAOpG,IAAI4B,IAAaT,GAAKI,OAAOvB,EAAO6B,UAAY7B,EAAO6B,SAAW,qBAIlE,IAAIvE,EAAQwE,YAAc,GAAIxE,GAAQwE,KAAM,gBAAkB,WAAY,CACxEF,GAAa,aAIf,IAAKtE,EAAQyE,QAAS,CACpB7I,EAAeoE,EAAS,aAAe,MAEzC,GAAIyE,IAAUzE,EAAQyE,OAEtB,IAAIC,IAAUtE,MAGd,IAAIuE,UAAiBC,YAAa,cAAgBA,SAAY,KAAOA,SAASC,GAE9E,IAAIC,IAAoBH,IAAU,KAAO,QAASG,mBAAkBrH,GAElE,MAAOA,IAAK,MACV,QAASsH,oCAAmCtH,GAE9C,MAAOA,IAAK,MAAQA,IAAMkH,GAG5B,IAAIK,KAEFC,KAAM,QAASA,MAAKC,EAAGC,GACrB,GAAIC,GAAO9J,UAAUqI,OAAS,EAAIrI,UAAU,KAC5C,KAAK0J,GAAGK,WAAWH,GAAI,CACrB,KAAM,IAAIrH,WAAUqH,EAAI,sBAE1B,MAAO1K,GAAO0K,EAAGC,EAAGC,IAGtBE,uBAAwB,SAAU7H,EAAG8H,GACnC,GAAIT,GAAkBrH,GAAI,CACxB,KAAM,IAAII,WAAU0H,GAAc,yBAA2B9H,GAE/D,MAAOA,IAYT+H,aAAc,SAAU/H,GACtB,GAAIA,QAAW,IAAKA,IAAM,MAAQA,IAAM,MAAQA,IAAM,MAAO,CAC3D,MAAO,OAET,aAAcA,KAAM,kBAAqBA,KAAM,UAAYA,IAAMkH,IAGnEc,SAAU,SAAUhG,EAAG8F,GACrB,MAAOtK,QAAO+J,GAAGM,uBAAuB7F,EAAG8F,KAG7CF,WAAY9H,EAEZmI,cAAe,SAAUjI,GAEvB,MAAOuH,IAAGK,WAAW5H,IAGvBkI,QAAS,SAAUlI,GACjB,MAAOuH,IAAGY,SAASnI,IAAM,GAG3BoI,SAAU,SAAUpI,GAClB,MAAOuH,IAAGY,SAASnI,KAAO,GAG5BmI,SAAU,SAAUhJ,GAClB,GAAIS,EAAUT,KAAW,kBAAmB,CAC1C,KAAM,IAAIiB,WAAU,6CAEtB,OAAQjB,GAGVkJ,UAAW,SAAUlJ,GACnB,GAAIuG,GAAS6B,GAAGY,SAAShJ,EACzB,IAAIiG,EAAYM,GAAS,CAAE,MAAO,GAClC,GAAIA,IAAW,IAAMH,EAAeG,GAAS,CAAE,MAAOA,GACtD,OAAQA,EAAS,EAAI,GAAK,GAAK9B,EAAOE,EAAK4B,KAG7C4C,SAAU,SAAUnJ,GAClB,GAAIoJ,GAAMhB,GAAGc,UAAUlJ,EACvB,IAAIoJ,GAAO,EAAG,CAAE,MAAO,GACvB,GAAIA,EAAMlD,OAAOmD,iBAAkB,CAAE,MAAOnD,QAAOmD,iBACnD,MAAOD,IAGTE,UAAW,SAAUC,EAAGC,GACtB,GAAID,IAAMC,EAAG,CAEX,GAAID,IAAM,EAAG,CAAE,MAAO,GAAIA,IAAM,EAAIC,EACpC,MAAO,MAET,MAAOvD,GAAYsD,IAAMtD,EAAYuD,IAGvCC,cAAe,SAAUF,EAAGC,GAE1B,MAAQD,KAAMC,GAAOvD,EAAYsD,IAAMtD,EAAYuD,IAGrDE,WAAY,SAAU7G,GACpB,MAAOuF,IAAGQ,aAAa/F,WAAcA,GAAE6E,MAAgB,aAAeb,GAAYhE,KAGpF8G,YAAa,SAAU9G,GACrB,GAAIgE,GAAYhE,GAAI,CAElB,MAAO,IAAIwC,GAAcxC,EAAG,SAE9B,GAAI+G,GAAOxB,GAAGyB,UAAUhH,EAAG6E,GAC3B,KAAKU,GAAGK,WAAWmB,GAAO,CAExB,KAAM,IAAI3I,WAAU,4BAEtB,GAAI6I,GAAK1B,GAAGC,KAAKuB,EAAM/G,EACvB,KAAKuF,GAAGQ,aAAakB,GAAK,CACxB,KAAM,IAAI7I,WAAU,gBAEtB,MAAO6I,IAGTD,UAAW,SAAUhH,EAAGkH,GACtB,GAAIvL,GAAO4J,GAAGS,SAAShG,GAAGkH,EAC1B,IAAI7B,GAAkB1J,GAAO,CAC3B,WAAY,GAEd,IAAK4J,GAAGK,WAAWjK,GAAO,CACxB,KAAM,IAAIyC,WAAU,wBAA0B8I,GAEhD,MAAOvL,IAGTwL,iBAAkB,SAAUC,GAC1B,QAASA,EAAWC,MAGtBC,cAAe,SAAUxC,EAAUyC,GACjC,GAAIC,GAAejC,GAAGyB,UAAUlC,EAAU,SAC1C,IAAI0C,QAAsB,GAAG,CAC3B,OAEF,GAAIC,GAAaC,CACjB,KACED,EAAclC,GAAGC,KAAKgC,EAAc1C,GACpC,MAAO/I,GACP2L,EAAiB3L,EAEnB,GAAIwL,EAAmB,CACrB,OAEF,GAAIG,EAAgB,CAClB,KAAMA,GAER,IAAKnC,GAAGQ,aAAa0B,GAAc,CACjC,KAAM,IAAIrJ,WAAU,qDAIxBuJ,aAAc,SAAUV,GACtB,GAAIW,GAAS/L,UAAUqI,OAAS,EAAI+C,EAAGY,KAAKhM,UAAU,IAAMoL,EAAGY,MAC/D,KAAKtC,GAAGQ,aAAa6B,GAAS,CAC5B,KAAM,IAAIxJ,WAAU,gBAEtB,MAAOwJ,IAGTE,aAAc,SAAUb,GACtB,GAAIW,GAASrC,GAAGoC,aAAaV,EAC7B,IAAII,GAAO9B,GAAG4B,iBAAiBS,EAC/B,OAAOP,GAAO,MAAQO,GAGxBG,UAAW,SAAUrI,EAAGiG,EAAMqC,EAAWC,GACvC,GAAI7I,SAAgB4I,KAAc,YAActI,EAAIsI,CAEpD,KAAKC,GAAiBjD,GAAQkD,UAAW,CAEvC,MAAOlD,IAAQkD,UAAUxI,EAAGiG,EAAMvG,GAOpC,GAAI+I,GAAQ/I,EAAO1C,SACnB,KAAK6I,GAAGQ,aAAaoC,GAAQ,CAC3BA,EAAQ3M,OAAOkB,UAEjB,GAAI0L,GAAM9I,EAAO6I,EAEjB,IAAIP,GAASrC,GAAGC,KAAK9F,EAAG0I,EAAKzC,EAC7B,OAAOJ,IAAGQ,aAAa6B,GAAUA,EAASQ,GAG5CC,mBAAoB,SAAUC,EAAGC,GAC/B,GAAI7I,GAAI4I,EAAErI,WACV,IAAIP,QAAW,GAAG,CAChB,MAAO6I,GAET,IAAKhD,GAAGQ,aAAarG,GAAI,CACvB,KAAM,IAAItB,WAAU,mBAEtB,GAAIoK,GAAI9I,EAAEwD,EACV,IAAImC,GAAkBmD,GAAI,CACxB,MAAOD,GAET,IAAKhD,GAAGU,cAAcuC,GAAI,CACxB,KAAM,IAAIpK,WAAU,iBAEtB,MAAOoK,IAGTC,WAAY,SAAUnE,EAAQoE,EAAKC,EAAWxL,GAC5C,GAAIqL,GAAIjD,GAAGqD,SAAStE,EACpB,IAAIuE,GAAK,IAAMH,CACf,IAAIC,IAAc,GAAI,CACpB,GAAIjD,GAAIH,GAAGqD,SAASzL,EACpB,IAAI2L,GAAWpD,EAAEqD,QAAQ,KAAM,SAC/BF,IAAM,IAAMF,EAAY,KAAOG,EAAW,IAE5C,GAAIE,GAAKH,EAAK,GACd,IAAII,GAAKD,EAAKR,CACd,OAAOS,GAAK,KAAOP,EAAM,KAG3BQ,SAAU,QAASA,UAASC,GAC1B,IAAK5D,GAAGQ,aAAaoD,GAAW,CAC9B,MAAO,OAET,GAAIC,GAAWD,EAASlG,EAAOoG,MAC/B,UAAWD,KAAa,YAAa,CACnC,QAASA,EAEX,MAAOhF,IAAKG,MAAM4E,IAGpBP,SAAU,QAASA,UAAStE,GAC1B,MAAOW,IAAQX,IAKnB,IAAIjI,GAAuBuI,GAAY,CACrC,GAAI0E,IAAwB,QAASA,uBAAsB9M,GACzD,GAAI4H,GAAKI,OAAOvB,EAAOzG,IAAQ,CAC7B,MAAOyG,GAAOzG,GAGhB,GAAI+M,GAAMtG,EAAO,OAAO,UAAYzG,EACpChB,QAAOW,eAAe8G,EAAQzG,GAC5Ba,aAAc,MACdC,WAAY,MACZC,SAAU,MACVJ,MAAOoM,GAET,OAAOA,GAET,KAAKnF,GAAKI,OAAOvB,EAAOuG,QAAS,CAC/B,GAAIC,IAAeH,GAAsB,SACzC,IAAII,IAAiB/I,OAAOjE,UAAU8M,MACtCrN,GAAewN,OAAOjN,UAAW+M,GAAc,QAASD,QAAOlF,GAC7D,MAAOiB,IAAGC,KAAKkE,GAAgBpF,GAASxJ,QAE1C,IAAI8O,IAAa,QAASJ,QAAOK,GAC/B,GAAIvB,GAAI/C,GAAGM,uBAAuB/K,KAClC,KAAKuK,GAAkBwE,GAAS,CAC9B,GAAIC,GAAWvE,GAAGyB,UAAU6C,EAAQJ,GACpC,UAAWK,KAAa,YAAa,CACnC,MAAOvE,IAAGC,KAAKsE,EAAUD,GAASvB,KAGtC,MAAO/C,IAAGC,KAAKkE,GAAgBpB,GAAI/C,GAAGqD,SAASiB,KAEjDpF,IAAe9D,OAAOjE,UAAW,SAAUkN,IAE7C,IAAKxF,GAAKI,OAAOvB,EAAO8F,SAAU,CAChC,GAAIgB,IAAgBT,GAAsB,UAC1C,IAAIU,IAAkBrJ,OAAOjE,UAAUqM,OACvC5M,GAAewN,OAAOjN,UAAWqN,GAAe,QAAShB,SAAQzE,EAAQ2F,GACvE,MAAO1E,IAAGC,KAAKwE,GAAiB1F,GAASxJ,KAAMmP,KAEjD,IAAIC,IAAc,QAASnB,SAAQoB,EAAaF,GAC9C,GAAI3B,GAAI/C,GAAGM,uBAAuB/K,KAClC,KAAKuK,GAAkB8E,GAAc,CACnC,GAAIC,GAAW7E,GAAGyB,UAAUmD,EAAaJ,GACzC,UAAWK,KAAa,YAAa,CACnC,MAAO7E,IAAGC,KAAK4E,EAAUD,GAAc7B,EAAG2B,KAG9C,MAAO1E,IAAGC,KAAKwE,GAAiB1B,GAAI/C,GAAGqD,SAASuB,GAAcF,IAEhExF,IAAe9D,OAAOjE,UAAW,UAAWwN,IAE9C,IAAK9F,GAAKI,OAAOvB,EAAOoH,OAAQ,CAC9B,GAAIC,IAAchB,GAAsB,QACxC,IAAIiB,IAAgB5J,OAAOjE,UAAU2N,KACrClO,GAAewN,OAAOjN,UAAW4N,GAAa,QAASD,OAAM/F,EAAQkG,GACnE,MAAOjF,IAAGC,KAAK+E,GAAejG,GAASxJ,KAAM0P,KAE/C,IAAIC,IAAY,QAASJ,OAAMK,EAAWF,GACxC,GAAIlC,GAAI/C,GAAGM,uBAAuB/K,KAClC,KAAKuK,GAAkBqF,GAAY,CACjC,GAAIC,GAAWpF,GAAGyB,UAAU0D,EAAWJ,GACvC,UAAWK,KAAa,YAAa,CACnC,MAAOpF,IAAGC,KAAKmF,EAAUD,GAAYpC,EAAGkC,KAG5C,MAAOjF,IAAGC,KAAK+E,GAAejC,GAAI/C,GAAGqD,SAAS8B,GAAYF,IAE5D/F,IAAe9D,OAAOjE,UAAW,QAAS+N,IAE5C,GAAIG,IAAoBxG,GAAKI,OAAOvB,EAAOoG,MAC3C,IAAIwB,IAAgCD,IAAsB,WAGxD,GAAI5K,KACJA,GAAEiD,EAAOoG,OAAS,WAAc,MAAO,IACvC,OAAO,IAAIA,MAAMrJ,KAAO,KAE1B,KAAK4K,IAAqBC,GAA+B,CACvD,GAAIC,IAAcxB,GAAsB,QAExC,IAAIyB,IAAgBpK,OAAOjE,UAAU2M,KACrClN,GAAewN,OAAOjN,UAAWoO,GAAa,QAASzB,OAAM/E,GAC3D,MAAOiB,IAAGC,KAAKuF,GAAezG,GAASxJ,QAGzC,IAAIkQ,IAAY,QAAS3B,OAAMQ,GAC7B,GAAIvB,GAAI/C,GAAGM,uBAAuB/K,KAClC,KAAKuK,GAAkBwE,GAAS,CAC9B,GAAIoB,GAAU1F,GAAGyB,UAAU6C,EAAQiB,GACnC,UAAWG,KAAY,YAAa,CAClC,MAAO1F,IAAGC,KAAKyF,EAASpB,GAASvB,KAGrC,MAAO/C,IAAGC,KAAKuF,GAAezC,GAAI/C,GAAGqD,SAASiB,KAEhDpF,IAAe9D,OAAOjE,UAAW,QAASsO,KAI9C,GAAIE,IAAkB,QAASA,iBAAgBvG,EAAUD,EAAayG,GACpEjN,EAAMiB,iBAAiBuF,EAAaC,EACpC,IAAInJ,OAAOoE,eAAgB,CAEzBpE,OAAOoE,eAAe+E,EAAUD,GAElC,GAAIrI,EAAqB,CACvBI,EAASjB,OAAO4P,oBAAoBzG,GAAW,SAAUpG,GACvD,GAAIA,IAAOkE,IAAQ0I,EAAW5M,GAAM,CAAE,OACtCL,EAAMG,MAAMsG,EAAUpG,EAAKmG,SAExB,CACLjI,EAASjB,OAAOD,KAAKoJ,GAAW,SAAUpG,GACxC,GAAIA,IAAOkE,IAAQ0I,EAAW5M,GAAM,CAAE,OACtCmG,EAAYnG,GAAOoG,EAASpG,KAGhCmG,EAAYhI,UAAYiI,EAASjI,SACjCwB,GAAMY,SAAS6F,EAASjI,UAAW,cAAegI,GAGpD,IAAI2G,IAAuB,WAAc,MAAOvQ,MAChD,IAAIwQ,IAAoB,SAAU5L,GAChC,GAAIrD,IAAwBiG,EAAgB5C,EAAGwD,GAAgB,CAC7DhF,EAAMC,OAAOuB,EAAGwD,EAAemI,KAInC,IAAIE,IAAc,SAAU7O,EAAW8O,GACrC,GAAIC,GAAiBD,GAAQ,QAAS1G,YAAa,MAAOhK,MAC1DqB,GAAeO,EAAWmI,GAAY4G,EACtC,KAAK/O,EAAUmI,KAAeT,GAAKI,OAAOK,IAAa,CAErDnI,EAAUmI,IAAc4G,GAI5B,IAAIC,IAAqB,QAASA,oBAAmBxO,EAAQV,EAAMW,GACjE,GAAId,EAAqB,CACvBb,OAAOW,eAAee,EAAQV,GAC5Ba,aAAc,KACdC,WAAY,KACZC,SAAU,KACVJ,MAAOA,QAEJ,CACLD,EAAOV,GAAQW,GAGnB,IAAIwO,IAA4B,QAASA,2BAA0BzO,EAAQV,EAAMW,GAC/EuO,GAAmBxO,EAAQV,EAAMW,EACjC,KAAKoI,GAAGkB,UAAUvJ,EAAOV,GAAOW,GAAQ,CACtC,KAAM,IAAIiB,WAAU,gCAIxB,IAAIwN,IAAsB,SAAU5L,EAAG6L,EAAkBC,EAAcC,GAWrE,IAAKxG,GAAGQ,aAAa/F,GAAI,CACvB,KAAM,IAAI5B,WAAU,+BAAiCyN,EAAiBrP,MAExE,GAAI2L,GAAQ0D,EAAiBnP,SAC7B,KAAK6I,GAAGQ,aAAaoC,GAAQ,CAC3BA,EAAQ2D,EAEV,GAAI1D,GAAM9I,EAAO6I,EACjB,KAAK,GAAI3L,KAAQuP,GAAO,CACtB,GAAIzJ,EAAgByJ,EAAOvP,GAAO,CAChC,GAAIW,GAAQ4O,EAAMvP,EAClBL,GAAeiM,EAAK5L,EAAMW,EAAO,OAGrC,MAAOiL,GAKT,IAAIzH,OAAOqL,eAAiBrL,OAAOqL,cAAc9H,SAAW,EAAG,CAC7D,GAAI+H,IAAwBtL,OAAOqL,aACnCvH,IAAe9D,OAAQ,gBAAiB,QAASqL,eAAcE,GAC7D,MAAO3G,IAAGC,KAAKyG,GAAuBnR,KAAMe,aAIhD,GAAIsQ,KACFH,cAAe,QAASA,eAAcE,GACpC,GAAItE,KACJ,IAAIC,EACJ,KAAK,GAAIuE,GAAI,EAAGlI,EAASrI,UAAUqI,OAAQkI,EAAIlI,EAAQkI,IAAK,CAC1DvE,EAAOxE,OAAOxH,UAAUuQ,GACxB,KAAK7G,GAAGkB,UAAUoB,EAAMtC,GAAGc,UAAUwB,KAAUA,EAAO,GAAKA,EAAO,QAAU,CAC1E,KAAM,IAAIwE,YAAW,sBAAwBxE,GAG/C,GAAIA,EAAO,MAAS,CAClB3G,EAAM0G,EAAQjH,OAAO2L,aAAazE,QAC7B,CACLA,GAAQ,KACR3G,GAAM0G,EAAQjH,OAAO2L,cAAczE,GAAQ,IAAM,OACjD3G,GAAM0G,EAAQjH,OAAO2L,aAAczE,EAAO,KAAS,SAGvD,MAAOD,GAAO2E,KAAK,KAGrBC,IAAK,QAASA,KAAIC,GAChB,GAAIC,GAASnH,GAAGS,SAASyG,EAAU,eACnC,IAAIE,GAAYpH,GAAGS,SAAS0G,EAAOF,IAAK,gBACxC,IAAIjG,GAAMoG,EAAUzI,MACpB,IAAI0I,GAAkBrH,GAAGe,SAASC,EAClC,IAAIqG,GAAmB,EAAG,CACxB,MAAO,GAGT,GAAIC,KACJ,IAAIC,GAAY,CAChB,IAAIC,GAASlF,EAAMmF,EAASC,CAC5B,OAAOH,EAAYF,EAAiB,CAClCG,EAAUxH,GAAGqD,SAASkE,EACtBE,GAAUzH,GAAGqD,SAAS+D,EAAUI,GAChC7L,GAAM2L,EAAgBG,EACtB,IAAIF,EAAY,GAAKF,EAAiB,CACpC,MAEF/E,EAAOiF,EAAY,EAAIjR,UAAUqI,OAASrI,UAAUiR,EAAY,GAAK,EACrEG,GAAU1H,GAAGqD,SAASf,EACtB3G,GAAM2L,EAAgBI,EACtBH,IAAa,EAEf,MAAOD,GAAeN,KAAK,KAG/B,IAAI5L,OAAO6L,KAAO7L,OAAO6L,KAAMA,KAAOU,EAAG,IAAKC,EAAG,IAAKjJ,OAAQ,OAAW,KAAM,CAE7EO,GAAe9D,OAAQ,MAAOwL,GAAYK,KAE5ChP,EAAiBmD,OAAQwL,GAIzB,IAAIiB,IAAe,QAASC,QAAOC,EAAGC,GACpC,GAAIA,EAAQ,EAAG,CAAE,MAAO,GACxB,GAAIA,EAAQ,EAAG,CAAE,MAAOF,QAAOC,EAAGC,EAAQ,GAAKD,EAC/C,GAAIE,GAAOH,OAAOC,EAAGC,EAAQ,EAC7B,OAAOC,GAAOA,EAEhB,IAAIC,IAAkB3J,QAEtB,IAAI4J,KACFL,OAAQ,QAASA,QAAOE,GACtB,GAAII,GAAUpI,GAAGqD,SAASrD,GAAGM,uBAAuB/K,MACpD,IAAI8S,GAAWrI,GAAGc,UAAUkH,EAC5B,IAAIK,EAAW,GAAKA,GAAYH,GAAiB,CAC/C,KAAM,IAAIpB,YAAW,gFAEvB,MAAOe,IAAaO,EAASC,IAG/BC,WAAY,QAASA,YAAWC,GAC9B,GAAItF,GAAIjD,GAAGqD,SAASrD,GAAGM,uBAAuB/K,MAC9C,IAAIyK,GAAG2D,SAAS4E,GAAe,CAC7B,KAAM,IAAI1P,WAAU,gDAEtB,GAAI2P,GAAYxI,GAAGqD,SAASkF,EAC5B,IAAIE,EACJ,IAAInS,UAAUqI,OAAS,EAAG,CACxB8J,EAAWnS,UAAU,GAEvB,GAAIoS,GAAQ1M,EAAKgE,GAAGc,UAAU2H,GAAW,EACzC,OAAOhN,GAAUwH,EAAGyF,EAAOA,EAAQF,EAAU7J,UAAY6J,GAG3DG,SAAU,QAASA,UAASJ,GAC1B,GAAItF,GAAIjD,GAAGqD,SAASrD,GAAGM,uBAAuB/K,MAC9C,IAAIyK,GAAG2D,SAAS4E,GAAe,CAC7B,KAAM,IAAI1P,WAAU,8CAEtB,GAAI2P,GAAYxI,GAAGqD,SAASkF,EAC5B,IAAIvH,GAAMiC,EAAEtE,MACZ,IAAIiK,EACJ,IAAItS,UAAUqI,OAAS,EAAG,CACxBiK,EAActS,UAAU,GAE1B,GAAIuS,SAAaD,KAAgB,YAAc5H,EAAMhB,GAAGc,UAAU8H,EAClE,IAAIE,GAAM3M,EAAKH,EAAK6M,EAAK,GAAI7H,EAC7B,OAAOvF,GAAUwH,EAAG6F,EAAMN,EAAU7J,OAAQmK,KAASN,GAGvDO,SAAU,QAASA,UAASR,GAC1B,GAAIvI,GAAG2D,SAAS4E,GAAe,CAC7B,KAAM,IAAI1P,WAAU,uCAEtB,GAAI2P,GAAYxI,GAAGqD,SAASkF,EAC5B,IAAIE,EACJ,IAAInS,UAAUqI,OAAS,EAAG,CACxB8J,EAAWnS,UAAU,GAGvB,MAAO6E,GAAS5F,KAAMiT,EAAWC,MAAe,GAGlDO,YAAa,QAASA,aAAYH,GAChC,GAAIT,GAAUpI,GAAGqD,SAASrD,GAAGM,uBAAuB/K,MACpD,IAAIkT,GAAWzI,GAAGc,UAAU+H,EAC5B,IAAIlK,GAASyJ,EAAQzJ,MACrB,IAAI8J,GAAY,GAAKA,EAAW9J,EAAQ,CACtC,GAAIsK,GAAQb,EAAQc,WAAWT,EAC/B,IAAIU,GAAQV,EAAW,IAAM9J,CAC7B,IAAIsK,EAAQ,OAAUA,EAAQ,OAAUE,EAAO,CAAE,MAAOF,GACxD,GAAIG,GAAShB,EAAQc,WAAWT,EAAW,EAC3C,IAAIW,EAAS,OAAUA,EAAS,MAAQ,CAAE,MAAOH,GACjD,OAASA,EAAQ,OAAU,MAASG,EAAS,OAAU,QAI7D,IAAIhO,OAAOjE,UAAU4R,UAAY,IAAIA,SAAS,IAAKxK,YAAc,MAAO,CACtEW,GAAe9D,OAAOjE,UAAW,WAAYgR,GAAqBY,UAGpE,GAAI3N,OAAOjE,UAAUmR,YAAclN,OAAOjE,UAAUwR,SAAU,CAC5D,GAAIU,IAAyB9S,EAAY,WAEvC,MAAO,MAAM+R,WAAW,MAE1B,IAAIgB,IAA4B7S,EAAqB,WACnD,MAAO,MAAM6R,WAAW,IAAK/J,YAAc,OAE7C,KAAK8K,KAA2BC,GAA2B,CAEzDpK,GAAe9D,OAAOjE,UAAW,aAAcgR,GAAqBG,WACpEpJ,IAAe9D,OAAOjE,UAAW,WAAYgR,GAAqBQ,WAGtE,GAAItJ,GAAY,CACd,GAAIkK,IAAgC9S,EAAqB,WACvD,GAAI+S,GAAK,GACTA,GAAG9L,EAAOoG,OAAS,KACnB,OAAO,MAAMwE,WAAWkB,IAE1B,KAAKD,GAA+B,CAClCrK,GAAe9D,OAAOjE,UAAW,aAAcgR,GAAqBG,YAEtE,GAAImB,IAA8BhT,EAAqB,WACrD,GAAI+S,GAAK,GACTA,GAAG9L,EAAOoG,OAAS,KACnB,OAAO,MAAM6E,SAASa,IAExB,KAAKC,GAA6B,CAChCvK,GAAe9D,OAAOjE,UAAW,WAAYgR,GAAqBQ,UAEpE,GAAIe,IAA8BjT,EAAqB,WACrD,GAAI+S,GAAK,GACTA,GAAG9L,EAAOoG,OAAS,KACnB,OAAO,MAAMiF,SAASS,IAExB,KAAKE,GAA6B,CAChCxK,GAAe9D,OAAOjE,UAAW,WAAYgR,GAAqBY,WAItE9Q,EAAiBmD,OAAOjE,UAAWgR,GAInC,IAAIwB,KACF,wDACA,qEACA,gBACA3C,KAAK,GACP,IAAI4C,IAAa,GAAIxF,QAAO,MAAQuF,GAAK,SAAWA,GAAK,OAAQ,IACjE,IAAIE,IAAW,QAASC,QACtB,MAAO9J,IAAGqD,SAASrD,GAAGM,uBAAuB/K,OAAOiO,QAAQoG,GAAY,IAE1E,IAAIG,KAAS,OAAU,SAAU,UAAU/C,KAAK,GAChD,IAAIgD,IAAa,GAAI5F,QAAO,IAAM2F,GAAQ,IAAK,IAC/C,IAAIE,IAAgB,oBACpB,IAAIC,IAAmBH,GAAMD,OAAOnL,SAAWoL,GAAMpL,MACrD/H,GAAewE,OAAOjE,UAAW,OAAQ0S,GAAUK,GAKnD,IAAIC,IAAiB,SAAU1R,GAC7B,OAASb,MAAOa,EAAGqJ,KAAMxL,UAAUqI,SAAW,GAIhD,IAAIyL,IAAiB,SAAUrC,GAC7B/H,GAAGM,uBAAuByH,EAC1BxS,MAAK8U,GAAKrK,GAAGqD,SAAS0E,EACtBxS,MAAK+U,GAAK,EAEZF,IAAejT,UAAUmL,KAAO,WAC9B,GAAIyF,GAAIxS,KAAK8U,EACb,IAAIxD,GAAItR,KAAK+U,EACb,UAAWvC,KAAM,aAAelB,GAAKkB,EAAEpJ,OAAQ,CAC7CpJ,KAAK8U,OAAU,EACf,OAAOF,MAET,GAAIlB,GAAQlB,EAAEmB,WAAWrC,EACzB,IAAIuC,GAAQpI,CACZ,IAAIiI,EAAQ,OAAUA,EAAQ,OAAWpC,EAAI,IAAOkB,EAAEpJ,OAAQ,CAC5DqC,EAAM,MACD,CACLoI,EAASrB,EAAEmB,WAAWrC,EAAI,EAC1B7F,GAAOoI,EAAS,OAAUA,EAAS,MAAU,EAAI,EAEnD7T,KAAK+U,GAAKzD,EAAI7F,CACd,OAAOmJ,IAAepC,EAAEwC,OAAO1D,EAAG7F,IAEpCgF,IAAYoE,GAAejT,UAC3B6O,IAAY5K,OAAOjE,UAAW,WAC5B,MAAO,IAAIiT,IAAe7U,OAG5B,IAAIiV,KACFC,KAAM,QAASA,MAAKC,GAClB,GAAIvQ,GAAI5E,IACR,IAAIoV,EACJ,IAAIrU,UAAUqI,OAAS,EAAG,CACxBgM,EAAQrU,UAAU,GAEpB,GAAIsU,GAASC,CACb,UAAWF,KAAU,YAAa,CAChCC,EAAU,UACL,CACL,IAAK5K,GAAGK,WAAWsK,GAAQ,CACzB,KAAM,IAAI9R,WAAU,qEAEtB,GAAIvC,UAAUqI,OAAS,EAAG,CACxBkM,EAAIvU,UAAU,GAEhBsU,EAAU,KAKZ,GAAIE,UAAwBrM,GAAYiM,IAAU1K,GAAGyB,UAAUiJ,EAAOpL,OAAiB,WAEvF,IAAIX,GAAQ0D,EAAQwE,CACpB,IAAIiE,EAAe,CACjBzI,EAASrC,GAAGU,cAAcvG,GAAKlE,OAAO,GAAIkE,MAC1C,IAAIoF,GAAWS,GAAGuB,YAAYmJ,EAC9B,IAAIpI,GAAMyI,CAEVlE,GAAI,CACJ,OAAO,KAAM,CACXvE,EAAOtC,GAAGuC,aAAahD,EACvB,IAAI+C,IAAS,MAAO,CAClB,MAEFyI,EAAYzI,EAAK1K,KACjB,KACE,GAAIgT,EAAS,CACXG,QAAmBF,KAAM,YAAcF,EAAMI,EAAWlE,GAAKhR,EAAM8U,EAAOE,EAAGE,EAAWlE,GAE1FxE,EAAOwE,GAAKkE,EACZ,MAAOvU,GACPwJ,GAAG+B,cAAcxC,EAAU,KAC3B,MAAM/I,GAERqQ,GAAK,EAEPlI,EAASkI,MACJ,CACL,GAAImE,GAAYhL,GAAGS,SAASiK,EAC5B/L,GAASqB,GAAGe,SAASiK,EAAUrM,OAC/B0D,GAASrC,GAAGU,cAAcvG,GAAKlE,OAAO,GAAIkE,GAAEwE,IAAW,GAAI5I,OAAM4I,EACjE,IAAI/G,EACJ,KAAKiP,EAAI,EAAGA,EAAIlI,IAAUkI,EAAG,CAC3BjP,EAAQoT,EAAUnE,EAClB,IAAI+D,EAAS,CACXhT,QAAeiT,KAAM,YAAcF,EAAM/S,EAAOiP,GAAKhR,EAAM8U,EAAOE,EAAGjT,EAAOiP,GAE9ET,GAA0B/D,EAAQwE,EAAGjP,IAIzCyK,EAAO1D,OAASA,CAChB,OAAO0D,IAGT4I,GAAI,QAASA,MACX,GAAIjK,GAAM1K,UAAUqI,MACpB,IAAIxE,GAAI5E,IACR,IAAI2V,GAAIpV,EAAQqE,KAAO6F,GAAGK,WAAWlG,GAAK,GAAIpE,OAAMiL,GAAOhB,GAAGwC,UAAUrI,GAAI6G,GAC5E,KAAK,GAAImK,GAAI,EAAGA,EAAInK,IAAOmK,EAAG,CAC5B/E,GAA0B8E,EAAGC,EAAG7U,UAAU6U,IAE5CD,EAAEvM,OAASqC,CACX,OAAOkK,IAGXjT,GAAiBlC,MAAOyU,GACxBzE,IAAkBhQ,MAIlBkH,GAAgB,SAAUmO,EAAOC,GAC/B9V,KAAKsR,EAAI,CACTtR,MAAK6V,MAAQA,CACb7V,MAAK8V,KAAOA,EAGdpT,GAAiBgF,EAAc9F,WAC7BmL,KAAM,WACJ,GAAIuE,GAAItR,KAAKsR,CACb,IAAIuE,GAAQ7V,KAAK6V,KACjB,MAAM7V,eAAgB0H,IAAgB,CACpC,KAAM,IAAIpE,WAAU,wBAEtB,SAAWuS,KAAU,YAAa,CAChC,GAAIpK,GAAMhB,GAAGe,SAASqK,EAAMzM,OAC5B,MAAOkI,EAAI7F,EAAK6F,IAAK,CACnB,GAAIwE,GAAO9V,KAAK8V,IAChB,IAAIC,EACJ,IAAID,IAAS,MAAO,CAClBC,EAASzE,MACJ,IAAIwE,IAAS,QAAS,CAC3BC,EAASF,EAAMvE,OACV,IAAIwE,IAAS,QAAS,CAC3BC,GAAUzE,EAAGuE,EAAMvE,IAErBtR,KAAKsR,EAAIA,EAAI,CACb,OAAOsD,IAAemB,IAG1B/V,KAAK6V,UAAa,EAClB,OAAOjB,QAGXnE,IAAY/I,EAAc9F,UAgC1B,IAAIoU,IAA6BxV,MAAMkV,KAAOT,GAAWS,IAAO,WAE9D,GAAIO,GAAM,QAASA,KAAIxK,GAAOzL,KAAKoJ,OAASqC,EAC5CwK,GAAIrU,YACJ,IAAIsU,GAAS1V,MAAMkV,GAAGrV,MAAM4V,GAAM,EAAG,GACrC,OAAOC,aAAkBD,IAAOC,EAAO9M,SAAW,IAEpD,KAAK4M,GAA4B,CAC/BrM,GAAenJ,MAAO,KAAMyU,GAAWS,IAGzC,GAAIS,KACFC,WAAY,QAASA,YAAW9R,EAAQ6O,GACtC,GAAIjO,GAAIuF,GAAGS,SAASlL,KACpB,IAAIyL,GAAMhB,GAAGe,SAAStG,EAAEkE,OACxB,IAAIiN,GAAiB5L,GAAGc,UAAUjH,EAClC,IAAIgS,GAAgB7L,GAAGc,UAAU4H,EACjC,IAAIoD,GAAKF,EAAiB,EAAI5P,EAAKgF,EAAM4K,EAAgB,GAAKzP,EAAKyP,EAAgB5K,EACnF,IAAIyJ,GAAOoB,EAAgB,EAAI7P,EAAKgF,EAAM6K,EAAe,GAAK1P,EAAK0P,EAAe7K,EAClF,IAAI8H,EACJ,IAAIxS,UAAUqI,OAAS,EAAG,CACxBmK,EAAMxS,UAAU,GAElB,GAAIyV,SAAqBjD,KAAQ,YAAc9H,EAAMhB,GAAGc,UAAUgI,EAClE,IAAIkD,GAAYD,EAAc,EAAI/P,EAAKgF,EAAM+K,EAAa,GAAK5P,EAAK4P,EAAa/K,EACjF,IAAIiL,GAAQ9P,EAAK6P,EAAYvB,EAAMzJ,EAAM8K,EACzC,IAAII,GAAY,CAChB,IAAIzB,EAAOqB,GAAMA,EAAMrB,EAAOwB,EAAQ,CACpCC,GAAa,CACbzB,IAAQwB,EAAQ,CAChBH,IAAMG,EAAQ,EAEhB,MAAOA,EAAQ,EAAG,CAChB,GAAIxB,IAAQhQ,GAAG,CACbA,EAAEqR,GAAMrR,EAAEgQ,OACL,OACEhQ,GAAEqR,GAEXrB,GAAQyB,CACRJ,IAAMI,CACND,IAAS,EAEX,MAAOxR,IAGT0R,KAAM,QAASA,MAAKvU,GAClB,GAAI8Q,EACJ,IAAIpS,UAAUqI,OAAS,EAAG,CACxB+J,EAAQpS,UAAU,GAEpB,GAAIwS,EACJ,IAAIxS,UAAUqI,OAAS,EAAG,CACxBmK,EAAMxS,UAAU,GAElB,GAAIyM,GAAI/C,GAAGS,SAASlL,KACpB,IAAIyL,GAAMhB,GAAGe,SAASgC,EAAEpE,OACxB+J,GAAQ1I,GAAGc,gBAAiB4H,KAAU,YAAc,EAAIA,EACxDI,GAAM9I,GAAGc,gBAAiBgI,KAAQ,YAAc9H,EAAM8H,EAEtD,IAAI+C,GAAgBnD,EAAQ,EAAI1M,EAAKgF,EAAM0H,EAAO,GAAKvM,EAAKuM,EAAO1H,EACnE,IAAI+K,GAAcjD,EAAM,EAAI9H,EAAM8H,EAAMA,CAExC,KAAK,GAAIjC,GAAIgF,EAAehF,EAAI7F,GAAO6F,EAAIkF,IAAelF,EAAG,CAC3D9D,EAAE8D,GAAKjP,EAET,MAAOmL,IAGTqJ,KAAM,QAASA,MAAKC,GAClB,GAAIC,GAAOtM,GAAGS,SAASlL,KACvB,IAAIoJ,GAASqB,GAAGe,SAASuL,EAAK3N,OAC9B,KAAKqB,GAAGK,WAAWgM,GAAY,CAC7B,KAAM,IAAIxT,WAAU,4CAEtB,GAAI0T,GAAUjW,UAAUqI,OAAS,EAAIrI,UAAU,GAAK,IACpD,KAAK,GAAIuQ,GAAI,EAAGjP,EAAOiP,EAAIlI,EAAQkI,IAAK,CACtCjP,EAAQ0U,EAAKzF,EACb,IAAI0F,EAAS,CACX,GAAI1W,EAAMwW,EAAWE,EAAS3U,EAAOiP,EAAGyF,GAAO,CAC7C,MAAO1U,QAEJ,IAAIyU,EAAUzU,EAAOiP,EAAGyF,GAAO,CACpC,MAAO1U,MAKb4U,UAAW,QAASA,WAAUH,GAC5B,GAAIC,GAAOtM,GAAGS,SAASlL,KACvB,IAAIoJ,GAASqB,GAAGe,SAASuL,EAAK3N,OAC9B,KAAKqB,GAAGK,WAAWgM,GAAY,CAC7B,KAAM,IAAIxT,WAAU,iDAEtB,GAAI0T,GAAUjW,UAAUqI,OAAS,EAAIrI,UAAU,GAAK,IACpD,KAAK,GAAIuQ,GAAI,EAAGA,EAAIlI,EAAQkI,IAAK,CAC/B,GAAI0F,EAAS,CACX,GAAI1W,EAAMwW,EAAWE,EAASD,EAAKzF,GAAIA,EAAGyF,GAAO,CAC/C,MAAOzF,QAEJ,IAAIwF,EAAUC,EAAKzF,GAAIA,EAAGyF,GAAO,CACtC,MAAOzF,IAGX,OAAQ,GAGV7Q,KAAM,QAASA,QACb,MAAO,IAAIiH,GAAc1H,KAAM,QAGjCkX,OAAQ,QAASA,UACf,MAAO,IAAIxP,GAAc1H,KAAM,UAGjCmX,QAAS,QAASA,WAChB,MAAO,IAAIzP,GAAc1H,KAAM,UAKnC,IAAIQ,MAAMoB,UAAUnB,OAASgK,GAAGK,YAAY,GAAGrK,OAAOsM,MAAO,OACpDvM,OAAMoB,UAAUnB,KAEzB,GAAID,MAAMoB,UAAUuV,UAAY1M,GAAGK,YAAY,GAAGqM,UAAUpK,MAAO,OAC1DvM,OAAMoB,UAAUuV,QAIzB,GAAI3W,MAAMoB,UAAUnB,MAAQD,MAAMoB,UAAUuV,UAAY3W,MAAMoB,UAAUsV,QAAU1W,MAAMoB,UAAUmI,IAAa,CAC7GrH,EAAiBlC,MAAMoB,WACrBsV,OAAQ1W,MAAMoB,UAAUmI,KAE1B,IAAIT,GAAKI,OAAOvB,EAAOiP,aAAc,CACnC5W,MAAMoB,UAAUuG,EAAOiP,aAAaF,OAAS,MAIjD,GAAI1V,GAAsBhB,MAAMoB,UAAUsV,QAAU1W,MAAMoB,UAAUsV,OAAOxV,OAAS,SAAU,CAC5F,GAAI2V,IAA+B7W,MAAMoB,UAAUsV,MACnDvN,IAAenJ,MAAMoB,UAAW,SAAU,QAASsV,UAAW,MAAOzM,IAAGC,KAAK2M,GAA8BrX,KAAMe,YACjHM,GAAeb,MAAMoB,UAAWmI,GAAYvJ,MAAMoB,UAAUsV,OAAQ,MAEtExU,EAAiBlC,MAAMoB,UAAWuU,GAElC,IAAI,GAAK,MAAMrQ,QAAQ,MAAO,GAAK,EAAG,CAGpCzE,EAAeb,MAAMoB,UAAW,UAAW,QAASkE,SAAQwR,GAC1D,GAAIjV,GAAQ0D,EAAmB/F,KAAMe,UACrC,IAAIsB,IAAU,GAAM,EAAIA,EAAS,EAAG,CAClC,MAAO,GAET,MAAOA,IACN,MAGLoO,GAAYjQ,MAAMoB,UAAW,WAAc,MAAO5B,MAAKkX,UAGvD,IAAIxW,OAAO6W,eAAgB,CACzB9G,GAAY/P,OAAO6W,kBAAkBL,WAIvC,GAAIM,IAAoC,WAGtC,MAAOtW,GAAqB,WAC1B,MAAOV,OAAM0U,MAAO9L,QAAS,IAAKA,SAAW,MAGjD,IAAIqO,IAA6B,WAE/B,GAAIC,GAAMlX,MAAM0U,MAAM,GAAGiC,UACzB,OAAOO,GAAItO,SAAW,GAAK7I,EAAQmX,EAAI,KAAOA,EAAI,GAAG,KAAO,GAAKA,EAAI,GAAG,KAAO,IAEjF,KAAKF,KAAqCC,GAA2B,CACnE9N,GAAenJ,MAAO,OAAQyU,GAAWC,MAE3C,GAAIyC,IAAwC,WAG1C,MAAOzW,GAAqB,WAC1B,MAAOV,OAAM0U,MAAM,OAAS,QAGhC,KAAKyC,GAAsC,CACzC,GAAIC,IAAgBpX,MAAM0U,IAC1BvL,IAAenJ,MAAO,OAAQ,QAAS0U,MAAKC,GAC1C,GAAIpU,UAAUqI,OAAS,SAAYrI,WAAU,KAAO,YAAa,CAC/D,MAAO0J,IAAGC,KAAKkN,GAAe5X,KAAMe,eAC/B,CACL,MAAOT,GAAMsX,GAAe5X,KAAMmV,MAKxC,GAAI0C,MAAgBnR,KAAKoR,IAAI,EAAG,IAAM,EACtC,IAAIC,IAAqB,SAAUlV,EAAQmV,GACzC,GAAI1K,IAAQlE,OAAQyO,GACpBvK,GAAI0K,GAAY1K,EAAIlE,SAAW,GAAK,EAAI,GAAK,IAC7C,OAAOlI,GAAqB,WAC1BZ,EAAMuC,EAAQyK,EAAK,WAGjB,KAAM,IAAIiE,YAAW,6BAEvB,OAAO,QAGX,KAAKwG,GAAmBvX,MAAMoB,UAAUC,SAAU,CAChD,GAAIoW,IAAkBzX,MAAMoB,UAAUC,OACtC8H,IAAenJ,MAAMoB,UAAW,UAAW,QAASC,SAAQqW,GAC1D,MAAOzN,IAAGC,KAAKuN,GAAiBjY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YAC7D,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAUe,KAAM,CAC5C,GAAIwV,IAAc3X,MAAMoB,UAAUe,GAClCgH,IAAenJ,MAAMoB,UAAW,MAAO,QAASe,KAAIuV,GAClD,MAAOzN,IAAGC,KAAKyN,GAAanY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YACzD,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAUK,QAAS,CAC/C,GAAImW,IAAiB5X,MAAMoB,UAAUK,MACrC0H,IAAenJ,MAAMoB,UAAW,SAAU,QAASK,QAAOiW,GACxD,MAAOzN,IAAGC,KAAK0N,GAAgBpY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YAC5D,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAUO,MAAO,CAC7C,GAAIkW,IAAe7X,MAAMoB,UAAUO,IACnCwH,IAAenJ,MAAMoB,UAAW,OAAQ,QAASO,MAAK+V,GACpD,MAAOzN,IAAGC,KAAK2N,GAAcrY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YAC1D,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAU0W,OAAQ,CAC9C,GAAIC,IAAgB/X,MAAMoB,UAAU0W,KACpC3O,IAAenJ,MAAMoB,UAAW,QAAS,QAAS0W,OAAMJ,GACtD,MAAOzN,IAAGC,KAAK6N,GAAevY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YAC3D,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAUG,QAAS,CAC/C,GAAIyW,IAAiBhY,MAAMoB,UAAUG,MACrC4H,IAAenJ,MAAMoB,UAAW,SAAU,QAASG,QAAOmW,GACxD,MAAOzN,IAAGC,KAAK8N,GAAgBxY,KAAKoJ,QAAU,EAAIpJ,QAAWe,YAC5D,MAEL,IAAKgX,GAAmBvX,MAAMoB,UAAU6W,YAAa,MAAO,CAC1D,GAAIC,IAAsBlY,MAAMoB,UAAU6W,WAC1C9O,IAAenJ,MAAMoB,UAAW,cAAe,QAAS6W,aAAYP,GAClE,MAAOzN,IAAGC,KAAKgO,GAAqB1Y,KAAKoJ,QAAU,EAAIpJ,QAAWe,YACjE,MAGL,GAAI4X,IAAoBpQ,OAAO,UAAY,CAC3C,IAAIqQ,IAAqBrQ,OAAO,UAAY,CAC5C,IAAIsQ,IAAqB3W,EAAMsS,GAAO,SAAUsE,GAC9C,MAAOvQ,QAAOuQ,EAAI,EAAIA,KAAO,GAE/B,IAAIH,IAAqBC,IAAsBC,GAAoB,CACjE,GAAIE,IAAaxQ,MACjB,IAAIyQ,IAAc,YAClB,IAAIC,IAAa,aAEjB,IAAIC,IAAWF,GAAYG,KAAK/Y,KAAK4Y,GACrC,IAAII,IAAUH,GAAWE,KAAK/Y,KAAK6Y,GACnC,IAAII,IAAc,SAAU7L,GAC1B,GAAIV,EACJ,UAAWU,GAAE8L,UAAY,WAAY,CACnCxM,EAASU,EAAE8L,SACX,IAAIhQ,GAAKC,UAAUuD,GAAS,CAC1B,MAAOA,IAGX,SAAWU,GAAEzK,WAAa,WAAY,CACpC+J,EAASU,EAAEzK,UACX,IAAIuG,GAAKC,UAAUuD,GAAS,CAC1B,MAAOA,IAGX,KAAM,IAAIxJ,WAAU,oBAEtB,IAAIiW,IAAW9E,GAAW0E,KAAK/Y,KAAKqU,GACpC,IAAI+E,IAAW9E,GAAcyE,KAAK/Y,KAAKsU,GACvC,IAAI+E,IAAc,WAEhB,GAAIA,GAAa,QAASlR,QAAOlG,GAC/B,GAAIqX,EACJ,IAAI3Y,UAAUqI,OAAS,EAAG,CACxBsQ,EAAYpQ,GAAKC,UAAUlH,GAASA,EAAQgX,GAAYhX,EAAO,cAC1D,CACLqX,EAAY,EAEd,SAAWA,KAAc,SAAU,CACjCA,EAAYjP,GAAGC,KAAK4J,GAAUoF,EAC9B,IAAIR,GAASQ,GAAY,CACvBA,EAAYC,SAASzT,EAAUwT,EAAW,GAAI,OACzC,IAAIN,GAAQM,GAAY,CAC7BA,EAAYC,SAASzT,EAAUwT,EAAW,GAAI,OACzC,IAAIH,GAASG,IAAcF,GAASE,GAAY,CACrDA,EAAY3Q,KAGhB,GAAI6Q,GAAW5Z,IACf,IAAI6Z,GAAkB3Y,EAAqB,WACzC6X,GAAWnX,UAAU0X,QAAQnZ,KAAKyZ,EAClC,OAAO,OAET,IAAIA,YAAoBH,KAAeI,EAAiB,CACtD,MAAO,IAAId,IAAWW,GAGxB,MAAOX,IAAWW,GAGpB,OAAOD,KAETrJ,IAAgB2I,GAAYU,MAE5B/W,GAAiB+W,IACf1Q,IAAKgQ,GAAWhQ,IAChB+Q,UAAWf,GAAWe,UACtBC,UAAWhB,GAAWgB,UACtBC,kBAAmBjB,GAAWiB,kBAC9BC,kBAAmBlB,GAAWkB,mBAKhC1R,QAASkR,EACTrW,GAAMY,SAASyB,EAAS,SAAUgU,IAMpC,GAAIS,IAAiBxT,KAAKoR,IAAI,EAAG,IAAM,CACvCpV,GAAiB6F,QACfmD,iBAAkBwO,GAClBC,kBAAmBD,GACnBE,QAAS,sBAETT,SAAUlU,EAAQkU,SAClBU,WAAY5U,EAAQ4U,WAEpB1U,SAAU8C,EAEV6R,UAAW,QAASA,WAAUjY,GAC5B,MAAOoG,GAAepG,IAAUoI,GAAGc,UAAUlJ,KAAWA,GAG1DkY,cAAe,QAASA,eAAclY,GACpC,MAAOkG,QAAO+R,UAAUjY,IAAU2E,EAAK3E,IAAUkG,OAAOmD,kBAG1DlD,MAAOF,GAGTjH,GAAekH,OAAQ,WAAY9C,EAAQkU,SAAUpR,OAAOoR,WAAalU,EAAQkU,SAQjF,KAAK,CAAE,GAAG9C,KAAK,WAAc,MAAO,UAAa,EAAG,CAClDlN,GAAenJ,MAAMoB,UAAW,OAAQuU,GAAoBU,MAE9D,IAAK,CAAE,GAAGI,UAAU,WAAc,MAAO,UAAa,EAAG,CACvDtN,GAAenJ,MAAMoB,UAAW,YAAauU,GAAoBc,WAKnE,GAAIuD,IAAiBta,SAASE,KAAKD,KAAKD,SAASE,KAAMM,OAAOkB,UAAU6Y,qBACxE,IAAIC,IAAmB,QAASA,kBAAiBpN,EAAKqN,GACpD,GAAIpZ,GAAuBiZ,GAAelN,EAAKqN,GAAO,CACpDja,OAAOW,eAAeiM,EAAKqN,GAAQnY,WAAY,SAGnD,IAAIoY,IAAY,QAASA,aAGvB,GAAIC,GAAUtS,OAAOvI,KACrB,IAAIyL,GAAM1K,UAAUqI,MACpB,IAAI0R,GAAkBrP,EAAMoP,CAC5B,IAAIhQ,GAAO,GAAIrK,OAAMsa,EAAkB,EAAI,EAAIA,EAC/C,KAAK,GAAIxJ,GAAIuJ,EAASvJ,EAAI7F,IAAO6F,EAAG,CAClCzG,EAAKyG,EAAIuJ,GAAW9Z,UAAUuQ,GAEhC,MAAOzG,GAET,IAAIkQ,IAAW,QAASA,UAASxW,GAC/B,MAAO,SAASyW,gBAAe1W,EAAQb,GACrCa,EAAOb,GAAOc,EAAOd,EACrB,OAAOa,IAGX,IAAI2W,IAAgB,SAAU3W,EAAQC,GACpC,GAAI2W,GAAaza,EAAKC,OAAO6D,GAC7B,IAAI4W,EACJ,IAAI1Q,GAAGK,WAAWpK,OAAO0a,uBAAwB,CAC/CD,EAAUnZ,EAAQtB,OAAO0a,sBAAsB1a,OAAO6D,IAAUiW,GAAejW,IAEjF,MAAOzC,GAAQkE,EAAQkV,EAAYC,OAAgBJ,GAASxW,GAASD,GAGvE,IAAI+W,KAEFC,OAAQ,SAAUhX,EAAQC,GACxB,GAAIgS,GAAK9L,GAAGS,SAAS5G,EAAQ,6CAC7B,OAAOxC,GAAQ2I,GAAGC,KAAKkQ,GAAW,EAAG7Z,WAAYka,GAAe1E,IAIlEgF,GAAI,QAASA,IAAG3P,EAAGC,GACjB,MAAOpB,IAAGkB,UAAUC,EAAGC,IAG3B,IAAI2P,IAA6B9a,OAAO4a,QAAU5a,OAAO+a,mBAAsB,WAG7E,GAAIC,GAAUhb,OAAO+a,mBAAoBpJ,EAAG,GAC5C,KACE3R,OAAO4a,OAAOI,EAAS,MACvB,MAAOza,GACP,MAAOya,GAAQ,KAAO,OAG1B,IAAIF,GAA4B,CAC9B7R,GAAejJ,OAAQ,SAAU2a,GAAYC,QAE/C5Y,EAAiBhC,OAAQ2a,GAEzB,IAAI9Z,EAAqB,CACvB,GAAIoa,KAGF7W,eAAiB,SAAUpE,EAAQkb,GACjC,GAAI9X,EAEJ,IAAI+X,GAAY,SAAUrO,EAAGH,GAC3B,IAAK5C,GAAGQ,aAAauC,GAAI,CACvB,KAAM,IAAIlK,WAAU,wCAEtB,KAAM+J,IAAU,MAAQ5C,GAAGQ,aAAaoC,IAAS,CAC/C,KAAM,IAAI/J,WAAU,8CAAgD+J,IAIxE,IAAIvI,GAAiB,SAAU0I,EAAGH,GAChCwO,EAAUrO,EAAGH,EACb/M,GAAMwD,EAAK0J,EAAGH,EACd,OAAOG,GAGT,KAEE1J,EAAMpD,EAAOkD,yBAAyBlD,EAAOkB,UAAWga,GAAO9X,GAC/DxD,GAAMwD,KAAS,MACf,MAAO7C,GACP,GAAIP,EAAOkB,eAAiBga,GAAQ,CAElC,OAGF9X,EAAM,SAAUuJ,GACdrN,KAAK4b,GAASvO,EAOhBvI,GAAegX,SAAWhX,EACxBA,KAAmB,MACnBpE,EAAOkB,oBACIlB,GASf,MAAOoE,IACPpE,OAAQ,aAGZgC,GAAiBhC,OAAQib,IAK3B,GAAIjb,OAAOoE,gBAAkBpE,OAAO6W,gBAChC7W,OAAO6W,eAAe7W,OAAOoE,kBAAmB,SAAW,MAC3DpE,OAAO6W,eAAe7W,OAAO8D,OAAO,SAAW,KAAM,EACtD,WACC,GAAIuX,GAAWrb,OAAO8D,OAAO,KAC7B,IAAIwX,GAAMtb,OAAO6W,cACjB,IAAI0E,GAAMvb,OAAOoE,cACjBpE,QAAO6W,eAAiB,SAAUrS,GAChC,GAAI4H,GAASkP,EAAI9W,EACjB,OAAO4H,KAAWiP,EAAW,KAAOjP,EAEtCpM,QAAOoE,eAAiB,SAAUI,EAAGkH,GACnC,GAAIiB,GAAQjB,IAAM,KAAO2P,EAAW3P,CACpC,OAAO6P,GAAI/W,EAAGmI,GAEhB3M,QAAOoE,eAAegX,SAAW,UAIrC,GAAII,KAA+Blb,EAAY,WAAc,MAAON,QAAOD,KAAK,QAChF,KAAKyb,GAA6B,CAChC,GAAIC,IAAqBzb,OAAOD,IAChCkJ,IAAejJ,OAAQ,OAAQ,QAASD,MAAK4B,GAC3C,MAAO8Z,IAAmB1R,GAAGS,SAAS7I,KAExC5B,GAAOC,OAAOD,KAEhB,GAAI2b,IAAyBpb,EAAY,WAAc,MAAON,QAAOD,KAAK,OAC1E,IAAI2b,GAAwB,CAC1B,GAAIC,IAA2B3b,OAAOD,IACtCkJ,IAAejJ,OAAQ,OAAQ,QAASD,MAAK4B,GAC3C,GAAIiH,GAAKG,MAAMpH,GAAQ,CACrB,GAAIia,KACJ,KAAK,GAAI1G,KAAKvT,GAAO,CACnB,GAAImF,EAAgBnF,EAAOuT,GAAI,CAC7BxP,EAAMkW,EAAW1G,IAGrB,MAAO0G,GAET,MAAOD,IAAyBha,IAElC5B,GAAOC,OAAOD,KAGhB,GAAIC,OAAO4P,oBAAqB,CAC9B,GAAIiM,KAA+Bvb,EAAY,WAAc,MAAON,QAAO4P,oBAAoB,QAC/F,KAAKiM,GAA6B,CAChC,GAAIC,UAA2BlX,UAAW,SAAW5E,OAAO4P,oBAAoBhL,UAChF,IAAImX,IAAoC/b,OAAO4P,mBAC/C3G,IAAejJ,OAAQ,sBAAuB,QAAS4P,qBAAoBjO,GACzE,GAAIqa,GAAMjS,GAAGS,SAAS7I,EACtB,IAAIS,EAAU4Z,KAAS,kBAAmB,CACxC,IACE,MAAOD,IAAkCC,GACzC,MAAOzb,GAEP,MAAO+E,MAAYwW,KAGvB,MAAOC,IAAkCC,MAI/C,GAAIhc,OAAOkD,yBAA0B,CACnC,GAAI+Y,KAA+B3b,EAAY,WAAc,MAAON,QAAOkD,yBAAyB,MAAO,QAC3G,KAAK+Y,GAA6B,CAChC,GAAIC,IAAyClc,OAAOkD,wBACpD+F,IAAejJ,OAAQ,2BAA4B,QAASkD,0BAAyBvB,EAAO4B,GAC1F,MAAO2Y,IAAuCnS,GAAGS,SAAS7I,GAAQ4B,MAIxE,GAAIvD,OAAOmc,KAAM,CACf,GAAIC,KAA+B9b,EAAY,WAAc,MAAON,QAAOmc,KAAK,QAChF,KAAKC,GAA6B,CAChC,GAAIC,IAAqBrc,OAAOmc,IAChClT,IAAejJ,OAAQ,OAAQ,QAASmc,MAAKxa,GAC3C,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAOA,GACtC,MAAO0a,IAAmB1a,MAIhC,GAAI3B,OAAOsc,SAAU,CACnB,GAAIC,KAAmCjc,EAAY,WAAc,MAAON,QAAOsc,SAAS,QACxF,KAAKC,GAAiC,CACpC,GAAIC,IAAyBxc,OAAOsc,QACpCrT,IAAejJ,OAAQ,WAAY,QAASsc,UAAS3a,GACnD,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAO,MACtC,MAAO6a,IAAuB7a,MAIpC,GAAI3B,OAAOyc,OAAQ,CACjB,GAAIC,KAAiCpc,EAAY,WAAc,MAAON,QAAOyc,OAAO,QACpF,KAAKC,GAA+B,CAClC,GAAIC,IAAuB3c,OAAOyc,MAClCxT,IAAejJ,OAAQ,SAAU,QAASyc,QAAO9a,GAC/C,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAOA,GACtC,MAAOgb,IAAqBhb,MAIlC,GAAI3B,OAAO4c,SAAU,CACnB,GAAIC,KAAmCvc,EAAY,WAAc,MAAON,QAAO4c,SAAS,QACxF,KAAKC,GAAiC,CACpC,GAAIC,IAAyB9c,OAAO4c,QACpC3T,IAAejJ,OAAQ,WAAY,QAAS4c,UAASjb,GACnD,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAO,MACtC,MAAOmb,IAAuBnb,MAIpC,GAAI3B,OAAO+a,kBAAmB,CAC5B,GAAIgC,KAA4Czc,EAAY,WAAc,MAAON,QAAO+a,kBAAkB,QAC1G,KAAKgC,GAA0C,CAC7C,GAAIC,IAAkChd,OAAO+a,iBAC7C9R,IAAejJ,OAAQ,oBAAqB,QAAS+a,mBAAkBpZ,GACrE,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAOA,GACtC,MAAOqb,IAAgCrb,MAI7C,GAAI3B,OAAOid,aAAc,CACvB,GAAIC,KAAuC5c,EAAY,WAAc,MAAON,QAAOid,aAAa,QAChG,KAAKC,GAAqC,CACxC,GAAIC,IAA6Bnd,OAAOid,YACxChU,IAAejJ,OAAQ,eAAgB,QAASid,cAAatb,GAC3D,IAAKoI,GAAGQ,aAAa5I,GAAQ,CAAE,MAAO,OACtC,MAAOwb,IAA2Bxb,MAIxC,GAAI3B,OAAO6W,eAAgB,CACzB,GAAIuG,KAAmC9c,EAAY,WAAc,MAAON,QAAO6W,eAAe,QAC9F,KAAKuG,GAAiC,CACpC,GAAIC,IAAmBrd,OAAO6W,cAC9B5N,IAAejJ,OAAQ,iBAAkB,QAAS6W,gBAAelV,GAC/D,MAAO0b,IAAiBtT,GAAGS,SAAS7I,OAK1C,GAAI2b,IAAWzc,GAAwB,WACrC,GAAI0c,GAAOvd,OAAOkD,yBAAyBiL,OAAOjN,UAAW,QAC7D,OAAOqc,IAAQxT,GAAGK,WAAWmT,EAAK3c,OAEpC,IAAIC,IAAwByc,GAAU,CACpC,GAAIE,IAAoB,QAASC,SAC/B,IAAK1T,GAAGQ,aAAajL,MAAO,CAC1B,KAAM,IAAIsD,WAAU,0DAEtB,GAAIwJ,GAAS,EACb,IAAI9M,KAAKuF,OAAQ,CACfuH,GAAU,IAEZ,GAAI9M,KAAKoe,WAAY,CACnBtR,GAAU,IAEZ,GAAI9M,KAAKqe,UAAW,CAClBvR,GAAU,IAEZ,GAAI9M,KAAKse,QAAS,CAChBxR,GAAU,IAEZ,GAAI9M,KAAKue,OAAQ,CACfzR,GAAU,IAEZ,MAAOA,GAGT1J,GAAMC,OAAOwL,OAAOjN,UAAW,QAASsc,IAG1C,GAAIM,IAA+Bjd,GAAuBL,EAAqB,WAC7E,MAAO2E,QAAO,GAAIgJ,QAAO,KAAM,QAAU,QAE3C,IAAI4P,IAAkC3U,IAAcvI,GAAwB,WAE1E,GAAIkI,GAAQ,GACZA,GAAMtB,EAAOoG,OAAS,KACtB,OAAOM,QAAOpF,KAAWA,IAG3B,IAAIiV,IAAyBxd,EAAqB,WAChD,MAAO2N,QAAOjN,UAAUmB,SAAS5C,MAAOoE,OAAQ,UAAa,SAE/D,IAAIoa,IAAoCD,IAA0Bxd,EAAqB,WACrF,MAAO2N,QAAOjN,UAAUmB,SAAS5C,MAAOoE,OAAQ,IAAK4Z,MAAO,QAAW,QAEzE,KAAKO,KAA2BC,GAAmC,CACjE,GAAIC,IAAqB/P,OAAOjN,UAAUmB,QAC1C1B,GAAewN,OAAOjN,UAAW,WAAY,QAASmB,YACpD,GAAI8b,GAAIpU,GAAGM,uBAAuB/K,KAClC,IAAIsJ,GAAKG,MAAMoV,GAAI,CACjB,MAAOve,GAAMse,GAAoBC,GAEnC,GAAIC,GAAU3U,GAAQ0U,EAAEta,OACxB,IAAI4Z,GAAQhU,GAAQ0U,EAAEV,MACtB,OAAO,IAAMW,EAAU,IAAMX,GAC5B,KACH/a,GAAMiB,iBAAiBwK,OAAOjN,UAAUmB,SAAU6b,IAGpD,GAAIrd,KAAyBid,IAAgCC,IAAkC,CAC7F,GAAIM,IAAcre,OAAOkD,yBAAyBiL,OAAOjN,UAAW,SAASN,GAC7E,IAAI0d,IAAate,OAAOkD,yBAAyBiL,OAAOjN,UAAW,aACnE,IAAIqd,IAAqB,WAEvB,MAAOjf,MAAKuE,OAEd,IAAI2a,IAAezU,GAAGK,WAAWkU,GAAW1d,KAAO0d,GAAW1d,IAAM2d,EAEpE,IAAIE,IAAatQ,MACjB,IAAIuQ,IAAc,WAChB,MAAO,SAASvQ,QAAOiQ,EAASX,GAC9B,GAAIkB,GAAkB5U,GAAG2D,SAAS0Q,EAClC,IAAIQ,GAAgBtf,eAAgB6O,OACpC,KAAKyQ,GAAiBD,SAA0BlB,KAAU,aAAeW,EAAQ3Z,cAAgB0J,OAAQ,CACvG,MAAOiQ,GAGT,GAAIS,GAAIT,CACR,IAAInU,GAAIwT,CACR,IAAI7U,GAAKG,MAAMqV,GAAU,CACvBS,EAAI9U,GAAGC,KAAKwU,GAAcJ,EAC1BnU,SAAWwT,KAAU,YAAc1T,GAAGC,KAAKqU,GAAaD,GAAWX,CACnE,OAAO,IAAItP,QAAO0Q,EAAG5U,OAChB,IAAI0U,EAAiB,CAC1BE,EAAIT,EAAQva,MACZoG,SAAWwT,KAAU,YAAcW,EAAQX,MAAQA,EAErD,MAAO,IAAIgB,IAAWL,EAASX,MAGnC/N,IAAgB+O,GAAYC,IAC1BI,OAAQ,MAKV3Q,QAASuQ,EACThc,GAAMY,SAASyB,EAAS,SAAU2Z,IAMpC,GAAI7d,EAAqB,CACvB,GAAIke,KACFC,MAAO,KACPC,UAAW,KACXC,UAAW,KACXC,YAAa,KACbC,aAAc,KAEhBne,GAASlB,EAAKgf,IAAe,SAAU9E,GACrC,GAAIA,IAAQ9L,WAAY4Q,GAAa9E,IAAS9L,SAAS,CACrDzL,EAAMC,OAAOwL,OAAQ4Q,GAAa9E,GAAO,QAASrZ,OAChD,MAAOuN,QAAO8L,QAKtBnK,GAAkB3B,OAElB,IAAIkR,IAAiB,EAAIxX,OAAO6R,OAChC,IAAI4F,IAAkB,QAASA,iBAAgBC,GAE7C,MAAQA,GAAIF,GAAkBA,GAEhC,IAAIG,IAAoBxZ,KAAKoR,IAAI,GAAI,GACrC,IAAIqI,IAAsBzZ,KAAKoR,IAAI,EAAG,MAAQ,EAAIoI,GAClD,IAAIE,IAAsB1Z,KAAKoR,IAAI,GAAI,IACvC,IAAIuI,IAAI3Z,KAAK2Z,CACb,IAAIC,IAAQ5Z,KAAK4Z,KACjB,IAAIC,IAAS7Z,KAAK6Z,MAClB,IAAIC,IAAYjY,OAAO3G,UAAU6e,UAC1BlY,QAAO3G,UAAU6e,GAExB,IAAIC,KACFC,MAAO,QAASA,OAAMte,GACpB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIiG,EAAYpF,IAAMb,EAAQ,EAAG,CAAE,MAAO0G,KAC1C,GAAI7F,IAAM,EAAG,CAAE,MAAO,GACtB,GAAIA,IAAM8F,SAAU,CAAE,MAAO9F,GAE7B,GAAI0d,GAAc,GAAK1d,EAAIA,EAC3B,IAAIA,EAAI,EAAG,CACT,MAAO2F,GAAO3F,EAAI,EAAKoE,EAAM,EAAIsZ,GAAe1d,GAElD,GAAI2d,GAAQ3d,EAAI,CAChB,OAAO2F,GAAOgY,EAASvZ,EAAM,EAAIsZ,GAAeC,EAAS,GAAM,EAAIP,IAGrEQ,MAAO,QAASA,OAAMze,GACpB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIa,IAAM,IAAMwC,EAAexC,GAAI,CACjC,MAAOA,GAGT,GAAI0I,GAAI5E,EAAK9D,EACb,IAAI6d,GAAWnV,EAAIA,CACnB,IAAI4G,GAAI9J,EAAMxF,EACd,IAAI0I,EAAI,EAAG,CACT,MAAO4G,GAAI3J,EAAO+C,EAAKmV,GAAYzZ,EAAMyZ,EAAW,GAAK,IAE3D,MAAOvO,IAAK3J,EAAQ+C,EAAI,EAAMtE,EAAM,EAAK,EAAIyZ,GAAanV,EAAI,EAAK,GAAM,EAAI0U,KAG/EU,MAAO,QAASA,OAAM3e,GACpB,GAAIa,GAAIqF,OAAOlG,EAEf,IAAIa,IAAM,EAAG,CAAE,MAAOA,GACtB,GAAIA,KAAO,EAAG,CAAE,OAAQ8F,SACxB,GAAI9F,IAAM,EAAG,CAAE,MAAO8F,UACtB,GAAIV,EAAYpF,IAAMA,GAAK,GAAKA,EAAI,EAAG,CACrC,MAAO6F,KAGT,GAAI6C,GAAI5E,EAAK9D,EACb,OAAOwF,GAAMxF,GAAK2F,EAAO,EAAI+C,GAAK,EAAIA,IAAM,GAG9CqV,KAAM,QAASA,MAAK5e,GAClB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIa,IAAM,EAAG,CAAE,MAAOA,GACtB,GAAIge,GAAShe,EAAI,CACjB,IAAI4J,EACJ,IAAIoU,EAAQ,CAAEhe,GAAKA,EACnB,GAAIA,IAAM8F,SAAU,CAClB8D,EAAS9D,aACJ,CACL8D,EAAS5F,EAAKE,EAAKlE,GAAK,EAExB4J,IAAW5J,GAAK4J,EAASA,GAAY,EAAIA,GAAW,EAEtD,MAAOoU,IAAUpU,EAASA,GAG5BqU,MAAO,QAASA,OAAM9e,GAEpB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIuG,GAAS6B,GAAGa,SAASpI,EACzB,IAAI0F,IAAW,EAAG,CAChB,MAAO,IAET,MAAO4X,IAAY/V,GAAGC,KAAK8V,GAAW5X,GAAU,GAAK9B,EAAOM,EAAKwB,EAAS,IAAO0X,KAGnFc,KAAM,QAASA,MAAK/e,GAClB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIa,IAAM,EAAG,CAAE,MAAO,GACtB,GAAIoF,EAAYpF,GAAI,CAAE,MAAO6F,KAC7B,IAAKrD,EAAexC,GAAI,CAAE,MAAO8F,UAEjC,GAAIqY,GAAIna,EAAKF,EAAK9D,GAAK,EACvB,QAAQme,EAAK,GAAKA,EAAIhB,GAAIA,MAAQA,GAAI,IAGxCiB,MAAO,QAASA,OAAMjf,GACpB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIa,KAAO8F,SAAU,CAAE,OAAQ,EAC/B,IAAKtD,EAAexC,IAAMA,IAAM,EAAG,CAAE,MAAOA,GAC5C,GAAI8D,EAAK9D,GAAK,GAAK,CACjB,MAAOgE,GAAKhE,GAAK,EAInB,GAAIme,GAAIne,CACR,IAAIqe,GAAM,CACV,IAAItB,GAAI,CACR,OAAOsB,EAAMF,IAAME,EAAK,CACtBA,GAAOF,CACPpB,IAAK,CACLoB,IAAKne,EAAI+c,EAEX,MAAOsB,IAGTC,MAAO,QAASA,OAAMte,EAAGue,GACvB,GAAI3U,GAAS,CACb,IAAI4U,GAAU,CACd,KAAK,GAAIpQ,GAAI,EAAGA,EAAIvQ,UAAUqI,SAAUkI,EAAG,CACzC,GAAIjP,GAAQ2E,EAAKuB,OAAOxH,UAAUuQ,IAClC,IAAIoQ,EAAUrf,EAAO,CACnByK,GAAW4U,EAAUrf,GAAUqf,EAAUrf,EACzCyK,IAAU,CACV4U,GAAUrf,MACL,CACLyK,GAAUzK,EAAQ,EAAKA,EAAQqf,GAAYrf,EAAQqf,GAAWrf,GAGlE,MAAOqf,KAAY1Y,SAAWA,SAAW0Y,EAAUpa,EAAMwF,IAG3D6U,KAAM,QAASA,MAAKtf,GAClB,MAAO+E,GAAK/E,GAASie,IAGvBsB,MAAO,QAASA,OAAMvf,GACpB,MAAO+E,GAAK/E,GAASke,IAGvBzX,MAAOD,EAEPF,KAAMD,EAENmZ,KAAM,QAASA,MAAKxf,GAClB,GAAIa,GAAIqF,OAAOlG,EACf,KAAKqD,EAAexC,IAAMA,IAAM,EAAG,CAAE,MAAOA,GAE5C,GAAI0I,GAAI5E,EAAK9D,EACb,IAAI0I,EAAI,EAAG,CACT,GAAIkW,GAAIpb,KAAK4a,MAAM1V,EACnB,OAAOlD,GAAMxF,GAAK4e,GAAK,EAAK,GAAKA,EAAI,IAAO,EAE9C,GAAIT,GAAIna,EAAK0E,EAAI,EACjB,OAAOlD,GAAMxF,IAAMme,EAAK,GAAKA,EAAIhB,GAAIA,MAAQA,GAAI,IAGnD0B,KAAM,QAASA,MAAK1f,GAClB,GAAIa,GAAIqF,OAAOlG,EACf,IAAIiG,EAAYpF,IAAMA,IAAM,EAAG,CAAE,MAAOA,GAExC,GAAIA,GAAK,GAAI,CAAE,MAAO,GACtB,GAAIA,IAAM,GAAI,CAAE,OAAQ,EAExB,OAAQwD,KAAK4a,MAAMpe,GAAKwD,KAAK4a,OAAOpe,KAAOgE,EAAKhE,GAAKgE,GAAMhE,KAG7D8e,MAAO,QAASA,OAAM3f,GACpB,GAAIa,GAAIqF,OAAOlG,EACf,OAAOa,GAAI,GAAK4D,GAAQ5D,GAAK4D,EAAO5D,IAGtC+e,KAAM,QAASA,MAAK/e,EAAGue,GAErB,GAAI7V,GAAInB,GAAGa,SAASpI,EACpB,IAAI2I,GAAIpB,GAAGa,SAASmW,EACpB,IAAIS,GAAMtW,IAAM,GAAM,KACtB,IAAIuW,GAAKvW,EAAI,KACb,IAAIwW,GAAMvW,IAAM,GAAM,KACtB,IAAIwW,GAAKxW,EAAI,KAGb,OAAQsW,GAAKE,GAAUH,EAAKG,EAAOF,EAAKC,GAAQ,KAAQ,GAAK,GAG/DE,OAAQ,QAASA,QAAOpf,GACtB,GAAIqf,GAAIha,OAAOrF,EACf,IAAIqf,IAAM,GAAKA,IAAMvZ,UAAYuZ,KAAOvZ,UAAYV,EAAYia,GAAI,CAClE,MAAOA,GAET,GAAI5Z,GAAOD,EAAM6Z,EACjB,IAAItb,GAAMD,EAAKub,EACf,IAAItb,EAAMmZ,GAAqB,CAC7B,MAAOzX,GAAOqX,GAAgB/Y,EAAMmZ,GAAsBF,IAAqBE,GAAsBF,GAGvG,GAAItU,IAAK,EAAKsU,GAAoB3X,OAAO6R,SAAYnT,CACrD,IAAI6F,GAASlB,GAAKA,EAAI3E,EACtB,IAAI6F,EAASqT,IAAuB7X,EAAYwE,GAAS,CACvD,MAAOnE,GAAOK,SAEhB,MAAOL,GAAOmE,GAIlB,IAAI0V,IAAoB,QAASA,mBAAkB1V,EAAQ2V,EAAUC,GACnE,MAAO1b,GAAK,EAAK8F,EAAS2V,GAAala,OAAO6R,SAAWsI,GAAY,GAGvEhgB,GAAiBgE,KAAMga,GAEvBrf,GAAeqF,KAAM,OAAQga,GAAUmB,KAAMnb,KAAKmb,KAAK,OAAS7Y,SAEhE3H,GAAeqF,KAAM,OAAQga,GAAUU,KAAM1a,KAAK0a,KAAK,OAASpY,SAEhE3H,GAAeqF,KAAM,QAASga,GAAU5X,MAAOpC,KAAKoC,OAAO,UAAY,MAEvEzH,GAAeqF,KAAM,QAASga,GAAUI,MAAOpa,KAAKoa,OAAO,QAAUpa,KAAKoa,MAAM,KAEhFzf,GAAeqF,KAAM,QAASga,GAAUI,MAAOpa,KAAKoa,MAAM,SAAY9X,SAEtE3H,GAAeqF,KAAM,QAASga,GAAUM,MAAOta,KAAKsa,MAAM,UAAY,EAEtE3f,GAAeqF,KAAM,OAAQga,GAAUqB,KAAMrb,KAAKqb,MAAM,UAAY;AAEpE1gB,EAAeqF,KAAM,QAASga,GAAUC,MAAOja,KAAKia,MAAMpY,OAAOuR,aAAe9Q,SAEhF3H,GAAeqF,KAAM,QAASga,GAAUC,OAAQ6B,GAAkB9b,KAAKia,MAAM,EAAIpY,OAAO6R,SAAU1T,KAAKa,KAAK,EAAIgB,OAAO6R,UAEvH/Y,GAAeqF,KAAM,OAAQga,GAAUO,MAAOuB,GAAkB9b,KAAKua,KAAK,QAAS,QAEnF5f,GAAeqF,KAAM,OAAQga,GAAUmB,KAAMnb,KAAKmb,MAAM,UAAY,MAEpE,IAAIc,IAAajc,KAAK4a,MAAM,GAC5BjgB,GAAeqF,KAAM,QAASga,GAAUY,MAAOqB,GAAa,oBAAsBA,GAAa,mBAE/F,IAAIC,IAAgBlc,KAAKmc,KAEzB,IAAIC,IAAiCpc,KAAKmc,MAAM,GAAOta,OAAO6R,QAAU,KAAQ,GAC9E1T,KAAKmc,OAAO,GAAOta,OAAO6R,QAAU,QAAW,CAMjD,IAAI2I,IAAyChD,GAAiB,CAC9D,IAAIiD,IAAyC,EAAIjD,GAAkB,CACnE,IAAIkD,KACFF,GACAC,IACA1K,MAAM,SAAU4K,GAChB,MAAOxc,MAAKmc,MAAMK,KAASA,GAE7B7hB,GAAeqF,KAAM,QAAS,QAASmc,OAAM3f,GAC3C,GAAI6D,GAAQD,EAAO5D,EACnB,IAAIigB,GAAOpc,KAAW,GAAK,EAAIA,EAAQ,CACvC,OAAO7D,GAAI6D,EAAQ,GAAMA,EAAQoc,IAC/BL,KAAmCG,GACvC7f,GAAMiB,iBAAiBqC,KAAKmc,MAAOD,GAEnC,IAAIQ,IAAW1c,KAAKub,IACpB,IAAIvb,KAAKub,KAAK,WAAY,MAAQ,EAAG,CAEnCvb,KAAKub,KAAOvB,GAAUuB,IACtB7e,GAAMiB,iBAAiBqC,KAAKub,KAAMmB,IAEpC,GAAI1c,KAAKub,KAAK7Y,SAAW,EAAG,CAG1BO,GAAejD,KAAM,OAAQ,QAASub,MAAK/e,EAAGue,GAC5C,MAAOhX,IAAGC,KAAK0Y,GAAU1c,KAAM3F,aAOnC,GAAIsiB,IAAe,WACjB,GAAIC,GAAa7d,EAAQ6d,UAEzB,UAAWA,KAAe,kBAAqBA,KAAe,SAAU,CAAE,OAE1E7Y,GAAG8Y,UAAY,SAAUC,GACvB,IAAK/Y,GAAGQ,aAAauY,GAAU,CAC7B,MAAO,OAET,SAAWA,GAAQC,WAAa,YAAa,CAC3C,MAAO,OAET,MAAO,MAKT,IAAIC,GAAoB,SAAU9e,GAChC,IAAK6F,GAAGU,cAAcvG,GAAI,CACxB,KAAM,IAAItB,WAAU,2BAEtB,GAAIqgB,GAAa3jB,IACjB,IAAI4jB,GAAW,SAAUC,EAASC,GAChC,GAAIH,EAAWE,cAAiB,IAAKF,EAAWG,aAAgB,GAAG,CACjE,KAAM,IAAIxgB,WAAU,+BAEtBqgB,EAAWE,QAAUA,CACrBF,GAAWG,OAASA,EAGtBH,GAAWE,YAAe,EAC1BF,GAAWG,WAAc,EACzBH,GAAWH,QAAU,GAAI5e,GAAEgf,EAC3B,MAAMnZ,GAAGK,WAAW6Y,EAAWE,UAAYpZ,GAAGK,WAAW6Y,EAAWG,SAAU,CAC5E,KAAM,IAAIxgB,WAAU,4BAKxB,IAAIygB,EAEJ,UAAWze,UAAW,aAAemF,GAAGK,WAAWxF,OAAO0e,aAAc,CACtED,EAAkB,WAEhB,GAAIE,KACJ,IAAIC,GAAc,sBAClB,IAAIC,GAAiB,SAAUC,GAC7Bhe,EAAM6d,EAAUG,EAChB9e,QAAO0e,YAAYE,EAAa,KAElC,IAAIG,GAAgB,SAAUC,GAC5B,GAAIA,EAAM/f,SAAWe,QAAUgf,EAAMC,OAASL,EAAa,CACzDI,EAAME,iBACN,IAAIP,EAAS7a,SAAW,EAAG,CAAE,OAC7B,GAAIgb,GAAK7d,EAAO0d,EAChBG,MAGJ9e,QAAOmf,iBAAiB,UAAWJ,EAAe,KAClD,OAAOF,IAGX,GAAIO,GAAkB,WAKpB,GAAInF,GAAI9Z,EAAQkf,OAChB,IAAIC,GAAKrF,GAAKA,EAAEsE,SAAWtE,EAAEsE,SAC7B,OAAOe,IAAM,SAAUC,GACrB,MAAOD,GAAGE,KAAKD,IAKnB,IAAIE,GAAUta,GAAGK,WAAWrF,EAAQuf,cAClCvf,EAAQuf,mBACDC,WAAY,UAAYA,QAAQC,SAAWD,QAAQC,SAAWR,MACpEja,GAAGK,WAAWiZ,GAAmBA,IAAoB,SAAUc,GAAQvB,EAAWuB,EAAM,IAI3F,IAAIM,GAAmB,SAAUjiB,GAAK,MAAOA,GAC7C,IAAIkiB,GAAkB,SAAUnkB,GAAK,KAAMA,GAC3C,IAAIokB,GAAkB,CACtB,IAAIC,GAAoB,CACxB,IAAIC,GAAmB,CAEvB,IAAIC,GAAyB,CAC7B,IAAIC,GAAwB,CAC5B,IAAIC,GAA4B,CAEhC,IAAIC,KAEJ,IAAIC,GAA4B,SAAUC,EAASlC,EAAYtV,GAC7D0W,EAAQ,WACNe,EAAmBD,EAASlC,EAAYtV,KAI5C,IAAIyX,GAAqB,SAAUD,EAASE,EAAmB1X,GAC7D,GAAI2X,GAAenhB,CACnB,IAAIkhB,IAAsBJ,EAAyB,CAGjD,MAAOE,GAAQxX,GAEjB,IACE2X,EAAgBH,EAAQxX,EACxBxJ,GAAIkhB,EAAkBlC,QACtB,MAAO5iB,GACP+kB,EAAgB/kB,CAChB4D,GAAIkhB,EAAkBjC,OAExBjf,EAAEmhB,GAGJ,IAAIC,GAAiB,SAAUzC,EAASnhB,GACtC,GAAIohB,GAAWD,EAAQC,QACvB,IAAIra,GAASqa,EAASyC,cACtB,IAAI9c,EAAS,EAAG,CACdwc,EACEnC,EAAS0C,wBACT1C,EAAS2C,oBACT/jB,EAEFohB,GAAS0C,4BAA+B,EACxC1C,GAAS4C,qBAAwB,EACjC5C,GAAS2C,wBAA2B,EACpC,IAAIhd,EAAS,EAAG,CACd,IAAK,GAAIkI,GAAI,EAAGgV,EAAM,EAAGhV,EAAIlI,EAAQkI,IAAKgV,GAAO,EAAG,CAClDV,EACEnC,EAAS6C,EAAMd,GACf/B,EAAS6C,EAAMZ,GACfrjB,EAEFmhB,GAAQ8C,EAAMd,OAA+B,EAC7ChC,GAAQ8C,EAAMb,OAA8B,EAC5CjC,GAAQ8C,EAAMZ,OAAkC,KAItDjC,EAAS3W,OAASzK,CAClBohB,GAAS8C,MAAQjB,CACjB7B,GAASyC,eAAiB,EAG5B,IAAIM,GAAgB,SAAUhD,EAASiD,GACrC,GAAIhD,GAAWD,EAAQC,QACvB,IAAIra,GAASqa,EAASyC,cACtB,IAAI9c,EAAS,EAAG,CACdwc,EACEnC,EAASiD,uBACTjD,EAAS2C,oBACTK,EAEFhD,GAAS0C,4BAA+B,EACxC1C,GAAS4C,qBAAwB,EACjC5C,GAAS2C,wBAA2B,EACpC,IAAIhd,EAAS,EAAG,CACd,IAAK,GAAIkI,GAAI,EAAGgV,EAAM,EAAGhV,EAAIlI,EAAQkI,IAAKgV,GAAO,EAAG,CAClDV,EACEnC,EAAS6C,EAAMb,GACfhC,EAAS6C,EAAMZ,GACfe,EAEFjD,GAAQ8C,EAAMd,OAA+B,EAC7ChC,GAAQ8C,EAAMb,OAA8B,EAC5CjC,GAAQ8C,EAAMZ,OAAkC,KAItDjC,EAAS3W,OAAS2Z,CAClBhD,GAAS8C,MAAQhB,CACjB9B,GAASyC,eAAiB,EAG5B,IAAIS,GAA2B,SAAUnD,GACvC,GAAIoD,GAAkB,KACtB,IAAI/C,GAAU,SAAUgD,GACtB,GAAI/B,EACJ,IAAI8B,EAAiB,CAAE,OACvBA,EAAkB,IAClB,IAAIC,IAAerD,EAAS,CAC1B,MAAOgD,GAAchD,EAAS,GAAIlgB,WAAU,oBAE9C,IAAKmH,GAAGQ,aAAa4b,GAAa,CAChC,MAAOZ,GAAezC,EAASqD,GAEjC,IACE/B,EAAO+B,EAAW/B,KAClB,MAAO7jB,GACP,MAAOulB,GAAchD,EAASviB,GAEhC,IAAKwJ,GAAGK,WAAWga,GAAO,CACxB,MAAOmB,GAAezC,EAASqD,GAEjC9B,EAAQ,WACN+B,EAA0BtD,EAASqD,EAAY/B,KAGnD,IAAIhB,GAAS,SAAU2C,GACrB,GAAIG,EAAiB,CAAE,OACvBA,EAAkB,IAClB,OAAOJ,GAAchD,EAASiD,GAEhC,QAAS5C,QAASA,EAASC,OAAQA,GAGrC,IAAIiD,GAAgB,SAAUjC,EAAMkC,EAAUnD,EAASC,GAKrD,GAAIgB,IAASmC,EAAwB,CACnC3mB,EAAMwkB,EAAMkC,EAAUnD,EAASC,EAAQ6B,OAClC,CACLrlB,EAAMwkB,EAAMkC,EAAUnD,EAASC,IAGnC,IAAIgD,GAA4B,SAAUtD,EAASwD,EAAUlC,GAC3D,GAAIoC,GAAqBP,EAAyBnD,EAClD,IAAIK,GAAUqD,EAAmBrD,OACjC,IAAIC,GAASoD,EAAmBpD,MAChC,KACEiD,EAAcjC,EAAMkC,EAAUnD,EAASC,GACvC,MAAO7iB,GACP6iB,EAAO7iB,IAIX,IAAIkmB,GAAmBF,CACvB,IAAItC,GAAW,WACb,GAAItB,GAAc,QAASsB,SAAQf,GACjC,KAAM5jB,eAAgBqjB,IAAc,CAClC,KAAM,IAAI/f,WAAU,sCAEtB,GAAItD,MAAQA,KAAKyjB,SAAU,CACzB,KAAM,IAAIngB,WAAU,oBAGtB,IAAKmH,GAAGK,WAAW8Y,GAAW,CAC5B,KAAM,IAAItgB,WAAU,wBAEtB,GAAIkgB,GAAU1S,GAAoB9Q,KAAMqjB,EAAa8D,GACnD1D,UACE3W,WAAa,GACbyZ,MAAOlB,EAMPa,eAAgB,EAChBC,4BAA8B,GAC9BO,2BAA6B,GAC7BN,wBAA0B,KAG9B,IAAIc,GAAqBP,EAAyBnD,EAClD,IAAIM,GAASoD,EAAmBpD,MAChC,KACEF,EAASsD,EAAmBrD,QAASC,GACrC,MAAO7iB,GACP6iB,EAAO7iB,GAET,MAAOuiB,GAET,OAAOH,KAET8D,GAAoBxC,EAAQ/iB,SAE5B,IAAIwlB,GAAsB,SAAUC,EAAOnQ,EAAQyM,EAAY2D,GAC7D,GAAIC,GAAgB,KACpB,OAAO,UAAUrkB,GACf,GAAIqkB,EAAe,CAAE,OACrBA,EAAgB,IAChBrQ,GAAOmQ,GAASnkB,CAChB,MAAOokB,EAAU5Q,QAAW,EAAG,CAC7B,GAAImN,GAAUF,EAAWE,OACzBA,GAAQ3M,KAKd,IAAIsQ,GAAoB,SAAUC,EAAgB7iB,EAAG8iB,GACnD,GAAIvb,GAAKsb,EAAezd,QACxB,IAAIkN,KACJ,IAAIoQ,IAAc5Q,MAAO,EACzB,IAAI3J,GAAMyI,CACV,IAAI6R,GAAQ,CACZ,OAAO,KAAM,CACX,IACEta,EAAOtC,GAAGuC,aAAab,EACvB,IAAIY,IAAS,MAAO,CAClB0a,EAAelb,KAAO,IACtB,OAEFiJ,EAAYzI,EAAK1K,MACjB,MAAOpB,GACPwmB,EAAelb,KAAO,IACtB,MAAMtL,GAERiW,EAAOmQ,OAAc,EACrB,IAAIM,GAAc/iB,EAAEif,QAAQrO,EAC5B,IAAIoS,GAAiBR,EACnBC,EACAnQ,EACAwQ,EACAJ,EAEFA,GAAU5Q,OAAS,CACnBqQ,GAAcY,EAAY7C,KAAM6C,EAAaC,EAAgBF,EAAiB5D,OAC9EuD,IAAS,EAEX,KAAOC,EAAU5Q,QAAW,EAAG,CAC7B,GAAImN,GAAU6D,EAAiB7D,OAC/BA,GAAQ3M,GAEV,MAAOwQ,GAAiBlE,QAG1B,IAAIqE,GAAqB,SAAUJ,EAAgB7iB,EAAG8iB,GACpD,GAAIvb,GAAKsb,EAAezd,QACxB,IAAI+C,GAAMyI,EAAWmS,CACrB,OAAO,KAAM,CACX,IACE5a,EAAOtC,GAAGuC,aAAab,EACvB,IAAIY,IAAS,MAAO,CAKlB0a,EAAelb,KAAO,IACtB,OAEFiJ,EAAYzI,EAAK1K,MACjB,MAAOpB,GACPwmB,EAAelb,KAAO,IACtB,MAAMtL,GAER0mB,EAAc/iB,EAAEif,QAAQrO,EACxBuR,GAAcY,EAAY7C,KAAM6C,EAAaD,EAAiB7D,QAAS6D,EAAiB5D,QAE1F,MAAO4D,GAAiBlE,QAG1B9gB,GAAiBiiB,GACfra,IAAK,QAASA,KAAIwd,GAChB,GAAIljB,GAAI5E,IACR,KAAKyK,GAAGQ,aAAarG,GAAI,CACvB,KAAM,IAAItB,WAAU,yBAEtB,GAAIqgB,GAAa,GAAID,GAAkB9e,EACvC,IAAIoF,GAAUyd,CACd,KACEzd,EAAWS,GAAGuB,YAAY8b,EAC1BL,IAAmBzd,SAAUA,EAAUuC,KAAM,MAC7C,OAAOib,GAAkBC,EAAgB7iB,EAAG+e,GAC5C,MAAO1iB,GACP,GAAI8mB,GAAY9mB,CAChB,IAAIwmB,IAAmBA,EAAelb,KAAM,CAC1C,IACE9B,GAAG+B,cAAcxC,EAAU,MAC3B,MAAOge,GACPD,EAAYC,GAGhB,GAAIlE,GAASH,EAAWG,MACxBA,GAAOiE,EACP,OAAOpE,GAAWH,UAItByE,KAAM,QAASA,MAAKH,GAClB,GAAIljB,GAAI5E,IACR,KAAKyK,GAAGQ,aAAarG,GAAI,CACvB,KAAM,IAAItB,WAAU,yBAEtB,GAAIqgB,GAAa,GAAID,GAAkB9e,EACvC,IAAIoF,GAAUyd,CACd,KACEzd,EAAWS,GAAGuB,YAAY8b,EAC1BL,IAAmBzd,SAAUA,EAAUuC,KAAM,MAC7C,OAAOsb,GAAmBJ,EAAgB7iB,EAAG+e,GAC7C,MAAO1iB,GACP,GAAI8mB,GAAY9mB,CAChB,IAAIwmB,IAAmBA,EAAelb,KAAM,CAC1C,IACE9B,GAAG+B,cAAcxC,EAAU,MAC3B,MAAOge,GACPD,EAAYC,GAGhB,GAAIlE,GAASH,EAAWG,MACxBA,GAAOiE,EACP,OAAOpE,GAAWH,UAItBM,OAAQ,QAASA,QAAO2C,GACtB,GAAI7hB,GAAI5E,IACR,KAAKyK,GAAGQ,aAAarG,GAAI,CACvB,KAAM,IAAItB,WAAU,2BAEtB,GAAIqgB,GAAa,GAAID,GAAkB9e,EACvC,IAAIsjB,GAAavE,EAAWG,MAC5BoE,GAAWzB,EACX,OAAO9C,GAAWH,SAGpBK,QAAS,QAASA,SAAQtB,GAExB,GAAI3d,GAAI5E,IACR,KAAKyK,GAAGQ,aAAarG,GAAI,CACvB,KAAM,IAAItB,WAAU,2BAEtB,GAAImH,GAAG8Y,UAAUhB,GAAI,CACnB,GAAIpd,GAAcod,EAAEpd,WACpB,IAAIA,IAAgBP,EAAG,CACrB,MAAO2d,IAGX,GAAIoB,GAAa,GAAID,GAAkB9e,EACvC,IAAIujB,GAAcxE,EAAWE,OAC7BsE,GAAY5F,EACZ,OAAOoB,GAAWH,UAItB9gB,GAAiBykB,GACfiB,QAAS,SAAUC,GACjB,MAAOroB,MAAK8kB,KAAK,KAAMuD,IAGzBvD,KAAM,QAASA,MAAKwD,EAAaD,GAC/B,GAAI7E,GAAUxjB,IACd,KAAKyK,GAAG8Y,UAAUC,GAAU,CAAE,KAAM,IAAIlgB,WAAU,iBAClD,GAAIsB,GAAI6F,GAAG8C,mBAAmBiW,EAASmB,EACvC,IAAI+C,EACJ,IAAIa,GAAuBxnB,UAAUqI,OAAS,GAAKrI,UAAU,KAAO4kB,CACpE,IAAI4C,GAAwB3jB,IAAM+f,EAAS,CACzC+C,EAAmB/B,MACd,CACL+B,EAAmB,GAAIhE,GAAkB9e,GAM3C,GAAI4jB,GAAyB/d,GAAGK,WAAWwd,GAAeA,EAAcnD,CACxE,IAAIsD,GAAwBhe,GAAGK,WAAWud,GAAcA,EAAajD,CACrE,IAAI3B,GAAWD,EAAQC,QACvB,IAAIphB,EACJ,IAAIohB,EAAS8C,QAAUlB,EAAiB,CACtC,GAAI5B,EAASyC,iBAAmB,EAAG,CACjCzC,EAAS0C,wBAA0BqC,CACnC/E,GAASiD,uBAAyB+B,CAClChF,GAAS2C,oBAAsBsB,MAC1B,CACL,GAAIpB,GAAM,GAAK7C,EAASyC,eAAiB,EACzCzC,GAAS6C,EAAMd,GAA0BgD,CACzC/E,GAAS6C,EAAMb,GAAyBgD,CACxChF,GAAS6C,EAAMZ,GAA6BgC,EAE9CjE,EAASyC,gBAAkB,MACtB,IAAIzC,EAAS8C,QAAUjB,EAAmB,CAC/CjjB,EAAQohB,EAAS3W,MACjB8Y,GACE4C,EACAd,EACArlB,OAEG,IAAIohB,EAAS8C,QAAUhB,EAAkB,CAC9CljB,EAAQohB,EAAS3W,MACjB8Y,GACE6C,EACAf,EACArlB,OAEG,CACL,KAAM,IAAIiB,WAAU,4BAEtB,MAAOokB,GAAiBlE,UAK5BmC,GAA0B,GAAIjC,GAAkBiB,EAChDsC,GAAyBE,EAAkBrC,IAE3C,OAAOH,KAIT,IAAIlf,EAAQkf,QAAS,OACZlf,GAAQkf,QAAQ+D,aAChBjjB,GAAQkf,QAAQgE,YAChBljB,GAAQkf,QAAQ/iB,UAAUgnB,MAGnC,SAAWvF,MAAgB,WAAY,CAErC3gB,EAAiB+C,GAAWkf,QAAStB,IAIrC,IAAIwF,IAA6BlkB,EAAoBc,EAAQkf,QAAS,SAAUjX,GAC9E,MAAOA,GAAEmW,QAAQ,IAAIiB,KAAK,uBAA2BpX,IAEvD,IAAIob,KAA0C9nB,EAAY,WACxD,MAAOyE,GAAQkf,QAAQb,OAAO,IAAIgB,KAAK,KAAM,GAAGA,KAAK,KAAMnd,IAE7D,IAAIohB,IAA+B/nB,EAAY,WAAc,MAAOyE,GAAQkf,QAAQxkB,KAAK,EAAGwH,IAM5F,IAAIqhB,IAAwB,SAAUrE,GACpC,GAAIvY,GAAIuY,EAAQd,QAAQ,EACxBzX,GAAEjH,cACF,IAAI+I,GAAKyW,EAAQd,QAAQzX,EACzB,KACE8B,EAAG4W,KAAK,KAAMnd,GAAMmd,KAAK,KAAMnd,GAC/B,MAAO1G,GACP,MAAO,MAET,MAAOmL,KAAM8B,GACbzI,EAAQkf,QAGV,IAAIsE,IAAwB1nB,GAAwB,WAClD,GAAImV,GAAQ,CAEZ,IAAIsQ,GAAWtmB,OAAOW,kBAAmB,QAAUC,IAAK,WAAcoV,GAAS,IAC/EiO,SAAQd,QAAQmD,EAChB,OAAOtQ,KAAU,IAGnB,IAAIwS,IAAqB,QAASA,oBAAmBC,GACnD,GAAI/c,GAAI,GAAIuY,SAAQwE,EACpBA,GAAS,EAAG,aACZnpB,MAAK8kB,KAAO1Y,EAAE0Y,IACd9kB,MAAKmF,YAAc+jB,mBAErBA,IAAmBtnB,UAAY+iB,QAAQ/iB,SACvCsnB,IAAmB5e,IAAMqa,QAAQra,GAEjC,IAAI8e,IAAwBloB,EAAqB,WAC/C,QAASgoB,GAAmB5e,KAAK,EAAG,KAGtC,KAAKue,KAA+BC,KAC/BC,IAAgCC,KAChCC,IAAyBG,GAAuB,CAInDzE,QAAUtB,EAIV1Z,IAAelE,EAAS,UAAW4d,IAErC,GAAIsB,QAAQra,IAAIlB,SAAW,EAAG,CAC5B,GAAIigB,IAAU1E,QAAQra,GACtBX,IAAegb,QAAS,MAAO,QAASra,KAAIwd,GAC1C,MAAOrd,IAAGC,KAAK2e,GAASrpB,KAAMe,aAGlC,GAAI4jB,QAAQsD,KAAK7e,SAAW,EAAG,CAC7B,GAAIkgB,IAAW3E,QAAQsD,IACvBte,IAAegb,QAAS,OAAQ,QAASsD,MAAKH,GAC5C,MAAOrd,IAAGC,KAAK4e,GAAUtpB,KAAMe,aAGnC,GAAI4jB,QAAQd,QAAQza,SAAW,EAAG,CAChC,GAAImgB,IAAc5E,QAAQd,OAC1Bla,IAAegb,QAAS,UAAW,QAASd,SAAQ3gB,GAClD,MAAOuH,IAAGC,KAAK6e,GAAavpB,KAAMe,aAGtC,GAAI4jB,QAAQb,OAAO1a,SAAW,EAAG,CAC/B,GAAIogB,IAAa7E,QAAQb,MACzBna,IAAegb,QAAS,SAAU,QAASb,QAAO2F,GAChD,MAAOhf,IAAGC,KAAK8e,GAAYxpB,KAAMe,aAGrC2Z,GAAiBiK,QAAS,MAC1BjK,IAAiBiK,QAAS,OAC1BjK,IAAiBiK,QAAS,UAC1BjK,IAAiBiK,QAAS,SAC1BnU,IAAkBmU,SAMpB,GAAI+E,IAAY,SAAU9d,GACxB,GAAIC,GAAIpL,EAAKqB,EAAQ8J,EAAG,SAAU1G,EAAG0Q,GACnC1Q,EAAE0Q,GAAK,IACP,OAAO1Q,QAET,OAAO0G,GAAE6F,KAAK,OAAS5F,EAAE4F,KAAK,KAEhC,IAAIkY,IAA0BD,IAAW,IAAK,IAAK,MAEnD,IAAIE,IAAiCF,IAAW,IAAK,EAAG,IAAK,IAAK,GAElE,IAAInoB,EAAqB,CAEvB,GAAIsoB,IAAU,QAASA,SAAQpmB,EAAKqmB,GAClC,IAAKA,IAA4BH,GAAyB,CACxD,MAAO,MAET,GAAIpf,GAAkB9G,GAAM,CAC1B,MAAO,IAAMgH,GAAGqD,SAASrK,OACpB,UAAWA,KAAQ,SAAU,CAClC,MAAO,IAAMA,MACR,UAAWA,KAAQ,SAAU,CAElC,IAAKmmB,GAAgC,CACnC,MAAO,IAAMnmB,EAEf,MAAOA,OACF,UAAWA,KAAQ,UAAW,CACnC,MAAO,IAAMA,EAEf,MAAO,MAGT,IAAIsmB,IAAc,QAASA,eAEzB,MAAOrpB,QAAO8D,OAAS9D,OAAO8D,OAAO,SAGvC,IAAIwlB,IAAmB,QAASA,kBAAiBC,EAAgBtnB,EAAKmlB,GACpE,GAAIvnB,EAAQunB,IAAaxe,GAAKE,OAAOse,GAAW,CAC9CnmB,EAASmmB,EAAU,SAAUoC,GAC3B,IAAKzf,GAAGQ,aAAaif,GAAQ,CAC3B,KAAM,IAAI5mB,WAAU,kBAAoB4mB,EAAQ,2BAElDvnB,EAAImB,IAAIomB,EAAM,GAAIA,EAAM,UAErB,IAAIpC,YAAoBmC,GAAgB,CAC7C3pB,EAAM2pB,EAAeroB,UAAUC,QAASimB,EAAU,SAAUzlB,EAAOoB,GACjEd,EAAImB,IAAIL,EAAKpB,SAEV,CACL,GAAI8nB,GAAMC,CACV,KAAK7f,GAAkBud,GAAW,CAChCsC,EAAQznB,EAAImB,GACZ,KAAK2G,GAAGK,WAAWsf,GAAQ,CAAE,KAAM,IAAI9mB,WAAU,WACjD6mB,EAAO1f,GAAGuB,YAAY8b,GAExB,SAAWqC,KAAS,YAAa,CAC/B,MAAO,KAAM,CACX,GAAIpd,GAAOtC,GAAGuC,aAAamd,EAC3B,IAAIpd,IAAS,MAAO,CAAE,MACtB,GAAIsd,GAAWtd,EAAK1K,KACpB,KACE,IAAKoI,GAAGQ,aAAaof,GAAW,CAC9B,KAAM,IAAI/mB,WAAU,kBAAoB+mB,EAAW,2BAErD/pB,EAAM8pB,EAAOznB,EAAK0nB,EAAS,GAAIA,EAAS,IACxC,MAAOppB,GACPwJ,GAAG+B,cAAc2d,EAAM,KACvB,MAAMlpB,OAMhB,IAAIqpB,IAAmB,QAASA,kBAAiBC,EAAgBzmB,EAAKgkB,GACpE,GAAIvnB,EAAQunB,IAAaxe,GAAKE,OAAOse,GAAW,CAC9CnmB,EAASmmB,EAAU,SAAUzlB,GAC3ByB,EAAI0mB,IAAInoB,SAEL,IAAIylB,YAAoByC,GAAgB,CAC7CjqB,EAAMiqB,EAAe3oB,UAAUC,QAASimB,EAAU,SAAUzlB,GAC1DyB,EAAI0mB,IAAInoB,SAEL,CACL,GAAI8nB,GAAMC,CACV,KAAK7f,GAAkBud,GAAW,CAChCsC,EAAQtmB,EAAI0mB,GACZ,KAAK/f,GAAGK,WAAWsf,GAAQ,CAAE,KAAM,IAAI9mB,WAAU,WACjD6mB,EAAO1f,GAAGuB,YAAY8b,GAExB,SAAWqC,KAAS,YAAa,CAC/B,MAAO,KAAM,CACX,GAAIpd,GAAOtC,GAAGuC,aAAamd,EAC3B,IAAIpd,IAAS,MAAO,CAAE,MACtB,GAAIyI,GAAYzI,EAAK1K,KACrB,KACE/B,EAAM8pB,EAAOtmB,EAAK0R,GAClB,MAAOvU,GACPwJ,GAAG+B,cAAc2d,EAAM,KACvB,MAAMlpB,OAOhB,IAAIwpB,KACF5iB,IAAM,WAEJ,GAAI6iB,KAEJ,IAAIC,GAAW,QAASA,UAASlnB,EAAKpB,GACpCrC,KAAKyD,IAAMA,CACXzD,MAAKqC,MAAQA,CACbrC,MAAK+M,KAAO,IACZ/M,MAAK4qB,KAAO,KAGdD,GAAS/oB,UAAUipB,UAAY,QAASA,aACtC,MAAO7qB,MAAKyD,MAAQinB,EAGtB,IAAII,GAAQ,QAASA,OAAMnoB,GACzB,QAASA,EAAIooB,QAGf,IAAIC,GAAiB,QAASA,gBAAeroB,EAAKE,GAChD,IAAK4H,GAAGQ,aAAatI,KAASmoB,EAAMnoB,GAAM,CACxC,KAAM,IAAIW,WAAU,wBAA0BT,EAAS,oCAAsC4H,GAAGqD,SAASnL,KAI7G,IAAIsoB,GAAc,QAASA,aAAYtoB,EAAKmT,GAC1CkV,EAAeroB,EAAK,kBACpB3C,MAAKkrB,KAAOvoB,EAAIwoB,KAChBnrB,MAAKsR,EAAItR,KAAKkrB,IACdlrB,MAAK8V,KAAOA,EAGdmV,GAAYrpB,WACVwpB,cAAe,KACfre,KAAM,QAASA,QACb,IAAK/M,KAAKorB,cAAe,CACvB,KAAM,IAAI9nB,WAAU,qBAEtB,GAAIgO,GAAItR,KAAKsR,CACb,IAAIwE,GAAO9V,KAAK8V,IAChB,IAAIoV,GAAOlrB,KAAKkrB,IAChB,UAAWlrB,MAAKsR,IAAM,YAAa,CACjC,MAAOsD,MAET,MAAOtD,EAAEuZ,aAAevZ,IAAM4Z,EAAM,CAElC5Z,EAAIA,EAAEsZ,KAGR,GAAI9d,EACJ,OAAOwE,EAAEvE,OAASme,EAAM,CACtB5Z,EAAIA,EAAEvE,IACN,KAAKuE,EAAEuZ,YAAa,CAClB,GAAI/U,IAAS,MAAO,CAClBhJ,EAASwE,EAAE7N,QACN,IAAIqS,IAAS,QAAS,CAC3BhJ,EAASwE,EAAEjP,UACN,CACLyK,GAAUwE,EAAE7N,IAAK6N,EAAEjP,OAErBrC,KAAKsR,EAAIA,CACT,OAAOsD,IAAe9H,IAI1B9M,KAAKsR,MAAS,EACd,OAAOsD,OAGXnE,IAAYwa,EAAYrpB,UAExB,IAAIypB,EACJ,IAAIC,GAAU,QAASzjB,OACrB,KAAM7H,eAAgB6H,MAAM,CAC1B,KAAM,IAAIvE,WAAU,kCAEtB,GAAItD,MAAQA,KAAK+qB,QAAS,CACxB,KAAM,IAAIznB,WAAU,oBAEtB,GAAIX,GAAMmO,GAAoB9Q,KAAM6H,IAAKwjB,GACvCN,QAAS,KACTI,MAAO,KACPI,KAAM3jB,EAAU,GAAIA,GAAY,KAChC4jB,MAAO,EACPC,SAAU1B,MAGZ,IAAImB,GAAO,GAAIP,GAAS,KAAM,KAG9BO,GAAKne,KAAOme,EAAKN,KAAOM,CACxBvoB,GAAIwoB,MAAQD,CAGZ,IAAInqB,UAAUqI,OAAS,EAAG,CACxB4gB,GAAiBniB,IAAKlF,EAAK5B,UAAU,IAEvC,MAAO4B,GAET0oB,GAAgBC,EAAQ1pB,SAExBwB,GAAMC,OAAOgoB,EAAe,OAAQ,WAClC,SAAWrrB,MAAKwrB,QAAU,YAAa,CACrC,KAAM,IAAIloB,WAAU,0CAEtB,MAAOtD,MAAKwrB,OAGd9oB,GAAiB2oB,GACf/pB,IAAK,QAASA,KAAImC,GAChBunB,EAAehrB,KAAM,MACrB,IAAIkqB,EACJ,IAAIwB,GAAO7B,GAAQpmB,EAAK,KACxB,IAAIioB,IAAS,KAAM,CAEjBxB,EAAQlqB,KAAKyrB,SAASC,EACtB,IAAIxB,EAAO,CACT,MAAOA,GAAM7nB,UACR,CACL,QAGJ,GAAIrC,KAAKurB,KAAM,CAEbrB,EAAQniB,EAAW5H,KAAKH,KAAKurB,KAAM9nB,EACnC,IAAIymB,EAAO,CACT,MAAOA,GAAM7nB,UACR,CACL,QAGJ,GAAI6oB,GAAOlrB,KAAKmrB,KAChB,IAAI7Z,GAAI4Z,CACR,QAAQ5Z,EAAIA,EAAEvE,QAAUme,EAAM,CAC5B,GAAIzgB,GAAGqB,cAAcwF,EAAE7N,IAAKA,GAAM,CAChC,MAAO6N,GAAEjP,SAKf4F,IAAK,QAASA,KAAIxE,GAChBunB,EAAehrB,KAAM,MACrB,IAAI0rB,GAAO7B,GAAQpmB,EAAK,KACxB,IAAIioB,IAAS,KAAM,CAEjB,aAAc1rB,MAAKyrB,SAASC,KAAU,YAExC,GAAI1rB,KAAKurB,KAAM,CAEb,MAAOvjB,GAAW7H,KAAKH,KAAKurB,KAAM9nB,GAEpC,GAAIynB,GAAOlrB,KAAKmrB,KAChB,IAAI7Z,GAAI4Z,CACR,QAAQ5Z,EAAIA,EAAEvE,QAAUme,EAAM,CAC5B,GAAIzgB,GAAGqB,cAAcwF,EAAE7N,IAAKA,GAAM,CAChC,MAAO,OAGX,MAAO,QAGTK,IAAK,QAASA,KAAIL,EAAKpB,GACrB2oB,EAAehrB,KAAM,MACrB,IAAIkrB,GAAOlrB,KAAKmrB,KAChB,IAAI7Z,GAAI4Z,CACR,IAAIhB,EACJ,IAAIwB,GAAO7B,GAAQpmB,EAAK,KACxB,IAAIioB,IAAS,KAAM,CAEjB,SAAW1rB,MAAKyrB,SAASC,KAAU,YAAa,CAC9C1rB,KAAKyrB,SAASC,GAAMrpB,MAAQA,CAC5B,OAAOrC,UACF,CACLkqB,EAAQlqB,KAAKyrB,SAASC,GAAQ,GAAIf,GAASlnB,EAAKpB,EAChDiP,GAAI4Z,EAAKN,UAGN,IAAI5qB,KAAKurB,KAAM,CAEpB,GAAIvjB,EAAW7H,KAAKH,KAAKurB,KAAM9nB,GAAM,CACnCsE,EAAW5H,KAAKH,KAAKurB,KAAM9nB,GAAKpB,MAAQA,MACnC,CACL6nB,EAAQ,GAAIS,GAASlnB,EAAKpB,EAC1B6F,GAAW/H,KAAKH,KAAKurB,KAAM9nB,EAAKymB,EAChC5Y,GAAI4Z,EAAKN,MAIb,OAAQtZ,EAAIA,EAAEvE,QAAUme,EAAM,CAC5B,GAAIzgB,GAAGqB,cAAcwF,EAAE7N,IAAKA,GAAM,CAChC6N,EAAEjP,MAAQA,CACV,OAAOrC,OAGXkqB,EAAQA,GAAS,GAAIS,GAASlnB,EAAKpB,EACnC,IAAIoI,GAAGkB,WAAW,EAAGlI,GAAM,CACzBymB,EAAMzmB,KAAO,EAEfymB,EAAMnd,KAAO/M,KAAKmrB,KAClBjB,GAAMU,KAAO5qB,KAAKmrB,MAAMP,IACxBV,GAAMU,KAAK7d,KAAOmd,CAClBA,GAAMnd,KAAK6d,KAAOV,CAClBlqB,MAAKwrB,OAAS,CACd,OAAOxrB,OAGT2rB,SAAU,SAAUloB,GAClBunB,EAAehrB,KAAM,SACrB,IAAIkrB,GAAOlrB,KAAKmrB,KAChB,IAAI7Z,GAAI4Z,CACR,IAAIQ,GAAO7B,GAAQpmB,EAAK,KACxB,IAAIioB,IAAS,KAAM,CAEjB,SAAW1rB,MAAKyrB,SAASC,KAAU,YAAa,CAC9C,MAAO,OAETpa,EAAItR,KAAKyrB,SAASC,GAAMd,WACjB5qB,MAAKyrB,SAASC,OAEhB,IAAI1rB,KAAKurB,KAAM,CAEpB,IAAKvjB,EAAW7H,KAAKH,KAAKurB,KAAM9nB,GAAM,CACpC,MAAO,OAET6N,EAAIvJ,EAAW5H,KAAKH,KAAKurB,KAAM9nB,GAAKmnB,IACpC9iB,GAAc3H,KAAKH,KAAKurB,KAAM9nB,GAGhC,OAAQ6N,EAAIA,EAAEvE,QAAUme,EAAM,CAC5B,GAAIzgB,GAAGqB,cAAcwF,EAAE7N,IAAKA,GAAM,CAChC6N,EAAE7N,IAAMinB,CACRpZ,GAAEjP,MAAQqoB,CACVpZ,GAAEsZ,KAAK7d,KAAOuE,EAAEvE,IAChBuE,GAAEvE,KAAK6d,KAAOtZ,EAAEsZ,IAChB5qB,MAAKwrB,OAAS,CACd,OAAO,OAGX,MAAO,QAGTI,MAAO,QAASA,SAEdZ,EAAehrB,KAAM,QACrBA,MAAKurB,KAAO3jB,EAAU,GAAIA,GAAY,IACtC5H,MAAKwrB,MAAQ,CACbxrB,MAAKyrB,SAAW1B,IAChB,IAAImB,GAAOlrB,KAAKmrB,KAChB,IAAI7Z,GAAI4Z,CACR,IAAI9e,GAAIkF,EAAEvE,IACV,QAAQuE,EAAIlF,KAAO8e,EAAM,CACvB5Z,EAAE7N,IAAMinB,CACRpZ,GAAEjP,MAAQqoB,CACVte,GAAIkF,EAAEvE,IACNuE,GAAEvE,KAAOuE,EAAEsZ,KAAOM,EAEpBA,EAAKne,KAAOme,EAAKN,KAAOM,GAG1BzqB,KAAM,QAASA,QACbuqB,EAAehrB,KAAM,OACrB,OAAO,IAAIirB,GAAYjrB,KAAM,QAG/BkX,OAAQ,QAASA,UACf8T,EAAehrB,KAAM,SACrB,OAAO,IAAIirB,GAAYjrB,KAAM,UAG/BmX,QAAS,QAASA,WAChB6T,EAAehrB,KAAM,UACrB,OAAO,IAAIirB,GAAYjrB,KAAM,cAG/B6B,QAAS,QAASA,SAAQgqB,GACxBb,EAAehrB,KAAM,UACrB,IAAI8rB,GAAU/qB,UAAUqI,OAAS,EAAIrI,UAAU,GAAK,IACpD,IAAIoL,GAAKnM,KAAKmX,SACd,KAAK,GAAI+S,GAAQ/d,EAAGY,QAASmd,EAAM3d,KAAM2d,EAAQ/d,EAAGY,OAAQ,CAC1D,GAAI+e,EAAS,CACXxrB,EAAMurB,EAAUC,EAAS5B,EAAM7nB,MAAM,GAAI6nB,EAAM7nB,MAAM,GAAIrC,UACpD,CACL6rB,EAAS3B,EAAM7nB,MAAM,GAAI6nB,EAAM7nB,MAAM,GAAIrC,UAKjDyQ,IAAY4a,EAAeA,EAAclU,QAEzC,OAAOmU,MAGTrhB,IAAM,WACJ,GAAI8hB,GAAQ,QAASA,OAAMjoB,GACzB,MAAOA,GAAIkoB,eAAkBloB,GAAI2nB,WAAa,YAEhD,IAAIQ,GAAiB,QAASA,gBAAenoB,EAAKjB,GAChD,IAAK4H,GAAGQ,aAAanH,KAASioB,EAAMjoB,GAAM,CAExC,KAAM,IAAIR,WAAU,iBAAmBT,EAAS,oCAAsC4H,GAAGqD,SAAShK,KAQtG,IAAIooB,EACJ,IAAIC,GAAU,QAASliB,OACrB,KAAMjK,eAAgBiK,MAAM,CAC1B,KAAM,IAAI3G,WAAU,kCAEtB,GAAItD,MAAQA,KAAKgsB,QAAS,CACxB,KAAM,IAAI1oB,WAAU,oBAEtB,GAAIQ,GAAMgN,GAAoB9Q,KAAMiK,IAAKiiB,GACvCF,QAAS,KACTI,cAAe,KACfX,SAAU1B,MAEZ,KAAKjmB,EAAIkoB,QAAS,CAChB,KAAM,IAAI1oB,WAAU,WAItB,GAAIvC,UAAUqI,OAAS,EAAG,CACxBkhB,GAAiBrgB,IAAKnG,EAAK/C,UAAU,IAEvC,MAAO+C,GAETooB,GAAgBC,EAAQvqB,SAExB,IAAIyqB,GAAY,SAAU5oB,GACxB,GAAImS,GAAInS,CACR,IAAImS,IAAM,QAAS,CACjB,MAAO,UACF,IAAIA,IAAM,aAAc,CAC7B,WAAY,OACP,CACL,GAAIlC,GAAQkC,EAAE0W,OAAO,EACrB,IAAI5Y,IAAU,IAAK,CACjB,MAAOxN,GAAU0P,EAAG,OACf,IAAIlC,IAAU,IAAK,CACxB,OAAQxN,EAAU0P,EAAG,OAChB,IAAIlC,IAAU,IAAK,CACxB,MAAOkC,KAAM,SAGjB,OAAQA,EAGV,IAAI2W,GAAY,QAASA,WAAUzoB,GACjC,IAAKA,EAAI,eAAgB,CACvB,GAAI0oB,GAAI,GAAI/B,IAAgB5iB,GAC5B/D,GAAI,eAAiB0oB,CACrB7qB,GAASlB,EAAKqD,EAAI2nB,UAAW,SAAUhoB,GACrC,GAAImS,GAAIyW,EAAU5oB,EAClB+oB,GAAE1oB,IAAI8R,EAAGA,IAEX9R,GAAI,eAAiB0oB,EAEvB1oB,EAAI2nB,SAAW,KAGjBroB,GAAMC,OAAO8oB,EAAQvqB,UAAW,OAAQ,WACtCqqB,EAAejsB,KAAM,OACrB,IAAIA,KAAKyrB,SAAU,CACjB,MAAOhrB,GAAKT,KAAKyrB,UAAUriB,OAE7BmjB,EAAUvsB,KACV,OAAOA,MAAK,eAAeysB,MAG7B/pB,GAAiBypB,EAAQvqB,WACvBqG,IAAK,QAASA,KAAIxE,GAChBwoB,EAAejsB,KAAM,MACrB,IAAI0rB,EACJ,IAAI1rB,KAAKyrB,WAAaC,EAAO7B,GAAQpmB,MAAU,KAAM,CACnD,QAASzD,KAAKyrB,SAASC,GAEzBa,EAAUvsB,KACV,OAAOA,MAAK,eAAeiI,IAAIxE,IAGjC+mB,IAAK,QAASA,KAAI/mB,GAChBwoB,EAAejsB,KAAM,MACrB,IAAI0rB,EACJ,IAAI1rB,KAAKyrB,WAAaC,EAAO7B,GAAQpmB,MAAU,KAAM,CACnDzD,KAAKyrB,SAASC,GAAQ,IACtB,OAAO1rB,MAETusB,EAAUvsB,KACVA,MAAK,eAAe8D,IAAIL,EAAKA,EAC7B,OAAOzD,OAGT2rB,SAAU,SAAUloB,GAClBwoB,EAAejsB,KAAM,SACrB,IAAI0rB,EACJ,IAAI1rB,KAAKyrB,WAAaC,EAAO7B,GAAQpmB,MAAU,KAAM,CACnD,GAAIipB,GAAUllB,EAAgBxH,KAAKyrB,SAAUC,EAC7C,cAAe1rB,MAAKyrB,SAASC,IAAUgB,EAEzCH,EAAUvsB,KACV,OAAOA,MAAK,eAAe,UAAUyD,IAGvCmoB,MAAO,QAASA,SACdK,EAAejsB,KAAM,QACrB,IAAIA,KAAKyrB,SAAU,CACjBzrB,KAAKyrB,SAAW1B,KAElB,GAAI/pB,KAAK,eAAgB,CACvBA,KAAK,eAAe4rB,UAIxB1U,OAAQ,QAASA,UACf+U,EAAejsB,KAAM,SACrBusB,GAAUvsB,KACV,OAAO,IAAI2sB,GAAY3sB,KAAK,eAAekX,WAG7CC,QAAS,QAASA,WAChB8U,EAAejsB,KAAM,UACrBusB,GAAUvsB,KACV,OAAO,IAAI2sB,GAAY3sB,KAAK,eAAemX,YAG7CtV,QAAS,QAASA,SAAQgqB,GACxBI,EAAejsB,KAAM,UACrB,IAAI8rB,GAAU/qB,UAAUqI,OAAS,EAAIrI,UAAU,GAAK,IACpD,IAAI6rB,GAAY5sB,IAChBusB,GAAUK,EACV5sB,MAAK,eAAe6B,QAAQ,SAAUQ,EAAOoB,GAC3C,GAAIqoB,EAAS,CACXxrB,EAAMurB,EAAUC,EAASroB,EAAKA,EAAKmpB,OAC9B,CACLf,EAASpoB,EAAKA,EAAKmpB,QAK3BvrB,GAAe8qB,EAAQvqB,UAAW,OAAQuqB,EAAQvqB,UAAUsV,OAAQ,KACpEzG,IAAY0b,EAAQvqB,UAAWuqB,EAAQvqB,UAAUsV,OAEjD,IAAIyV,GAAc,QAASA,aAAYxgB,GACrCnM,KAAKmM,GAAKA,EAEZwgB,GAAY/qB,WACVirB,cAAe,KACf9f,KAAM,QAASA,QACb,IAAK/M,KAAK6sB,cAAe,CACvB,KAAM,IAAIvpB,WAAU,qBAEtB,MAAOtD,MAAKmM,GAAGY,QAGnB0D,IAAYkc,EAAY/qB,UAExB,OAAOuqB,MAIX,IAAIW,IAAoBrnB,EAAQwE,MAAQA,IAAIrI,UAAU,WAAaqI,IAAIrI,UAAUmrB,QAAU9iB,IAAIrI,UAAUuT,OAASlL,IAAIrI,UAAUe,KAAOnC,MAAMD,SAAQ,GAAI0J,MAAMxJ,KAC/J,IAAIqsB,GAAmB,CAGrBrnB,EAAQwE,IAAMwgB,GAAgBxgB,IAEhC,GAAIxE,EAAQoC,KAAOpC,EAAQwE,IAAK,CAE9B,GAAI+iB,IAAsB9rB,EAAqB,WAAc,MAAO,IAAI2G,OAAM,EAAG,KAAKvG,IAAI,KAAO,GACjG,KAAK0rB,GAAqB,CACxBvnB,EAAQoC,IAAM,QAASA,OACrB,KAAM7H,eAAgB6H,MAAM,CAC1B,KAAM,IAAIvE,WAAU,kCAEtB,GAAIkpB,GAAI,GAAI5kB,EACZ,IAAI7G,UAAUqI,OAAS,EAAG,CACxB4gB,GAAiBniB,IAAK2kB,EAAGzrB,UAAU,UAE9ByrB,GAAErnB,WACTzE,QAAOoE,eAAe0nB,EAAG/mB,EAAQoC,IAAIjG,UACrC,OAAO4qB,GAET/mB,GAAQoC,IAAIjG,UAAY4C,EAAOoD,EAAQhG,UACvCP,GAAeoE,EAAQoC,IAAIjG,UAAW,cAAe6D,EAAQoC,IAAK,KAClEzE,GAAMiB,iBAAiBoB,EAAQoC,IAAKD,GAEtC,GAAIqlB,IAAU,GAAIplB,IAClB,IAAIqlB,IAAwB,WAE1B,GAAIV,GAAI,GAAI3kB,OAAM,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,IAC7C2kB,GAAE1oB,KAAK,EAAG0oB,EACV,OAAOA,GAAElrB,IAAI,KAAOkrB,GAAKA,EAAElrB,KAAK,KAAOkrB,GAAKA,EAAEvkB,IAAI,IAAMukB,EAAEvkB,KAAK,KAEjE,IAAIklB,IAAsBF,GAAQnpB,IAAI,EAAG,KAAOmpB,EAChD,KAAKC,KAAyBC,GAAqB,CACjDxjB,GAAe9B,IAAIjG,UAAW,MAAO,QAASkC,KAAI8R,EAAG2M,GACnDjiB,EAAM4H,EAAYlI,KAAM4V,IAAM,EAAI,EAAIA,EAAG2M,EACzC,OAAOviB,QAGX,IAAKktB,GAAsB,CACzBxqB,EAAiBmF,IAAIjG,WACnBN,IAAK,QAASA,KAAIsU,GAChB,MAAOtV,GAAMyH,EAAY/H,KAAM4V,IAAM,EAAI,EAAIA,IAE/C3N,IAAK,QAASA,KAAI2N,GAChB,MAAOtV,GAAM0H,EAAYhI,KAAM4V,IAAM,EAAI,EAAIA,KAE9C,KACHxS,GAAMiB,iBAAiBwD,IAAIjG,UAAUN,IAAKyG,EAC1C3E,GAAMiB,iBAAiBwD,IAAIjG,UAAUqG,IAAKD,GAE5C,GAAIolB,IAAU,GAAInjB,IAClB,IAAIojB,IAAuBpjB,IAAIrI,UAAU,WAAaqI,IAAIrI,UAAU4oB,KAAOvgB,IAAIrI,UAAUqG,KAAQ,SAAUuK,GACzGA,EAAE,UAAU,EACZA,GAAEgY,KAAK,EACP,QAAQhY,EAAEvK,IAAI,IACdmlB,GACF,IAAIE,IAAsBF,GAAQ5C,IAAI,KAAO4C,EAC7C,KAAKC,KAAyBC,GAAqB,CACjD,GAAIC,IAAatjB,IAAIrI,UAAU4oB,GAC/BvgB,KAAIrI,UAAU4oB,IAAM,QAASA,KAAIjI,GAC/BjiB,EAAMitB,GAAYvtB,KAAMuiB,IAAM,EAAI,EAAIA,EACtC,OAAOviB,MAEToD,GAAMiB,iBAAiB4F,IAAIrI,UAAU4oB,IAAK+C,IAE5C,IAAKF,GAAsB,CACzB,GAAIG,IAAavjB,IAAIrI,UAAUqG,GAC/BgC,KAAIrI,UAAUqG,IAAM,QAASA,KAAIsa,GAC/B,MAAOjiB,GAAMktB,GAAYxtB,KAAMuiB,IAAM,EAAI,EAAIA,GAE/Cnf,GAAMiB,iBAAiB4F,IAAIrI,UAAUqG,IAAKulB,GAC1C,IAAIC,IAAaxjB,IAAIrI,UAAU,SAC/BqI,KAAIrI,UAAU,UAAY,QAAS8rB,WAAUnL,GAC3C,MAAOjiB,GAAMmtB,GAAYztB,KAAMuiB,IAAM,EAAI,EAAIA,GAE/Cnf,GAAMiB,iBAAiB4F,IAAIrI,UAAU,UAAW6rB,IAElD,GAAIE,IAAyBhpB,EAAoBc,EAAQoC,IAAK,SAAU+lB,GACtE,GAAIpB,GAAI,GAAIoB,MAGZpB,GAAE1oB,IAAI,GAAI,GACV,OAAO0oB,aAAaoB,IAGtB,IAAIC,IAA+BntB,OAAOoE,iBAAmB6oB,EAC7D,IAAIG,IAAkB,WACpB,IACE,QAASroB,EAAQoC,eAAiBpC,GAAQoC,KAC1C,MAAO5G,GACP,MAAOA,aAAaqC,cAGxB,IAAImC,EAAQoC,IAAIuB,SAAW,GAAKykB,KAAiCC,GAAgB,CAC/EroB,EAAQoC,IAAM,QAASA,OACrB,KAAM7H,eAAgB6H,MAAM,CAC1B,KAAM,IAAIvE,WAAU,kCAEtB,GAAIkpB,GAAI,GAAI5kB,EACZ,IAAI7G,UAAUqI,OAAS,EAAG,CACxB4gB,GAAiBniB,IAAK2kB,EAAGzrB,UAAU,UAE9ByrB,GAAErnB,WACTzE,QAAOoE,eAAe0nB,EAAG3kB,IAAIjG,UAC7B,OAAO4qB,GAET/mB,GAAQoC,IAAIjG,UAAYgG,EAAQhG,SAChCP,GAAeoE,EAAQoC,IAAIjG,UAAW,cAAe6D,EAAQoC,IAAK,KAClEzE,GAAMiB,iBAAiBoB,EAAQoC,IAAKD,GAEtC,GAAImmB,IAAyBppB,EAAoBc,EAAQwE,IAAK,SAAUyD,GACtE,GAAI8E,GAAI,GAAI9E,MACZ8E,GAAEgY,IAAI,GAAI,GACV,OAAOhY,aAAa9E,IAGtB,IAAIsgB,IAA+BttB,OAAOoE,iBAAmBipB,EAC7D,IAAIE,IAAkB,WACpB,IACE,QAASxoB,EAAQwE,eAAiBxE,GAAQwE,KAC1C,MAAOhJ,GACP,MAAOA,aAAaqC,cAGxB,IAAImC,EAAQwE,IAAIb,SAAW,GAAK4kB,KAAiCC,GAAgB,CAC/E,GAAIC,IAAUzoB,EAAQwE,GACtBxE,GAAQwE,IAAM,QAASA,OACrB,KAAMjK,eAAgBiK,MAAM,CAC1B,KAAM,IAAI3G,WAAU,kCAEtB,GAAIkP,GAAI,GAAI0b,GACZ,IAAIntB,UAAUqI,OAAS,EAAG,CACxBkhB,GAAiBrgB,IAAKuI,EAAGzR,UAAU,UAE9ByR,GAAErN,WACTzE,QAAOoE,eAAe0N,EAAGvI,IAAIrI,UAC7B,OAAO4Q,GAET/M,GAAQwE,IAAIrI,UAAYssB,GAAQtsB,SAChCP,GAAeoE,EAAQwE,IAAIrI,UAAW,cAAe6D,EAAQwE,IAAK,KAClE7G,GAAMiB,iBAAiBoB,EAAQwE,IAAKikB,IAEtC,GAAIC,IAAS,GAAI1oB,GAAQoC,GACzB,IAAIumB,KAAkCltB,EAAqB,WACzD,MAAOitB,IAAO1tB,OAAOsM,OAAOR,MAS9B,UACS9G,GAAQoC,IAAIjG,UAAUgqB,QAAU,aACvC,GAAInmB,GAAQwE,KAAMwiB,OAAS,GAC3B0B,GAAO1B,OAAS,SACThnB,GAAQoC,IAAIjG,UAAUnB,OAAS,kBAC/BgF,GAAQwE,IAAIrI,UAAUnB,OAAS,kBAC/BgF,GAAQoC,IAAIjG,UAAUC,UAAY,kBAClC4D,GAAQwE,IAAIrI,UAAUC,UAAY,YACzCV,EAAqBsE,EAAQoC,MAC7B1G,EAAqBsE,EAAQwE,YACtBkkB,IAAO1tB,OAAOsM,OAAS,YAC9BqhB,KACCT,GACD,CACAjrB,EAAiB+C,GACfoC,IAAK4iB,GAAgB5iB,IACrBoC,IAAKwgB,GAAgBxgB,KACpB,MAGL,GAAIxE,EAAQwE,IAAIrI,UAAUnB,OAASgF,EAAQwE,IAAIrI,UAAUsV,OAAQ,CAE/D7V,EAAeoE,EAAQwE,IAAIrI,UAAW,OAAQ6D,EAAQwE,IAAIrI,UAAUsV,OAAQ,MAI9EzG,GAAY/P,OAAO6W,gBAAe,GAAK9R,GAAQoC,KAAOpH,QACtDgQ,IAAY/P,OAAO6W,gBAAe,GAAK9R,GAAQwE,KAAOxJ,QAEtD,IAAIe,GAAsBiE,EAAQwE,IAAIrI,UAAUqG,IAAIvG,OAAS,MAAO,CAElE,GAAI2sB,IAAkB5oB,EAAQwE,IAAIrI,UAAUqG,GAC5C0B,IAAelE,EAAQwE,IAAIrI,UAAW,MAAO,QAASqG,KAAIxE,GACxD,MAAOnD,GAAM+tB,GAAiBruB,KAAMyD,MAI1Cf,EAAiB+C,EAASglB,GAC1Bja,IAAkB/K,EAAQoC,IAC1B2I,IAAkB/K,EAAQwE,KAG5B,GAAIqkB,IAA4B,QAASA,2BAA0BhqB,GACjE,IAAKmG,GAAGQ,aAAa3G,GAAS,CAC5B,KAAM,IAAIhB,WAAU,6BAQxB,IAAIirB,KAEFluB,MAAO,QAASA,SACd,MAAOoK,IAAGC,KAAKD,GAAGC,KAAM,KAAM3J,YAIhCqM,UAAW,QAASA,WAAUjI,EAAa0F,GACzC,IAAKJ,GAAGU,cAAchG,GAAc,CAClC,KAAM,IAAI7B,WAAU,yCAEtB,GAAI4J,GAAYnM,UAAUqI,OAAS,EAAIrI,UAAU,GAAKoE,CACtD,KAAKsF,GAAGU,cAAc+B,GAAY,CAChC,KAAM,IAAI5J,WAAU,qCAEtB,MAAOmH,IAAGwC,UAAU9H,EAAa0F,EAAMqC,EAAW,aAOpDshB,eAAgB,QAASA,gBAAelqB,EAAQb,GAC9C6qB,GAA0BhqB,EAC1B,IAAI/C,EAAqB,CACvB,GAAI0c,GAAOvd,OAAOkD,yBAAyBU,EAAQb,EAEnD,IAAIwa,IAASA,EAAK1b,aAAc,CAC9B,MAAO,QAKX,aAAc+B,GAAOb,IAGvBwE,IAAK,QAASA,KAAI3D,EAAQb,GACxB6qB,GAA0BhqB,EAC1B,OAAOb,KAAOa,IAIlB,IAAI5D,OAAO4P,oBAAqB,CAC9B5P,OAAO4a,OAAOiT,IAMZE,QAAS,QAASA,SAAQnqB,GACxBgqB,GAA0BhqB,EAC1B,IAAI7D,GAAOC,OAAO4P,oBAAoBhM,EAEtC,IAAImG,GAAGK,WAAWpK,OAAO0a,uBAAwB,CAC/C9U,EAAW7F,EAAMC,OAAO0a,sBAAsB9W,IAGhD,MAAO7D,MAKb,GAAIiuB,IAAwB,QAASC,2BAA0B9tB,GAC7D,OAAQG,EAAYH,GAGtB,IAAIH,OAAO+a,kBAAmB,CAC5B/a,OAAO4a,OAAOiT,IACZ5Q,aAAc,QAASA,cAAarZ,GAClCgqB,GAA0BhqB,EAC1B,OAAO5D,QAAOid,aAAarZ,IAE7BmX,kBAAmB,QAASA,mBAAkBnX,GAC5CgqB,GAA0BhqB,EAC1B,OAAOoqB,IAAsB,WAC3B,MAAOhuB,QAAO+a,kBAAkBnX,QAMxC,GAAI/C,EAAqB,CACvB,GAAIqtB,IAAc,QAASttB,KAAIgD,EAAQb,EAAKmW,GAC1C,GAAIqE,GAAOvd,OAAOkD,yBAAyBU,EAAQb,EAEnD,KAAKwa,EAAM,CACT,GAAI4Q,GAASnuB,OAAO6W,eAAejT,EAEnC,IAAIuqB,IAAW,KAAM,CACnB,WAAY,GAGd,MAAOD,IAAYC,EAAQprB,EAAKmW,GAGlC,GAAI,SAAWqE,GAAM,CACnB,MAAOA,GAAK5b,MAGd,GAAI4b,EAAK3c,IAAK,CACZ,MAAOmJ,IAAGC,KAAKuT,EAAK3c,IAAKsY,GAG3B,WAAY,GAGd,IAAIkV,IAAc,QAAShrB,KAAIQ,EAAQb,EAAKpB,EAAOuX,GACjD,GAAIqE,GAAOvd,OAAOkD,yBAAyBU,EAAQb,EAEnD,KAAKwa,EAAM,CACT,GAAI4Q,GAASnuB,OAAO6W,eAAejT,EAEnC,IAAIuqB,IAAW,KAAM,CACnB,MAAOC,IAAYD,EAAQprB,EAAKpB,EAAOuX,GAGzCqE,GACE5b,UAAY,GACZI,SAAU,KACVD,WAAY,KACZD,aAAc,MAIlB,GAAI,SAAW0b,GAAM,CACnB,IAAKA,EAAKxb,SAAU,CAClB,MAAO,OAGT,IAAKgI,GAAGQ,aAAa2O,GAAW,CAC9B,MAAO,OAGT,GAAImV,GAAeruB,OAAOkD,yBAAyBgW,EAAUnW,EAE7D,IAAIsrB,EAAc,CAChB,MAAO7kB,IAAQ7I,eAAeuY,EAAUnW,GACtCpB,MAAOA,QAEJ,CACL,MAAO6H,IAAQ7I,eAAeuY,EAAUnW,GACtCpB,MAAOA,EACPI,SAAU,KACVD,WAAY,KACZD,aAAc,QAKpB,GAAI0b,EAAKna,IAAK,CACZxD,EAAM2d,EAAKna,IAAK8V,EAAUvX,EAC1B,OAAO,MAGT,MAAO,OAGT3B,QAAO4a,OAAOiT,IACZltB,eAAgB,QAASA,gBAAeiD,EAAQ0qB,EAAaC,GAC3DX,GAA0BhqB,EAC1B,OAAOoqB,IAAsB,WAC3B,MAAOhuB,QAAOW,eAAeiD,EAAQ0qB,EAAaC,MAItDrrB,yBAA0B,QAASA,0BAAyBU,EAAQ0qB,GAClEV,GAA0BhqB,EAC1B,OAAO5D,QAAOkD,yBAAyBU,EAAQ0qB,IAIjD1tB,IAAK,QAASA,KAAIgD,EAAQb,GACxB6qB,GAA0BhqB,EAC1B,IAAIsV,GAAW7Y,UAAUqI,OAAS,EAAIrI,UAAU,GAAKuD,CAErD,OAAOsqB,IAAYtqB,EAAQb,EAAKmW,IAGlC9V,IAAK,QAASA,KAAIQ,EAAQb,EAAKpB,GAC7BisB,GAA0BhqB,EAC1B,IAAIsV,GAAW7Y,UAAUqI,OAAS,EAAIrI,UAAU,GAAKuD,CAErD,OAAOwqB,IAAYxqB,EAAQb,EAAKpB,EAAOuX,MAK7C,GAAIlZ,OAAO6W,eAAgB,CACzB,GAAI2X,IAA0BxuB,OAAO6W,cACrCgX,IAAahX,eAAiB,QAASA,gBAAejT,GACpDgqB,GAA0BhqB,EAC1B,OAAO4qB,IAAwB5qB,IAInC,GAAI5D,OAAOoE,gBAAkBypB,GAAahX,eAAgB,CACxD,GAAI4X,IAA8B,SAAU/sB,EAAQgtB,GAClD,GAAI/hB,GAAQ+hB,CACZ,OAAO/hB,EAAO,CACZ,GAAIjL,IAAWiL,EAAO,CACpB,MAAO,MAETA,EAAQkhB,GAAahX,eAAelK,GAEtC,MAAO,OAGT3M,QAAO4a,OAAOiT,IAGZzpB,eAAgB,QAASA,gBAAe1C,EAAQiL,GAC9CihB,GAA0BlsB,EAC1B,IAAIiL,IAAU,OAAS5C,GAAGQ,aAAaoC,GAAQ,CAC7C,KAAM,IAAI/J,WAAU,mCAItB,GAAI+J,IAAUnD,GAAQqN,eAAenV,GAAS,CAC5C,MAAO,MAIT,GAAI8H,GAAQyT,eAAiBzT,GAAQyT,aAAavb,GAAS,CACzD,MAAO,OAIT,GAAI+sB,GAA4B/sB,EAAQiL,GAAQ,CAC9C,MAAO,OAGT3M,OAAOoE,eAAe1C,EAAQiL,EAE9B,OAAO,SAIb,GAAIgiB,IAAkC,SAAU5rB,EAAK6rB,GACnD,IAAK7kB,GAAGK,WAAWrF,EAAQyE,QAAQzG,IAAO,CACxCpC,EAAeoE,EAAQyE,QAASzG,EAAK6rB,OAChC,CACL,GAAIC,GAAoBruB,EAAqB,WAC3CuE,EAAQyE,QAAQzG,GAAK,EACrBgC,GAAQyE,QAAQzG,GAAKsF,IACrBtD,GAAQyE,QAAQzG,GAAK,KACrB,OAAO,OAET,IAAI8rB,EAAmB,CACrB5lB,GAAelE,EAAQyE,QAASzG,EAAK6rB,KAI3C5uB,QAAOD,KAAK8tB,IAAc1sB,QAAQ,SAAU4B,GAC1C4rB,GAAgC5rB,EAAK8qB,GAAa9qB,KAEpD,IAAI+rB,IAA0B/pB,EAAQyE,QAAQqN,cAC9C,IAAI/V,GAAsBguB,IAA2BA,GAAwB9tB,OAAS,iBAAkB,CACtGiI,GAAelE,EAAQyE,QAAS,iBAAkB,QAASqN,gBAAejT,GACxE,MAAOhE,GAAMkvB,GAAyB/pB,EAAQyE,QAAS5F,KAG3D,GAAImB,EAAQyE,QAAQpF,eAAgB,CAClC,GAAI5D,EAAqB,WACvBuE,EAAQyE,QAAQpF,eAAe,KAC/B,OAAO,QACL,CACF6E,GAAelE,EAAQyE,QAAS,iBAAkBqkB,GAAazpB,iBAGnE,GAAIW,EAAQyE,QAAQ7I,eAAgB,CAClC,IAAKH,EAAqB,WACxB,GAAIuuB,IAAShqB,EAAQyE,QAAQ7I,eAAe,EAAG,QAAUgB,MAAO,GAEhE,IAAIqtB,SAAoBhvB,QAAO+a,oBAAsB,aAAehW,EAAQyE,QAAQ7I,eAAeX,OAAO+a,sBAAuB,UACjI,OAAOgU,IAASC,IACd,CACF/lB,GAAelE,EAAQyE,QAAS,iBAAkBqkB,GAAaltB,iBAGnE,GAAIoE,EAAQyE,QAAQkD,UAAW,CAC7B,IAAKlM,EAAqB,WACxB,GAAIyJ,GAAI,QAASA,MACjB,OAAOlF,GAAQyE,QAAQkD,UAAU,gBAAoBzC,YAAcA,KACjE,CACFhB,GAAelE,EAAQyE,QAAS,YAAaqkB,GAAanhB,YAI9D,GAAIvH,OAAO,GAAI8pB,MAAK5mB,QAAU,eAAgB,CAC5C,GAAI6mB,IAAeD,KAAK/tB,UAAUmB,QAClC,IAAI8sB,IAAsB,QAAS9sB,YACjC,GAAIuW,IAAWtZ,IACf,IAAIsZ,IAAYA,EAAS,CACvB,MAAO,eAET,MAAO7O,IAAGC,KAAKklB,GAAc5vB,MAE/B2J,IAAegmB,KAAK/tB,UAAW,WAAYiuB,IAK7C,GAAIC,KACFC,OAAQ,QAASA,QAAOruB,GAAQ,MAAO+I,IAAGkD,WAAW3N,KAAM,IAAK,OAAQ0B,IACxEsuB,IAAK,QAASA,OAAQ,MAAOvlB,IAAGkD,WAAW3N,KAAM,MAAO,GAAI,KAC5DiwB,MAAO,QAASA,SAAU,MAAOxlB,IAAGkD,WAAW3N,KAAM,QAAS,GAAI,KAClEkwB,KAAM,QAASA,QAAS,MAAOzlB,IAAGkD,WAAW3N,KAAM,IAAK,GAAI,KAC5DmwB,MAAO,QAASA,SAAU,MAAO1lB,IAAGkD,WAAW3N,KAAM,KAAM,GAAI,KAC/DowB,UAAW,QAASA,WAAUC,GAAS,MAAO5lB,IAAGkD,WAAW3N,KAAM,OAAQ,QAASqwB,IACnFC,SAAU,QAASA,UAAS7D,GAAQ,MAAOhiB,IAAGkD,WAAW3N,KAAM,OAAQ,OAAQysB,IAC/E8D,QAAS,QAASA,WAAY,MAAO9lB,IAAGkD,WAAW3N,KAAM,IAAK,GAAI,KAClEwwB,KAAM,QAASA,MAAKC,GAAO,MAAOhmB,IAAGkD,WAAW3N,KAAM,IAAK,OAAQywB,IACnEC,MAAO,QAASA,SAAU,MAAOjmB,IAAGkD,WAAW3N,KAAM,QAAS,GAAI,KAClE2wB,OAAQ,QAASA,UAAW,MAAOlmB,IAAGkD,WAAW3N,KAAM,SAAU,GAAI,KACrE4wB,IAAK,QAASA,OAAQ,MAAOnmB,IAAGkD,WAAW3N,KAAM,MAAO,GAAI,KAC5D6wB,IAAK,QAASD,OAAQ,MAAOnmB,IAAGkD,WAAW3N,KAAM,MAAO,GAAI,KAE9D2B,GAASjB,OAAOD,KAAKqvB,IAAkB,SAAUrsB,GAC/C,GAAIZ,GAASgD,OAAOjE,UAAU6B,EAC9B,IAAIqtB,GAAkB,KACtB,IAAIrmB,GAAGK,WAAWjI,GAAS,CACzB,GAAIkuB,GAASzwB,EAAMuC,EAAQ,GAAI,MAC/B,IAAImuB,GAAchrB,KAAY+qB,EAAOxiB,MAAM,OAAOnF,MAClD0nB,GAAkBC,IAAWA,EAAOE,eAAiBD,EAAc,MAC9D,CACLF,EAAkB,KAEpB,GAAIA,EAAiB,CACnBnnB,GAAe9D,OAAOjE,UAAW6B,EAAKqsB,GAAgBrsB,MAI1D,IAAIytB,IAA0B,WAE5B,IAAKpnB,GAAY,CAAE,MAAO,OAC1B,GAAIqnB,SAAmBC,QAAS,gBAAmBA,MAAKD,YAAc,WAAaC,KAAKD,UAAY,IACpG,KAAKA,EAAW,CAAE,MAAO,OACzB,SAAWA,GAAUhpB,OAAc,YAAa,CAAE,MAAO,MACzD,GAAIgpB,GAAWhpB,QAAe,SAAU,CAAE,MAAO,MACjD,GAAImF,IAAQ1B,EAAGzD,IACfmF,GAAInF,KAAY,IAChB,IAAIgpB,EAAU7jB,KAAS,KAAM,CAAE,MAAO,MACtC,MAAO,SAET,IAAI+jB,IAAmCnwB,EAAqB,WAE1D,IAAK4I,GAAY,CAAE,MAAO,MAC1B,MAAOsnB,MAAKD,UAAUzwB,OAAOyH,QAAe,MAAQipB,KAAKD,WAAWzwB,OAAOyH,SAAgB,QAE7F,IAAI+oB,KAA2BG,GAAkC,CAC/D,GAAIC,IAAgBF,KAAKD,SACzBxnB,IAAeynB,KAAM,YAAa,QAASD,WAAU9uB,GACnD,SAAWA,KAAU,SAAU,CAAE,OACjC,GAAIiN,EACJ,IAAIvO,UAAUqI,OAAS,EAAG,CACxBkG,EAAWvO,UAAU,GAEvB,GAAI8J,IAAQxI,EACZ,KAAK9B,EAAQ+O,GAAW,CACtB,GAAIiiB,GAAY9mB,GAAGK,WAAWwE,GAAYA,EAAW,IACrD,IAAIkiB,GAAkB,SAAU/tB,EAAKiZ,GACnC,GAAI+U,GAAcF,EAAYjxB,EAAMixB,EAAWvxB,KAAMyD,EAAKiZ,GAAOA,CACjE,UAAW+U,KAAgB,SAAU,CACnC,GAAInoB,GAAKI,OAAO+nB,GAAc,CAC5B,MAAO1W,QAAa0W,OACf,CACL,MAAOA,KAIb5mB,GAAKxE,KAAKmrB,OACL,CAEL3mB,EAAKxE,KAAKiJ,GAEZ,GAAIvO,UAAUqI,OAAS,EAAG,CACxByB,EAAKxE,KAAKtF,UAAU,IAEtB,MAAOuwB,IAAcjxB,MAAML,KAAM6K,KAIrC,MAAOpF"} \ No newline at end of file diff --git a/es6-shim.min.js b/es6-shim.min.js index 3bf69f33..aac1e6e3 100644 --- a/es6-shim.min.js +++ b/es6-shim.min.js @@ -1,12 +1,12 @@ /*! - * https://github.com/paulmillr/es6-shim - * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) - * and contributors, MIT License - * es6-shim: v0.35.3 - * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE - * Details and documentation: - * https://github.com/paulmillr/es6-shim/ - */ -(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(e){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(e){return false}};var u=o(i);var f=function(){return!i(function(){Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var F=Math.exp;var L=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var W=function(){};var G=S.Map;var H=G&&G.prototype["delete"];var V=G&&G.prototype.get;var B=G&&G.prototype.has;var U=G&&G.prototype.set;var $=S.Symbol||{};var J=$.species||"@@species";var X=Number.isNaN||function isNaN(e){return e!==e};var K=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Z=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(X(t)){return t}return t<0?-1:1};var Y=function isArguments(e){return g(e)==="[object Arguments]"};var Q=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var ee=Y(arguments)?Y:Q;var te={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var re=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var ne=typeof $==="function"&&typeof $["for"]==="function"&&te.symbol($());var oe=te.symbol($.iterator)?$.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){oe="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ie=S.Reflect;var ae=String;var ue=typeof document==="undefined"||!document?null:document.all;var fe=ue==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==ue};var se={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!se.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(fe(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===ue},ToObject:function(e,t){return Object(se.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return se.IsCallable(e)},ToInt32:function(e){return se.ToNumber(e)>>0},ToUint32:function(e){return se.ToNumber(e)>>>0},ToNumber:function(e){if(g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=se.ToNumber(e);if(X(t)){return 0}if(t===0||!K(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=se.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return X(e)&&X(t)},SameValueZero:function(e,t){return e===t||X(e)&&X(t)},IsIterable:function(e){return se.TypeIsObject(e)&&(typeof e[oe]!=="undefined"||ee(e))},GetIterator:function(e){if(ee(e)){return new q(e,"value")}var t=se.GetMethod(e,oe);if(!se.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=se.Call(t,e);if(!se.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=se.ToObject(e)[t];if(fe(r)){return void 0}if(!se.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=se.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=se.Call(r,e)}catch(e){o=e}if(t){return}if(o){throw o}if(!se.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!se.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=se.IteratorNext(e);var r=se.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ie.construct){return ie.construct(e,t,o)}var i=o.prototype;if(!se.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=se.Call(e,a,t);return se.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!se.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[J];if(fe(n)){return t}if(!se.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=se.ToString(e);var i="<"+t;if(r!==""){var a=se.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!se.TypeIsObject(e)){return false}var t=e[$.match];if(typeof t!=="undefined"){return!!t}return te.regex(e)},ToString:function ToString(e){return ae(e)}};if(s&&ne){var ce=function defineWellKnownSymbol(e){if(te.symbol($[e])){return $[e]}var t=$["for"]("Symbol."+e);Object.defineProperty($,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!te.symbol($.search)){var le=ce("search");var pe=String.prototype.search;h(RegExp.prototype,le,function search(e){return se.Call(pe,e,[this])});var ve=function search(e){var t=se.RequireObjectCoercible(this);if(!fe(e)){var r=se.GetMethod(e,le);if(typeof r!=="undefined"){return se.Call(r,e,[t])}}return se.Call(pe,t,[se.ToString(e)])};re(String.prototype,"search",ve)}if(!te.symbol($.replace)){var ye=ce("replace");var he=String.prototype.replace;h(RegExp.prototype,ye,function replace(e,t){return se.Call(he,e,[this,t])});var be=function replace(e,t){var r=se.RequireObjectCoercible(this);if(!fe(e)){var n=se.GetMethod(e,ye);if(typeof n!=="undefined"){return se.Call(n,e,[r,t])}}return se.Call(he,r,[se.ToString(e),t])};re(String.prototype,"replace",be)}if(!te.symbol($.split)){var ge=ce("split");var de=String.prototype.split;h(RegExp.prototype,ge,function split(e,t){return se.Call(de,e,[this,t])});var me=function split(e,t){var r=se.RequireObjectCoercible(this);if(!fe(e)){var n=se.GetMethod(e,ge);if(typeof n!=="undefined"){return se.Call(n,e,[r,t])}}return se.Call(de,r,[se.ToString(e),t])};re(String.prototype,"split",me)}var Oe=te.symbol($.match);var we=Oe&&function(){var e={};e[$.match]=function(){return 42};return"a".match(e)!==42}();if(!Oe||we){var je=ce("match");var Se=String.prototype.match;h(RegExp.prototype,je,function match(e){return se.Call(Se,e,[this])});var Te=function match(e){var t=se.RequireObjectCoercible(this);if(!fe(e)){var r=se.GetMethod(e,je);if(typeof r!=="undefined"){return se.Call(r,e,[t])}}return se.Call(Se,t,[se.ToString(e)])};re(String.prototype,"match",Te)}}var Ie=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in W||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in W||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Ee=function(){return this};var Pe=function(e){if(s&&!z(e,J)){m.getter(e,J,Ee)}};var Ce=function(e,t){var r=t||function iterator(){return this};h(e,oe,r);if(!e[oe]&&te.symbol(oe)){e[oe]=r}};var Me=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var xe=function createDataPropertyOrThrow(e,t,r){Me(e,t,r);if(!se.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Ne=function(e,t,r,n){if(!se.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!se.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(z(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Ae=String.fromCodePoint;re(String,"fromCodePoint",function fromCodePoint(e){return se.Call(Ae,this,arguments)})}var Re={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=se.ToObject(e,"bad callSite");var r=se.ToObject(t.raw,"bad raw value");var n=r.length;var o=se.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=ke){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return _e(t,r)},startsWith:function startsWith(e){var t=se.ToString(se.RequireObjectCoercible(this));if(se.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=se.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(se.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=se.ToString(se.RequireObjectCoercible(this));if(se.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=se.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:se.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(se.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=se.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=se.ToString(se.RequireObjectCoercible(this));var r=se.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){re(String.prototype,"includes",Fe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var Le=i(function(){"/a/".startsWith(/a/)});var De=a(function(){return"abc".startsWith("a",Infinity)===false});if(!Le||!De){re(String.prototype,"startsWith",Fe.startsWith);re(String.prototype,"endsWith",Fe.endsWith)}}if(ne){var ze=a(function(){var e=/a/;e[$.match]=false;return"/a/".startsWith(e)});if(!ze){re(String.prototype,"startsWith",Fe.startsWith)}var qe=a(function(){var e=/a/;e[$.match]=false;return"/a/".endsWith(e)});if(!qe){re(String.prototype,"endsWith",Fe.endsWith)}var We=a(function(){var e=/a/;e[$.match]=false;return"/a/".includes(e)});if(!We){re(String.prototype,"includes",Fe.includes)}}b(String.prototype,Fe);var Ge=["\t\n\v\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var He=new RegExp("(^["+Ge+"]+)|(["+Ge+"]+$)","g");var Ve=function trim(){return se.ToString(se.RequireObjectCoercible(this)).replace(He,"")};var Be=["\x85","\u200b","\ufffe"].join("");var Ue=new RegExp("["+Be+"]","g");var $e=/^[-+]0x[0-9a-f]+$/i;var Je=Be.trim().length!==Be.length;h(String.prototype,"trim",Ve,Je);var Xe=function(e){return{value:e,done:arguments.length===0}};var Ke=function(e){se.RequireObjectCoercible(e);this._s=se.ToString(e);this._i=0};Ke.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Xe()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Xe(e.substr(t,o))};Ce(Ke.prototype);Ce(String.prototype,function(){return new Ke(this)});var Ze={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!se.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(ee(e)||se.GetMethod(e,oe))!=="undefined";var u,f,s;if(a){f=se.IsConstructor(r)?Object(new r):[];var c=se.GetIterator(e);var l,p;s=0;while(true){l=se.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(e){se.IteratorClose(c,true);throw e}s+=1}u=s}else{var v=se.ToObject(e);u=se.ToLength(v.length);f=se.IsConstructor(r)?Object(new r(u)):new Array(u);var y;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:se.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=se.ToObject(this);var o=se.ToLength(n.length);t=se.ToInteger(typeof t==="undefined"?0:t);r=se.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return se.Call(ot,this,arguments)}else{return t(ot,this,e)}})}var it=-(Math.pow(2,32)-1);var at=function(e,r){var n={length:it};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!at(Array.prototype.forEach)){var ut=Array.prototype.forEach;re(Array.prototype,"forEach",function forEach(e){return se.Call(ut,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.map)){var ft=Array.prototype.map;re(Array.prototype,"map",function map(e){return se.Call(ft,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.filter)){var st=Array.prototype.filter;re(Array.prototype,"filter",function filter(e){return se.Call(st,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.some)){var ct=Array.prototype.some;re(Array.prototype,"some",function some(e){return se.Call(ct,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.every)){var lt=Array.prototype.every;re(Array.prototype,"every",function every(e){return se.Call(lt,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.reduce)){var pt=Array.prototype.reduce;re(Array.prototype,"reduce",function reduce(e){return se.Call(pt,this.length>=0?this:[],arguments)},true)}if(!at(Array.prototype.reduceRight,true)){var vt=Array.prototype.reduceRight;re(Array.prototype,"reduceRight",function reduceRight(e){return se.Call(vt,this.length>=0?this:[],arguments)},true)}var yt=Number("0o10")!==8;var ht=Number("0b10")!==2;var bt=y(Be,function(e){return Number(e+0+e)===0});if(yt||ht||bt){var gt=Number;var dt=/^0b[01]+$/i;var mt=/^0o[0-7]+$/i;var Ot=dt.test.bind(dt);var wt=mt.test.bind(mt);var jt=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(te.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(te.primitive(t)){return t}}throw new TypeError("No default value")};var St=Ue.test.bind(Ue);var Tt=$e.test.bind($e);var It=function(){var e=function Number(t){var r;if(arguments.length>0){r=te.primitive(t)?t:jt(t,"number")}else{r=0}if(typeof r==="string"){r=se.Call(Ve,r);if(Ot(r)){r=parseInt(C(r,2),2)}else if(wt(r)){r=parseInt(C(r,2),8)}else if(St(r)||Tt(r)){r=NaN}}var n=this;var o=a(function(){gt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new gt(r)}return gt(r)};return e}();Ie(gt,It,{});b(It,{NaN:gt.NaN,MAX_VALUE:gt.MAX_VALUE,MIN_VALUE:gt.MIN_VALUE,NEGATIVE_INFINITY:gt.NEGATIVE_INFINITY,POSITIVE_INFINITY:gt.POSITIVE_INFINITY});Number=It;m.redefine(S,"Number",It)}var Et=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Et,MIN_SAFE_INTEGER:-Et,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:K,isInteger:function isInteger(e){return K(e)&&se.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:X});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){re(Array.prototype,"find",Qe.find)}if([,1].findIndex(function(){return true})!==0){re(Array.prototype,"findIndex",Qe.findIndex)}var Pt=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Ct=function ensureEnumerable(e,t){if(s&&Pt(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var Mt=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}if(t===-1){return-Infinity}if(t===1){return Infinity}if(t===0){return t}return.5*L((1+t)/(1-t))},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=F(L(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=se.ToUint32(t);if(r===0){return 32}return Er?se.Call(Er,r):31-_(L(r+.5)*Tr)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(X(t)){return NaN}if(!T(t)){return Infinity}if(t<0){t=-t}if(t>21){return F(t)/2}return(F(t)+F(-t))/2},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(t)>.5){return F(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*D(r)},log2:function log2(e){return L(e)*Tr},log10:function log10(e){return L(e)*Ir},log1p:function log1p(e){var t=Number(e);if(t<-1||X(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(L(1+t)/(1+t-1))},sign:Z,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}if(k(t)<1){return(Math.expm1(t)-Math.expm1(-t))/2}return(F(t-1)-F(-t-1))*Sr/2},tanh:function tanh(e){var t=Number(e);if(X(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(F(t)+F(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=se.ToUint32(e);var n=se.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||X(t)){return t}var r=Z(t);var n=k(t);if(nwr||X(i)){return r*Infinity}return r*i}};b(Math,Pr);h(Math,"log1p",Pr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",Pr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"tanh",Pr.tanh,Math.tanh(-2e-17)!==-2e-17);h(Math,"acosh",Pr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"cbrt",Pr.cbrt,Math.abs(1-Math.cbrt(1e-300)/1e-100)/Number.EPSILON>8);h(Math,"sinh",Pr.sinh,Math.sinh(-2e-17)!==-2e-17);var Cr=Math.expm1(10);h(Math,"expm1",Pr.expm1,Cr>22025.465794806718||Cr<22025.465794806718);var Mr=Math.round;var xr=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Nr=dr+1;var Ar=2*dr-1;var Rr=[Nr,Ar].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1; -return e-t<.5?t:r},!xr||!Rr);m.preserveToString(Math.round,Mr);var _r=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Pr.imul;m.preserveToString(Math.imul,_r)}if(Math.imul.length!==2){re(Math,"imul",function imul(e,t){return se.Call(_r,Math,arguments)})}var kr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}se.IsPromise=function(e){if(!se.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!se.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(se.IsCallable(t.resolve)&&se.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&se.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=se.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(se.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(e){n=e;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=se.IsCallable(e)?e:a;var d=se.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof kr==="function"){b(S,{Promise:kr});var Fr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var Lr=!i(function(){S.Promise.reject(42).then(null,5).then(null,W)});var Dr=i(function(){S.Promise.call(3,W)});var zr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,W).then(null,W)}catch(e){return true}return t===r}(S.Promise);var qr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Wr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Wr.prototype=Promise.prototype;Wr.all=Promise.all;var Gr=a(function(){return!!Wr.all([1,2])});if(!Fr||!Lr||!Dr||zr||!qr||Gr){Promise=kr;re(S,"Promise",kr)}if(Promise.all.length!==1){var Hr=Promise.all;re(Promise,"all",function all(e){return se.Call(Hr,this,arguments)})}if(Promise.race.length!==1){var Vr=Promise.race;re(Promise,"race",function race(e){return se.Call(Vr,this,arguments)})}if(Promise.resolve.length!==1){var Br=Promise.resolve;re(Promise,"resolve",function resolve(e){return se.Call(Br,this,arguments)})}if(Promise.reject.length!==1){var Ur=Promise.reject;re(Promise,"reject",function reject(e){return se.Call(Ur,this,arguments)})}Ct(Promise,"all");Ct(Promise,"race");Ct(Promise,"resolve");Ct(Promise,"reject");Pe(Promise)}var $r=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Jr=$r(["z","a","bb"]);var Xr=$r(["z",1,"a","3",2]);if(s){var Kr=function fastkey(e,t){if(!t&&!Jr){return null}if(fe(e)){return"^"+se.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Xr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var Zr=function emptyObject(){return Object.create?Object.create(null):{}};var Yr=function addIterableToMap(e,n,o){if(r(o)||te.string(o)){l(o,function(e){if(!se.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!fe(o)){a=n.set;if(!se.IsCallable(a)){throw new TypeError("bad map")}i=se.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=se.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!se.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(e){se.IteratorClose(i,true);throw e}}}}};var Qr=function addIterableToSet(e,n,o){if(r(o)||te.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!fe(o)){a=n.add;if(!se.IsCallable(a)){throw new TypeError("bad set")}i=se.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=se.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(e){se.IteratorClose(i,true);throw e}}}}};var en={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!se.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+se.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={next:function next(){var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Xe()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Xe(n)}}this.i=void 0;return Xe()}};Ce(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Ne(this,Map,a,{_es6map:true,_head:null,_map:G?new G:null,_size:0,_storage:Zr()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){Yr(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=Kr(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}else{return}}if(this._map){t=V.call(this._map,e);if(t){return t.value}else{return}}var n=this._head;var i=n;while((i=i.next)!==n){if(se.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Kr(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return B.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(se.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=Kr(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}else if(this._map){if(B.call(this._map,e)){V.call(this._map,e).value=t}else{a=new r(e,t);U.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(se.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(se.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},delete:function(t){o(this,"delete");var r=this._head;var n=r;var i=Kr(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!B.call(this._map,t)){return false}n=V.call(this._map,t).prev;H.call(this._map,t)}while((n=n.next)!==r){if(se.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=G?new G:null;this._size=0;this._storage=Zr();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});Ce(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!se.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+se.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Ne(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Zr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){Qr(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new en.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Kr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Kr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},delete:function(e){r(this,"delete");var t;if(this._storage&&(t=Kr(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Zr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return this["[[SetData]]"].values()},entries:function entries(){r(this,"entries");u(this);return this["[[SetData]]"].entries()},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);Ce(i.prototype,i.prototype.values);return i}()};if(S.Map||S.Set){var tn=a(function(){return new Map([[1,2]]).get(1)===2});if(!tn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){Yr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(G.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var rn=new Map;var nn=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var on=rn.set(1,2)===rn;if(!nn||!on){re(Map.prototype,"set",function set(e,r){t(U,this,e===0?0:e,r);return this})}if(!nn){b(Map.prototype,{get:function get(e){return t(V,this,e===0?0:e)},has:function has(e){return t(B,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,V);m.preserveToString(Map.prototype.has,B)}var an=new Set;var un=function(e){e["delete"](0);e.add(-0);return!e.has(0)}(an);var fn=an.add(1)===an;if(!un||!fn){var sn=Set.prototype.add;Set.prototype.add=function add(e){t(sn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,sn)}if(!un){var cn=Set.prototype.has;Set.prototype.has=function has(e){return t(cn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,cn);var ln=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(ln,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],ln)}var pn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var vn=Object.setPrototypeOf&&!pn;var yn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||vn||!yn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){Yr(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=G.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var hn=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var bn=Object.setPrototypeOf&&!hn;var gn=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||bn||!gn){var dn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new dn;if(arguments.length>0){Qr(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=dn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,dn)}var mn=new S.Map;var On=!a(function(){return mn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||mn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof mn.keys().next!=="function"||On||!pn){b(S,{Map:en.Map,Set:en.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}Ce(Object.getPrototypeOf((new S.Map).keys()));Ce(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var wn=S.Set.prototype.has;re(S.Set.prototype,"has",function has(e){return t(wn,this,e)})}}b(S,en);Pe(S.Map);Pe(S.Set)}var jn=function throwUnlessTargetIsObject(e){if(!se.TypeIsObject(e)){throw new TypeError("target must be an object")}};var Sn={apply:function apply(){return se.Call(se.Call,null,arguments)},construct:function construct(e,t){if(!se.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!se.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return se.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){jn(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){jn(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(Sn,{ownKeys:function ownKeys(e){jn(e);var t=Object.getOwnPropertyNames(e);if(se.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Tn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(Sn,{isExtensible:function isExtensible(e){jn(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){jn(e);return Tn(function(){Object.preventExtensions(e)})}})}if(s){var In=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return In(o,t,r)}if("value"in n){return n.value}if(n.get){return se.Call(n.get,r)}return void 0};var En=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return En(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!se.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ie.defineProperty(o,r,{value:n})}else{return ie.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(Sn,{defineProperty:function defineProperty(e,t,r){jn(e);return Tn(function(){Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){jn(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){jn(e);var r=arguments.length>2?arguments[2]:e;return In(e,t,r)},set:function set(e,t,r){jn(e);var n=arguments.length>3?arguments[3]:e;return En(e,t,r,n)}})}if(Object.getPrototypeOf){var Pn=Object.getPrototypeOf;Sn.getPrototypeOf=function getPrototypeOf(e){jn(e);return Pn(e)}}if(Object.setPrototypeOf&&Sn.getPrototypeOf){var Cn=function(e,t){var r=t;while(r){if(e===r){return true}r=Sn.getPrototypeOf(r)}return false};Object.assign(Sn,{setPrototypeOf:function setPrototypeOf(e,t){jn(e);if(t!==null&&!se.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ie.getPrototypeOf(e)){return true}if(ie.isExtensible&&!ie.isExtensible(e)){return false}if(Cn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var Mn=function(e,t){if(!se.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){re(S.Reflect,e,t)}}};Object.keys(Sn).forEach(function(e){Mn(e,Sn[e])});var xn=S.Reflect.getPrototypeOf;if(c&&xn&&xn.name!=="getPrototypeOf"){re(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(xn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){re(S.Reflect,"setPrototypeOf",Sn.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){re(S.Reflect,"defineProperty",Sn.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){re(S.Reflect,"construct",Sn.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var Nn=Date.prototype.toString;var An=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return se.Call(Nn,this)};re(Date.prototype,"toString",An)}var Rn={anchor:function anchor(e){return se.CreateHTML(this,"a","name",e)},big:function big(){return se.CreateHTML(this,"big","","")},blink:function blink(){return se.CreateHTML(this,"blink","","")},bold:function bold(){return se.CreateHTML(this,"b","","")},fixed:function fixed(){return se.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return se.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return se.CreateHTML(this,"font","size",e)},italics:function italics(){return se.CreateHTML(this,"i","","")},link:function link(e){return se.CreateHTML(this,"a","href",e)},small:function small(){return se.CreateHTML(this,"small","","")},strike:function strike(){return se.CreateHTML(this,"strike","","")},sub:function sub(){return se.CreateHTML(this,"sub","","")},sup:function sub(){return se.CreateHTML(this,"sup","","")}};l(Object.keys(Rn),function(e){var r=String.prototype[e];var n=false;if(se.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){re(String.prototype,e,Rn[e])}});var _n=function(){if(!ne){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e($())!=="undefined"){return true}if(e([$()])!=="[null]"){return true}var t={a:$()};t[$()]=true;if(e(t)!=="{}"){return true}return false}();var kn=a(function(){if(!ne){return true}return JSON.stringify(Object($()))==="{}"&&JSON.stringify([Object($())])==="[{}]"});if(_n||!kn){var Fn=JSON.stringify;re(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=se.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(te.symbol(n)){return xt({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return Fn.apply(this,o)})}return S}); + * https://github.com/paulmillr/es6-shim + * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) + * and contributors, MIT License + * es6-shim: v0.35.4 + * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE + * Details and documentation: + * https://github.com/paulmillr/es6-shim/ + */ +(function(e,t){if(typeof define==="function"&&define.amd){define(t)}else if(typeof exports==="object"){module.exports=t()}else{e.returnExports=t()}})(this,function(){"use strict";var e=Function.call.bind(Function.apply);var t=Function.call.bind(Function.call);var r=Array.isArray;var n=Object.keys;var o=function notThunker(t){return function notThunk(){return!e(t,this,arguments)}};var i=function(e){try{e();return false}catch(t){return true}};var a=function valueOrFalseIfThrows(e){try{return e()}catch(t){return false}};var u=o(i);var f=function(){return!i(function(){return Object.defineProperty({},"x",{get:function(){}})})};var s=!!Object.defineProperty&&f();var c=function foo(){}.name==="foo";var l=Function.call.bind(Array.prototype.forEach);var p=Function.call.bind(Array.prototype.reduce);var v=Function.call.bind(Array.prototype.filter);var y=Function.call.bind(Array.prototype.some);var h=function(e,t,r,n){if(!n&&t in e){return}if(s){Object.defineProperty(e,t,{configurable:true,enumerable:false,writable:true,value:r})}else{e[t]=r}};var b=function(e,t,r){l(n(t),function(n){var o=t[n];h(e,n,o,!!r)})};var g=Function.call.bind(Object.prototype.toString);var d=typeof/abc/==="function"?function IsCallableSlow(e){return typeof e==="function"&&g(e)==="[object Function]"}:function IsCallableFast(e){return typeof e==="function"};var m={getter:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}Object.defineProperty(e,t,{configurable:true,enumerable:false,get:r})},proxy:function(e,t,r){if(!s){throw new TypeError("getters require true ES5 support")}var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,{configurable:n.configurable,enumerable:n.enumerable,get:function getKey(){return e[t]},set:function setKey(r){e[t]=r}})},redefine:function(e,t,r){if(s){var n=Object.getOwnPropertyDescriptor(e,t);n.value=r;Object.defineProperty(e,t,n)}else{e[t]=r}},defineByDescriptor:function(e,t,r){if(s){Object.defineProperty(e,t,r)}else if("value"in r){e[t]=r.value}},preserveToString:function(e,t){if(t&&d(t.toString)){h(e,"toString",t.toString.bind(t),true)}}};var O=Object.create||function(e,t){var r=function Prototype(){};r.prototype=e;var o=new r;if(typeof t!=="undefined"){n(t).forEach(function(e){m.defineByDescriptor(o,e,t[e])})}return o};var w=function(e,t){if(!Object.setPrototypeOf){return false}return a(function(){var r=function Subclass(t){var r=new e(t);Object.setPrototypeOf(r,Subclass.prototype);return r};Object.setPrototypeOf(r,e);r.prototype=O(e.prototype,{constructor:{value:r}});return t(r)})};var j=function(){if(typeof self!=="undefined"){return self}if(typeof window!=="undefined"){return window}if(typeof global!=="undefined"){return global}throw new Error("unable to locate global object")};var S=j();var T=S.isFinite;var I=Function.call.bind(String.prototype.indexOf);var E=Function.apply.bind(Array.prototype.indexOf);var P=Function.call.bind(Array.prototype.concat);var C=Function.call.bind(String.prototype.slice);var M=Function.call.bind(Array.prototype.push);var x=Function.apply.bind(Array.prototype.push);var N=Function.call.bind(Array.prototype.shift);var A=Math.max;var R=Math.min;var _=Math.floor;var k=Math.abs;var L=Math.exp;var F=Math.log;var D=Math.sqrt;var z=Function.call.bind(Object.prototype.hasOwnProperty);var q;var W=function(){};var G=S.Map;var H=G&&G.prototype["delete"];var V=G&&G.prototype.get;var B=G&&G.prototype.has;var U=G&&G.prototype.set;var $=S.Symbol||{};var J=$.species||"@@species";var X=Number.isNaN||function isNaN(e){return e!==e};var K=Number.isFinite||function isFinite(e){return typeof e==="number"&&T(e)};var Z=d(Math.sign)?Math.sign:function sign(e){var t=Number(e);if(t===0){return t}if(X(t)){return t}return t<0?-1:1};var Y=function log1p(e){var t=Number(e);if(t<-1||X(t)){return NaN}if(t===0||t===Infinity){return t}if(t===-1){return-Infinity}return 1+t-1===0?t:t*(F(1+t)/(1+t-1))};var Q=function isArguments(e){return g(e)==="[object Arguments]"};var ee=function isArguments(e){return e!==null&&typeof e==="object"&&typeof e.length==="number"&&e.length>=0&&g(e)!=="[object Array]"&&g(e.callee)==="[object Function]"};var te=Q(arguments)?Q:ee;var re={primitive:function(e){return e===null||typeof e!=="function"&&typeof e!=="object"},string:function(e){return g(e)==="[object String]"},regex:function(e){return g(e)==="[object RegExp]"},symbol:function(e){return typeof S.Symbol==="function"&&typeof e==="symbol"}};var ne=function overrideNative(e,t,r){var n=e[t];h(e,t,r,true);m.preserveToString(e[t],n)};var oe=typeof $==="function"&&typeof $["for"]==="function"&&re.symbol($());var ie=re.symbol($.iterator)?$.iterator:"_es6-shim iterator_";if(S.Set&&typeof(new S.Set)["@@iterator"]==="function"){ie="@@iterator"}if(!S.Reflect){h(S,"Reflect",{},true)}var ae=S.Reflect;var ue=String;var fe=typeof document==="undefined"||!document?null:document.all;var se=fe==null?function isNullOrUndefined(e){return e==null}:function isNullOrUndefinedAndNotDocumentAll(e){return e==null&&e!==fe};var ce={Call:function Call(t,r){var n=arguments.length>2?arguments[2]:[];if(!ce.IsCallable(t)){throw new TypeError(t+" is not a function")}return e(t,r,n)},RequireObjectCoercible:function(e,t){if(se(e)){throw new TypeError(t||"Cannot call method on "+e)}return e},TypeIsObject:function(e){if(e===void 0||e===null||e===true||e===false){return false}return typeof e==="function"||typeof e==="object"||e===fe},ToObject:function(e,t){return Object(ce.RequireObjectCoercible(e,t))},IsCallable:d,IsConstructor:function(e){return ce.IsCallable(e)},ToInt32:function(e){return ce.ToNumber(e)>>0},ToUint32:function(e){return ce.ToNumber(e)>>>0},ToNumber:function(e){if(g(e)==="[object Symbol]"){throw new TypeError("Cannot convert a Symbol value to a number")}return+e},ToInteger:function(e){var t=ce.ToNumber(e);if(X(t)){return 0}if(t===0||!K(t)){return t}return(t>0?1:-1)*_(k(t))},ToLength:function(e){var t=ce.ToInteger(e);if(t<=0){return 0}if(t>Number.MAX_SAFE_INTEGER){return Number.MAX_SAFE_INTEGER}return t},SameValue:function(e,t){if(e===t){if(e===0){return 1/e===1/t}return true}return X(e)&&X(t)},SameValueZero:function(e,t){return e===t||X(e)&&X(t)},IsIterable:function(e){return ce.TypeIsObject(e)&&(typeof e[ie]!=="undefined"||te(e))},GetIterator:function(e){if(te(e)){return new q(e,"value")}var t=ce.GetMethod(e,ie);if(!ce.IsCallable(t)){throw new TypeError("value is not an iterable")}var r=ce.Call(t,e);if(!ce.TypeIsObject(r)){throw new TypeError("bad iterator")}return r},GetMethod:function(e,t){var r=ce.ToObject(e)[t];if(se(r)){return void 0}if(!ce.IsCallable(r)){throw new TypeError("Method not callable: "+t)}return r},IteratorComplete:function(e){return!!e.done},IteratorClose:function(e,t){var r=ce.GetMethod(e,"return");if(r===void 0){return}var n,o;try{n=ce.Call(r,e)}catch(i){o=i}if(t){return}if(o){throw o}if(!ce.TypeIsObject(n)){throw new TypeError("Iterator's return method returned a non-object.")}},IteratorNext:function(e){var t=arguments.length>1?e.next(arguments[1]):e.next();if(!ce.TypeIsObject(t)){throw new TypeError("bad iterator")}return t},IteratorStep:function(e){var t=ce.IteratorNext(e);var r=ce.IteratorComplete(t);return r?false:t},Construct:function(e,t,r,n){var o=typeof r==="undefined"?e:r;if(!n&&ae.construct){return ae.construct(e,t,o)}var i=o.prototype;if(!ce.TypeIsObject(i)){i=Object.prototype}var a=O(i);var u=ce.Call(e,a,t);return ce.TypeIsObject(u)?u:a},SpeciesConstructor:function(e,t){var r=e.constructor;if(r===void 0){return t}if(!ce.TypeIsObject(r)){throw new TypeError("Bad constructor")}var n=r[J];if(se(n)){return t}if(!ce.IsConstructor(n)){throw new TypeError("Bad @@species")}return n},CreateHTML:function(e,t,r,n){var o=ce.ToString(e);var i="<"+t;if(r!==""){var a=ce.ToString(n);var u=a.replace(/"/g,""");i+=" "+r+'="'+u+'"'}var f=i+">";var s=f+o;return s+""},IsRegExp:function IsRegExp(e){if(!ce.TypeIsObject(e)){return false}var t=e[$.match];if(typeof t!=="undefined"){return!!t}return re.regex(e)},ToString:function ToString(e){return ue(e)}};if(s&&oe){var le=function defineWellKnownSymbol(e){if(re.symbol($[e])){return $[e]}var t=$["for"]("Symbol."+e);Object.defineProperty($,e,{configurable:false,enumerable:false,writable:false,value:t});return t};if(!re.symbol($.search)){var pe=le("search");var ve=String.prototype.search;h(RegExp.prototype,pe,function search(e){return ce.Call(ve,e,[this])});var ye=function search(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,pe);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(ve,t,[ce.ToString(e)])};ne(String.prototype,"search",ye)}if(!re.symbol($.replace)){var he=le("replace");var be=String.prototype.replace;h(RegExp.prototype,he,function replace(e,t){return ce.Call(be,e,[this,t])});var ge=function replace(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,he);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(be,r,[ce.ToString(e),t])};ne(String.prototype,"replace",ge)}if(!re.symbol($.split)){var de=le("split");var me=String.prototype.split;h(RegExp.prototype,de,function split(e,t){return ce.Call(me,e,[this,t])});var Oe=function split(e,t){var r=ce.RequireObjectCoercible(this);if(!se(e)){var n=ce.GetMethod(e,de);if(typeof n!=="undefined"){return ce.Call(n,e,[r,t])}}return ce.Call(me,r,[ce.ToString(e),t])};ne(String.prototype,"split",Oe)}var we=re.symbol($.match);var je=we&&function(){var e={};e[$.match]=function(){return 42};return"a".match(e)!==42}();if(!we||je){var Se=le("match");var Te=String.prototype.match;h(RegExp.prototype,Se,function match(e){return ce.Call(Te,e,[this])});var Ie=function match(e){var t=ce.RequireObjectCoercible(this);if(!se(e)){var r=ce.GetMethod(e,Se);if(typeof r!=="undefined"){return ce.Call(r,e,[t])}}return ce.Call(Te,t,[ce.ToString(e)])};ne(String.prototype,"match",Ie)}}var Ee=function wrapConstructor(e,t,r){m.preserveToString(t,e);if(Object.setPrototypeOf){Object.setPrototypeOf(e,t)}if(s){l(Object.getOwnPropertyNames(e),function(n){if(n in W||r[n]){return}m.proxy(e,n,t)})}else{l(Object.keys(e),function(n){if(n in W||r[n]){return}t[n]=e[n]})}t.prototype=e.prototype;m.redefine(e.prototype,"constructor",t)};var Pe=function(){return this};var Ce=function(e){if(s&&!z(e,J)){m.getter(e,J,Pe)}};var Me=function(e,t){var r=t||function iterator(){return this};h(e,ie,r);if(!e[ie]&&re.symbol(ie)){e[ie]=r}};var xe=function createDataProperty(e,t,r){if(s){Object.defineProperty(e,t,{configurable:true,enumerable:true,writable:true,value:r})}else{e[t]=r}};var Ne=function createDataPropertyOrThrow(e,t,r){xe(e,t,r);if(!ce.SameValue(e[t],r)){throw new TypeError("property is nonconfigurable")}};var Ae=function(e,t,r,n){if(!ce.TypeIsObject(e)){throw new TypeError("Constructor requires `new`: "+t.name)}var o=t.prototype;if(!ce.TypeIsObject(o)){o=r}var i=O(o);for(var a in n){if(z(n,a)){var u=n[a];h(i,a,u,true)}}return i};if(String.fromCodePoint&&String.fromCodePoint.length!==1){var Re=String.fromCodePoint;ne(String,"fromCodePoint",function fromCodePoint(e){return ce.Call(Re,this,arguments)})}var _e={fromCodePoint:function fromCodePoint(e){var t=[];var r;for(var n=0,o=arguments.length;n1114111){throw new RangeError("Invalid code point "+r)}if(r<65536){M(t,String.fromCharCode(r))}else{r-=65536;M(t,String.fromCharCode((r>>10)+55296));M(t,String.fromCharCode(r%1024+56320))}}return t.join("")},raw:function raw(e){var t=ce.ToObject(e,"bad callSite");var r=ce.ToObject(t.raw,"bad raw value");var n=r.length;var o=ce.ToLength(n);if(o<=0){return""}var i=[];var a=0;var u,f,s,c;while(a=o){break}f=a+1=Le){throw new RangeError("repeat count must be less than infinity and not overflow maximum string size")}return ke(t,r)},startsWith:function startsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "startsWith" with a regex')}var r=ce.ToString(e);var n;if(arguments.length>1){n=arguments[1]}var o=A(ce.ToInteger(n),0);return C(t,o,o+r.length)===r},endsWith:function endsWith(e){var t=ce.ToString(ce.RequireObjectCoercible(this));if(ce.IsRegExp(e)){throw new TypeError('Cannot call method "endsWith" with a regex')}var r=ce.ToString(e);var n=t.length;var o;if(arguments.length>1){o=arguments[1]}var i=typeof o==="undefined"?n:ce.ToInteger(o);var a=R(A(i,0),n);return C(t,a-r.length,a)===r},includes:function includes(e){if(ce.IsRegExp(e)){throw new TypeError('"includes" does not accept a RegExp')}var t=ce.ToString(e);var r;if(arguments.length>1){r=arguments[1]}return I(this,t,r)!==-1},codePointAt:function codePointAt(e){var t=ce.ToString(ce.RequireObjectCoercible(this));var r=ce.ToInteger(e);var n=t.length;if(r>=0&&r56319||i){return o}var a=t.charCodeAt(r+1);if(a<56320||a>57343){return o}return(o-55296)*1024+(a-56320)+65536}}};if(String.prototype.includes&&"a".includes("a",Infinity)!==false){ne(String.prototype,"includes",Fe.includes)}if(String.prototype.startsWith&&String.prototype.endsWith){var De=i(function(){return"/a/".startsWith(/a/)});var ze=a(function(){return"abc".startsWith("a",Infinity)===false});if(!De||!ze){ne(String.prototype,"startsWith",Fe.startsWith);ne(String.prototype,"endsWith",Fe.endsWith)}}if(oe){var qe=a(function(){var e=/a/;e[$.match]=false;return"/a/".startsWith(e)});if(!qe){ne(String.prototype,"startsWith",Fe.startsWith)}var We=a(function(){var e=/a/;e[$.match]=false;return"/a/".endsWith(e)});if(!We){ne(String.prototype,"endsWith",Fe.endsWith)}var Ge=a(function(){var e=/a/;e[$.match]=false;return"/a/".includes(e)});if(!Ge){ne(String.prototype,"includes",Fe.includes)}}b(String.prototype,Fe);var He=["\t\n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003","\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028","\u2029\ufeff"].join("");var Ve=new RegExp("(^["+He+"]+)|(["+He+"]+$)","g");var Be=function trim(){return ce.ToString(ce.RequireObjectCoercible(this)).replace(Ve,"")};var Ue=["\x85","\u200b","\ufffe"].join("");var $e=new RegExp("["+Ue+"]","g");var Je=/^[-+]0x[0-9a-f]+$/i;var Xe=Ue.trim().length!==Ue.length;h(String.prototype,"trim",Be,Xe);var Ke=function(e){return{value:e,done:arguments.length===0}};var Ze=function(e){ce.RequireObjectCoercible(e);this._s=ce.ToString(e);this._i=0};Ze.prototype.next=function(){var e=this._s;var t=this._i;if(typeof e==="undefined"||t>=e.length){this._s=void 0;return Ke()}var r=e.charCodeAt(t);var n,o;if(r<55296||r>56319||t+1===e.length){o=1}else{n=e.charCodeAt(t+1);o=n<56320||n>57343?1:2}this._i=t+o;return Ke(e.substr(t,o))};Me(Ze.prototype);Me(String.prototype,function(){return new Ze(this)});var Ye={from:function from(e){var r=this;var n;if(arguments.length>1){n=arguments[1]}var o,i;if(typeof n==="undefined"){o=false}else{if(!ce.IsCallable(n)){throw new TypeError("Array.from: when provided, the second argument must be a function")}if(arguments.length>2){i=arguments[2]}o=true}var a=typeof(te(e)||ce.GetMethod(e,ie))!=="undefined";var u,f,s;if(a){f=ce.IsConstructor(r)?Object(new r):[];var c=ce.GetIterator(e);var l,p;s=0;while(true){l=ce.IteratorStep(c);if(l===false){break}p=l.value;try{if(o){p=typeof i==="undefined"?n(p,s):t(n,i,p,s)}f[s]=p}catch(v){ce.IteratorClose(c,true);throw v}s+=1}u=s}else{var y=ce.ToObject(e);u=ce.ToLength(y.length);f=ce.IsConstructor(r)?Object(new r(u)):new Array(u);var h;for(s=0;s2){f=arguments[2]}var s=typeof f==="undefined"?n:ce.ToInteger(f);var c=s<0?A(n+s,0):R(s,n);var l=R(c-u,n-a);var p=1;if(u0){if(u in r){r[a]=r[u]}else{delete r[a]}u+=p;a+=p;l-=1}return r},fill:function fill(e){var t;if(arguments.length>1){t=arguments[1]}var r;if(arguments.length>2){r=arguments[2]}var n=ce.ToObject(this);var o=ce.ToLength(n.length);t=ce.ToInteger(typeof t==="undefined"?0:t);r=ce.ToInteger(typeof r==="undefined"?o:r);var i=t<0?A(o+t,0):R(t,o);var a=r<0?o+r:r;for(var u=i;u1?arguments[1]:null;for(var i=0,a;i1?arguments[1]:null;for(var i=0;i1&&typeof arguments[1]!=="undefined"){return ce.Call(it,this,arguments)}else{return t(it,this,e)}})}var at=-(Math.pow(2,32)-1);var ut=function(e,r){var n={length:at};n[r?(n.length>>>0)-1:0]=true;return a(function(){t(e,n,function(){throw new RangeError("should not reach here")},[]);return true})};if(!ut(Array.prototype.forEach)){var ft=Array.prototype.forEach;ne(Array.prototype,"forEach",function forEach(e){return ce.Call(ft,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.map)){var st=Array.prototype.map;ne(Array.prototype,"map",function map(e){return ce.Call(st,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.filter)){var ct=Array.prototype.filter;ne(Array.prototype,"filter",function filter(e){return ce.Call(ct,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.some)){var lt=Array.prototype.some;ne(Array.prototype,"some",function some(e){return ce.Call(lt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.every)){var pt=Array.prototype.every;ne(Array.prototype,"every",function every(e){return ce.Call(pt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduce)){var vt=Array.prototype.reduce;ne(Array.prototype,"reduce",function reduce(e){return ce.Call(vt,this.length>=0?this:[],arguments)},true)}if(!ut(Array.prototype.reduceRight,true)){var yt=Array.prototype.reduceRight;ne(Array.prototype,"reduceRight",function reduceRight(e){return ce.Call(yt,this.length>=0?this:[],arguments)},true)}var ht=Number("0o10")!==8;var bt=Number("0b10")!==2;var gt=y(Ue,function(e){return Number(e+0+e)===0});if(ht||bt||gt){var dt=Number;var mt=/^0b[01]+$/i;var Ot=/^0o[0-7]+$/i;var wt=mt.test.bind(mt);var jt=Ot.test.bind(Ot);var St=function(e){var t;if(typeof e.valueOf==="function"){t=e.valueOf();if(re.primitive(t)){return t}}if(typeof e.toString==="function"){t=e.toString();if(re.primitive(t)){return t}}throw new TypeError("No default value")};var Tt=$e.test.bind($e);var It=Je.test.bind(Je);var Et=function(){var e=function Number(t){var r;if(arguments.length>0){r=re.primitive(t)?t:St(t,"number")}else{r=0}if(typeof r==="string"){r=ce.Call(Be,r);if(wt(r)){r=parseInt(C(r,2),2)}else if(jt(r)){r=parseInt(C(r,2),8)}else if(Tt(r)||It(r)){r=NaN}}var n=this;var o=a(function(){dt.prototype.valueOf.call(n);return true});if(n instanceof e&&!o){return new dt(r)}return dt(r)};return e}();Ee(dt,Et,{});b(Et,{NaN:dt.NaN,MAX_VALUE:dt.MAX_VALUE,MIN_VALUE:dt.MIN_VALUE,NEGATIVE_INFINITY:dt.NEGATIVE_INFINITY,POSITIVE_INFINITY:dt.POSITIVE_INFINITY});Number=Et;m.redefine(S,"Number",Et)}var Pt=Math.pow(2,53)-1;b(Number,{MAX_SAFE_INTEGER:Pt,MIN_SAFE_INTEGER:-Pt,EPSILON:2.220446049250313e-16,parseInt:S.parseInt,parseFloat:S.parseFloat,isFinite:K,isInteger:function isInteger(e){return K(e)&&ce.ToInteger(e)===e},isSafeInteger:function isSafeInteger(e){return Number.isInteger(e)&&k(e)<=Number.MAX_SAFE_INTEGER},isNaN:X});h(Number,"parseInt",S.parseInt,Number.parseInt!==S.parseInt);if([,1].find(function(){return true})===1){ne(Array.prototype,"find",et.find)}if([,1].findIndex(function(){return true})!==0){ne(Array.prototype,"findIndex",et.findIndex)}var Ct=Function.bind.call(Function.bind,Object.prototype.propertyIsEnumerable);var Mt=function ensureEnumerable(e,t){if(s&&Ct(e,t)){Object.defineProperty(e,t,{enumerable:false})}};var xt=function sliceArgs(){var e=Number(this);var t=arguments.length;var r=t-e;var n=new Array(r<0?0:r);for(var o=e;o1){return NaN}var r=k(t);return Z(t)*Y(2*r/(1-r))/2},cbrt:function cbrt(e){var t=Number(e);if(t===0){return t}var r=t<0;var n;if(r){t=-t}if(t===Infinity){n=Infinity}else{n=L(F(t)/3);n=(t/(n*n)+2*n)/3}return r?-n:n},clz32:function clz32(e){var t=Number(e);var r=ce.ToUint32(t);if(r===0){return 32}return Pr?ce.Call(Pr,r):31-_(F(r+.5)*Ir)},cosh:function cosh(e){var t=Number(e);if(t===0){return 1}if(X(t)){return NaN}if(!T(t)){return Infinity}var r=L(k(t)-1);return(r+1/(r*Tr*Tr))*(Tr/2)},expm1:function expm1(e){var t=Number(e);if(t===-Infinity){return-1}if(!T(t)||t===0){return t}if(k(t)>.5){return L(t)-1}var r=t;var n=0;var o=1;while(n+r!==n){n+=r;o+=1;r*=t/o}return n},hypot:function hypot(e,t){var r=0;var n=0;for(var o=0;o0?i/n*(i/n):i}}return n===Infinity?Infinity:n*D(r)},log2:function log2(e){return F(e)*Ir},log10:function log10(e){return F(e)*Er},log1p:Y,sign:Z,sinh:function sinh(e){var t=Number(e);if(!T(t)||t===0){return t}var r=k(t);if(r<1){var n=Math.expm1(r);return Z(t)*n*(1+1/(n+1))/2}var o=L(r-1);return Z(t)*(o-1/(o*Tr*Tr))*(Tr/2)},tanh:function tanh(e){var t=Number(e);if(X(t)||t===0){return t}if(t>=20){return 1}if(t<=-20){return-1}return(Math.expm1(t)-Math.expm1(-t))/(L(t)+L(-t))},trunc:function trunc(e){var t=Number(e);return t<0?-_(-t):_(t)},imul:function imul(e,t){var r=ce.ToUint32(e);var n=ce.ToUint32(t);var o=r>>>16&65535;var i=r&65535;var a=n>>>16&65535;var u=n&65535;return i*u+(o*u+i*a<<16>>>0)|0},fround:function fround(e){var t=Number(e);if(t===0||t===Infinity||t===-Infinity||X(t)){return t}var r=Z(t);var n=k(t);if(njr||X(i)){return r*Infinity}return r*i}};var Mr=function withinULPDistance(e,t,r){return k(1-e/t)/Number.EPSILON<(r||8)};b(Math,Cr);h(Math,"sinh",Cr.sinh,Math.sinh(710)===Infinity);h(Math,"cosh",Cr.cosh,Math.cosh(710)===Infinity);h(Math,"log1p",Cr.log1p,Math.log1p(-1e-17)!==-1e-17);h(Math,"asinh",Cr.asinh,Math.asinh(-1e7)!==-Math.asinh(1e7));h(Math,"asinh",Cr.asinh,Math.asinh(1e300)===Infinity);h(Math,"atanh",Cr.atanh,Math.atanh(1e-300)===0);h(Math,"tanh",Cr.tanh,Math.tanh(-2e-17)!==-2e-17); +h(Math,"acosh",Cr.acosh,Math.acosh(Number.MAX_VALUE)===Infinity);h(Math,"acosh",Cr.acosh,!Mr(Math.acosh(1+Number.EPSILON),Math.sqrt(2*Number.EPSILON)));h(Math,"cbrt",Cr.cbrt,!Mr(Math.cbrt(1e-300),1e-100));h(Math,"sinh",Cr.sinh,Math.sinh(-2e-17)!==-2e-17);var xr=Math.expm1(10);h(Math,"expm1",Cr.expm1,xr>22025.465794806718||xr<22025.465794806718);var Nr=Math.round;var Ar=Math.round(.5-Number.EPSILON/4)===0&&Math.round(-.5+Number.EPSILON/3.99)===1;var Rr=mr+1;var _r=2*mr-1;var kr=[Rr,_r].every(function(e){return Math.round(e)===e});h(Math,"round",function round(e){var t=_(e);var r=t===-1?-0:t+1;return e-t<.5?t:r},!Ar||!kr);m.preserveToString(Math.round,Nr);var Lr=Math.imul;if(Math.imul(4294967295,5)!==-5){Math.imul=Cr.imul;m.preserveToString(Math.imul,Lr)}if(Math.imul.length!==2){ne(Math,"imul",function imul(e,t){return ce.Call(Lr,Math,arguments)})}var Fr=function(){var e=S.setTimeout;if(typeof e!=="function"&&typeof e!=="object"){return}ce.IsPromise=function(e){if(!ce.TypeIsObject(e)){return false}if(typeof e._promise==="undefined"){return false}return true};var r=function(e){if(!ce.IsConstructor(e)){throw new TypeError("Bad promise constructor")}var t=this;var r=function(e,r){if(t.resolve!==void 0||t.reject!==void 0){throw new TypeError("Bad Promise implementation!")}t.resolve=e;t.reject=r};t.resolve=void 0;t.reject=void 0;t.promise=new e(r);if(!(ce.IsCallable(t.resolve)&&ce.IsCallable(t.reject))){throw new TypeError("Bad promise constructor")}};var n;if(typeof window!=="undefined"&&ce.IsCallable(window.postMessage)){n=function(){var e=[];var t="zero-timeout-message";var r=function(r){M(e,r);window.postMessage(t,"*")};var n=function(r){if(r.source===window&&r.data===t){r.stopPropagation();if(e.length===0){return}var n=N(e);n()}};window.addEventListener("message",n,true);return r}}var o=function(){var e=S.Promise;var t=e&&e.resolve&&e.resolve();return t&&function(e){return t.then(e)}};var i=ce.IsCallable(S.setImmediate)?S.setImmediate:typeof process==="object"&&process.nextTick?process.nextTick:o()||(ce.IsCallable(n)?n():function(t){e(t,0)});var a=function(e){return e};var u=function(e){throw e};var f=0;var s=1;var c=2;var l=0;var p=1;var v=2;var y={};var h=function(e,t,r){i(function(){g(e,t,r)})};var g=function(e,t,r){var n,o;if(t===y){return e(r)}try{n=e(r);o=t.resolve}catch(i){n=i;o=t.reject}o(n)};var d=function(e,t){var r=e._promise;var n=r.reactionLength;if(n>0){h(r.fulfillReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o0){h(r.rejectReactionHandler0,r.reactionCapability0,t);r.fulfillReactionHandler0=void 0;r.rejectReactions0=void 0;r.reactionCapability0=void 0;if(n>1){for(var o=1,i=0;o2&&arguments[2]===y;if(b&&o===E){i=y}else{i=new r(o)}var g=ce.IsCallable(e)?e:a;var d=ce.IsCallable(t)?t:u;var m=n._promise;var O;if(m.state===f){if(m.reactionLength===0){m.fulfillReactionHandler0=g;m.rejectReactionHandler0=d;m.reactionCapability0=i}else{var w=3*(m.reactionLength-1);m[w+l]=g;m[w+p]=d;m[w+v]=i}m.reactionLength+=1}else if(m.state===s){O=m.result;h(g,i,O)}else if(m.state===c){O=m.result;h(d,i,O)}else{throw new TypeError("unexpected Promise state")}return i.promise}});y=new r(E);I=T.then;return E}();if(S.Promise){delete S.Promise.accept;delete S.Promise.defer;delete S.Promise.prototype.chain}if(typeof Fr==="function"){b(S,{Promise:Fr});var Dr=w(S.Promise,function(e){return e.resolve(42).then(function(){})instanceof e});var zr=!i(function(){return S.Promise.reject(42).then(null,5).then(null,W)});var qr=i(function(){return S.Promise.call(3,W)});var Wr=function(e){var t=e.resolve(5);t.constructor={};var r=e.resolve(t);try{r.then(null,W).then(null,W)}catch(n){return true}return t===r}(S.Promise);var Gr=s&&function(){var e=0;var t=Object.defineProperty({},"then",{get:function(){e+=1}});Promise.resolve(t);return e===1}();var Hr=function BadResolverPromise(e){var t=new Promise(e);e(3,function(){});this.then=t.then;this.constructor=BadResolverPromise};Hr.prototype=Promise.prototype;Hr.all=Promise.all;var Vr=a(function(){return!!Hr.all([1,2])});if(!Dr||!zr||!qr||Wr||!Gr||Vr){Promise=Fr;ne(S,"Promise",Fr)}if(Promise.all.length!==1){var Br=Promise.all;ne(Promise,"all",function all(e){return ce.Call(Br,this,arguments)})}if(Promise.race.length!==1){var Ur=Promise.race;ne(Promise,"race",function race(e){return ce.Call(Ur,this,arguments)})}if(Promise.resolve.length!==1){var $r=Promise.resolve;ne(Promise,"resolve",function resolve(e){return ce.Call($r,this,arguments)})}if(Promise.reject.length!==1){var Jr=Promise.reject;ne(Promise,"reject",function reject(e){return ce.Call(Jr,this,arguments)})}Mt(Promise,"all");Mt(Promise,"race");Mt(Promise,"resolve");Mt(Promise,"reject");Ce(Promise)}var Xr=function(e){var t=n(p(e,function(e,t){e[t]=true;return e},{}));return e.join(":")===t.join(":")};var Kr=Xr(["z","a","bb"]);var Zr=Xr(["z",1,"a","3",2]);if(s){var Yr=function fastkey(e,t){if(!t&&!Kr){return null}if(se(e)){return"^"+ce.ToString(e)}else if(typeof e==="string"){return"$"+e}else if(typeof e==="number"){if(!Zr){return"n"+e}return e}else if(typeof e==="boolean"){return"b"+e}return null};var Qr=function emptyObject(){return Object.create?Object.create(null):{}};var en=function addIterableToMap(e,n,o){if(r(o)||re.string(o)){l(o,function(e){if(!ce.TypeIsObject(e)){throw new TypeError("Iterator value "+e+" is not an entry object")}n.set(e[0],e[1])})}else if(o instanceof e){t(e.prototype.forEach,o,function(e,t){n.set(t,e)})}else{var i,a;if(!se(o)){a=n.set;if(!ce.IsCallable(a)){throw new TypeError("bad map")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{if(!ce.TypeIsObject(f)){throw new TypeError("Iterator value "+f+" is not an entry object")}t(a,n,f[0],f[1])}catch(s){ce.IteratorClose(i,true);throw s}}}}};var tn=function addIterableToSet(e,n,o){if(r(o)||re.string(o)){l(o,function(e){n.add(e)})}else if(o instanceof e){t(e.prototype.forEach,o,function(e){n.add(e)})}else{var i,a;if(!se(o)){a=n.add;if(!ce.IsCallable(a)){throw new TypeError("bad set")}i=ce.GetIterator(o)}if(typeof i!=="undefined"){while(true){var u=ce.IteratorStep(i);if(u===false){break}var f=u.value;try{t(a,n,f)}catch(s){ce.IteratorClose(i,true);throw s}}}}};var rn={Map:function(){var e={};var r=function MapEntry(e,t){this.key=e;this.value=t;this.next=null;this.prev=null};r.prototype.isRemoved=function isRemoved(){return this.key===e};var n=function isMap(e){return!!e._es6map};var o=function requireMapSlot(e,t){if(!ce.TypeIsObject(e)||!n(e)){throw new TypeError("Method Map.prototype."+t+" called on incompatible receiver "+ce.ToString(e))}};var i=function MapIterator(e,t){o(e,"[[MapIterator]]");this.head=e._head;this.i=this.head;this.kind=t};i.prototype={isMapIterator:true,next:function next(){if(!this.isMapIterator){throw new TypeError("Not a MapIterator")}var e=this.i;var t=this.kind;var r=this.head;if(typeof this.i==="undefined"){return Ke()}while(e.isRemoved()&&e!==r){e=e.prev}var n;while(e.next!==r){e=e.next;if(!e.isRemoved()){if(t==="key"){n=e.key}else if(t==="value"){n=e.value}else{n=[e.key,e.value]}this.i=e;return Ke(n)}}this.i=void 0;return Ke()}};Me(i.prototype);var a;var u=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}if(this&&this._es6map){throw new TypeError("Bad construction")}var e=Ae(this,Map,a,{_es6map:true,_head:null,_map:G?new G:null,_size:0,_storage:Qr()});var t=new r(null,null);t.next=t.prev=t;e._head=t;if(arguments.length>0){en(Map,e,arguments[0])}return e};a=u.prototype;m.getter(a,"size",function(){if(typeof this._size==="undefined"){throw new TypeError("size method called on incompatible Map")}return this._size});b(a,{get:function get(e){o(this,"get");var t;var r=Yr(e,true);if(r!==null){t=this._storage[r];if(t){return t.value}else{return}}if(this._map){t=V.call(this._map,e);if(t){return t.value}else{return}}var n=this._head;var i=n;while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){return i.value}}},has:function has(e){o(this,"has");var t=Yr(e,true);if(t!==null){return typeof this._storage[t]!=="undefined"}if(this._map){return B.call(this._map,e)}var r=this._head;var n=r;while((n=n.next)!==r){if(ce.SameValueZero(n.key,e)){return true}}return false},set:function set(e,t){o(this,"set");var n=this._head;var i=n;var a;var u=Yr(e,true);if(u!==null){if(typeof this._storage[u]!=="undefined"){this._storage[u].value=t;return this}else{a=this._storage[u]=new r(e,t);i=n.prev}}else if(this._map){if(B.call(this._map,e)){V.call(this._map,e).value=t}else{a=new r(e,t);U.call(this._map,e,a);i=n.prev}}while((i=i.next)!==n){if(ce.SameValueZero(i.key,e)){i.value=t;return this}}a=a||new r(e,t);if(ce.SameValue(-0,e)){a.key=+0}a.next=this._head;a.prev=this._head.prev;a.prev.next=a;a.next.prev=a;this._size+=1;return this},"delete":function(t){o(this,"delete");var r=this._head;var n=r;var i=Yr(t,true);if(i!==null){if(typeof this._storage[i]==="undefined"){return false}n=this._storage[i].prev;delete this._storage[i]}else if(this._map){if(!B.call(this._map,t)){return false}n=V.call(this._map,t).prev;H.call(this._map,t)}while((n=n.next)!==r){if(ce.SameValueZero(n.key,t)){n.key=e;n.value=e;n.prev.next=n.next;n.next.prev=n.prev;this._size-=1;return true}}return false},clear:function clear(){o(this,"clear");this._map=G?new G:null;this._size=0;this._storage=Qr();var t=this._head;var r=t;var n=r.next;while((r=n)!==t){r.key=e;r.value=e;n=r.next;r.next=r.prev=t}t.next=t.prev=t},keys:function keys(){o(this,"keys");return new i(this,"key")},values:function values(){o(this,"values");return new i(this,"value")},entries:function entries(){o(this,"entries");return new i(this,"key+value")},forEach:function forEach(e){o(this,"forEach");var r=arguments.length>1?arguments[1]:null;var n=this.entries();for(var i=n.next();!i.done;i=n.next()){if(r){t(e,r,i.value[1],i.value[0],this)}else{e(i.value[1],i.value[0],this)}}}});Me(a,a.entries);return u}(),Set:function(){var e=function isSet(e){return e._es6set&&typeof e._storage!=="undefined"};var r=function requireSetSlot(t,r){if(!ce.TypeIsObject(t)||!e(t)){throw new TypeError("Set.prototype."+r+" called on incompatible receiver "+ce.ToString(t))}};var o;var i=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}if(this&&this._es6set){throw new TypeError("Bad construction")}var e=Ae(this,Set,o,{_es6set:true,"[[SetData]]":null,_storage:Qr()});if(!e._es6set){throw new TypeError("bad set")}if(arguments.length>0){tn(Set,e,arguments[0])}return e};o=i.prototype;var a=function(e){var t=e;if(t==="^null"){return null}else if(t==="^undefined"){return void 0}else{var r=t.charAt(0);if(r==="$"){return C(t,1)}else if(r==="n"){return+C(t,1)}else if(r==="b"){return t==="btrue"}}return+t};var u=function ensureMap(e){if(!e["[[SetData]]"]){var t=new rn.Map;e["[[SetData]]"]=t;l(n(e._storage),function(e){var r=a(e);t.set(r,r)});e["[[SetData]]"]=t}e._storage=null};m.getter(i.prototype,"size",function(){r(this,"size");if(this._storage){return n(this._storage).length}u(this);return this["[[SetData]]"].size});b(i.prototype,{has:function has(e){r(this,"has");var t;if(this._storage&&(t=Yr(e))!==null){return!!this._storage[t]}u(this);return this["[[SetData]]"].has(e)},add:function add(e){r(this,"add");var t;if(this._storage&&(t=Yr(e))!==null){this._storage[t]=true;return this}u(this);this["[[SetData]]"].set(e,e);return this},"delete":function(e){r(this,"delete");var t;if(this._storage&&(t=Yr(e))!==null){var n=z(this._storage,t);return delete this._storage[t]&&n}u(this);return this["[[SetData]]"]["delete"](e)},clear:function clear(){r(this,"clear");if(this._storage){this._storage=Qr()}if(this["[[SetData]]"]){this["[[SetData]]"].clear()}},values:function values(){r(this,"values");u(this);return new f(this["[[SetData]]"].values())},entries:function entries(){r(this,"entries");u(this);return new f(this["[[SetData]]"].entries())},forEach:function forEach(e){r(this,"forEach");var n=arguments.length>1?arguments[1]:null;var o=this;u(o);this["[[SetData]]"].forEach(function(r,i){if(n){t(e,n,i,i,o)}else{e(i,i,o)}})}});h(i.prototype,"keys",i.prototype.values,true);Me(i.prototype,i.prototype.values);var f=function SetIterator(e){this.it=e};f.prototype={isSetIterator:true,next:function next(){if(!this.isSetIterator){throw new TypeError("Not a SetIterator")}return this.it.next()}};Me(f.prototype);return i}()};var nn=S.Set&&!Set.prototype["delete"]&&Set.prototype.remove&&Set.prototype.items&&Set.prototype.map&&Array.isArray((new Set).keys);if(nn){S.Set=rn.Set}if(S.Map||S.Set){var on=a(function(){return new Map([[1,2]]).get(1)===2});if(!on){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,S.Map.prototype);return e};S.Map.prototype=O(G.prototype);h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var an=new Map;var un=function(){var e=new Map([[1,0],[2,0],[3,0],[4,0]]);e.set(-0,e);return e.get(0)===e&&e.get(-0)===e&&e.has(0)&&e.has(-0)}();var fn=an.set(1,2)===an;if(!un||!fn){ne(Map.prototype,"set",function set(e,r){t(U,this,e===0?0:e,r);return this})}if(!un){b(Map.prototype,{get:function get(e){return t(V,this,e===0?0:e)},has:function has(e){return t(B,this,e===0?0:e)}},true);m.preserveToString(Map.prototype.get,V);m.preserveToString(Map.prototype.has,B)}var sn=new Set;var cn=Set.prototype["delete"]&&Set.prototype.add&&Set.prototype.has&&function(e){e["delete"](0);e.add(-0);return!e.has(0)}(sn);var ln=sn.add(1)===sn;if(!cn||!ln){var pn=Set.prototype.add;Set.prototype.add=function add(e){t(pn,this,e===0?0:e);return this};m.preserveToString(Set.prototype.add,pn)}if(!cn){var vn=Set.prototype.has;Set.prototype.has=function has(e){return t(vn,this,e===0?0:e)};m.preserveToString(Set.prototype.has,vn);var yn=Set.prototype["delete"];Set.prototype["delete"]=function SetDelete(e){return t(yn,this,e===0?0:e)};m.preserveToString(Set.prototype["delete"],yn)}var hn=w(S.Map,function(e){var t=new e([]);t.set(42,42);return t instanceof e});var bn=Object.setPrototypeOf&&!hn;var gn=function(){try{return!(S.Map()instanceof S.Map)}catch(e){return e instanceof TypeError}}();if(S.Map.length!==0||bn||!gn){S.Map=function Map(){if(!(this instanceof Map)){throw new TypeError('Constructor Map requires "new"')}var e=new G;if(arguments.length>0){en(Map,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Map.prototype);return e};S.Map.prototype=G.prototype;h(S.Map.prototype,"constructor",S.Map,true);m.preserveToString(S.Map,G)}var dn=w(S.Set,function(e){var t=new e([]);t.add(42,42);return t instanceof e});var mn=Object.setPrototypeOf&&!dn;var On=function(){try{return!(S.Set()instanceof S.Set)}catch(e){return e instanceof TypeError}}();if(S.Set.length!==0||mn||!On){var wn=S.Set;S.Set=function Set(){if(!(this instanceof Set)){throw new TypeError('Constructor Set requires "new"')}var e=new wn;if(arguments.length>0){tn(Set,e,arguments[0])}delete e.constructor;Object.setPrototypeOf(e,Set.prototype);return e};S.Set.prototype=wn.prototype;h(S.Set.prototype,"constructor",S.Set,true);m.preserveToString(S.Set,wn)}var jn=new S.Map;var Sn=!a(function(){return jn.keys().next().done});if(typeof S.Map.prototype.clear!=="function"||(new S.Set).size!==0||jn.size!==0||typeof S.Map.prototype.keys!=="function"||typeof S.Set.prototype.keys!=="function"||typeof S.Map.prototype.forEach!=="function"||typeof S.Set.prototype.forEach!=="function"||u(S.Map)||u(S.Set)||typeof jn.keys().next!=="function"||Sn||!hn){b(S,{Map:rn.Map,Set:rn.Set},true)}if(S.Set.prototype.keys!==S.Set.prototype.values){h(S.Set.prototype,"keys",S.Set.prototype.values,true)}Me(Object.getPrototypeOf((new S.Map).keys()));Me(Object.getPrototypeOf((new S.Set).keys()));if(c&&S.Set.prototype.has.name!=="has"){var Tn=S.Set.prototype.has;ne(S.Set.prototype,"has",function has(e){return t(Tn,this,e)})}}b(S,rn);Ce(S.Map);Ce(S.Set)}var In=function throwUnlessTargetIsObject(e){if(!ce.TypeIsObject(e)){throw new TypeError("target must be an object")}};var En={apply:function apply(){return ce.Call(ce.Call,null,arguments)},construct:function construct(e,t){if(!ce.IsConstructor(e)){throw new TypeError("First argument must be a constructor.")}var r=arguments.length>2?arguments[2]:e;if(!ce.IsConstructor(r)){throw new TypeError("new.target must be a constructor.")}return ce.Construct(e,t,r,"internal")},deleteProperty:function deleteProperty(e,t){In(e);if(s){var r=Object.getOwnPropertyDescriptor(e,t);if(r&&!r.configurable){return false}}return delete e[t]},has:function has(e,t){In(e);return t in e}};if(Object.getOwnPropertyNames){Object.assign(En,{ownKeys:function ownKeys(e){In(e);var t=Object.getOwnPropertyNames(e);if(ce.IsCallable(Object.getOwnPropertySymbols)){x(t,Object.getOwnPropertySymbols(e))}return t}})}var Pn=function ConvertExceptionToBoolean(e){return!i(e)};if(Object.preventExtensions){Object.assign(En,{isExtensible:function isExtensible(e){In(e);return Object.isExtensible(e)},preventExtensions:function preventExtensions(e){In(e);return Pn(function(){return Object.preventExtensions(e)})}})}if(s){var Cn=function get(e,t,r){var n=Object.getOwnPropertyDescriptor(e,t);if(!n){var o=Object.getPrototypeOf(e);if(o===null){return void 0}return Cn(o,t,r)}if("value"in n){return n.value}if(n.get){return ce.Call(n.get,r)}return void 0};var Mn=function set(e,r,n,o){var i=Object.getOwnPropertyDescriptor(e,r);if(!i){var a=Object.getPrototypeOf(e);if(a!==null){return Mn(a,r,n,o)}i={value:void 0,writable:true,enumerable:true,configurable:true}}if("value"in i){if(!i.writable){return false}if(!ce.TypeIsObject(o)){return false}var u=Object.getOwnPropertyDescriptor(o,r);if(u){return ae.defineProperty(o,r,{value:n})}else{return ae.defineProperty(o,r,{value:n,writable:true,enumerable:true,configurable:true})}}if(i.set){t(i.set,o,n);return true}return false};Object.assign(En,{defineProperty:function defineProperty(e,t,r){In(e);return Pn(function(){return Object.defineProperty(e,t,r)})},getOwnPropertyDescriptor:function getOwnPropertyDescriptor(e,t){In(e);return Object.getOwnPropertyDescriptor(e,t)},get:function get(e,t){In(e);var r=arguments.length>2?arguments[2]:e;return Cn(e,t,r)},set:function set(e,t,r){In(e);var n=arguments.length>3?arguments[3]:e;return Mn(e,t,r,n)}})}if(Object.getPrototypeOf){var xn=Object.getPrototypeOf;En.getPrototypeOf=function getPrototypeOf(e){In(e);return xn(e)}}if(Object.setPrototypeOf&&En.getPrototypeOf){var Nn=function(e,t){var r=t;while(r){if(e===r){return true}r=En.getPrototypeOf(r)}return false};Object.assign(En,{setPrototypeOf:function setPrototypeOf(e,t){In(e);if(t!==null&&!ce.TypeIsObject(t)){throw new TypeError("proto must be an object or null")}if(t===ae.getPrototypeOf(e)){return true}if(ae.isExtensible&&!ae.isExtensible(e)){return false}if(Nn(e,t)){return false}Object.setPrototypeOf(e,t);return true}})}var An=function(e,t){if(!ce.IsCallable(S.Reflect[e])){h(S.Reflect,e,t)}else{var r=a(function(){S.Reflect[e](1);S.Reflect[e](NaN);S.Reflect[e](true);return true});if(r){ne(S.Reflect,e,t)}}};Object.keys(En).forEach(function(e){An(e,En[e])});var Rn=S.Reflect.getPrototypeOf;if(c&&Rn&&Rn.name!=="getPrototypeOf"){ne(S.Reflect,"getPrototypeOf",function getPrototypeOf(e){return t(Rn,S.Reflect,e)})}if(S.Reflect.setPrototypeOf){if(a(function(){S.Reflect.setPrototypeOf(1,{});return true})){ne(S.Reflect,"setPrototypeOf",En.setPrototypeOf)}}if(S.Reflect.defineProperty){if(!a(function(){var e=!S.Reflect.defineProperty(1,"test",{value:1});var t=typeof Object.preventExtensions!=="function"||!S.Reflect.defineProperty(Object.preventExtensions({}),"test",{});return e&&t})){ne(S.Reflect,"defineProperty",En.defineProperty)}}if(S.Reflect.construct){if(!a(function(){var e=function F(){};return S.Reflect.construct(function(){},[],e)instanceof e})){ne(S.Reflect,"construct",En.construct)}}if(String(new Date(NaN))!=="Invalid Date"){var _n=Date.prototype.toString;var kn=function toString(){var e=+this;if(e!==e){return"Invalid Date"}return ce.Call(_n,this)};ne(Date.prototype,"toString",kn)}var Ln={anchor:function anchor(e){return ce.CreateHTML(this,"a","name",e)},big:function big(){return ce.CreateHTML(this,"big","","")},blink:function blink(){return ce.CreateHTML(this,"blink","","")},bold:function bold(){return ce.CreateHTML(this,"b","","")},fixed:function fixed(){return ce.CreateHTML(this,"tt","","")},fontcolor:function fontcolor(e){return ce.CreateHTML(this,"font","color",e)},fontsize:function fontsize(e){return ce.CreateHTML(this,"font","size",e)},italics:function italics(){return ce.CreateHTML(this,"i","","")},link:function link(e){return ce.CreateHTML(this,"a","href",e)},small:function small(){return ce.CreateHTML(this,"small","","")},strike:function strike(){return ce.CreateHTML(this,"strike","","")},sub:function sub(){return ce.CreateHTML(this,"sub","","")},sup:function sub(){return ce.CreateHTML(this,"sup","","")}};l(Object.keys(Ln),function(e){var r=String.prototype[e];var n=false;if(ce.IsCallable(r)){var o=t(r,"",' " ');var i=P([],o.match(/"/g)).length;n=o!==o.toLowerCase()||i>2}else{n=true}if(n){ne(String.prototype,e,Ln[e])}});var Fn=function(){if(!oe){return false}var e=typeof JSON==="object"&&typeof JSON.stringify==="function"?JSON.stringify:null;if(!e){return false}if(typeof e($())!=="undefined"){return true}if(e([$()])!=="[null]"){return true}var t={a:$()};t[$()]=true;if(e(t)!=="{}"){return true}return false}();var Dn=a(function(){if(!oe){return true}return JSON.stringify(Object($()))==="{}"&&JSON.stringify([Object($())])==="[{}]"});if(Fn||!Dn){var zn=JSON.stringify;ne(JSON,"stringify",function stringify(e){if(typeof e==="symbol"){return}var n;if(arguments.length>1){n=arguments[1]}var o=[e];if(!r(n)){var i=ce.IsCallable(n)?n:null;var a=function(e,r){var n=i?t(i,this,e,r):r;if(typeof n!=="symbol"){if(re.symbol(n)){return Nt({})(n)}else{return n}}};o.push(a)}else{o.push(n)}if(arguments.length>2){o.push(arguments[2])}return zn.apply(this,o)})}return S}); //# sourceMappingURL=es6-shim.map diff --git a/package.json b/package.json index 6b81859e..4e020f48 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "es6-shim", - "version": "0.35.3", + "version": "0.35.4", "author": "Paul Miller (http://paulmillr.com)", "description": "ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines", "keywords": [ @@ -23,6 +23,7 @@ }, "main": "es6-shim", "scripts": { + "prepublish": "safe-publish-latest && npm run minify", "pretest": "npm run lint && evalmd *.md", "test": "npm run tests-only", "tests-only": "npm run test:shim && npm run test:sham", @@ -82,6 +83,7 @@ "mocha": "^3.5.3", "promises-aplus-tests": "^2.1.2", "promises-es6-tests": "^0.5.0", + "safe-publish-latest": "^1.1.2", "uglify-js": "2.7.3" } }