<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">{"version":3,"sources":["requirejs-config.js","alameda.js","tslib.js","lib/es6-promise/utils.js","lib/es6-promise/asap.js","lib/es6-promise/then.js","lib/es6-promise/promise/resolve.js","lib/es6-promise/-internal.js","lib/es6-promise/enumerator.js","lib/es6-promise/promise.js","lib/es6-promise/promise/all.js","lib/es6-promise/promise/race.js","lib/es6-promise/promise/reject.js","lib/es6-promise.js","lib/es6-promise/polyfill.js","lib/es6-promise.auto.js","../src/create-element.js","../src/component.js","../src/render.js","../src/create-context.js","../src/constants.js","../src/util.js","../src/diff/children.js","../src/diff/props.js","../src/diff/index.js","../src/options.js","../src/clone-element.js","../../src/util.js","../src/suspense.js","../src/index.js","sax.js"],"names":["requirejs","baseUrl","defaultErrback","paths","apmui","customization","map","*","react","react-dom","require","define","__extends","__assign","__rest","__decorate","__param","__metadata","__awaiter","__generator","__exportStar","__values","__read","__spread","__spreadArrays","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","isFunction","x","isArray","Array","Object","prototype","toString","call","len","vertxNext","customSchedulerFn","asap","callback","arg","queue","flush","scheduleFlush","browserWindow","window","undefined","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","self","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","setTimeout","i","then","onFulfillment","onRejection","parent","this","child","constructor","noop","PROMISE_ID","makePromise","_state","arguments","invokeCallback","_result","subscribe","resolve","object","promise","_resolve","useNextTick","nextTick","useMutationObserver","iterations","observer","node","document","createTextNode","observe","characterData","data","useMessageChannel","channel","port1","onmessage","port2","postMessage","attemptVertx","vertx","Function","runOnLoop","runOnContext","useVertxTimer","e","Math","random","substring","PENDING","FULFILLED","REJECTED","handleMaybeThenable","maybeThenable","originalThen","originalResolve","handleOwnThenable","thenable","fulfill","reject","value","reason","handleForeignThenable","sealed","error","tryThen","fulfillmentHandler","rejectionHandler","_label","selfFulfillment","TypeError","objectOrFunction","type","publishRejection","_onerror","publish","_subscribers","length","subscribers","settled","detail","hasCallback","succeeded","cannotReturnOwn","id","Enumerator","Constructor","input","_instanceConstructor","_remaining","_enumerate","validationError","Error","_eachEntry","entry","c","_then","didError","_settledAt","Promise","_willSettleAt","state","enumerator","catch","_catch","finally","_finally","resolver","nextId","needsResolver","initializePromise","resolvePromise","rejectPromise","needsNew","Promise$2","all","entries","race","_","Resolve","_reject","_setScheduler","setScheduler","scheduleFn","_setAsap","setAsap","asapFn","_asap","polyfill","local","global","P","promiseToString","cast","undef","topReq","dataMain","src","subPath","bootstrapConfig","hasOwn","hasOwnProperty","contexts","currDirRegExp","urlRegExp","commentRegExp","cjsRequireRegExp","jsSuffixRegExp","slice","newContext","exec","text","eval","push","amd","jQuery","config","isBrowser","skipDataMain","querySelectorAll","getAttribute","replace","indexOf","split","pop","join","commentReplace","match","singlePrefix","hasProp","obj","prop","getOwn","create","eachProp","func","mixin","target","source","force","deepStringMixin","RegExp","getGlobal","g","forEach","part","contextName","req","main","makeMap","callDep","handlers","checkingLater","load","context","defined","waiting","waitSeconds","bundles","pkgs","shim","mapCache","requireDeferreds","deferreds","calledDefine","calledPlugin","loadCount","startTime","Date","getTime","errCount","trackedErrors","urlFetched","bundlesMap","asyncResolve","normalize","name","baseName","applyMap","mapValue","nameParts","j","nameSegment","lastIndex","foundMap","foundI","foundStarMap","starI","baseParts","starMap","nodeIdCompat","test","charAt","concat","trimDots","ary","splice","outerLoop","takeQueue","anonId","args","unshift","shift","apply","deps","exportsFn","makeRequire","relName","topLevel","errback","alt","cfg","navigator","nameToUrl","moduleName","ext","skipExt","syms","url","parentPath","bundleId","pkgMain","urlArgs","toUrl","moduleNamePlusExt","index","lastIndexOf","segment","specified","d","onResourceLoad","finished","err","rejected","defineModule","factoryCalled","ret","execCb","factory","values","cjsModule","exports","usingExports","depFinished","val","depDefined","depCount","depending","depMax","makeDefer","calculatedMap","pr","getDefer","makeErrback","dynaId","requireModules","waitForDep","depMap","callPlugin","plugin","n","makeLoad","fromTextCalled","fromText","textAlt","execError","plainId","p","requireType","splitPrefix","prefix","breakCycle","traced","processed","depId","dep","delayedError","onError","script","createElement","setAttribute","scriptType","charset","async","addEventListener","pathConfig","parentNode","removeChild","onNodeCreated","documentMode","head","appendChild","newMap","prn","newId","parts","result","prefixNormalized","cacheKey","makeNormalize","module","uri","depName","check","mid","dfd","notFinished","waitInterval","expired","existingContext","objs","v","init","makeShimExports","fn","packages","pkgObj","location","root","createExporter","previous","defineProperty","__esModule","exporter","extendStatics","setPrototypeOf","__proto__","b","__","assign","t","s","getOwnPropertySymbols","propertyIsEnumerable","decorators","key","desc","r","getOwnPropertyDescriptor","Reflect","decorate","paramIndex","decorator","metadataKey","metadataValue","metadata","thisArg","_arguments","generator","fulfilled","step","next","done","body","f","y","label","sent","trys","ops","verb","throw","return","Symbol","iterator","op","m","o","ar","il","k","a","jl","asyncIterator","q","resume","settle","cooked","raw","mod","default","isValidElement","defer","IS_HYDRATE","EMPTY_OBJ","EMPTY_ARR","IS_NON_DIMENSIONAL","props","let","removeNode","children","defaultProps","l","ref","createVNode","vnode","_children","_parent","_depth","__b","_lastDomChild","_component","options","Fragment","Component","getDomSibling","w","childIndex","sibling","__k","_dom","__e","enqueueRender","_dirty","__d","prevDebounce","debounceRendering","sort","_vnode","forceUpdate","diffChildren","isSvg","excessDomChildren","mounts","oldDom","isHydrating","newDom","firstChildDom","refs","oldChildren","oldParentVNode","oldChildrenLength","u","newParentVNode","toChildArray","childVNode","oldVNode","diff","__c","sibDom","nextSibling","parentDom","insertBefore","flattened","coerceToVNode","possibleVNode","setStyle","setProperty","useCapture","nameLower","style","cssText","oldValue","toLowerCase","dom","_listeners","removeEventListener","removeAttributeNS","setAttributeNS","removeAttribute","eventProxy","event","tmp","oldProps","snapshot","clearProcessingException","newProps","provider","cctx","newType","newVNode","_diff","outer","contextType","_defaultValue","_processingException","_pendingError","__E","render","doRender","sub","isNew","_renderCallbacks","__h","_nextState","getDerivedStateFromProps","__s","componentWillMount","componentDidMount","componentWillReceiveProps","C","shouldComponentUpdate","componentWillUpdate","oldState","_render","_parentDom","getChildContext","getSnapshotBeforeUpdate","base","componentDidUpdate","__p","diffed","h","commitRoot","_commit","diffElementNodes","newHtml","nodeType","localName","createElementNS","childNodes","dangerouslySetInnerHTML","oldHtml","__html","innerHTML","diffProps","hydrate","N","checked","applyRef","current","unmount","D","parentVNode","skipRemove","componentWillUnmount","__P","I","_root","replaceNode","ownerSVGElement","$","setState","update","T","_context","updateParentDomPointers","component","getDerivedStateFromError","componentDidCatch","createRef","cloneElement","defaultValue","_id","Consumer","_props","Provider","subs","ctx","some","old","const","_catchError","Suspense","loader","prom","displayName","Lazy","_childDidSuspend","oldCatchError","_suspensions","onSuspensionComplete","fallback","_parkedChildren","__v","detachDom","REACT_ELEMENT_TYPE","for","bind","firstChild","oldEventHook","persist","nativeEvent","ContextProvider","container","_this","_container","_temp","_unmount","_hasMounted","preactRender","_wrap","_e","Portal","mapFn","Children","count","only","toArray","multiple","selected","shouldSanitize","CAMEL_PROPS","preactCompatNormalized","normalizeVNode","class","className","enumerable","classNameDescriptor","element","preactCloneElement","$$typeof","configurable","get","shallowDiffers","PureComponent","isPureReactComponent","comparer","shouldUpdate","nextProps","updateRef","Memoed","isReactComponent","setUnsafeDescriptor","set","forwardRef","Forwarded","O","ondoubleclick","onbeforeinput","onchange","oninput","applyEventNormalization","oldVNodeHook","unstable_batchedUpdates","version","createPortal","createContext","createFactory","findDOMNode","memo","lazy","hooks","unmountComponentAtNode","E","S","R","oldBeforeRender","currentComponent","__hooks","_pendingEffects","oldAfterDiff","_handles","handle","createHandle","_pendingLayoutEffects","oldBeforeUnmount","_hook","_list","__H","useReducer","reducer","initialState","getHookState","currentIndex","hookState","_value","action","nextValue","argsChanged","_args","_callback","hook","_cleanup","afterPaint","_afterPaintQueued","handleEffects","afterPaintEffects","requestAnimationFrame","prevRaf","clearTimeout","cancelAnimationFrame","timeout","effects","invokeCleanup","invokeEffect","oldArgs","newArgs","invokeOrReturn","useState","useEffect","useLayoutEffect","initialValue","useMemo","useImperativeHandle","useCallback","useContext","useDebugValue","formatter","sax","parser","strict","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","buffers","clearBuffers","bufferCheckPosition","lowercase","lowercasetags","looseCase","tags","closed","closedRoot","sawRoot","tag","noscript","BEGIN","strictEntities","ENTITIES","XML_ENTITIES","attribList","xmlns","ns","rootNS","trackPosition","position","line","column","emit","EVENTS","F","keys","end","write","chunk","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT","SCRIPT_ENDING","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","tagName","PROC_INST","procInstName","procInstBody","pad","toUpperCase","CDATA","emitNode","cdata","COMMENT","comment","DOCTYPE","doctype","isQuote","SGML_DECL_QUOTED","DOCTYPE_DTD","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","attributes","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","buffer","parseEntity","entity","entityBody","entityStart","checkBufferLength","maxAllowed","max","maxActual","closeText","close","flushBuffers","ex","streamWraps","filter","ev","_parser","writable","readable","me","onend","onerror","er","_decoder","removeAllListeners","on","Buffer","isBuffer","SD","StringDecoder","handler","XML_NAMESPACE","XMLNS_NAMESPACE","xml","regex","stringFromCharCode","floor","STATE","COMMENT_STARTING","amp","gt","lt","quot","apos","AElig","Aacute","Acirc","Agrave","Aring","Atilde","Auml","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","Iacute","Icirc","Igrave","Iuml","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","aelig","agrave","aring","atilde","auml","ccedil","eacute","ecirc","egrave","eth","euml","iacute","icirc","igrave","iuml","ntilde","oacute","ocirc","ograve","oslash","otilde","ouml","szlig","thorn","uacute","ucirc","ugrave","uuml","yacute","yuml","copy","reg","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","ordf","laquo","not","shy","macr","deg","plusmn","sup1","sup2","sup3","acute","micro","para","middot","cedil","ordm","raquo","frac14","frac12","frac34","iquest","times","divide","OElig","oelig","Scaron","scaron","Yuml","fnof","circ","tilde","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","bull","hellip","permil","prime","Prime","lsaquo","rsaquo","oline","frasl","euro","image","weierp","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","exist","empty","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams","String","fromCharCode","trim","message","qname","attribute","qualName","qn","selfClosing","JSON","stringify","nv","isSelfClosing","closeTo","num","entityLC","numStr","parseInt","isNaN","fromCodePoint","highSurrogate","lowSurrogate","codeUnits","codePoint","Number","isFinite","RangeError"],"mappings":"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AC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,IAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,IAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,KAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,IAAA,IACAC,KAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,IAAA,IACAC,OAAA,IACAC,KAAA,IACAC,IAAA,IACAC,KAAA,IACAC,MAAA,IACAC,IAAA,IACAC,IAAA,IACAC,KAAA,IACAC,IAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,OAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,OAAA,IACAC,MAAA,IACAC,OAAA,IACAC,MAAA,IACAC,MAAA,IACAC,OAAA,IACAC,OAAA,IACAC,KAAA,IACAC,KAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,MAAA,IACAC,IAAA,IACAC,QAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,MAAA,IACAC,QAAA,IACAC,KAAA,IACAC,IAAA,IACAC,MAAA,IACAC,KAAA,IACAC,MAAA,IACAC,OAAA,IACAC,GAAA,IACAC,GAAA,IACAC,GAAA,IACAC,QAAA,IACAC,GAAA,IACAC,IAAA,IACAC,OAAA,IACAC,MAAA,IACAC,IAAA,IACAC,QAAA,IACAC,IAAA,IACAC,IAAA,IACAC,IAAA,IACAC,MAAA,IACAC,SAAA,IACAC,MAAA,IACAC,IAAA,IACAC,KAAA,KACAC,KAAA,KACAC,OAAA,KACAC,KAAA,KACAC,IAAA,KACAC,IAAA,KACAC,IAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,OAAA,KACAC,OAAA,KACAC,KAAA,KACAC,OAAA,KACAC,OAAA,KACAC,MAAA,KACAC,MAAA,KACAC,OAAA,KACAC,OAAA,KACAC,MAAA,KACAC,MAAA,KACAC,KAAA,KACAC,MAAA,KACAC,OAAA,KACAC,KAAA,KACAC,MAAA,KACAC,QAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,MAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,KAAA,KACAC,OAAA,KACA53B,KAAA,KACA63B,MAAA,KACAC,MAAA,KACAC,MAAA,KACAC,KAAA,KACAC,MAAA,KACAC,GAAA,KACAC,KAAA,KACAC,IAAA,KACAC,MAAA,KACAC,OAAA,KACAC,MAAA,KACAr5B,KAAA,KACAs5B,MAAA,KACAC,IAAA,KACAC,IAAA,KACAC,GAAA,KACAC,IA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","file":"loader.js","sourcesContent":["var requirejs = {\n    baseUrl: '/public/include/js',\n    defaultErrback: null,\n    paths: {\n        apmui: 'modern',\n        customization: '/customization',\n    },\n    map: {\n        '*': {\n            react: 'preact/compat',\n            'react-dom': 'preact/compat',\n        },\n    },\n};\n","/**\n * @license alameda 1.3.0 Copyright jQuery Foundation and other contributors.\n * Released under MIT license, https://github.com/requirejs/alameda/blob/master/LICENSE\n */\n// Going sloppy because loader plugin execs may depend on non-strict execution.\n/*jslint sloppy: true, nomen: true, regexp: true */\n/*global document, navigator, importScripts, Promise, setTimeout */\n\nvar requirejs, require, define;\n(function (global, Promise, undef) {\n  if (!Promise) {\n    throw new Error('No Promise implementation available');\n  }\n\n  var topReq, dataMain, src, subPath,\n    bootstrapConfig = requirejs || require,\n    hasOwn = Object.prototype.hasOwnProperty,\n    contexts = {},\n    queue = [],\n    currDirRegExp = /^\\.\\//,\n    urlRegExp = /^\\/|\\:|\\?|\\.js$/,\n    commentRegExp = /\\/\\*[\\s\\S]*?\\*\\/|([^:\"'=]|^)\\/\\/.*$/mg,\n    cjsRequireRegExp = /[^.]\\s*require\\s*\\(\\s*[\"']([^'\"\\s]+)[\"']\\s*\\)/g,\n    jsSuffixRegExp = /\\.js$/,\n    slice = Array.prototype.slice;\n\n  if (typeof requirejs === 'function') {\n    return;\n  }\n\n  var asap = Promise.resolve(undefined);\n\n  // Could match something like ')//comment', do not lose the prefix to comment.\n  function commentReplace(match, singlePrefix) {\n    return singlePrefix || '';\n  }\n\n  function hasProp(obj, prop) {\n    return hasOwn.call(obj, prop);\n  }\n\n  function getOwn(obj, prop) {\n    return obj &amp;&amp; hasProp(obj, prop) &amp;&amp; obj[prop];\n  }\n\n  function obj() {\n    return Object.create(null);\n  }\n\n  /**\n   * Cycles over properties in an object and calls a function for each\n   * property value. If the function returns a truthy value, then the\n   * iteration is stopped.\n   */\n  function eachProp(obj, func) {\n    var prop;\n    for (prop in obj) {\n      if (hasProp(obj, prop)) {\n        if (func(obj[prop], prop)) {\n          break;\n        }\n      }\n    }\n  }\n\n  /**\n   * Simple function to mix in properties from source into target,\n   * but only if target does not already have a property of the same name.\n   */\n  function mixin(target, source, force, deepStringMixin) {\n    if (source) {\n      eachProp(source, function (value, prop) {\n        if (force || !hasProp(target, prop)) {\n          if (deepStringMixin &amp;&amp; typeof value === 'object' &amp;&amp; value &amp;&amp;\n            !Array.isArray(value) &amp;&amp; typeof value !== 'function' &amp;&amp;\n            !(value instanceof RegExp)) {\n\n            if (!target[prop]) {\n              target[prop] = {};\n            }\n            mixin(target[prop], value, force, deepStringMixin);\n          } else {\n            target[prop] = value;\n          }\n        }\n      });\n    }\n    return target;\n  }\n\n  // Allow getting a global that expressed in\n  // dot notation, like 'a.b.c'.\n  function getGlobal(value) {\n    if (!value) {\n      return value;\n    }\n    var g = global;\n    value.split('.').forEach(function (part) {\n      g = g[part];\n    });\n    return g;\n  }\n\n  function newContext(contextName) {\n    var req, main, makeMap, callDep, handlers, checkingLater, load, context,\n      defined = obj(),\n      waiting = obj(),\n      config = {\n        // Defaults. Do not set a default for map\n        // config to speed up normalize(), which\n        // will run faster if there is no default.\n        waitSeconds: 7,\n        baseUrl: './',\n        paths: {},\n        bundles: {},\n        pkgs: {},\n        shim: {},\n        config: {}\n      },\n      mapCache = obj(),\n      requireDeferreds = [],\n      deferreds = obj(),\n      calledDefine = obj(),\n      calledPlugin = obj(),\n      loadCount = 0,\n      startTime = (new Date()).getTime(),\n      errCount = 0,\n      trackedErrors = obj(),\n      urlFetched = obj(),\n      bundlesMap = obj(),\n      asyncResolve = Promise.resolve();\n\n    /**\n     * Trims the . and .. from an array of path segments.\n     * It will keep a leading path segment if a .. will become\n     * the first path segment, to help with module name lookups,\n     * which act like paths, but can be remapped. But the end result,\n     * all paths that use this function should look normalized.\n     * NOTE: this method MODIFIES the input array.\n     * @param {Array} ary the array of path segments.\n     */\n    function trimDots(ary) {\n      var i, part, length = ary.length;\n      for (i = 0; i &lt; length; i++) {\n        part = ary[i];\n        if (part === '.') {\n          ary.splice(i, 1);\n          i -= 1;\n        } else if (part === '..') {\n          // If at the start, or previous value is still ..,\n          // keep them so that when converted to a path it may\n          // still work when converted to a path, even though\n          // as an ID it is less than ideal. In larger point\n          // releases, may be better to just kick out an error.\n          if (i === 0 || (i === 1 &amp;&amp; ary[2] === '..') || ary[i - 1] === '..') {\n            continue;\n          } else if (i &gt; 0) {\n            ary.splice(i - 1, 2);\n            i -= 2;\n          }\n        }\n      }\n    }\n\n    /**\n     * Given a relative module name, like ./something, normalize it to\n     * a real name that can be mapped to a path.\n     * @param {String} name the relative name\n     * @param {String} baseName a real name that the name arg is relative\n     * to.\n     * @param {Boolean} applyMap apply the map config to the value. Should\n     * only be done if this normalization is for a dependency ID.\n     * @returns {String} normalized name\n     */\n    function normalize(name, baseName, applyMap) {\n      var pkgMain, mapValue, nameParts, i, j, nameSegment, lastIndex,\n        foundMap, foundI, foundStarMap, starI,\n        baseParts = baseName &amp;&amp; baseName.split('/'),\n        normalizedBaseParts = baseParts,\n        map = config.map,\n        starMap = map &amp;&amp; map['*'];\n\n\n      //Adjust any relative paths.\n      if (name) {\n        name = name.split('/');\n        lastIndex = name.length - 1;\n\n        // If wanting node ID compatibility, strip .js from end\n        // of IDs. Have to do this here, and not in nameToUrl\n        // because node allows either .js or non .js to map\n        // to same file.\n        if (config.nodeIdCompat &amp;&amp; jsSuffixRegExp.test(name[lastIndex])) {\n          name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, '');\n        }\n\n        // Starts with a '.' so need the baseName\n        if (name[0].charAt(0) === '.' &amp;&amp; baseParts) {\n          //Convert baseName to array, and lop off the last part,\n          //so that . matches that 'directory' and not name of the baseName's\n          //module. For instance, baseName of 'one/two/three', maps to\n          //'one/two/three.js', but we want the directory, 'one/two' for\n          //this normalization.\n          normalizedBaseParts = baseParts.slice(0, baseParts.length - 1);\n          name = normalizedBaseParts.concat(name);\n        }\n\n        trimDots(name);\n        name = name.join('/');\n      }\n\n      // Apply map config if available.\n      if (applyMap &amp;&amp; map &amp;&amp; (baseParts || starMap)) {\n        nameParts = name.split('/');\n\n        outerLoop: for (i = nameParts.length; i &gt; 0; i -= 1) {\n          nameSegment = nameParts.slice(0, i).join('/');\n\n          if (baseParts) {\n            // Find the longest baseName segment match in the config.\n            // So, do joins on the biggest to smallest lengths of baseParts.\n            for (j = baseParts.length; j &gt; 0; j -= 1) {\n              mapValue = getOwn(map, baseParts.slice(0, j).join('/'));\n\n              // baseName segment has config, find if it has one for\n              // this name.\n              if (mapValue) {\n                mapValue = getOwn(mapValue, nameSegment);\n                if (mapValue) {\n                  // Match, update name to the new value.\n                  foundMap = mapValue;\n                  foundI = i;\n                  break outerLoop;\n                }\n              }\n            }\n          }\n\n          // Check for a star map match, but just hold on to it,\n          // if there is a shorter segment match later in a matching\n          // config, then favor over this star map.\n          if (!foundStarMap &amp;&amp; starMap &amp;&amp; getOwn(starMap, nameSegment)) {\n            foundStarMap = getOwn(starMap, nameSegment);\n            starI = i;\n          }\n        }\n\n        if (!foundMap &amp;&amp; foundStarMap) {\n          foundMap = foundStarMap;\n          foundI = starI;\n        }\n\n        if (foundMap) {\n          nameParts.splice(0, foundI, foundMap);\n          name = nameParts.join('/');\n        }\n      }\n\n      // If the name points to a package's name, use\n      // the package main instead.\n      pkgMain = getOwn(config.pkgs, name);\n\n      return pkgMain ? pkgMain : name;\n    }\n\n    function makeShimExports(value) {\n      function fn() {\n        var ret;\n        if (value.init) {\n          ret = value.init.apply(global, arguments);\n        }\n        return ret || (value.exports &amp;&amp; getGlobal(value.exports));\n      }\n      return fn;\n    }\n\n    function takeQueue(anonId) {\n      var i, id, args, shim;\n      for (i = 0; i &lt; queue.length; i += 1) {\n        // Peek to see if anon\n        if (typeof queue[i][0] !== 'string') {\n          if (anonId) {\n            queue[i].unshift(anonId);\n            anonId = undef;\n          } else {\n            // Not our anon module, stop.\n            break;\n          }\n        }\n        args = queue.shift();\n        id = args[0];\n        i -= 1;\n\n        if (!(id in defined) &amp;&amp; !(id in waiting)) {\n          if (id in deferreds) {\n            main.apply(undef, args);\n          } else {\n            waiting[id] = args;\n          }\n        }\n      }\n\n      // if get to the end and still have anonId, then could be\n      // a shimmed dependency.\n      if (anonId) {\n        shim = getOwn(config.shim, anonId) || {};\n        main(anonId, shim.deps || [], shim.exportsFn);\n      }\n    }\n\n    function makeRequire(relName, topLevel) {\n      var req = function (deps, callback, errback, alt) {\n        var name, cfg;\n\n        if (topLevel) {\n          takeQueue();\n        }\n\n        if (typeof deps === \"string\") {\n          if (handlers[deps]) {\n            return handlers[deps](relName);\n          }\n          // Just return the module wanted. In this scenario, the\n          // deps arg is the module name, and second arg (if passed)\n          // is just the relName.\n          // Normalize module name, if it contains . or ..\n          name = makeMap(deps, relName, true).id;\n          if (!(name in defined)) {\n            throw new Error('Not loaded: ' + name);\n          }\n          return defined[name];\n        } else if (deps &amp;&amp; !Array.isArray(deps)) {\n          // deps is a config object, not an array.\n          cfg = deps;\n          deps = undef;\n\n          if (Array.isArray(callback)) {\n            // callback is an array, which means it is a dependency list.\n            // Adjust args if there are dependencies\n            deps = callback;\n            callback = errback;\n            errback = alt;\n          }\n\n          if (topLevel) {\n            // Could be a new context, so call returned require\n            return req.config(cfg)(deps, callback, errback);\n          }\n        }\n\n        // Support require(['a'])\n        callback = callback || function () {\n          // In case used later as a promise then value, return the\n          // arguments as an array.\n          return slice.call(arguments, 0);\n        };\n\n        // Complete async to maintain expected execution semantics.\n        return asyncResolve.then(function () {\n          // Grab any modules that were defined after a require call.\n          takeQueue();\n\n          return main(undef, deps || [], callback, errback, relName);\n        });\n      };\n\n      req.isBrowser = typeof document !== 'undefined' &amp;&amp;\n        typeof navigator !== 'undefined';\n\n      req.nameToUrl = function (moduleName, ext, skipExt) {\n        var paths, syms, i, parentModule, url,\n          parentPath, bundleId,\n          pkgMain = getOwn(config.pkgs, moduleName);\n\n        if (pkgMain) {\n          moduleName = pkgMain;\n        }\n\n        bundleId = getOwn(bundlesMap, moduleName);\n\n        if (bundleId) {\n          return req.nameToUrl(bundleId, ext, skipExt);\n        }\n\n        // If a colon is in the URL, it indicates a protocol is used and it is\n        // just an URL to a file, or if it starts with a slash, contains a query\n        // arg (i.e. ?) or ends with .js, then assume the user meant to use an\n        // url and not a module id. The slash is important for protocol-less\n        // URLs as well as full paths.\n        if (urlRegExp.test(moduleName)) {\n          // Just a plain path, not module name lookup, so just return it.\n          // Add extension if it is included. This is a bit wonky, only non-.js\n          // things pass an extension, this method probably needs to be\n          // reworked.\n          url = moduleName + (ext || '');\n        } else {\n          // A module that needs to be converted to a path.\n          paths = config.paths;\n\n          syms = moduleName.split('/');\n          // For each module name segment, see if there is a path\n          // registered for it. Start with most specific name\n          // and work up from it.\n          for (i = syms.length; i &gt; 0; i -= 1) {\n            parentModule = syms.slice(0, i).join('/');\n\n            parentPath = getOwn(paths, parentModule);\n            if (parentPath) {\n              // If an array, it means there are a few choices,\n              // Choose the one that is desired\n              if (Array.isArray(parentPath)) {\n                parentPath = parentPath[0];\n              }\n              syms.splice(0, i, parentPath);\n              break;\n            }\n          }\n\n          // Join the path parts together, then figure out if baseUrl is needed.\n          url = syms.join('/');\n          url += (ext || (/^data\\:|^blob\\:|\\?/.test(url) || skipExt ? '' : '.js'));\n          url = (url.charAt(0) === '/' ||\n                url.match(/^[\\w\\+\\.\\-]+:/) ? '' : config.baseUrl) + url;\n        }\n\n        return config.urlArgs &amp;&amp; !/^blob\\:/.test(url) ?\n               url + config.urlArgs(moduleName, url) : url;\n      };\n\n      /**\n       * Converts a module name + .extension into an URL path.\n       * *Requires* the use of a module name. It does not support using\n       * plain URLs like nameToUrl.\n       */\n      req.toUrl = function (moduleNamePlusExt) {\n        var ext,\n          index = moduleNamePlusExt.lastIndexOf('.'),\n          segment = moduleNamePlusExt.split('/')[0],\n          isRelative = segment === '.' || segment === '..';\n\n        // Have a file extension alias, and it is not the\n        // dots from a relative path.\n        if (index !== -1 &amp;&amp; (!isRelative || index &gt; 1)) {\n          ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length);\n          moduleNamePlusExt = moduleNamePlusExt.substring(0, index);\n        }\n\n        return req.nameToUrl(normalize(moduleNamePlusExt, relName), ext, true);\n      };\n\n      req.defined = function (id) {\n        return makeMap(id, relName, true).id in defined;\n      };\n\n      req.specified = function (id) {\n        id = makeMap(id, relName, true).id;\n        return id in defined || id in deferreds;\n      };\n\n      return req;\n    }\n\n    function resolve(name, d, value) {\n      if (name) {\n        defined[name] = value;\n        if (requirejs.onResourceLoad) {\n          requirejs.onResourceLoad(context, d.map, d.deps);\n        }\n      }\n      d.finished = true;\n      d.resolve(value);\n    }\n\n    function reject(d, err) {\n      d.finished = true;\n      d.rejected = true;\n      d.reject(err);\n    }\n\n    function makeNormalize(relName) {\n      return function (name) {\n        return normalize(name, relName, true);\n      };\n    }\n\n    function defineModule(d) {\n      d.factoryCalled = true;\n\n      var ret,\n        name = d.map.id;\n\n      try {\n        ret = context.execCb(name, d.factory, d.values, defined[name]);\n      } catch(err) {\n        return reject(d, err);\n      }\n\n      if (name) {\n        // Favor return value over exports. If node/cjs in play,\n        // then will not have a return value anyway. Favor\n        // module.exports assignment over exports object.\n        if (ret === undef) {\n          if (d.cjsModule) {\n            ret = d.cjsModule.exports;\n          } else if (d.usingExports) {\n            ret = defined[name];\n          }\n        }\n      } else {\n        // Remove the require deferred from the list to\n        // make cycle searching faster. Do not need to track\n        // it anymore either.\n        requireDeferreds.splice(requireDeferreds.indexOf(d), 1);\n      }\n      resolve(name, d, ret);\n    }\n\n    // This method is attached to every module deferred,\n    // so the \"this\" in here is the module deferred object.\n    function depFinished(val, i) {\n      if (!this.rejected &amp;&amp; !this.depDefined[i]) {\n        this.depDefined[i] = true;\n        this.depCount += 1;\n        this.values[i] = val;\n        if (!this.depending &amp;&amp; this.depCount === this.depMax) {\n          defineModule(this);\n        }\n      }\n    }\n\n    function makeDefer(name, calculatedMap) {\n      var d = {};\n      d.promise = new Promise(function (resolve, reject) {\n        d.resolve = resolve;\n        d.reject = function(err) {\n          if (!name) {\n            requireDeferreds.splice(requireDeferreds.indexOf(d), 1);\n          }\n          reject(err);\n        };\n      });\n      d.map = name ? (calculatedMap || makeMap(name)) : {};\n      d.depCount = 0;\n      d.depMax = 0;\n      d.values = [];\n      d.depDefined = [];\n      d.depFinished = depFinished;\n      if (d.map.pr) {\n        // Plugin resource ID, implicitly\n        // depends on plugin. Track it in deps\n        // so cycle breaking can work\n        d.deps = [makeMap(d.map.pr)];\n      }\n      return d;\n    }\n\n    function getDefer(name, calculatedMap) {\n      var d;\n      if (name) {\n        d = (name in deferreds) &amp;&amp; deferreds[name];\n        if (!d) {\n          d = deferreds[name] = makeDefer(name, calculatedMap);\n        }\n      } else {\n        d = makeDefer();\n        requireDeferreds.push(d);\n      }\n      return d;\n    }\n\n    function makeErrback(d, name) {\n      return function (err) {\n        if (!d.rejected) {\n          if (!err.dynaId) {\n            err.dynaId = 'id' + (errCount += 1);\n            err.requireModules = [name];\n          }\n          reject(d, err);\n        }\n      };\n    }\n\n    function waitForDep(depMap, relName, d, i) {\n      d.depMax += 1;\n\n      // Do the fail at the end to catch errors\n      // in the then callback execution.\n      callDep(depMap, relName).then(function (val) {\n        d.depFinished(val, i);\n      }, makeErrback(d, depMap.id)).catch(makeErrback(d, d.map.id));\n    }\n\n    function makeLoad(id) {\n      var fromTextCalled;\n      function load(value) {\n        // Protect against older plugins that call load after\n        // calling load.fromText\n        if (!fromTextCalled) {\n          resolve(id, getDefer(id), value);\n        }\n      }\n\n      load.error = function (err) {\n        reject(getDefer(id), err);\n      };\n\n      load.fromText = function (text, textAlt) {\n        /*jslint evil: true */\n        var d = getDefer(id),\n          map = makeMap(makeMap(id).n),\n          plainId = map.id,\n          execError;\n\n        fromTextCalled = true;\n\n        // Set up the factory just to be a return of the value from\n        // plainId.\n        d.factory = function (p, val) {\n          return val;\n        };\n\n        // As of requirejs 2.1.0, support just passing the text, to reinforce\n        // fromText only being called once per resource. Still\n        // support old style of passing moduleName but discard\n        // that moduleName in favor of the internal ref.\n        if (textAlt) {\n          text = textAlt;\n        }\n\n        // Transfer any config to this other module.\n        if (hasProp(config.config, id)) {\n          config.config[plainId] = config.config[id];\n        }\n\n        try {\n          req.exec(text);\n        } catch (e) {\n          execError = new Error('fromText eval for ' + plainId +\n                                ' failed: ' + e);\n          execError.requireType = 'fromtexteval';\n          reject(d, execError);\n        }\n\n        // Execute any waiting define created by the plainId\n        takeQueue(plainId);\n\n        // Mark this as a dependency for the plugin\n        // resource\n        d.deps = [map];\n        waitForDep(map, null, d, d.deps.length);\n      };\n\n      return load;\n    }\n\n    load = typeof importScripts === 'function' ?\n        function (map) {\n          var url = map.url;\n          if (urlFetched[url]) {\n            return;\n          }\n          urlFetched[url] = true;\n\n          // Ask for the deferred so loading is triggered.\n          // Do this before loading, since loading is sync.\n          getDefer(map.id);\n          importScripts(url);\n          takeQueue(map.id);\n        } :\n        function (map) {\n          var script,\n            id = map.id,\n            url = map.url;\n\n          if (urlFetched[url]) {\n            return;\n          }\n          urlFetched[url] = true;\n\n          script = document.createElement('script');\n          script.setAttribute('data-requiremodule', id);\n          script.type = config.scriptType || 'text/javascript';\n          script.charset = 'utf-8';\n          script.async = true;\n\n          loadCount += 1;\n\n          script.addEventListener('load', function () {\n            loadCount -= 1;\n            takeQueue(id);\n          }, false);\n          script.addEventListener('error', function () {\n            loadCount -= 1;\n            var err,\n              pathConfig = getOwn(config.paths, id);\n            if (pathConfig &amp;&amp; Array.isArray(pathConfig) &amp;&amp;\n                pathConfig.length &gt; 1) {\n              script.parentNode.removeChild(script);\n              // Pop off the first array value, since it failed, and\n              // retry\n              pathConfig.shift();\n              var d = getDefer(id);\n              d.map = makeMap(id);\n              // mapCache will have returned previous map value, update the\n              // url, which will also update mapCache value.\n              d.map.url = req.nameToUrl(id);\n              load(d.map);\n            } else {\n              err = new Error('Load failed: ' + id + ': ' + script.src);\n              err.requireModules = [id];\n              err.requireType = 'scripterror';\n              reject(getDefer(id), err);\n            }\n          }, false);\n\n          script.src = url;\n\n          if (config.onNodeCreated) {\n            config.onNodeCreated(script, config, id, url);\n          }\n\n          // If the script is cached, IE10 executes the script body and the\n          // onload handler synchronously here.  That's a spec violation,\n          // so be sure to do this asynchronously.\n          if (document.documentMode === 10) {\n            asap.then(function() {\n              document.head.appendChild(script);\n            });\n          } else {\n            document.head.appendChild(script);\n          }\n        };\n\n    function callPlugin(plugin, map, relName) {\n      plugin.load(map.n, makeRequire(relName), makeLoad(map.id), config);\n    }\n\n    callDep = function (map, relName) {\n      var args, bundleId,\n        name = map.id,\n        shim = config.shim[name];\n\n      if (name in waiting) {\n        args = waiting[name];\n        delete waiting[name];\n        main.apply(undef, args);\n      } else if (!(name in deferreds)) {\n        if (map.pr) {\n          // If a bundles config, then just load that file instead to\n          // resolve the plugin, as it is built into that bundle.\n          if ((bundleId = getOwn(bundlesMap, name))) {\n            map.url = req.nameToUrl(bundleId);\n            load(map);\n          } else {\n            return callDep(makeMap(map.pr)).then(function (plugin) {\n              // Redo map now that plugin is known to be loaded\n              var newMap = map.prn ? map : makeMap(name, relName, true),\n                newId = newMap.id,\n                shim = getOwn(config.shim, newId);\n\n              // Make sure to only call load once per resource. Many\n              // calls could have been queued waiting for plugin to load.\n              if (!(newId in calledPlugin)) {\n                calledPlugin[newId] = true;\n                if (shim &amp;&amp; shim.deps) {\n                  req(shim.deps, function () {\n                    callPlugin(plugin, newMap, relName);\n                  });\n                } else {\n                  callPlugin(plugin, newMap, relName);\n                }\n              }\n              return getDefer(newId).promise;\n            });\n          }\n        } else if (shim &amp;&amp; shim.deps) {\n          req(shim.deps, function () {\n            load(map);\n          });\n        } else {\n          load(map);\n        }\n      }\n\n      return getDefer(name).promise;\n    };\n\n    // Turns a plugin!resource to [plugin, resource]\n    // with the plugin being undefined if the name\n    // did not have a plugin prefix.\n    function splitPrefix(name) {\n      var prefix,\n        index = name ? name.indexOf('!') : -1;\n      if (index &gt; -1) {\n        prefix = name.substring(0, index);\n        name = name.substring(index + 1, name.length);\n      }\n      return [prefix, name];\n    }\n\n    /**\n     * Makes a name map, normalizing the name, and using a plugin\n     * for normalization if necessary. Grabs a ref to plugin\n     * too, as an optimization.\n     */\n    makeMap = function (name, relName, applyMap) {\n      if (typeof name !== 'string') {\n        return name;\n      }\n\n      var plugin, url, parts, prefix, result, prefixNormalized,\n        cacheKey = name + ' &amp; ' + (relName || '') + ' &amp; ' + !!applyMap;\n\n      parts = splitPrefix(name);\n      prefix = parts[0];\n      name = parts[1];\n\n      if (!prefix &amp;&amp; (cacheKey in mapCache)) {\n        return mapCache[cacheKey];\n      }\n\n      if (prefix) {\n        prefix = normalize(prefix, relName, applyMap);\n        plugin = (prefix in defined) &amp;&amp; defined[prefix];\n      }\n\n      // Normalize according\n      if (prefix) {\n        if (plugin &amp;&amp; plugin.normalize) {\n          name = plugin.normalize(name, makeNormalize(relName));\n          prefixNormalized = true;\n        } else {\n          // If nested plugin references, then do not try to\n          // normalize, as it will not normalize correctly. This\n          // places a restriction on resourceIds, and the longer\n          // term solution is not to normalize until plugins are\n          // loaded and all normalizations to allow for async\n          // loading of a loader plugin. But for now, fixes the\n          // common uses. Details in requirejs#1131\n          name = name.indexOf('!') === -1 ?\n                   normalize(name, relName, applyMap) :\n                   name;\n        }\n      } else {\n        name = normalize(name, relName, applyMap);\n        parts = splitPrefix(name);\n        prefix = parts[0];\n        name = parts[1];\n\n        url = req.nameToUrl(name);\n      }\n\n      // Using ridiculous property names for space reasons\n      result = {\n        id: prefix ? prefix + '!' + name : name, // fullName\n        n: name,\n        pr: prefix,\n        url: url,\n        prn: prefix &amp;&amp; prefixNormalized\n      };\n\n      if (!prefix) {\n        mapCache[cacheKey] = result;\n      }\n\n      return result;\n    };\n\n    handlers = {\n      require: function (name) {\n        return makeRequire(name);\n      },\n      exports: function (name) {\n        var e = defined[name];\n        if (typeof e !== 'undefined') {\n          return e;\n        } else {\n          return (defined[name] = {});\n        }\n      },\n      module: function (name) {\n        return {\n          id: name,\n          uri: '',\n          exports: handlers.exports(name),\n          config: function () {\n            return getOwn(config.config, name) || {};\n          }\n        };\n      }\n    };\n\n    function breakCycle(d, traced, processed) {\n      var id = d.map.id;\n\n      traced[id] = true;\n      if (!d.finished &amp;&amp; d.deps) {\n        d.deps.forEach(function (depMap) {\n          var depId = depMap.id,\n            dep = !hasProp(handlers, depId) &amp;&amp; getDefer(depId, depMap);\n\n          // Only force things that have not completed\n          // being defined, so still in the registry,\n          // and only if it has not been matched up\n          // in the module already.\n          if (dep &amp;&amp; !dep.finished &amp;&amp; !processed[depId]) {\n            if (hasProp(traced, depId)) {\n              d.deps.forEach(function (depMap, i) {\n                if (depMap.id === depId) {\n                  d.depFinished(defined[depId], i);\n                }\n              });\n            } else {\n              breakCycle(dep, traced, processed);\n            }\n          }\n        });\n      }\n      processed[id] = true;\n    }\n\n    function check(d) {\n      var err, mid, dfd,\n        notFinished = [],\n        waitInterval = config.waitSeconds * 1000,\n        // It is possible to disable the wait interval by using waitSeconds 0.\n        expired = waitInterval &amp;&amp;\n                  (startTime + waitInterval) &lt; (new Date()).getTime();\n\n    if (loadCount === 0) {\n        // If passed in a deferred, it is for a specific require call.\n        // Could be a sync case that needs resolution right away.\n        // Otherwise, if no deferred, means it was the last ditch\n        // timeout-based check, so check all waiting require deferreds.\n        if (d) {\n          if (!d.finished) {\n            breakCycle(d, {}, {});\n          }\n        } else if (requireDeferreds.length) {\n          requireDeferreds.forEach(function (d) {\n            breakCycle(d, {}, {});\n          });\n        }\n      }\n\n      // If still waiting on loads, and the waiting load is something\n      // other than a plugin resource, or there are still outstanding\n      // scripts, then just try back later.\n      if (expired) {\n        // If wait time expired, throw error of unloaded modules.\n        for (mid in deferreds) {\n          dfd = deferreds[mid];\n          if (!dfd.finished) {\n            notFinished.push(dfd.map.id);\n          }\n        }\n        err = new Error('Timeout for modules: ' + notFinished);\n        err.requireModules = notFinished;\n        err.requireType = 'timeout';\n        notFinished.forEach(function (id) {\n          reject(getDefer(id), err);\n        });\n      } else if (loadCount || requireDeferreds.length) {\n        // Something is still waiting to load. Wait for it, but only\n        // if a later check is not already scheduled. Using setTimeout\n        // because want other things in the event loop to happen,\n        // to help in dependency resolution, and this is really a\n        // last ditch check, mostly for detecting timeouts (cycles\n        // should come through the main() use of check()), so it can\n        // wait a bit before doing the final check.\n        if (!checkingLater) {\n          checkingLater = true;\n          setTimeout(function () {\n            checkingLater = false;\n            check();\n          }, 70);\n        }\n      }\n    }\n\n    // Used to break out of the promise try/catch chains.\n    function delayedError(e) {\n      setTimeout(function () {\n        if (!e.dynaId || !trackedErrors[e.dynaId]) {\n          trackedErrors[e.dynaId] = true;\n          req.onError(e);\n        }\n      });\n      return e;\n    }\n\n    main = function (name, deps, factory, errback, relName) {\n      if (name) {\n        // Only allow main calling once per module.\n        if (name in calledDefine) {\n          return;\n        }\n        calledDefine[name] = true;\n      }\n\n      var d = getDefer(name);\n\n      // This module may not have dependencies\n      if (deps &amp;&amp; !Array.isArray(deps)) {\n        // deps is not an array, so probably means\n        // an object literal or factory function for\n        // the value. Adjust args.\n        factory = deps;\n        deps = [];\n      }\n\n      // Create fresh array instead of modifying passed in value.\n      deps = deps ? slice.call(deps, 0) : null;\n\n      if (!errback) {\n        if (hasProp(config, 'defaultErrback')) {\n          if (config.defaultErrback) {\n            errback = config.defaultErrback;\n          }\n        } else {\n          errback = delayedError;\n        }\n      }\n\n      if (errback) {\n         d.promise.catch(errback);\n      }\n\n      // Use name if no relName\n      relName = relName || name;\n\n      // Call the factory to define the module, if necessary.\n      if (typeof factory === 'function') {\n\n        if (!deps.length &amp;&amp; factory.length) {\n          // Remove comments from the callback string,\n          // look for require calls, and pull them into the dependencies,\n          // but only if there are function args.\n          factory\n            .toString()\n            .replace(commentRegExp, commentReplace)\n            .replace(cjsRequireRegExp, function (match, dep) {\n              deps.push(dep);\n            });\n\n          // May be a CommonJS thing even without require calls, but still\n          // could use exports, and module. Avoid doing exports and module\n          // work though if it just needs require.\n          // REQUIRES the function to expect the CommonJS variables in the\n          // order listed below.\n          deps = (factory.length === 1 ?\n              ['require'] :\n              ['require', 'exports', 'module']).concat(deps);\n        }\n\n        // Save info for use later.\n        d.factory = factory;\n        d.deps = deps;\n\n        d.depending = true;\n        deps.forEach(function (depName, i) {\n          var depMap;\n          deps[i] = depMap = makeMap(depName, relName, true);\n          depName = depMap.id;\n\n          // Fast path CommonJS standard dependencies.\n          if (depName === \"require\") {\n            d.values[i] = handlers.require(name);\n          } else if (depName === \"exports\") {\n            // CommonJS module spec 1.1\n            d.values[i] = handlers.exports(name);\n            d.usingExports = true;\n          } else if (depName === \"module\") {\n            // CommonJS module spec 1.1\n            d.values[i] = d.cjsModule = handlers.module(name);\n          } else if (depName === undefined) {\n            d.values[i] = undefined;\n          } else {\n            waitForDep(depMap, relName, d, i);\n          }\n        });\n        d.depending = false;\n\n        // Some modules just depend on the require, exports, modules, so\n        // trigger their definition here if so.\n        if (d.depCount === d.depMax) {\n          defineModule(d);\n        }\n      } else if (name) {\n        // May just be an object definition for the module. Only\n        // worry about defining if have a module name.\n        resolve(name, d, factory);\n      }\n\n      startTime = (new Date()).getTime();\n\n      if (!name) {\n        check(d);\n      }\n\n      return d.promise;\n    };\n\n    req = makeRequire(null, true);\n\n    /*\n     * Just drops the config on the floor, but returns req in case\n     * the config return value is used.\n     */\n    req.config = function (cfg) {\n      if (cfg.context &amp;&amp; cfg.context !== contextName) {\n        var existingContext = getOwn(contexts, cfg.context);\n        if (existingContext) {\n          return existingContext.req.config(cfg);\n        } else {\n          return newContext(cfg.context).config(cfg);\n        }\n      }\n\n      // Since config changed, mapCache may not be valid any more.\n      mapCache = obj();\n\n      // Make sure the baseUrl ends in a slash.\n      if (cfg.baseUrl) {\n        if (cfg.baseUrl.charAt(cfg.baseUrl.length - 1) !== '/') {\n          cfg.baseUrl += '/';\n        }\n      }\n\n      // Convert old style urlArgs string to a function.\n      if (typeof cfg.urlArgs === 'string') {\n        var urlArgs = cfg.urlArgs;\n        cfg.urlArgs = function(id, url) {\n          return (url.indexOf('?') === -1 ? '?' : '&amp;') + urlArgs;\n        };\n      }\n\n      // Save off the paths and packages since they require special processing,\n      // they are additive.\n      var shim = config.shim,\n        objs = {\n          paths: true,\n          bundles: true,\n          config: true,\n          map: true\n        };\n\n      eachProp(cfg, function (value, prop) {\n        if (objs[prop]) {\n          if (!config[prop]) {\n            config[prop] = {};\n          }\n          mixin(config[prop], value, true, true);\n        } else {\n          config[prop] = value;\n        }\n      });\n\n      // Reverse map the bundles\n      if (cfg.bundles) {\n        eachProp(cfg.bundles, function (value, prop) {\n          value.forEach(function (v) {\n            if (v !== prop) {\n              bundlesMap[v] = prop;\n            }\n          });\n        });\n      }\n\n      // Merge shim\n      if (cfg.shim) {\n        eachProp(cfg.shim, function (value, id) {\n          // Normalize the structure\n          if (Array.isArray(value)) {\n            value = {\n              deps: value\n            };\n          }\n          if ((value.exports || value.init) &amp;&amp; !value.exportsFn) {\n            value.exportsFn = makeShimExports(value);\n          }\n          shim[id] = value;\n        });\n        config.shim = shim;\n      }\n\n      // Adjust packages if necessary.\n      if (cfg.packages) {\n        cfg.packages.forEach(function (pkgObj) {\n          var location, name;\n\n          pkgObj = typeof pkgObj === 'string' ? { name: pkgObj } : pkgObj;\n\n          name = pkgObj.name;\n          location = pkgObj.location;\n          if (location) {\n            config.paths[name] = pkgObj.location;\n          }\n\n          // Save pointer to main module ID for pkg name.\n          // Remove leading dot in main, so main paths are normalized,\n          // and remove any trailing .js, since different package\n          // envs have different conventions: some use a module name,\n          // some use a file name.\n          config.pkgs[name] = pkgObj.name + '/' + (pkgObj.main || 'main')\n                 .replace(currDirRegExp, '')\n                 .replace(jsSuffixRegExp, '');\n        });\n      }\n\n      // If a deps array or a config callback is specified, then call\n      // require with those args. This is useful when require is defined as a\n      // config object before require.js is loaded.\n      if (cfg.deps || cfg.callback) {\n        req(cfg.deps, cfg.callback);\n      }\n\n      return req;\n    };\n\n    req.onError = function (err) {\n      throw err;\n    };\n\n    context = {\n      id: contextName,\n      defined: defined,\n      waiting: waiting,\n      config: config,\n      deferreds: deferreds,\n      req: req,\n      execCb: function execCb(name, callback, args, exports) {\n        return callback.apply(exports, args);\n      }\n    };\n\n    contexts[contextName] = context;\n\n    return req;\n  }\n\n  requirejs = topReq = newContext('_');\n\n  if (typeof require !== 'function') {\n    require = topReq;\n  }\n\n  /**\n   * Executes the text. Normally just uses eval, but can be modified\n   * to use a better, environment-specific call. Only used for transpiling\n   * loader plugins, not for plain JS modules.\n   * @param {String} text the text to execute/evaluate.\n   */\n  topReq.exec = function (text) {\n    /*jslint evil: true */\n    return eval(text);\n  };\n\n  topReq.contexts = contexts;\n\n  define = function () {\n    queue.push(slice.call(arguments, 0));\n  };\n\n  define.amd = {\n    jQuery: true\n  };\n\n  if (bootstrapConfig) {\n    topReq.config(bootstrapConfig);\n  }\n\n  // data-main support.\n  if (topReq.isBrowser &amp;&amp; !contexts._.config.skipDataMain) {\n    dataMain = document.querySelectorAll('script[data-main]')[0];\n    dataMain = dataMain &amp;&amp; dataMain.getAttribute('data-main');\n    if (dataMain) {\n      // Strip off any trailing .js since dataMain is now\n      // like a module name.\n      dataMain = dataMain.replace(jsSuffixRegExp, '');\n\n      // Set final baseUrl if there is not already an explicit one,\n      // but only do so if the data-main value is not a loader plugin\n      // module ID.\n      if ((!bootstrapConfig || !bootstrapConfig.baseUrl) &amp;&amp;\n          dataMain.indexOf('!') === -1) {\n        // Pull off the directory of data-main for use as the\n        // baseUrl.\n        src = dataMain.split('/');\n        dataMain = src.pop();\n        subPath = src.length ? src.join('/')  + '/' : './';\n\n        topReq.config({baseUrl: subPath});\n      }\n\n      topReq([dataMain]);\n    }\n  }\n}(this, (typeof Promise !== 'undefined' ? Promise : undefined)));\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\n(function (factory) {\r\n    var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n    if (typeof define === \"function\" &amp;&amp; define.amd) {\r\n        define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n    }\r\n    else if (typeof module === \"object\" &amp;&amp; typeof module.exports === \"object\") {\r\n        factory(createExporter(root, createExporter(module.exports)));\r\n    }\r\n    else {\r\n        factory(createExporter(root));\r\n    }\r\n    function createExporter(exports, previous) {\r\n        if (exports !== root) {\r\n            if (typeof Object.create === \"function\") {\r\n                Object.defineProperty(exports, \"__esModule\", { value: true });\r\n            }\r\n            else {\r\n                exports.__esModule = true;\r\n            }\r\n        }\r\n        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n    }\r\n})\r\n(function (exporter) {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array &amp;&amp; function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\n    __extends = function (d, b) {\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n\r\n    __assign = Object.assign || function (t) {\r\n        for (var s, i = 1, n = arguments.length; i &lt; n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n\r\n    __rest = function (s, e) {\r\n        var t = {};\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) &amp;&amp; e.indexOf(p) &lt; 0)\r\n            t[p] = s[p];\r\n        if (s != null &amp;&amp; typeof Object.getOwnPropertySymbols === \"function\")\r\n            for (var i = 0, p = Object.getOwnPropertySymbols(s); i &lt; p.length; i++) {\r\n                if (e.indexOf(p[i]) &lt; 0 &amp;&amp; Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                    t[p[i]] = s[p[i]];\r\n            }\r\n        return t;\r\n    };\r\n\r\n    __decorate = function (decorators, target, key, desc) {\r\n        var c = arguments.length, r = c &lt; 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n        if (typeof Reflect === \"object\" &amp;&amp; typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n        else for (var i = decorators.length - 1; i &gt;= 0; i--) if (d = decorators[i]) r = (c &lt; 3 ? d(r) : c &gt; 3 ? d(target, key, r) : d(target, key)) || r;\r\n        return c &gt; 3 &amp;&amp; r &amp;&amp; Object.defineProperty(target, key, r), r;\r\n    };\r\n\r\n    __param = function (paramIndex, decorator) {\r\n        return function (target, key) { decorator(target, key, paramIndex); }\r\n    };\r\n\r\n    __metadata = function (metadataKey, metadataValue) {\r\n        if (typeof Reflect === \"object\" &amp;&amp; typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n    };\r\n\r\n    __awaiter = function (thisArg, _arguments, P, generator) {\r\n        return new (P || (P = Promise))(function (resolve, reject) {\r\n            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n            function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n            function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n            step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n        });\r\n    };\r\n\r\n    __generator = function (thisArg, body) {\r\n        var _ = { label: 0, sent: function() { if (t[0] &amp; 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n        return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" &amp;&amp; (g[Symbol.iterator] = function() { return this; }), g;\r\n        function verb(n) { return function (v) { return step([n, v]); }; }\r\n        function step(op) {\r\n            if (f) throw new TypeError(\"Generator is already executing.\");\r\n            while (_) try {\r\n                if (f = 1, y &amp;&amp; (t = op[0] &amp; 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) &amp;&amp; t.call(y), 0) : y.next) &amp;&amp; !(t = t.call(y, op[1])).done) return t;\r\n                if (y = 0, t) op = [op[0] &amp; 2, t.value];\r\n                switch (op[0]) {\r\n                    case 0: case 1: t = op; break;\r\n                    case 4: _.label++; return { value: op[1], done: false };\r\n                    case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                    case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                    default:\r\n                        if (!(t = _.trys, t = t.length &gt; 0 &amp;&amp; t[t.length - 1]) &amp;&amp; (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                        if (op[0] === 3 &amp;&amp; (!t || (op[1] &gt; t[0] &amp;&amp; op[1] &lt; t[3]))) { _.label = op[1]; break; }\r\n                        if (op[0] === 6 &amp;&amp; _.label &lt; t[1]) { _.label = t[1]; t = op; break; }\r\n                        if (t &amp;&amp; _.label &lt; t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                        if (t[2]) _.ops.pop();\r\n                        _.trys.pop(); continue;\r\n                }\r\n                op = body.call(thisArg, _);\r\n            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n            if (op[0] &amp; 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n        }\r\n    };\r\n\r\n    __exportStar = function (m, exports) {\r\n        for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n    };\r\n\r\n    __values = function (o) {\r\n        var m = typeof Symbol === \"function\" &amp;&amp; o[Symbol.iterator], i = 0;\r\n        if (m) return m.call(o);\r\n        return {\r\n            next: function () {\r\n                if (o &amp;&amp; i &gt;= o.length) o = void 0;\r\n                return { value: o &amp;&amp; o[i++], done: !o };\r\n            }\r\n        };\r\n    };\r\n\r\n    __read = function (o, n) {\r\n        var m = typeof Symbol === \"function\" &amp;&amp; o[Symbol.iterator];\r\n        if (!m) return o;\r\n        var i = m.call(o), r, ar = [], e;\r\n        try {\r\n            while ((n === void 0 || n-- &gt; 0) &amp;&amp; !(r = i.next()).done) ar.push(r.value);\r\n        }\r\n        catch (error) { e = { error: error }; }\r\n        finally {\r\n            try {\r\n                if (r &amp;&amp; !r.done &amp;&amp; (m = i[\"return\"])) m.call(i);\r\n            }\r\n            finally { if (e) throw e.error; }\r\n        }\r\n        return ar;\r\n    };\r\n\r\n    __spread = function () {\r\n        for (var ar = [], i = 0; i &lt; arguments.length; i++)\r\n            ar = ar.concat(__read(arguments[i]));\r\n        return ar;\r\n    };\r\n\r\n    __spreadArrays = function () {\r\n        for (var s = 0, i = 0, il = arguments.length; i &lt; il; i++) s += arguments[i].length;\r\n        for (var r = Array(s), k = 0, i = 0; i &lt; il; i++)\r\n            for (var a = arguments[i], j = 0, jl = a.length; j &lt; jl; j++, k++)\r\n                r[k] = a[j];\r\n        return r;\r\n    };\r\n\r\n    __await = function (v) {\r\n        return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n    };\r\n\r\n    __asyncGenerator = function (thisArg, _arguments, generator) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n        return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n        function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) &gt; 1 || resume(n, v); }); }; }\r\n        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n        function fulfill(value) { resume(\"next\", value); }\r\n        function reject(value) { resume(\"throw\", value); }\r\n        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n    };\r\n\r\n    __asyncDelegator = function (o) {\r\n        var i, p;\r\n        return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n    };\r\n\r\n    __asyncValues = function (o) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var m = o[Symbol.asyncIterator], i;\r\n        return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n        function verb(n) { i[n] = o[n] &amp;&amp; function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n    };\r\n\r\n    __makeTemplateObject = function (cooked, raw) {\r\n        if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n        return cooked;\r\n    };\r\n\r\n    __importStar = function (mod) {\r\n        if (mod &amp;&amp; mod.__esModule) return mod;\r\n        var result = {};\r\n        if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n        result[\"default\"] = mod;\r\n        return result;\r\n    };\r\n\r\n    __importDefault = function (mod) {\r\n        return (mod &amp;&amp; mod.__esModule) ? mod : { \"default\": mod };\r\n    };\r\n\r\n    exporter(\"__extends\", __extends);\r\n    exporter(\"__assign\", __assign);\r\n    exporter(\"__rest\", __rest);\r\n    exporter(\"__decorate\", __decorate);\r\n    exporter(\"__param\", __param);\r\n    exporter(\"__metadata\", __metadata);\r\n    exporter(\"__awaiter\", __awaiter);\r\n    exporter(\"__generator\", __generator);\r\n    exporter(\"__exportStar\", __exportStar);\r\n    exporter(\"__values\", __values);\r\n    exporter(\"__read\", __read);\r\n    exporter(\"__spread\", __spread);\r\n    exporter(\"__spreadArrays\", __spreadArrays);\r\n    exporter(\"__await\", __await);\r\n    exporter(\"__asyncGenerator\", __asyncGenerator);\r\n    exporter(\"__asyncDelegator\", __asyncDelegator);\r\n    exporter(\"__asyncValues\", __asyncValues);\r\n    exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n    exporter(\"__importStar\", __importStar);\r\n    exporter(\"__importDefault\", __importDefault);\r\n});\r\n","export function objectOrFunction(x) {\n  var type = typeof x;\n  return x !== null &amp;&amp; (type === 'object' || type === 'function');\n}\n\nexport function isFunction(x) {\n  return typeof x === 'function';\n}\n\nexport function isMaybeThenable(x) {\n  return x !== null &amp;&amp; typeof x === 'object';\n}\n\nvar _isArray = void 0;\nif (Array.isArray) {\n  _isArray = Array.isArray;\n} else {\n  _isArray = function (x) {\n    return Object.prototype.toString.call(x) === '[object Array]';\n  };\n}\n\nexport var isArray = _isArray;","var len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nexport var asap = function asap(callback, arg) {\n  queue[len] = callback;\n  queue[len + 1] = arg;\n  len += 2;\n  if (len === 2) {\n    // If len is 2, that means that we need to schedule an async flush.\n    // If additional callbacks are queued before the queue is flushed, they\n    // will be processed by this flush that we are scheduling.\n    if (customSchedulerFn) {\n      customSchedulerFn(flush);\n    } else {\n      scheduleFlush();\n    }\n  }\n};\n\nexport function setScheduler(scheduleFn) {\n  customSchedulerFn = scheduleFn;\n}\n\nexport function setAsap(asapFn) {\n  asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' &amp;&amp; typeof process !== 'undefined' &amp;&amp; {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' &amp;&amp; typeof importScripts !== 'undefined' &amp;&amp; typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n  // see https://github.com/cujojs/when/issues/410 for details\n  return function () {\n    return process.nextTick(flush);\n  };\n}\n\n// vertx\nfunction useVertxTimer() {\n  if (typeof vertxNext !== 'undefined') {\n    return function () {\n      vertxNext(flush);\n    };\n  }\n\n  return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n  var iterations = 0;\n  var observer = new BrowserMutationObserver(flush);\n  var node = document.createTextNode('');\n  observer.observe(node, { characterData: true });\n\n  return function () {\n    node.data = iterations = ++iterations % 2;\n  };\n}\n\n// web worker\nfunction useMessageChannel() {\n  var channel = new MessageChannel();\n  channel.port1.onmessage = flush;\n  return function () {\n    return channel.port2.postMessage(0);\n  };\n}\n\nfunction useSetTimeout() {\n  // Store setTimeout reference so es6-promise will be unaffected by\n  // other code modifying setTimeout (like sinon.useFakeTimers())\n  var globalSetTimeout = setTimeout;\n  return function () {\n    return globalSetTimeout(flush, 1);\n  };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n  for (var i = 0; i &lt; len; i += 2) {\n    var callback = queue[i];\n    var arg = queue[i + 1];\n\n    callback(arg);\n\n    queue[i] = undefined;\n    queue[i + 1] = undefined;\n  }\n\n  len = 0;\n}\n\nfunction attemptVertx() {\n  try {\n    var vertx = Function('return this')().require('vertx');\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\n    return useVertxTimer();\n  } catch (e) {\n    return useSetTimeout();\n  }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n  scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n  scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n  scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined &amp;&amp; typeof require === 'function') {\n  scheduleFlush = attemptVertx();\n} else {\n  scheduleFlush = useSetTimeout();\n}","import { invokeCallback, subscribe, FULFILLED, REJECTED, noop, makePromise, PROMISE_ID } from './-internal';\n\nimport { asap } from './asap';\n\nexport default function then(onFulfillment, onRejection) {\n  var parent = this;\n\n  var child = new this.constructor(noop);\n\n  if (child[PROMISE_ID] === undefined) {\n    makePromise(child);\n  }\n\n  var _state = parent._state;\n\n\n  if (_state) {\n    var callback = arguments[_state - 1];\n    asap(function () {\n      return invokeCallback(_state, child, callback, parent._result);\n    });\n  } else {\n    subscribe(parent, child, onFulfillment, onRejection);\n  }\n\n  return child;\n}","import { noop, resolve as _resolve } from '../-internal';\n\n/**\n  `Promise.resolve` returns a promise that will become resolved with the\n  passed `value`. It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    resolve(1);\n  });\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.resolve(1);\n\n  promise.then(function(value){\n    // value === 1\n  });\n  ```\n\n  @method resolve\n  @static\n  @param {Any} value value that the returned promise will be resolved with\n  Useful for tooling.\n  @return {Promise} a promise that will become fulfilled with the given\n  `value`\n*/\nexport default function resolve(object) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (object &amp;&amp; typeof object === 'object' &amp;&amp; object.constructor === Constructor) {\n    return object;\n  }\n\n  var promise = new Constructor(noop);\n  _resolve(promise, object);\n  return promise;\n}","import { objectOrFunction, isFunction } from './utils';\n\nimport { asap } from './asap';\n\nimport originalThen from './then';\nimport originalResolve from './promise/resolve';\n\nexport var PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n  return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n  return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then, value, fulfillmentHandler, rejectionHandler) {\n  try {\n    then.call(value, fulfillmentHandler, rejectionHandler);\n  } catch (e) {\n    return e;\n  }\n}\n\nfunction handleForeignThenable(promise, thenable, then) {\n  asap(function (promise) {\n    var sealed = false;\n    var error = tryThen(then, thenable, function (value) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n      if (thenable !== value) {\n        resolve(promise, value);\n      } else {\n        fulfill(promise, value);\n      }\n    }, function (reason) {\n      if (sealed) {\n        return;\n      }\n      sealed = true;\n\n      reject(promise, reason);\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n    if (!sealed &amp;&amp; error) {\n      sealed = true;\n      reject(promise, error);\n    }\n  }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n  if (thenable._state === FULFILLED) {\n    fulfill(promise, thenable._result);\n  } else if (thenable._state === REJECTED) {\n    reject(promise, thenable._result);\n  } else {\n    subscribe(thenable, undefined, function (value) {\n      return resolve(promise, value);\n    }, function (reason) {\n      return reject(promise, reason);\n    });\n  }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then) {\n  if (maybeThenable.constructor === promise.constructor &amp;&amp; then === originalThen &amp;&amp; maybeThenable.constructor.resolve === originalResolve) {\n    handleOwnThenable(promise, maybeThenable);\n  } else {\n    if (then === undefined) {\n      fulfill(promise, maybeThenable);\n    } else if (isFunction(then)) {\n      handleForeignThenable(promise, maybeThenable, then);\n    } else {\n      fulfill(promise, maybeThenable);\n    }\n  }\n}\n\nfunction resolve(promise, value) {\n  if (promise === value) {\n    reject(promise, selfFulfillment());\n  } else if (objectOrFunction(value)) {\n    var then = void 0;\n    try {\n      then = value.then;\n    } catch (error) {\n      reject(promise, error);\n      return;\n    }\n    handleMaybeThenable(promise, value, then);\n  } else {\n    fulfill(promise, value);\n  }\n}\n\nfunction publishRejection(promise) {\n  if (promise._onerror) {\n    promise._onerror(promise._result);\n  }\n\n  publish(promise);\n}\n\nfunction fulfill(promise, value) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n\n  promise._result = value;\n  promise._state = FULFILLED;\n\n  if (promise._subscribers.length !== 0) {\n    asap(publish, promise);\n  }\n}\n\nfunction reject(promise, reason) {\n  if (promise._state !== PENDING) {\n    return;\n  }\n  promise._state = REJECTED;\n  promise._result = reason;\n\n  asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n  var _subscribers = parent._subscribers;\n  var length = _subscribers.length;\n\n\n  parent._onerror = null;\n\n  _subscribers[length] = child;\n  _subscribers[length + FULFILLED] = onFulfillment;\n  _subscribers[length + REJECTED] = onRejection;\n\n  if (length === 0 &amp;&amp; parent._state) {\n    asap(publish, parent);\n  }\n}\n\nfunction publish(promise) {\n  var subscribers = promise._subscribers;\n  var settled = promise._state;\n\n  if (subscribers.length === 0) {\n    return;\n  }\n\n  var child = void 0,\n      callback = void 0,\n      detail = promise._result;\n\n  for (var i = 0; i &lt; subscribers.length; i += 3) {\n    child = subscribers[i];\n    callback = subscribers[i + settled];\n\n    if (child) {\n      invokeCallback(settled, child, callback, detail);\n    } else {\n      callback(detail);\n    }\n  }\n\n  promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n  var hasCallback = isFunction(callback),\n      value = void 0,\n      error = void 0,\n      succeeded = true;\n\n  if (hasCallback) {\n    try {\n      value = callback(detail);\n    } catch (e) {\n      succeeded = false;\n      error = e;\n    }\n\n    if (promise === value) {\n      reject(promise, cannotReturnOwn());\n      return;\n    }\n  } else {\n    value = detail;\n  }\n\n  if (promise._state !== PENDING) {\n    // noop\n  } else if (hasCallback &amp;&amp; succeeded) {\n    resolve(promise, value);\n  } else if (succeeded === false) {\n    reject(promise, error);\n  } else if (settled === FULFILLED) {\n    fulfill(promise, value);\n  } else if (settled === REJECTED) {\n    reject(promise, value);\n  }\n}\n\nfunction initializePromise(promise, resolver) {\n  try {\n    resolver(function resolvePromise(value) {\n      resolve(promise, value);\n    }, function rejectPromise(reason) {\n      reject(promise, reason);\n    });\n  } catch (e) {\n    reject(promise, e);\n  }\n}\n\nvar id = 0;\nfunction nextId() {\n  return id++;\n}\n\nfunction makePromise(promise) {\n  promise[PROMISE_ID] = id++;\n  promise._state = undefined;\n  promise._result = undefined;\n  promise._subscribers = [];\n}\n\nexport { nextId, makePromise, noop, resolve, reject, fulfill, subscribe, publish, publishRejection, initializePromise, invokeCallback, FULFILLED, REJECTED, PENDING, handleMaybeThenable };","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isArray, isMaybeThenable } from './utils';\nimport { noop, reject, fulfill, subscribe, FULFILLED, REJECTED, PENDING, handleMaybeThenable } from './-internal';\n\nimport then from './then';\nimport Promise from './promise';\nimport originalResolve from './promise/resolve';\nimport originalThen from './then';\nimport { makePromise, PROMISE_ID } from './-internal';\n\nfunction validationError() {\n  return new Error('Array Methods must be provided an Array');\n};\n\nvar Enumerator = function () {\n  function Enumerator(Constructor, input) {\n    this._instanceConstructor = Constructor;\n    this.promise = new Constructor(noop);\n\n    if (!this.promise[PROMISE_ID]) {\n      makePromise(this.promise);\n    }\n\n    if (isArray(input)) {\n      this.length = input.length;\n      this._remaining = input.length;\n\n      this._result = new Array(this.length);\n\n      if (this.length === 0) {\n        fulfill(this.promise, this._result);\n      } else {\n        this.length = this.length || 0;\n        this._enumerate(input);\n        if (this._remaining === 0) {\n          fulfill(this.promise, this._result);\n        }\n      }\n    } else {\n      reject(this.promise, validationError());\n    }\n  }\n\n  Enumerator.prototype._enumerate = function _enumerate(input) {\n    for (var i = 0; this._state === PENDING &amp;&amp; i &lt; input.length; i++) {\n      this._eachEntry(input[i], i);\n    }\n  };\n\n  Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n    var c = this._instanceConstructor;\n    var resolve = c.resolve;\n\n\n    if (resolve === originalResolve) {\n      var _then = void 0;\n      var error = void 0;\n      var didError = false;\n      try {\n        _then = entry.then;\n      } catch (e) {\n        didError = true;\n        error = e;\n      }\n\n      if (_then === originalThen &amp;&amp; entry._state !== PENDING) {\n        this._settledAt(entry._state, i, entry._result);\n      } else if (typeof _then !== 'function') {\n        this._remaining--;\n        this._result[i] = entry;\n      } else if (c === Promise) {\n        var promise = new c(noop);\n        if (didError) {\n          reject(promise, error);\n        } else {\n          handleMaybeThenable(promise, entry, _then);\n        }\n        this._willSettleAt(promise, i);\n      } else {\n        this._willSettleAt(new c(function (resolve) {\n          return resolve(entry);\n        }), i);\n      }\n    } else {\n      this._willSettleAt(resolve(entry), i);\n    }\n  };\n\n  Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n    var promise = this.promise;\n\n\n    if (promise._state === PENDING) {\n      this._remaining--;\n\n      if (state === REJECTED) {\n        reject(promise, value);\n      } else {\n        this._result[i] = value;\n      }\n    }\n\n    if (this._remaining === 0) {\n      fulfill(promise, this._result);\n    }\n  };\n\n  Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n    var enumerator = this;\n\n    subscribe(promise, undefined, function (value) {\n      return enumerator._settledAt(FULFILLED, i, value);\n    }, function (reason) {\n      return enumerator._settledAt(REJECTED, i, reason);\n    });\n  };\n\n  return Enumerator;\n}();\n\nexport default Enumerator;\n;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport { isFunction } from './utils';\nimport { noop, nextId, PROMISE_ID, initializePromise } from './-internal';\nimport { asap, setAsap, setScheduler } from './asap';\n\nimport all from './promise/all';\nimport race from './promise/race';\nimport Resolve from './promise/resolve';\nimport Reject from './promise/reject';\nimport then from './then';\n\nfunction needsResolver() {\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n  Promise objects represent the eventual result of an asynchronous operation. The\n  primary way of interacting with a promise is through its `then` method, which\n  registers callbacks to receive either a promise's eventual value or the reason\n  why the promise cannot be fulfilled.\n\n  Terminology\n  -----------\n\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n  - `thenable` is an object or function that defines a `then` method.\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n  - `exception` is a value that is thrown using the throw statement.\n  - `reason` is a value that indicates why a promise was rejected.\n  - `settled` the final resting state of a promise, fulfilled or rejected.\n\n  A promise can be in one of three states: pending, fulfilled, or rejected.\n\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\n  state.  Promises that are rejected have a rejection reason and are in the\n  rejected state.  A fulfillment value is never a thenable.\n\n  Promises can also be said to *resolve* a value.  If this value is also a\n  promise, then the original promise's settled state will match the value's\n  settled state.  So a promise that *resolves* a promise that rejects will\n  itself reject, and a promise that *resolves* a promise that fulfills will\n  itself fulfill.\n\n\n  Basic Usage:\n  ------------\n\n  ```js\n  let promise = new Promise(function(resolve, reject) {\n    // on success\n    resolve(value);\n\n    // on failure\n    reject(reason);\n  });\n\n  promise.then(function(value) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Advanced Usage:\n  ---------------\n\n  Promises shine when abstracting away asynchronous interactions such as\n  `XMLHttpRequest`s.\n\n  ```js\n  function getJSON(url) {\n    return new Promise(function(resolve, reject){\n      let xhr = new XMLHttpRequest();\n\n      xhr.open('GET', url);\n      xhr.onreadystatechange = handler;\n      xhr.responseType = 'json';\n      xhr.setRequestHeader('Accept', 'application/json');\n      xhr.send();\n\n      function handler() {\n        if (this.readyState === this.DONE) {\n          if (this.status === 200) {\n            resolve(this.response);\n          } else {\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n          }\n        }\n      };\n    });\n  }\n\n  getJSON('/posts.json').then(function(json) {\n    // on fulfillment\n  }, function(reason) {\n    // on rejection\n  });\n  ```\n\n  Unlike callbacks, promises are great composable primitives.\n\n  ```js\n  Promise.all([\n    getJSON('/posts'),\n    getJSON('/comments')\n  ]).then(function(values){\n    values[0] // =&gt; postsJSON\n    values[1] // =&gt; commentsJSON\n\n    return values;\n  });\n  ```\n\n  @class Promise\n  @param {Function} resolver\n  Useful for tooling.\n  @constructor\n*/\n\nvar Promise = function () {\n  function Promise(resolver) {\n    this[PROMISE_ID] = nextId();\n    this._result = this._state = undefined;\n    this._subscribers = [];\n\n    if (noop !== resolver) {\n      typeof resolver !== 'function' &amp;&amp; needsResolver();\n      this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n    }\n  }\n\n  /**\n  The primary way of interacting with a promise is through its `then` method,\n  which registers callbacks to receive either a promise's eventual value or the\n  reason why the promise cannot be fulfilled.\n   ```js\n  findUser().then(function(user){\n    // user is available\n  }, function(reason){\n    // user is unavailable, and you are given the reason why\n  });\n  ```\n   Chaining\n  --------\n   The return value of `then` is itself a promise.  This second, 'downstream'\n  promise is resolved with the return value of the first promise's fulfillment\n  or rejection handler, or rejected if the handler throws an exception.\n   ```js\n  findUser().then(function (user) {\n    return user.name;\n  }, function (reason) {\n    return 'default name';\n  }).then(function (userName) {\n    // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n    // will be `'default name'`\n  });\n   findUser().then(function (user) {\n    throw new Error('Found user, but still unhappy');\n  }, function (reason) {\n    throw new Error('`findUser` rejected and we're unhappy');\n  }).then(function (value) {\n    // never reached\n  }, function (reason) {\n    // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n    // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n  });\n  ```\n  If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n   ```js\n  findUser().then(function (user) {\n    throw new PedagogicalException('Upstream error');\n  }).then(function (value) {\n    // never reached\n  }).then(function (value) {\n    // never reached\n  }, function (reason) {\n    // The `PedgagocialException` is propagated all the way down to here\n  });\n  ```\n   Assimilation\n  ------------\n   Sometimes the value you want to propagate to a downstream promise can only be\n  retrieved asynchronously. This can be achieved by returning a promise in the\n  fulfillment or rejection handler. The downstream promise will then be pending\n  until the returned promise is settled. This is called *assimilation*.\n   ```js\n  findUser().then(function (user) {\n    return findCommentsByAuthor(user);\n  }).then(function (comments) {\n    // The user's comments are now available\n  });\n  ```\n   If the assimliated promise rejects, then the downstream promise will also reject.\n   ```js\n  findUser().then(function (user) {\n    return findCommentsByAuthor(user);\n  }).then(function (comments) {\n    // If `findCommentsByAuthor` fulfills, we'll have the value here\n  }, function (reason) {\n    // If `findCommentsByAuthor` rejects, we'll have the reason here\n  });\n  ```\n   Simple Example\n  --------------\n   Synchronous Example\n   ```javascript\n  let result;\n   try {\n    result = findResult();\n    // success\n  } catch(reason) {\n    // failure\n  }\n  ```\n   Errback Example\n   ```js\n  findResult(function(result, err){\n    if (err) {\n      // failure\n    } else {\n      // success\n    }\n  });\n  ```\n   Promise Example;\n   ```javascript\n  findResult().then(function(result){\n    // success\n  }, function(reason){\n    // failure\n  });\n  ```\n   Advanced Example\n  --------------\n   Synchronous Example\n   ```javascript\n  let author, books;\n   try {\n    author = findAuthor();\n    books  = findBooksByAuthor(author);\n    // success\n  } catch(reason) {\n    // failure\n  }\n  ```\n   Errback Example\n   ```js\n   function foundBooks(books) {\n   }\n   function failure(reason) {\n   }\n   findAuthor(function(author, err){\n    if (err) {\n      failure(err);\n      // failure\n    } else {\n      try {\n        findBoooksByAuthor(author, function(books, err) {\n          if (err) {\n            failure(err);\n          } else {\n            try {\n              foundBooks(books);\n            } catch(reason) {\n              failure(reason);\n            }\n          }\n        });\n      } catch(error) {\n        failure(err);\n      }\n      // success\n    }\n  });\n  ```\n   Promise Example;\n   ```javascript\n  findAuthor().\n    then(findBooksByAuthor).\n    then(function(books){\n      // found books\n  }).catch(function(reason){\n    // something went wrong\n  });\n  ```\n   @method then\n  @param {Function} onFulfilled\n  @param {Function} onRejected\n  Useful for tooling.\n  @return {Promise}\n  */\n\n  /**\n  `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n  as the catch block of a try/catch statement.\n  ```js\n  function findAuthor(){\n  throw new Error('couldn't find that author');\n  }\n  // synchronous\n  try {\n  findAuthor();\n  } catch(reason) {\n  // something went wrong\n  }\n  // async with promises\n  findAuthor().catch(function(reason){\n  // something went wrong\n  });\n  ```\n  @method catch\n  @param {Function} onRejection\n  Useful for tooling.\n  @return {Promise}\n  */\n\n\n  Promise.prototype.catch = function _catch(onRejection) {\n    return this.then(null, onRejection);\n  };\n\n  /**\n    `finally` will be invoked regardless of the promise's fate just as native\n    try/catch/finally behaves\n  \n    Synchronous example:\n  \n    ```js\n    findAuthor() {\n      if (Math.random() &gt; 0.5) {\n        throw new Error();\n      }\n      return new Author();\n    }\n  \n    try {\n      return findAuthor(); // succeed or fail\n    } catch(error) {\n      return findOtherAuther();\n    } finally {\n      // always runs\n      // doesn't affect the return value\n    }\n    ```\n  \n    Asynchronous example:\n  \n    ```js\n    findAuthor().catch(function(reason){\n      return findOtherAuther();\n    }).finally(function(){\n      // author was either found, or not\n    });\n    ```\n  \n    @method finally\n    @param {Function} callback\n    @return {Promise}\n  */\n\n\n  Promise.prototype.finally = function _finally(callback) {\n    var promise = this;\n    var constructor = promise.constructor;\n\n    if (isFunction(callback)) {\n      return promise.then(function (value) {\n        return constructor.resolve(callback()).then(function () {\n          return value;\n        });\n      }, function (reason) {\n        return constructor.resolve(callback()).then(function () {\n          throw reason;\n        });\n      });\n    }\n\n    return promise.then(callback, callback);\n  };\n\n  return Promise;\n}();\n\nPromise.prototype.then = then;\nexport default Promise;\nPromise.all = all;\nPromise.race = race;\nPromise.resolve = Resolve;\nPromise.reject = Reject;\nPromise._setScheduler = setScheduler;\nPromise._setAsap = setAsap;\nPromise._asap = asap;","import Enumerator from '../enumerator';\n\n/**\n  `Promise.all` accepts an array of promises, and returns a new promise which\n  is fulfilled with an array of fulfillment values for the passed promises, or\n  rejected with the reason of the first passed promise to be rejected. It casts all\n  elements of the passed iterable to promises as it runs this algorithm.\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = resolve(2);\n  let promise3 = resolve(3);\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // The array here would be [ 1, 2, 3 ];\n  });\n  ```\n\n  If any of the `promises` given to `all` are rejected, the first promise\n  that is rejected will be given as an argument to the returned promises's\n  rejection handler. For example:\n\n  Example:\n\n  ```javascript\n  let promise1 = resolve(1);\n  let promise2 = reject(new Error(\"2\"));\n  let promise3 = reject(new Error(\"3\"));\n  let promises = [ promise1, promise2, promise3 ];\n\n  Promise.all(promises).then(function(array){\n    // Code here never runs because there are rejected promises!\n  }, function(error) {\n    // error.message === \"2\"\n  });\n  ```\n\n  @method all\n  @static\n  @param {Array} entries array of promises\n  @param {String} label optional string for labeling the promise.\n  Useful for tooling.\n  @return {Promise} promise that is fulfilled when all `promises` have been\n  fulfilled, or rejected if any of them become rejected.\n  @static\n*/\nexport default function all(entries) {\n  return new Enumerator(this, entries).promise;\n}","import { isArray } from \"../utils\";\n\n/**\n  `Promise.race` returns a new promise which is settled in the same way as the\n  first passed promise to settle.\n\n  Example:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 2');\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // result === 'promise 2' because it was resolved before promise1\n    // was resolved.\n  });\n  ```\n\n  `Promise.race` is deterministic in that only the state of the first\n  settled promise matters. For example, even if other promises given to the\n  `promises` array argument are resolved, but the first settled promise has\n  become rejected before the other promises became fulfilled, the returned\n  promise will become rejected:\n\n  ```javascript\n  let promise1 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      resolve('promise 1');\n    }, 200);\n  });\n\n  let promise2 = new Promise(function(resolve, reject){\n    setTimeout(function(){\n      reject(new Error('promise 2'));\n    }, 100);\n  });\n\n  Promise.race([promise1, promise2]).then(function(result){\n    // Code here never runs\n  }, function(reason){\n    // reason.message === 'promise 2' because promise 2 became rejected before\n    // promise 1 became fulfilled\n  });\n  ```\n\n  An example real-world use case is implementing timeouts:\n\n  ```javascript\n  Promise.race([ajax('foo.json'), timeout(5000)])\n  ```\n\n  @method race\n  @static\n  @param {Array} promises array of promises to observe\n  Useful for tooling.\n  @return {Promise} a promise which settles in the same way as the first passed\n  promise to settle.\n*/\nexport default function race(entries) {\n  /*jshint validthis:true */\n  var Constructor = this;\n\n  if (!isArray(entries)) {\n    return new Constructor(function (_, reject) {\n      return reject(new TypeError('You must pass an array to race.'));\n    });\n  } else {\n    return new Constructor(function (resolve, reject) {\n      var length = entries.length;\n      for (var i = 0; i &lt; length; i++) {\n        Constructor.resolve(entries[i]).then(resolve, reject);\n      }\n    });\n  }\n}","import { noop, reject as _reject } from '../-internal';\n\n/**\n  `Promise.reject` returns a promise rejected with the passed `reason`.\n  It is shorthand for the following:\n\n  ```javascript\n  let promise = new Promise(function(resolve, reject){\n    reject(new Error('WHOOPS'));\n  });\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  Instead of writing the above, your code now simply becomes the following:\n\n  ```javascript\n  let promise = Promise.reject(new Error('WHOOPS'));\n\n  promise.then(function(value){\n    // Code here doesn't run because the promise is rejected!\n  }, function(reason){\n    // reason.message === 'WHOOPS'\n  });\n  ```\n\n  @method reject\n  @static\n  @param {Any} reason value that the returned promise will be rejected with.\n  Useful for tooling.\n  @return {Promise} a promise rejected with the given `reason`.\n*/\nexport default function reject(reason) {\n  /*jshint validthis:true */\n  var Constructor = this;\n  var promise = new Constructor(noop);\n  _reject(promise, reason);\n  return promise;\n}","import Promise from './es6-promise/promise';\nimport polyfill from './es6-promise/polyfill';\n\n// Strange compat..\nPromise.polyfill = polyfill;\nPromise.Promise = Promise;\nexport default Promise;","/*global self*/\nimport Promise from './promise';\n\nexport default function polyfill() {\n  var local = void 0;\n\n  if (typeof global !== 'undefined') {\n    local = global;\n  } else if (typeof self !== 'undefined') {\n    local = self;\n  } else {\n    try {\n      local = Function('return this')();\n    } catch (e) {\n      throw new Error('polyfill failed because global object is unavailable in this environment');\n    }\n  }\n\n  var P = local.Promise;\n\n  if (P) {\n    var promiseToString = null;\n    try {\n      promiseToString = Object.prototype.toString.call(P.resolve());\n    } catch (e) {\n      // silently ignored\n    }\n\n    if (promiseToString === '[object Promise]' &amp;&amp; !P.cast) {\n      return;\n    }\n  }\n\n  local.Promise = Promise;\n}","import Promise from './es6-promise';\nPromise.polyfill();\nexport default Promise;","import options from './options';\nimport { assign } from './util';\n\n/**\n  * Create an virtual node (used for JSX)\n  * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n  * constructor for this virtual node\n  * @param {object | null | undefined} [props] The properties of the virtual node\n  * @param {Array&lt;import('.').ComponentChildren&gt;} [children] The children of the virtual node\n  * @returns {import('./internal').VNode}\n  */\nexport function createElement(type, props, children) {\n\tprops = assign({}, props);\n\n\tif (arguments.length&gt;3) {\n\t\tchildren = [children];\n\t\t// https://github.com/preactjs/preact/issues/1916\n\t\tfor (let i=3; i&lt;arguments.length; i++) {\n\t\t\tchildren.push(arguments[i]);\n\t\t}\n\t}\n\tif (children!=null) {\n\t\tprops.children = children;\n\t}\n\n\t// \"type\" may be undefined during development. The check is needed so that\n\t// we can display a nice error message with our debug helpers\n\tif (type!=null &amp;&amp; type.defaultProps!=null) {\n\t\tfor (let i in type.defaultProps) {\n\t\t\tif (props[i]===undefined) props[i] = type.defaultProps[i];\n\t\t}\n\t}\n\tlet ref = props.ref;\n\tlet key = props.key;\n\tif (ref!=null) delete props.ref;\n\tif (key!=null) delete props.key;\n\n\treturn createVNode(type, props, key, ref);\n}\n\n/**\n * Create a VNode (used internally by Preact)\n * @param {import('./internal').VNode[\"type\"]} type The node name or Component\n * Constructor for this virtual node\n * @param {object | string | number | null} props The properties of this virtual node.\n * If this virtual node represents a text node, this is the text of the node (string or number).\n * @param {string | number | null} key The key for this virtual node, used when\n * diffing it against its children\n * @param {import('./internal').VNode[\"ref\"]} ref The ref property that will\n * receive a reference to its created child\n * @returns {import('./internal').VNode}\n */\nexport function createVNode(type, props, key, ref) {\n\t// V8 seems to be better at detecting type shapes if the object is allocated from the same call site\n\t// Do not inline into createElement and coerceToVNode!\n\tconst vnode = {\n\t\ttype,\n\t\tprops,\n\t\tkey,\n\t\tref,\n\t\t_children: null,\n\t\t_parent: null,\n\t\t_depth: 0,\n\t\t_dom: null,\n\t\t_lastDomChild: null,\n\t\t_component: null,\n\t\tconstructor: undefined\n\t};\n\n\tif (options.vnode) options.vnode(vnode);\n\n\treturn vnode;\n}\n\nexport function createRef() {\n\treturn {};\n}\n\nexport function Fragment(props) {\n\treturn props.children;\n}\n\n/**\n * Check if a the argument is a valid Preact VNode.\n * @param {*} vnode\n * @returns {vnode is import('./internal').VNode}\n */\nexport const isValidElement = vnode =&gt; vnode!=null &amp;&amp; vnode.constructor === undefined;\n\n/**\n * Coerce an untrusted value into a VNode\n * Specifically, this should be used anywhere a user could provide a boolean, string, or number where\n * a VNode or Component is desired instead\n * @param {boolean | string | number | import('./internal').VNode} possibleVNode A possible VNode\n * @returns {import('./internal').VNode | null}\n */\nexport function coerceToVNode(possibleVNode) {\n\tif (possibleVNode == null || typeof possibleVNode === 'boolean') return null;\n\tif (typeof possibleVNode === 'string' || typeof possibleVNode === 'number') {\n\t\treturn createVNode(null, possibleVNode, null, null);\n\t}\n\n\t// Clone vnode if it has already been used. ceviche/#57\n\tif (possibleVNode._dom!=null || possibleVNode._component!=null) {\n\t\tlet vnode = createVNode(possibleVNode.type, possibleVNode.props, possibleVNode.key, null);\n\t\tvnode._dom = possibleVNode._dom;\n\t\treturn vnode;\n\t}\n\n\treturn possibleVNode;\n}\n","import { assign } from './util';\nimport { diff, commitRoot } from './diff/index';\nimport options from './options';\nimport { Fragment } from './create-element';\n\n/**\n * Base Component class. Provides `setState()` and `forceUpdate()`, which\n * trigger rendering\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components'\n * getChildContext\n */\nexport function Component(props, context) {\n\tthis.props = props;\n\tthis.context = context;\n\t// this.constructor // When component is functional component, this is reset to functional component\n\t// if (this.state==null) this.state = {};\n\t// this.state = {};\n\t// this._dirty = true;\n\t// this._renderCallbacks = []; // Only class components\n\n\t// Other properties that Component will have set later,\n\t// shown here as commented out for quick reference\n\t// this.base = null;\n\t// this._context = null;\n\t// this._vnode = null;\n\t// this._nextState = null; // Only class components\n\t// this._processingException = null; // Always read, set only when handling error\n\t// this._pendingError = null; // Always read, set only when handling error. This is used to indicate at diffTime to set _processingException\n}\n\n/**\n * Update component state and schedule a re-render.\n * @param {object | ((s: object, p: object) =&gt; object)} update A hash of state\n * properties to update with new values or a function that given the current\n * state and props returns a new partial state\n * @param {() =&gt; void} [callback] A function to be called once component state is\n * updated\n */\nComponent.prototype.setState = function(update, callback) {\n\t// only clone state when copying to nextState the first time.\n\tlet s = (this._nextState!==this.state &amp;&amp; this._nextState) || (this._nextState = assign({}, this.state));\n\n\t// if update() mutates state in-place, skip the copy:\n\tif (typeof update!=='function' || (update = update(s, this.props))) {\n\t\tassign(s, update);\n\t}\n\n\t// Skip update if updater function returned null\n\tif (update==null) return;\n\n\tif (this._vnode) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t}\n};\n\n/**\n * Immediately perform a synchronous re-render of the component\n * @param {() =&gt; void} [callback] A function to be called after component is\n * re-rendered\n */\nComponent.prototype.forceUpdate = function(callback) {\n\tlet vnode = this._vnode, oldDom = this._vnode._dom, parentDom = this._parentDom;\n\tif (parentDom) {\n\t\t// Set render mode so that we can differentiate where the render request\n\t\t// is coming from. We need this because forceUpdate should never call\n\t\t// shouldComponentUpdate\n\t\tconst force = callback!==false;\n\n\t\tlet mounts = [];\n\t\tlet newDom = diff(parentDom, vnode, assign({}, vnode), this._context, parentDom.ownerSVGElement!==undefined, null, mounts, force, oldDom == null ? getDomSibling(vnode) : oldDom);\n\t\tcommitRoot(mounts, vnode);\n\n\t\tif (newDom != oldDom) {\n\t\t\tupdateParentDomPointers(vnode);\n\t\t}\n\t}\n\tif (callback) callback();\n};\n\n/**\n * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n * @param {object} props Props (eg: JSX attributes) received from parent\n * element/component\n * @param {object} state The component's current state\n * @param {object} context Context object, as returned by the nearest\n * ancestor's `getChildContext()`\n * @returns {import('./index').ComponentChildren | void}\n */\nComponent.prototype.render = Fragment;\n\n/**\n * @param {import('./internal').VNode} vnode\n * @param {number | null} [childIndex]\n */\nexport function getDomSibling(vnode, childIndex) {\n\tif (childIndex == null) {\n\t\t// Use childIndex==null as a signal to resume the search from the vnode's sibling\n\t\treturn vnode._parent\n\t\t\t? getDomSibling(vnode._parent, vnode._parent._children.indexOf(vnode) + 1)\n\t\t\t: null;\n\t}\n\n\tlet sibling;\n\tfor (; childIndex &lt; vnode._children.length; childIndex++) {\n\t\tsibling = vnode._children[childIndex];\n\n\t\tif (sibling != null &amp;&amp; sibling._dom != null) {\n\t\t\t// Since updateParentDomPointers keeps _dom pointer correct,\n\t\t\t// we can rely on _dom to tell us if this subtree contains a\n\t\t\t// rendered DOM node, and what the first rendered DOM node is\n\t\t\treturn sibling._dom;\n\t\t}\n\t}\n\n\t// If we get here, we have not found a DOM node in this vnode's children.\n\t// We must resume from this vnode's sibling (in it's parent _children array)\n\t// Only climb up and search the parent if we aren't searching through a DOM\n\t// VNode (meaning we reached the DOM parent of the original vnode that began\n\t// the search)\n\treturn typeof vnode.type === 'function' ? getDomSibling(vnode) : null;\n}\n\n/**\n * @param {import('./internal').VNode} vnode\n */\nfunction updateParentDomPointers(vnode) {\n\tif ((vnode = vnode._parent) != null &amp;&amp; vnode._component != null) {\n\t\tvnode._dom = vnode._component.base = null;\n\t\tfor (let i = 0; i &lt; vnode._children.length; i++) {\n\t\t\tlet child = vnode._children[i];\n\t\t\tif (child != null &amp;&amp; child._dom != null) {\n\t\t\t\tvnode._dom = vnode._component.base = child._dom;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn updateParentDomPointers(vnode);\n\t}\n}\n\n/**\n * The render queue\n * @type {Array&lt;import('./internal').Component&gt;}\n */\nlet q = [];\n\n/**\n * Asynchronously schedule a callback\n * @type {(cb) =&gt; void}\n */\nconst defer = typeof Promise=='function' ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout;\n\n/*\n * The value of `Component.debounce` must asynchronously invoke the passed in callback. It is\n * important that contributors to Preact can consistently reason about what calls to `setState`, etc.\n * do, and when their effects will be applied. See the links below for some further reading on designing\n * asynchronous APIs.\n * * [Designing APIs for Asynchrony](https://blog.izs.me/2013/08/designing-apis-for-asynchrony)\n * * [Callbacks synchronous and asynchronous](https://blog.ometer.com/2011/07/24/callbacks-synchronous-and-asynchronous/)\n */\n\nlet prevDebounce = options.debounceRendering;\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./internal').Component} c The component to rerender\n */\nexport function enqueueRender(c) {\n\tif ((!c._dirty &amp;&amp; (c._dirty = true) &amp;&amp; q.push(c) === 1) ||\n\t    (prevDebounce !== options.debounceRendering)) {\n\t\tprevDebounce = options.debounceRendering;\n\t\t(options.debounceRendering || defer)(process);\n\t}\n}\n\n/** Flush the render queue by rerendering all queued components */\nfunction process() {\n\tlet p;\n\tq.sort((a, b) =&gt; b._vnode._depth - a._vnode._depth);\n\twhile ((p=q.pop())) {\n\t\t// forceUpdate's callback argument is reused here to indicate a non-forced update.\n\t\tif (p._dirty) p.forceUpdate(false);\n\t}\n}\n","import { EMPTY_OBJ, EMPTY_ARR } from './constants';\nimport { commitRoot, diff } from './diff/index';\nimport { createElement, Fragment } from './create-element';\nimport options from './options';\n\nconst IS_HYDRATE = EMPTY_OBJ;\n\n/**\n * Render a Preact virtual node into a DOM element\n * @param {import('./index').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * render into\n * @param {Element | Text} [replaceNode] Attempt to re-use an\n * existing DOM tree rooted at `replaceNode`\n */\nexport function render(vnode, parentDom, replaceNode) {\n\tif (options._root) options._root(vnode, parentDom);\n\n\tlet isHydrating = replaceNode === IS_HYDRATE;\n\tlet oldVNode = isHydrating ? null : replaceNode &amp;&amp; replaceNode._children || parentDom._children;\n\tvnode = createElement(Fragment, null, [vnode]);\n\n\tlet mounts = [];\n\tdiff(\n\t\tparentDom,\n\t\tisHydrating ? parentDom._children = vnode : (replaceNode || parentDom)._children = vnode,\n\t\toldVNode || EMPTY_OBJ,\n\t\tEMPTY_OBJ,\n\t\tparentDom.ownerSVGElement !== undefined,\n\t\treplaceNode &amp;&amp; !isHydrating\n\t\t\t? [replaceNode]\n\t\t\t: oldVNode\n\t\t\t\t? null\n\t\t\t\t: EMPTY_ARR.slice.call(parentDom.childNodes),\n\t\tmounts,\n\t\tfalse,\n\t\treplaceNode || EMPTY_OBJ,\n\t\tisHydrating,\n\t);\n\tcommitRoot(mounts, vnode);\n}\n\n/**\n * Update an existing DOM element with data from a Preact virtual node\n * @param {import('./index').ComponentChild} vnode The virtual node to render\n * @param {import('./internal').PreactElement} parentDom The DOM element to\n * update\n */\nexport function hydrate(vnode, parentDom) {\n\trender(vnode, parentDom, IS_HYDRATE);\n}\n","import { enqueueRender } from './component';\n\nexport let i = 0;\n\n/**\n *\n * @param {any} defaultValue\n */\nexport function createContext(defaultValue) {\n\tconst ctx = {};\n\n\tconst context = {\n\t\t_id: '__cC' + i++,\n\t\t_defaultValue: defaultValue,\n\t\tConsumer(props, context) {\n\t\t\tthis.shouldComponentUpdate = function (_props, _state, _context) {\n\t\t\t\treturn _context !== context;\n\t\t\t};\n\t\t\treturn props.children(context);\n\t\t},\n\t\tProvider(props) {\n\t\t\tif (!this.getChildContext) {\n\t\t\t\tconst subs = [];\n\t\t\t\tthis.getChildContext = () =&gt; {\n\t\t\t\t\tctx[context._id] = this;\n\t\t\t\t\treturn ctx;\n\t\t\t\t};\n\t\t\t\tthis.shouldComponentUpdate = props =&gt; {\n\t\t\t\t\tsubs.some(c =&gt; {\n\t\t\t\t\t\t// Check if still mounted\n\t\t\t\t\t\tif (c._parentDom) {\n\t\t\t\t\t\t\tc.context = props.value;\n\t\t\t\t\t\t\tenqueueRender(c);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tthis.sub = (c) =&gt; {\n\t\t\t\t\tsubs.push(c);\n\t\t\t\t\tlet old = c.componentWillUnmount;\n\t\t\t\t\tc.componentWillUnmount = () =&gt; {\n\t\t\t\t\t\tsubs.splice(subs.indexOf(c), 1);\n\t\t\t\t\t\told &amp;&amp; old.call(c);\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn props.children;\n\t\t}\n\t};\n\n\tcontext.Consumer.contextType = context;\n\n\treturn context;\n}\n","export const EMPTY_OBJ = {};\nexport const EMPTY_ARR = [];\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;\n","/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O &amp; P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O &amp; P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { diff, unmount, applyRef } from './index';\nimport { coerceToVNode } from '../create-element';\nimport { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { removeNode } from '../util';\nimport { getDomSibling } from '../component';\n\n/**\n * Diff the children of a virtual node\n * @param {import('../internal').PreactElement} parentDom The DOM element whose\n * children are being diffed\n * @param {import('../internal').VNode} newParentVNode The new virtual\n * node whose children should be diff'ed against oldParentVNode\n * @param {import('../internal').VNode} oldParentVNode The old virtual\n * node whose children should be diff'ed against newParentVNode\n * @param {object} context The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {Array&lt;import('../internal').PreactElement&gt;} excessDomChildren\n * @param {Array&lt;import('../internal').Component&gt;} mounts The list of components\n * which have mounted\n * @param {Node | Text} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diffChildren(parentDom, newParentVNode, oldParentVNode, context, isSvg, excessDomChildren, mounts, oldDom, isHydrating) {\n\tlet i, j, oldVNode, newDom, sibDom, firstChildDom, refs;\n\n\t// This is a compression of oldParentVNode!=null &amp;&amp; oldParentVNode != EMPTY_OBJ &amp;&amp; oldParentVNode._children || EMPTY_ARR\n\t// as EMPTY_OBJ._children should be `undefined`.\n\tlet oldChildren = (oldParentVNode &amp;&amp; oldParentVNode._children) || EMPTY_ARR;\n\n\tlet oldChildrenLength = oldChildren.length;\n\n\t// Only in very specific places should this logic be invoked (top level `render` and `diffElementNodes`).\n\t// I'm using `EMPTY_OBJ` to signal when `diffChildren` is invoked in these situations. I can't use `null`\n\t// for this purpose, because `null` is a valid value for `oldDom` which can mean to skip to this logic\n\t// (e.g. if mounting a new tree in which the old DOM should be ignored (usually for Fragments).\n\tif (oldDom == EMPTY_OBJ) {\n\t\tif (excessDomChildren != null) {\n\t\t\toldDom = excessDomChildren[0];\n\t\t}\n\t\telse if (oldChildrenLength) {\n\t\t\toldDom = getDomSibling(oldParentVNode, 0);\n\t\t}\n\t\telse {\n\t\t\toldDom = null;\n\t\t}\n\t}\n\n\ti=0;\n\tnewParentVNode._children = toChildArray(newParentVNode._children, childVNode =&gt; {\n\n\t\tif (childVNode!=null) {\n\t\t\tchildVNode._parent = newParentVNode;\n\t\t\tchildVNode._depth = newParentVNode._depth + 1;\n\n\t\t\t// Check if we find a corresponding element in oldChildren.\n\t\t\t// If found, delete the array item by setting to `undefined`.\n\t\t\t// We use `undefined`, as `null` is reserved for empty placeholders\n\t\t\t// (holes).\n\t\t\toldVNode = oldChildren[i];\n\n\t\t\tif (oldVNode===null || (oldVNode &amp;&amp; childVNode.key == oldVNode.key &amp;&amp; childVNode.type === oldVNode.type)) {\n\t\t\t\toldChildren[i] = undefined;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Either oldVNode === undefined or oldChildrenLength &gt; 0,\n\t\t\t\t// so after this loop oldVNode == null or oldVNode is a valid value.\n\t\t\t\tfor (j=0; j&lt;oldChildrenLength; j++) {\n\t\t\t\t\toldVNode = oldChildren[j];\n\t\t\t\t\t// If childVNode is unkeyed, we only match similarly unkeyed nodes, otherwise we match by key.\n\t\t\t\t\t// We always match by type (in either case).\n\t\t\t\t\tif (oldVNode &amp;&amp; childVNode.key == oldVNode.key &amp;&amp; childVNode.type === oldVNode.type) {\n\t\t\t\t\t\toldChildren[j] = undefined;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\toldVNode = null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\toldVNode = oldVNode || EMPTY_OBJ;\n\n\t\t\t// Morph the old element into the new one, but don't append it to the dom yet\n\t\t\tnewDom = diff(parentDom, childVNode, oldVNode, context, isSvg, excessDomChildren, mounts, null, oldDom, isHydrating);\n\n\t\t\tif ((j = childVNode.ref) &amp;&amp; oldVNode.ref != j) {\n\t\t\t\t(refs || (refs=[])).push(j, childVNode._component || newDom, childVNode);\n\t\t\t}\n\n\t\t\t// Only proceed if the vnode has not been unmounted by `diff()` above.\n\t\t\tif (newDom!=null) {\n\t\t\t\tif (firstChildDom == null) {\n\t\t\t\t\tfirstChildDom = newDom;\n\t\t\t\t}\n\n\t\t\t\tif (childVNode._lastDomChild != null) {\n\t\t\t\t\t// Only Fragments or components that return Fragment like VNodes will\n\t\t\t\t\t// have a non-null _lastDomChild. Continue the diff from the end of\n\t\t\t\t\t// this Fragment's DOM tree.\n\t\t\t\t\tnewDom = childVNode._lastDomChild;\n\n\t\t\t\t\t// Eagerly cleanup _lastDomChild. We don't need to persist the value because\n\t\t\t\t\t// it is only used by `diffChildren` to determine where to resume the diff after\n\t\t\t\t\t// diffing Components and Fragments.\n\t\t\t\t\tchildVNode._lastDomChild = null;\n\t\t\t\t}\n\t\t\t\telse if (excessDomChildren==oldVNode || newDom!=oldDom || newDom.parentNode==null) {\n\t\t\t\t\t// NOTE: excessDomChildren==oldVNode above:\n\t\t\t\t\t// This is a compression of excessDomChildren==null &amp;&amp; oldVNode==null!\n\t\t\t\t\t// The values only have the same type when `null`.\n\n\t\t\t\t\touter: if (oldDom==null || oldDom.parentNode!==parentDom) {\n\t\t\t\t\t\tparentDom.appendChild(newDom);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t// `j&lt;oldChildrenLength; j+=2` is an alternative to `j++&lt;oldChildrenLength/2`\n\t\t\t\t\t\tfor (sibDom=oldDom, j=0; (sibDom=sibDom.nextSibling) &amp;&amp; j&lt;oldChildrenLength; j+=2) {\n\t\t\t\t\t\t\tif (sibDom==newDom) {\n\t\t\t\t\t\t\t\tbreak outer;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparentDom.insertBefore(newDom, oldDom);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Browsers will infer an option's `value` from `textContent` when\n\t\t\t\t\t// no value is present. This essentially bypasses our code to set it\n\t\t\t\t\t// later in `diff()`. It works fine in all browsers except for IE11\n\t\t\t\t\t// where it breaks setting `select.value`. There it will be always set\n\t\t\t\t\t// to an empty string. Re-applying an options value will fix that, so\n\t\t\t\t\t// there are probably some internal data structures that aren't\n\t\t\t\t\t// updated properly.\n\t\t\t\t\t//\n\t\t\t\t\t// To fix it we make sure to reset the inferred value, so that our own\n\t\t\t\t\t// value check in `diff()` won't be skipped.\n\t\t\t\t\tif (newParentVNode.type == 'option') {\n\t\t\t\t\t\tparentDom.value = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\toldDom = newDom.nextSibling;\n\n\t\t\t\tif (typeof newParentVNode.type == 'function') {\n\t\t\t\t\t// At this point, if childVNode._lastDomChild existed, then\n\t\t\t\t\t// newDom = childVNode._lastDomChild per line 101. Else it is\n\t\t\t\t\t// the same as childVNode._dom, meaning this component returned\n\t\t\t\t\t// only a single DOM node\n\t\t\t\t\tnewParentVNode._lastDomChild = newDom;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\ti++;\n\t\treturn childVNode;\n\t});\n\n\tnewParentVNode._dom = firstChildDom;\n\n\t// Remove children that are not part of any vnode.\n\tif (excessDomChildren!=null &amp;&amp; typeof newParentVNode.type !== 'function') for (i=excessDomChildren.length; i--; ) if (excessDomChildren[i]!=null) removeNode(excessDomChildren[i]);\n\n\t// Remove remaining oldChildren if there are any.\n\tfor (i=oldChildrenLength; i--; ) if (oldChildren[i]!=null) unmount(oldChildren[i], oldChildren[i]);\n\n\t// Set refs only after unmount\n\tif (refs) {\n\t\tfor (i = 0; i &lt; refs.length; i++) {\n\t\t\tapplyRef(refs[i], refs[++i], refs[++i]);\n\t\t}\n\t}\n}\n\n/**\n * Flatten and loop through the children of a virtual node\n * @param {import('../index').ComponentChildren} children The unflattened\n * children of a virtual node\n * @param {(vnode: import('../internal').VNode) =&gt; import('../internal').VNode} [callback]\n * A function to invoke for each child before it is added to the flattened list.\n * @param {import('../internal').VNode[]} [flattened] An flat array of children to modify\n * @returns {import('../internal').VNode[]}\n */\nexport function toChildArray(children, callback, flattened) {\n\tif (flattened == null) flattened = [];\n\n\tif (children==null || typeof children === 'boolean') {\n\t\tif (callback) flattened.push(callback(null));\n\t}\n\telse if (Array.isArray(children)) {\n\t\tfor (let i=0; i &lt; children.length; i++) {\n\t\t\ttoChildArray(children[i], callback, flattened);\n\t\t}\n\t}\n\telse {\n\t\tflattened.push(callback ? callback(coerceToVNode(children)) : children);\n\t}\n\n\treturn flattened;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport options from '../options';\n\n/**\n * Diff the old and new properties of a VNode and apply changes to the DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to apply\n * changes to\n * @param {object} newProps The new props\n * @param {object} oldProps The old props\n * @param {boolean} isSvg Whether or not this node is an SVG node\n * @param {boolean} hydrate Whether or not we are in hydration mode\n */\nexport function diffProps(dom, newProps, oldProps, isSvg, hydrate) {\n\tlet i;\n\n\tfor (i in oldProps) {\n\t\tif (!(i in newProps)) {\n\t\t\tsetProperty(dom, i, null, oldProps[i], isSvg);\n\t\t}\n\t}\n\n\tfor (i in newProps) {\n\t\tif ((!hydrate || typeof newProps[i]=='function') &amp;&amp; i!=='value' &amp;&amp; i!=='checked' &amp;&amp; oldProps[i]!==newProps[i]) {\n\t\t\tsetProperty(dom, i, newProps[i], oldProps[i], isSvg);\n\t\t}\n\t}\n}\n\nfunction setStyle(style, key, value) {\n\tif (key[0] === '-') {\n\t\tstyle.setProperty(key, value);\n\t}\n\telse {\n\t\tstyle[key] = typeof value==='number' &amp;&amp; IS_NON_DIMENSIONAL.test(key)===false ? value+'px' : value || '';\n\t}\n}\n\n/**\n * Set a property value on a DOM node\n * @param {import('../internal').PreactElement} dom The DOM node to modify\n * @param {string} name The name of the property to set\n * @param {*} value The value to set the property to\n * @param {*} oldValue The old value the property had\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node or not\n */\nfunction setProperty(dom, name, value, oldValue, isSvg) {\n\tname = isSvg ? (name==='className' ? 'class' : name) : (name==='class' ? 'className' : name);\n\n\tif (name==='key' || name === 'children') {}\n\telse if (name==='style') {\n\t\tconst s = dom.style;\n\n\t\tif (typeof value==='string') {\n\t\t\ts.cssText = value;\n\t\t}\n\t\telse {\n\t\t\tif (typeof oldValue==='string') {\n\t\t\t\ts.cssText = '';\n\t\t\t\toldValue = null;\n\t\t\t}\n\n\t\t\tif (oldValue) for (let i in oldValue) {\n\t\t\t\tif (!(value &amp;&amp; i in value)) {\n\t\t\t\t\tsetStyle(s, i, '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (value) for (let i in value) {\n\t\t\t\tif (!oldValue || value[i] !== oldValue[i]) {\n\t\t\t\t\tsetStyle(s, i, value[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t}\n\t// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6\n\telse if (name[0]==='o' &amp;&amp; name[1]==='n') {\n\t\tlet useCapture = name !== (name=name.replace(/Capture$/, ''));\n\t\tlet nameLower = name.toLowerCase();\n\t\tname = (nameLower in dom ? nameLower : name).slice(2);\n\n\t\tif (value) {\n\t\t\tif (!oldValue) dom.addEventListener(name, eventProxy, useCapture);\n\t\t\t(dom._listeners || (dom._listeners = {}))[name] = value;\n\t\t}\n\t\telse {\n\t\t\tdom.removeEventListener(name, eventProxy, useCapture);\n\t\t}\n\t}\n\telse if (\n\t\tname!=='list'\n\t\t&amp;&amp; name!=='tagName'\n\t\t// HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using\n\t\t// setAttribute\n\t\t&amp;&amp; name!=='form'\n\t\t&amp;&amp; !isSvg\n\t\t&amp;&amp; (name in dom)\n\t) {\n\t\tdom[name] = value==null ? '' : value;\n\t}\n\telse if (typeof value!=='function' &amp;&amp; name!=='dangerouslySetInnerHTML') {\n\t\tif (name!==(name = name.replace(/^xlink:?/, ''))) {\n\t\t\tif (value==null || value===false) {\n\t\t\t\tdom.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdom.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);\n\t\t\t}\n\t\t}\n\t\telse if (value==null || value===false) {\n\t\t\tdom.removeAttribute(name);\n\t\t}\n\t\telse {\n\t\t\tdom.setAttribute(name, value);\n\t\t}\n\t}\n}\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\treturn this._listeners[e.type](options.event ? options.event(e) : e);\n}\n","import { EMPTY_OBJ, EMPTY_ARR } from '../constants';\nimport { Component, enqueueRender } from '../component';\nimport { Fragment } from '../create-element';\nimport { diffChildren } from './children';\nimport { diffProps } from './props';\nimport { assign, removeNode } from '../util';\nimport options from '../options';\n\n/**\n * Diff two virtual nodes and apply proper changes to the DOM\n * @param {import('../internal').PreactElement} parentDom The parent of the DOM element\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} context The current context object\n * @param {boolean} isSvg Whether or not this element is an SVG node\n * @param {Array&lt;import('../internal').PreactElement&gt;} excessDomChildren\n * @param {Array&lt;import('../internal').Component&gt;} mounts A list of newly\n * mounted components\n * @param {Element | Text} oldDom The current attached DOM\n * element any new dom elements should be placed around. Likely `null` on first\n * render (except when hydrating). Can be a sibling DOM element when diffing\n * Fragments that have siblings. In most cases, it starts out as `oldChildren[0]._dom`.\n * @param {boolean} isHydrating Whether or not we are in hydration\n */\nexport function diff(parentDom, newVNode, oldVNode, context, isSvg, excessDomChildren, mounts, force, oldDom, isHydrating) {\n\tlet tmp, newType = newVNode.type;\n\n\t// When passing through createElement it assigns the object\n\t// constructor as undefined. This to prevent JSON-injection.\n\tif (newVNode.constructor !== undefined) return null;\n\n\tif (tmp = options._diff) tmp(newVNode);\n\n\ttry {\n\t\touter: if (typeof newType==='function') {\n\t\t\tlet c, isNew, oldProps, oldState, snapshot, clearProcessingException;\n\t\t\tlet newProps = newVNode.props;\n\n\t\t\t// Necessary for createContext api. Setting this property will pass\n\t\t\t// the context value as `this.context` just for this component.\n\t\t\ttmp = newType.contextType;\n\t\t\tlet provider = tmp &amp;&amp; context[tmp._id];\n\t\t\tlet cctx = tmp ? (provider ? provider.props.value : tmp._defaultValue) : context;\n\n\t\t\t// Get component and set it to `c`\n\t\t\tif (oldVNode._component) {\n\t\t\t\tc = newVNode._component = oldVNode._component;\n\t\t\t\tclearProcessingException = c._processingException = c._pendingError;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// Instantiate the new component\n\t\t\t\tif ('prototype' in newType &amp;&amp; newType.prototype.render) {\n\t\t\t\t\tnewVNode._component = c = new newType(newProps, cctx); // eslint-disable-line new-cap\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tnewVNode._component = c = new Component(newProps, cctx);\n\t\t\t\t\tc.constructor = newType;\n\t\t\t\t\tc.render = doRender;\n\t\t\t\t}\n\t\t\t\tif (provider) provider.sub(c);\n\n\t\t\t\tc.props = newProps;\n\t\t\t\tif (!c.state) c.state = {};\n\t\t\t\tc.context = cctx;\n\t\t\t\tc._context = context;\n\t\t\t\tisNew = c._dirty = true;\n\t\t\t\tc._renderCallbacks = [];\n\t\t\t}\n\n\t\t\t// Invoke getDerivedStateFromProps\n\t\t\tif (c._nextState==null) {\n\t\t\t\tc._nextState = c.state;\n\t\t\t}\n\t\t\tif (newType.getDerivedStateFromProps!=null) {\n\t\t\t\tassign(c._nextState==c.state ? (c._nextState = assign({}, c._nextState)) : c._nextState, newType.getDerivedStateFromProps(newProps, c._nextState));\n\t\t\t}\n\n\t\t\t// Invoke pre-render lifecycle methods\n\t\t\tif (isNew) {\n\t\t\t\tif (newType.getDerivedStateFromProps==null &amp;&amp; c.componentWillMount!=null) c.componentWillMount();\n\t\t\t\tif (c.componentDidMount!=null) mounts.push(c);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (newType.getDerivedStateFromProps==null &amp;&amp; force==null &amp;&amp; c.componentWillReceiveProps!=null) {\n\t\t\t\t\tc.componentWillReceiveProps(newProps, cctx);\n\t\t\t\t}\n\n\t\t\t\tif (!force &amp;&amp; c.shouldComponentUpdate!=null &amp;&amp; c.shouldComponentUpdate(newProps, c._nextState, cctx)===false) {\n\t\t\t\t\tc.props = newProps;\n\t\t\t\t\tc.state = c._nextState;\n\t\t\t\t\tc._dirty = false;\n\t\t\t\t\tc._vnode = newVNode;\n\t\t\t\t\tnewVNode._dom = oldDom!=null ? oldDom!==oldVNode._dom ? oldDom : oldVNode._dom : null;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t\tfor (tmp = 0; tmp &lt; newVNode._children.length; tmp++) {\n\t\t\t\t\t\tif (newVNode._children[tmp]) newVNode._children[tmp]._parent = newVNode;\n\t\t\t\t\t}\n\t\t\t\t\tbreak outer;\n\t\t\t\t}\n\n\t\t\t\tif (c.componentWillUpdate!=null) {\n\t\t\t\t\tc.componentWillUpdate(newProps, c._nextState, cctx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\toldProps = c.props;\n\t\t\toldState = c.state;\n\n\t\t\tc.context = cctx;\n\t\t\tc.props = newProps;\n\t\t\tc.state = c._nextState;\n\n\t\t\tif (tmp = options._render) tmp(newVNode);\n\n\t\t\tc._dirty = false;\n\t\t\tc._vnode = newVNode;\n\t\t\tc._parentDom = parentDom;\n\n\t\t\ttmp = c.render(c.props, c.state, c.context);\n\t\t\tlet isTopLevelFragment = tmp != null &amp;&amp; tmp.type == Fragment &amp;&amp; tmp.key == null;\n\t\t\tnewVNode._children = isTopLevelFragment ? tmp.props.children : tmp;\n\n\t\t\tif (c.getChildContext!=null) {\n\t\t\t\tcontext = assign(assign({}, context), c.getChildContext());\n\t\t\t}\n\n\t\t\tif (!isNew &amp;&amp; c.getSnapshotBeforeUpdate!=null) {\n\t\t\t\tsnapshot = c.getSnapshotBeforeUpdate(oldProps, oldState);\n\t\t\t}\n\n\t\t\tdiffChildren(parentDom, newVNode, oldVNode, context, isSvg, excessDomChildren, mounts, oldDom, isHydrating);\n\n\t\t\tc.base = newVNode._dom;\n\n\t\t\twhile (tmp=c._renderCallbacks.pop()) {\n\t\t\t\tif (c._nextState) { c.state = c._nextState; }\n\t\t\t\ttmp.call(c);\n\t\t\t}\n\n\t\t\t// Don't call componentDidUpdate on mount or when we bailed out via\n\t\t\t// `shouldComponentUpdate`\n\t\t\tif (!isNew &amp;&amp; oldProps!=null &amp;&amp; c.componentDidUpdate!=null) {\n\t\t\t\tc.componentDidUpdate(oldProps, oldState, snapshot);\n\t\t\t}\n\n\t\t\tif (clearProcessingException) {\n\t\t\t\tc._pendingError = c._processingException = null;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\tnewVNode._dom = diffElementNodes(oldVNode._dom, newVNode, oldVNode, context, isSvg, excessDomChildren, mounts, isHydrating);\n\t\t}\n\n\t\tif (tmp = options.diffed) tmp(newVNode);\n\t}\n\tcatch (e) {\n\t\toptions._catchError(e, newVNode, oldVNode);\n\t}\n\n\treturn newVNode._dom;\n}\n\nexport function commitRoot(mounts, root) {\n\tlet c;\n\twhile ((c = mounts.pop())) {\n\t\ttry {\n\t\t\tc.componentDidMount();\n\t\t}\n\t\tcatch (e) {\n\t\t\toptions._catchError(e, c._vnode);\n\t\t}\n\t}\n\n\tif (options._commit) options._commit(root);\n}\n\n/**\n * Diff two virtual nodes representing DOM element\n * @param {import('../internal').PreactElement} dom The DOM element representing\n * the virtual nodes being diffed\n * @param {import('../internal').VNode} newVNode The new virtual node\n * @param {import('../internal').VNode} oldVNode The old virtual node\n * @param {object} context The current context object\n * @param {boolean} isSvg Whether or not this DOM node is an SVG node\n * @param {*} excessDomChildren\n * @param {Array&lt;import('../internal').Component&gt;} mounts An array of newly\n * mounted components\n * @param {boolean} isHydrating Whether or not we are in hydration\n * @returns {import('../internal').PreactElement}\n */\nfunction diffElementNodes(dom, newVNode, oldVNode, context, isSvg, excessDomChildren, mounts, isHydrating) {\n\tlet i;\n\tlet oldProps = oldVNode.props;\n\tlet newProps = newVNode.props;\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tisSvg = newVNode.type==='svg' || isSvg;\n\n\tif (dom==null &amp;&amp; excessDomChildren!=null) {\n\t\tfor (i=0; i&lt;excessDomChildren.length; i++) {\n\t\t\tconst child = excessDomChildren[i];\n\t\t\tif (child!=null &amp;&amp; (newVNode.type===null ? child.nodeType===3 : child.localName===newVNode.type)) {\n\t\t\t\tdom = child;\n\t\t\t\texcessDomChildren[i] = null;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (dom==null) {\n\t\tif (newVNode.type===null) {\n\t\t\treturn document.createTextNode(newProps);\n\t\t}\n\t\tdom = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', newVNode.type) : document.createElement(newVNode.type);\n\t\t// we created a new parent, so none of the previously attached children can be reused:\n\t\texcessDomChildren = null;\n\t}\n\n\tif (newVNode.type===null) {\n\t\tif (oldProps !== newProps) {\n\t\t\tif (excessDomChildren!=null) excessDomChildren[excessDomChildren.indexOf(dom)] = null;\n\t\t\tdom.data = newProps;\n\t\t}\n\t}\n\telse if (newVNode!==oldVNode) {\n\t\tif (excessDomChildren!=null) {\n\t\t\texcessDomChildren = EMPTY_ARR.slice.call(dom.childNodes);\n\t\t}\n\n\t\toldProps = oldVNode.props || EMPTY_OBJ;\n\n\t\tlet oldHtml = oldProps.dangerouslySetInnerHTML;\n\t\tlet newHtml = newProps.dangerouslySetInnerHTML;\n\n\t\t// During hydration, props are not diffed at all (including dangerouslySetInnerHTML)\n\t\t// @TODO we should warn in debug mode when props don't match here.\n\t\tif (!isHydrating) {\n\t\t\tif (newHtml || oldHtml) {\n\t\t\t\t// Avoid re-applying the same '__html' if it did not changed between re-render\n\t\t\t\tif (!newHtml || !oldHtml || newHtml.__html!=oldHtml.__html) {\n\t\t\t\t\tdom.innerHTML = newHtml &amp;&amp; newHtml.__html || '';\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdiffProps(dom, newProps, oldProps, isSvg, isHydrating);\n\n\t\tnewVNode._children = newVNode.props.children;\n\n\t\t// If the new vnode didn't have dangerouslySetInnerHTML, diff its children\n\t\tif (!newHtml) {\n\t\t\tdiffChildren(dom, newVNode, oldVNode, context, newVNode.type==='foreignObject' ? false : isSvg, excessDomChildren, mounts, EMPTY_OBJ, isHydrating);\n\t\t}\n\n\t\t// (as above, don't diff props during hydration)\n\t\tif (!isHydrating) {\n\t\t\tif (('value' in newProps) &amp;&amp; newProps.value!==undefined &amp;&amp; newProps.value !== dom.value) dom.value = newProps.value==null ? '' : newProps.value;\n\t\t\tif (('checked' in newProps) &amp;&amp; newProps.checked!==undefined &amp;&amp; newProps.checked !== dom.checked) dom.checked = newProps.checked;\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n/**\n * Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} ref\n * @param {any} value\n * @param {import('../internal').VNode} vnode\n */\nexport function applyRef(ref, value, vnode) {\n\ttry {\n\t\tif (typeof ref=='function') ref(value);\n\t\telse ref.current = value;\n\t}\n\tcatch (e) {\n\t\toptions._catchError(e, vnode);\n\t}\n}\n\n/**\n * Unmount a virtual node from the tree and apply DOM changes\n * @param {import('../internal').VNode} vnode The virtual node to unmount\n * @param {import('../internal').VNode} parentVNode The parent of the VNode that\n * initiated the unmount\n * @param {boolean} [skipRemove] Flag that indicates that a parent node of the\n * current element is already detached from the DOM.\n */\nexport function unmount(vnode, parentVNode, skipRemove) {\n\tlet r;\n\tif (options.unmount) options.unmount(vnode);\n\n\tif (r = vnode.ref) {\n\t\tapplyRef(r, null, parentVNode);\n\t}\n\n\tlet dom;\n\tif (!skipRemove &amp;&amp; typeof vnode.type !== 'function') {\n\t\tskipRemove = (dom = vnode._dom)!=null;\n\t}\n\n\tvnode._dom = vnode._lastDomChild = null;\n\n\tif ((r = vnode._component)!=null) {\n\t\tif (r.componentWillUnmount) {\n\t\t\ttry {\n\t\t\t\tr.componentWillUnmount();\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\toptions._catchError(e, parentVNode);\n\t\t\t}\n\t\t}\n\n\t\tr.base = r._parentDom = null;\n\t}\n\n\tif (r = vnode._children) {\n\t\tfor (let i = 0; i &lt; r.length; i++) {\n\t\t\tif (r[i]) unmount(r[i], parentVNode, skipRemove);\n\t\t}\n\t}\n\n\tif (dom!=null) removeNode(dom);\n}\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n\n/**\n * Find the closest error boundary to a thrown error and call it\n * @param {object} error The thrown value\n * @param {import('../internal').VNode} vnode The vnode that threw\n * the error that was caught (except for unmounting when this parameter\n * is the highest parent that was being unmounted)\n * @param {import('../internal').VNode} oldVNode The oldVNode of the vnode\n * that threw, if this VNode threw while diffing\n */\n(options)._catchError = function (error, vnode, oldVNode) {\n\n\t/** @type {import('../internal').Component} */\n\tlet component;\n\n\tfor (; vnode = vnode._parent;) {\n\t\tif ((component = vnode._component) &amp;&amp; !component._processingException) {\n\t\t\ttry {\n\t\t\t\tif (component.constructor &amp;&amp; component.constructor.getDerivedStateFromError!=null) {\n\t\t\t\t\tcomponent.setState(component.constructor.getDerivedStateFromError(error));\n\t\t\t\t}\n\t\t\t\telse if (component.componentDidCatch!=null) {\n\t\t\t\t\tcomponent.componentDidCatch(error);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\treturn enqueueRender(component._pendingError = component);\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\terror = e;\n\t\t\t}\n\t\t}\n\t}\n\n\tthrow error;\n};\n","/** @type {import('./internal').Options}  */\nconst options = {};\n\nexport default options;\n","import { assign } from './util';\nimport { EMPTY_ARR } from './constants';\nimport { createVNode } from './create-element';\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {import('./internal').VNode} vnode The virtual DOM element to clone\n * @param {object} props Attributes/props to add when cloning\n * @param {Array&lt;import('./index').ComponentChildren&gt;} rest Any additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n\tprops = assign(assign({}, vnode.props), props);\n\tif (arguments.length&gt;2) props.children = EMPTY_ARR.slice.call(arguments, 2);\n\treturn createVNode(vnode.type, props, props.key || vnode.key, props.ref || vnode.ref);\n}\n","/**\n * Assign properties from `props` to `obj`\n * @template O, P The obj and props types\n * @param {O} obj The object to copy properties to\n * @param {P} props The object to copy properties from\n * @returns {O &amp; P}\n */\nexport function assign(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn /** @type {O &amp; P} */ (obj);\n}\n\n/**\n * Remove a child node from its parent if attached. This is a workaround for\n * IE11 which doesn't support `Element.prototype.remove()`. Using this function\n * is smaller than including a dedicated polyfill.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n","import { Component, createElement, _unmount as unmount, options } from 'preact';\nimport { removeNode } from '../../src/util';\n\nconst oldCatchError = options._catchError;\noptions._catchError = function (error, newVNode, oldVNode) {\n\tif (error.then &amp;&amp; oldVNode) {\n\n\t\t/** @type {import('./internal').Component} */\n\t\tlet component;\n\t\tlet vnode = newVNode;\n\n\t\tfor (; vnode = vnode._parent;) {\n\t\t\tif ((component = vnode._component) &amp;&amp; component._childDidSuspend) {\n\t\t\t\tif (oldVNode) {\n\t\t\t\t\tnewVNode._dom = oldVNode._dom;\n\t\t\t\t\tnewVNode._children = oldVNode._children;\n\t\t\t\t}\n\n\t\t\t\tcomponent._childDidSuspend(error);\n\t\t\t\treturn; // Don't call oldCatchError if we found a Suspense\n\t\t\t}\n\t\t}\n\t}\n\n\toldCatchError(error, newVNode, oldVNode);\n};\n\nfunction detachDom(children) {\n\tfor (let i = 0; i &lt; children.length; i++) {\n\t\tlet child = children[i];\n\t\tif (child != null) {\n\t\t\tif (typeof child.type !== 'function' &amp;&amp; child._dom) {\n\t\t\t\tremoveNode(child._dom);\n\t\t\t}\n\t\t\telse if (child._children) {\n\t\t\t\tdetachDom(child._children);\n\t\t\t}\n\t\t}\n\t}\n}\n\n// having custom inheritance instead of a class here saves a lot of bytes\nexport function Suspense() {\n\t// we do not call super here to golf some bytes...\n\tthis._suspensions = [];\n}\n\n// Things we do here to save some bytes but are not proper JS inheritance:\n// - call `new Component()` as the prototype\n// - do not set `Suspense.prototype.constructor` to `Suspense`\nSuspense.prototype = new Component();\n\n/**\n * @param {Promise} promise The thrown promise\n */\nSuspense.prototype._childDidSuspend = function(promise) {\n\n\t/** @type {import('./internal').SuspenseComponent} */\n\tconst c = this;\n\tc._suspensions.push(promise);\n\n\tconst onSuspensionComplete = () =&gt; {\n\t\t// From https://twitter.com/Rich_Harris/status/1125850391155965952\n\t\tc._suspensions[c._suspensions.indexOf(promise)] = c._suspensions[c._suspensions.length - 1];\n\t\tc._suspensions.pop();\n\n\t\tif (c._suspensions.length == 0) {\n\t\t\tunmount(c.props.fallback);\n\t\t\tc._vnode._dom = null;\n\n\t\t\tc._vnode._children = c.state._parkedChildren;\n\t\t\tc.setState({ _parkedChildren: null });\n\t\t}\n\t};\n\n\tif (c.state._parkedChildren == null) {\n\t\tc.setState({ _parkedChildren: c._vnode._children });\n\t\tdetachDom(c._vnode._children);\n\t\tc._vnode._children = [];\n\t}\n\n\tpromise.then(onSuspensionComplete, onSuspensionComplete);\n};\n\nSuspense.prototype.render = function(props, state) {\n\treturn state._parkedChildren ? props.fallback : props.children;\n};\n\nexport function lazy(loader) {\n\tlet prom;\n\tlet component;\n\tlet error;\n\n\tfunction Lazy(props) {\n\t\tif (!prom) {\n\t\t\tprom = loader();\n\t\t\tprom.then(\n\t\t\t\t(exports) =&gt; { component = exports.default; },\n\t\t\t\t(e) =&gt; { error = e; },\n\t\t\t);\n\t\t}\n\n\t\tif (error) {\n\t\t\tthrow error;\n\t\t}\n\n\t\tif (!component) {\n\t\t\tthrow prom;\n\t\t}\n\n\t\treturn createElement(component, props);\n\t}\n\n\tLazy.displayName = 'Lazy';\n\tLazy._forwarded = true;\n\treturn Lazy;\n}\n","import { options } from 'preact';\n\n/** @type {number} */\nlet currentIndex;\n\n/** @type {import('./internal').Component} */\nlet currentComponent;\n\n/** @type {Array&lt;import('./internal').Component&gt;} */\nlet afterPaintEffects = [];\n\nlet oldBeforeRender = options._render;\noptions._render = vnode =&gt; {\n\tif (oldBeforeRender) oldBeforeRender(vnode);\n\n\tcurrentComponent = vnode._component;\n\tcurrentIndex = 0;\n\n\tif (currentComponent.__hooks) {\n\t\tcurrentComponent.__hooks._pendingEffects = handleEffects(currentComponent.__hooks._pendingEffects);\n\t}\n};\n\nlet oldAfterDiff = options.diffed;\noptions.diffed = vnode =&gt; {\n\tif (oldAfterDiff) oldAfterDiff(vnode);\n\n\tconst c = vnode._component;\n\tif (!c) return;\n\n\tconst hooks = c.__hooks;\n\tif (hooks) {\n\t\thooks._handles = bindHandles(hooks._handles);\n\t\thooks._pendingLayoutEffects = handleEffects(hooks._pendingLayoutEffects);\n\t}\n};\n\n\nlet oldBeforeUnmount = options.unmount;\noptions.unmount = vnode =&gt; {\n\tif (oldBeforeUnmount) oldBeforeUnmount(vnode);\n\n\tconst c = vnode._component;\n\tif (!c) return;\n\n\tconst hooks = c.__hooks;\n\tif (hooks) {\n\t\thooks._list.forEach(hook =&gt; hook._cleanup &amp;&amp; hook._cleanup());\n\t}\n};\n\n/**\n * Get a hook's state from the currentComponent\n * @param {number} index The index of the hook to get\n * @returns {import('./internal').HookState}\n */\nfunction getHookState(index) {\n\tif (options._hook) options._hook(currentComponent);\n\t// Largely inspired by:\n\t// * https://github.com/michael-klein/funcy.js/blob/f6be73468e6ec46b0ff5aa3cc4c9baf72a29025a/src/hooks/core_hooks.mjs\n\t// * https://github.com/michael-klein/funcy.js/blob/650beaa58c43c33a74820a3c98b3c7079cf2e333/src/renderer.mjs\n\t// Other implementations to look at:\n\t// * https://codesandbox.io/s/mnox05qp8\n\tconst hooks = currentComponent.__hooks || (currentComponent.__hooks = { _list: [], _pendingEffects: [], _pendingLayoutEffects: [], _handles: [] });\n\n\tif (index &gt;= hooks._list.length) {\n\t\thooks._list.push({});\n\t}\n\treturn hooks._list[index];\n}\n\nexport function useState(initialState) {\n\treturn useReducer(invokeOrReturn, initialState);\n}\n\nexport function useReducer(reducer, initialState, init) {\n\n\t/** @type {import('./internal').ReducerHookState} */\n\tconst hookState = getHookState(currentIndex++);\n\tif (!hookState._component) {\n\t\thookState._component = currentComponent;\n\n\t\thookState._value = [\n\t\t\t!init ? invokeOrReturn(null, initialState) : init(initialState),\n\n\t\t\taction =&gt; {\n\t\t\t\tconst nextValue = reducer(hookState._value[0], action);\n\t\t\t\tif (hookState._value[0]!==nextValue) {\n\t\t\t\t\thookState._value[0] = nextValue;\n\t\t\t\t\thookState._component.setState({});\n\t\t\t\t}\n\t\t\t}\n\t\t];\n\t}\n\n\treturn hookState._value;\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useEffect(callback, args) {\n\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\n\t\tcurrentComponent.__hooks._pendingEffects.push(state);\n\t\tafterPaint(currentComponent);\n\t}\n}\n\n/**\n * @param {import('./internal').Effect} callback\n * @param {any[]} args\n */\nexport function useLayoutEffect(callback, args) {\n\n\t/** @type {import('./internal').EffectHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._value = callback;\n\t\tstate._args = args;\n\t\tcurrentComponent.__hooks._pendingLayoutEffects.push(state);\n\t}\n}\n\nexport function useRef(initialValue) {\n\treturn useMemo(() =&gt; ({ current: initialValue }), []);\n}\n\nexport function useImperativeHandle(ref, createHandle, args) {\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tcurrentComponent.__hooks._handles.push({ ref, createHandle });\n\t}\n}\n\nfunction bindHandles(handles) {\n\thandles.some(handle =&gt; {\n\t\tif (handle.ref) handle.ref.current = handle.createHandle();\n\t});\n\treturn [];\n}\n\n/**\n * @param {() =&gt; any} callback\n * @param {any[]} args\n */\nexport function useMemo(callback, args) {\n\n\t/** @type {import('./internal').MemoHookState} */\n\tconst state = getHookState(currentIndex++);\n\tif (argsChanged(state._args, args)) {\n\t\tstate._args = args;\n\t\tstate._callback = callback;\n\t\treturn state._value = callback();\n\t}\n\n\treturn state._value;\n}\n\n/**\n * @param {() =&gt; void} callback\n * @param {any[]} args\n */\nexport function useCallback(callback, args) {\n\treturn useMemo(() =&gt; callback, args);\n}\n\n/**\n * @param {import('./internal').PreactContext} context\n */\nexport function useContext(context) {\n\tconst provider = currentComponent.context[context._id];\n\tif (!provider) return context._defaultValue;\n\tconst state = getHookState(currentIndex++);\n\t// This is probably not safe to convert to \"!\"\n\tif (state._value == null) {\n\t\tstate._value = true;\n\t\tprovider.sub(currentComponent);\n\t}\n\treturn provider.props.value;\n}\n\n/**\n * Display a custom label for a custom hook for the devtools panel\n * @type {&lt;T&gt;(value: T, cb?: (value: T) =&gt; string | number) =&gt; void}\n */\nexport function useDebugValue(value, formatter) {\n\tif (options.useDebugValue) {\n\t\toptions.useDebugValue(formatter ? formatter(value) : value);\n\t}\n}\n\n// Note: if someone used Component.debounce = requestAnimationFrame,\n// then effects will ALWAYS run on the NEXT frame instead of the current one, incurring a ~16ms delay.\n// Perhaps this is not such a big deal.\n/**\n * Invoke a component's pending effects after the next frame renders\n * @type {(component: import('./internal').Component) =&gt; void}\n */\n/* istanbul ignore next */\nlet afterPaint = () =&gt; {};\n\n/**\n * After paint effects consumer.\n */\nfunction flushAfterPaintEffects() {\n\tafterPaintEffects.some(component =&gt; {\n\t\tcomponent._afterPaintQueued = false;\n\t\tif (component._parentDom) {\n\t\t\tcomponent.__hooks._pendingEffects = handleEffects(component.__hooks._pendingEffects);\n\t\t}\n\t});\n\tafterPaintEffects = [];\n}\n\nconst RAF_TIMEOUT = 100;\n\n/**\n * requestAnimationFrame with a timeout in case it doesn't fire (for example if the browser tab is not visible)\n */\nfunction safeRaf(callback) {\n\tconst done = () =&gt; {\n\t\tclearTimeout(timeout);\n\t\tcancelAnimationFrame(raf);\n\t\tsetTimeout(callback);\n\t};\n\tconst timeout = setTimeout(done, RAF_TIMEOUT);\n\tconst raf = requestAnimationFrame(done);\n}\n\n/* istanbul ignore else */\nif (typeof window !== 'undefined') {\n\tlet prevRaf = options.requestAnimationFrame;\n\tafterPaint = (component) =&gt; {\n\t\tif ((!component._afterPaintQueued &amp;&amp; (component._afterPaintQueued = true) &amp;&amp; afterPaintEffects.push(component) === 1) ||\n\t\t    prevRaf !== options.requestAnimationFrame) {\n\t\t\tprevRaf = options.requestAnimationFrame;\n\n\t\t\t/* istanbul ignore next */\n\t\t\t(options.requestAnimationFrame || safeRaf)(flushAfterPaintEffects);\n\t\t}\n\t};\n}\n\nfunction handleEffects(effects) {\n\teffects.forEach(invokeCleanup);\n\teffects.forEach(invokeEffect);\n\treturn [];\n}\n\nfunction invokeCleanup(hook) {\n\tif (hook._cleanup) hook._cleanup();\n}\n\n/**\n * Invoke a Hook's effect\n * @param {import('./internal').EffectHookState} hook\n */\nfunction invokeEffect(hook) {\n\tconst result = hook._value();\n\tif (typeof result === 'function') hook._cleanup = result;\n}\n\nfunction argsChanged(oldArgs, newArgs) {\n\treturn !oldArgs || newArgs.some((arg, index) =&gt; arg !== oldArgs[index]);\n}\n\nfunction invokeOrReturn(arg, f) {\n\treturn typeof f === 'function' ? f(arg) : f;\n}\n",";(function (sax) { // wrapper for non-node envs\n  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n  sax.SAXParser = SAXParser\n  sax.SAXStream = SAXStream\n  sax.createStream = createStream\n\n  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n  // since that's the earliest that a buffer overrun could occur.  This way, checks are\n  // as rare as required, but as often as necessary to ensure never crossing this bound.\n  // Furthermore, buffers are only tested at most once per write(), so passing a very\n  // large string into write() might have undesirable effects, but this is manageable by\n  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme\n  // edge case, result in creating at most one complete copy of the string passed in.\n  // Set to Infinity to have unlimited buffers.\n  sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n  var buffers = [\n    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n    'procInstName', 'procInstBody', 'entity', 'attribName',\n    'attribValue', 'cdata', 'script'\n  ]\n\n  sax.EVENTS = [\n    'text',\n    'processinginstruction',\n    'sgmldeclaration',\n    'doctype',\n    'comment',\n    'opentagstart',\n    'attribute',\n    'opentag',\n    'closetag',\n    'opencdata',\n    'cdata',\n    'closecdata',\n    'error',\n    'end',\n    'ready',\n    'script',\n    'opennamespace',\n    'closenamespace'\n  ]\n\n  function SAXParser (strict, opt) {\n    if (!(this instanceof SAXParser)) {\n      return new SAXParser(strict, opt)\n    }\n\n    var parser = this\n    clearBuffers(parser)\n    parser.q = parser.c = ''\n    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n    parser.opt = opt || {}\n    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n    parser.tags = []\n    parser.closed = parser.closedRoot = parser.sawRoot = false\n    parser.tag = parser.error = null\n    parser.strict = !!strict\n    parser.noscript = !!(strict || parser.opt.noscript)\n    parser.state = S.BEGIN\n    parser.strictEntities = parser.opt.strictEntities\n    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n    parser.attribList = []\n\n    // namespaces form a prototype chain.\n    // it always points at the current tag,\n    // which protos to its parent tag.\n    if (parser.opt.xmlns) {\n      parser.ns = Object.create(rootNS)\n    }\n\n    // mostly just for error reporting\n    parser.trackPosition = parser.opt.position !== false\n    if (parser.trackPosition) {\n      parser.position = parser.line = parser.column = 0\n    }\n    emit(parser, 'onready')\n  }\n\n  if (!Object.create) {\n    Object.create = function (o) {\n      function F () {}\n      F.prototype = o\n      var newf = new F()\n      return newf\n    }\n  }\n\n  if (!Object.keys) {\n    Object.keys = function (o) {\n      var a = []\n      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n      return a\n    }\n  }\n\n  function checkBufferLength (parser) {\n    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n    var maxActual = 0\n    for (var i = 0, l = buffers.length; i &lt; l; i++) {\n      var len = parser[buffers[i]].length\n      if (len &gt; maxAllowed) {\n        // Text/cdata nodes can get big, and since they're buffered,\n        // we can get here under normal conditions.\n        // Avoid issues by emitting the text node now,\n        // so at least it won't get any bigger.\n        switch (buffers[i]) {\n          case 'textNode':\n            closeText(parser)\n            break\n\n          case 'cdata':\n            emitNode(parser, 'oncdata', parser.cdata)\n            parser.cdata = ''\n            break\n\n          case 'script':\n            emitNode(parser, 'onscript', parser.script)\n            parser.script = ''\n            break\n\n          default:\n            error(parser, 'Max buffer length exceeded: ' + buffers[i])\n        }\n      }\n      maxActual = Math.max(maxActual, len)\n    }\n    // schedule the next check for the earliest possible buffer overrun.\n    var m = sax.MAX_BUFFER_LENGTH - maxActual\n    parser.bufferCheckPosition = m + parser.position\n  }\n\n  function clearBuffers (parser) {\n    for (var i = 0, l = buffers.length; i &lt; l; i++) {\n      parser[buffers[i]] = ''\n    }\n  }\n\n  function flushBuffers (parser) {\n    closeText(parser)\n    if (parser.cdata !== '') {\n      emitNode(parser, 'oncdata', parser.cdata)\n      parser.cdata = ''\n    }\n    if (parser.script !== '') {\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n  }\n\n  SAXParser.prototype = {\n    end: function () { end(this) },\n    write: write,\n    resume: function () { this.error = null; return this },\n    close: function () { return this.write(null) },\n    flush: function () { flushBuffers(this) }\n  }\n\n  var Stream\n  try {\n    Stream = require('stream').Stream\n  } catch (ex) {\n    Stream = function () {}\n  }\n\n  var streamWraps = sax.EVENTS.filter(function (ev) {\n    return ev !== 'error' &amp;&amp; ev !== 'end'\n  })\n\n  function createStream (strict, opt) {\n    return new SAXStream(strict, opt)\n  }\n\n  function SAXStream (strict, opt) {\n    if (!(this instanceof SAXStream)) {\n      return new SAXStream(strict, opt)\n    }\n\n    Stream.apply(this)\n\n    this._parser = new SAXParser(strict, opt)\n    this.writable = true\n    this.readable = true\n\n    var me = this\n\n    this._parser.onend = function () {\n      me.emit('end')\n    }\n\n    this._parser.onerror = function (er) {\n      me.emit('error', er)\n\n      // if didn't throw, then means error was handled.\n      // go ahead and clear error, so we can write again.\n      me._parser.error = null\n    }\n\n    this._decoder = null\n\n    streamWraps.forEach(function (ev) {\n      Object.defineProperty(me, 'on' + ev, {\n        get: function () {\n          return me._parser['on' + ev]\n        },\n        set: function (h) {\n          if (!h) {\n            me.removeAllListeners(ev)\n            me._parser['on' + ev] = h\n            return h\n          }\n          me.on(ev, h)\n        },\n        enumerable: true,\n        configurable: false\n      })\n    })\n  }\n\n  SAXStream.prototype = Object.create(Stream.prototype, {\n    constructor: {\n      value: SAXStream\n    }\n  })\n\n  SAXStream.prototype.write = function (data) {\n    if (typeof Buffer === 'function' &amp;&amp;\n      typeof Buffer.isBuffer === 'function' &amp;&amp;\n      Buffer.isBuffer(data)) {\n      if (!this._decoder) {\n        var SD = require('string_decoder').StringDecoder\n        this._decoder = new SD('utf8')\n      }\n      data = this._decoder.write(data)\n    }\n\n    this._parser.write(data.toString())\n    this.emit('data', data)\n    return true\n  }\n\n  SAXStream.prototype.end = function (chunk) {\n    if (chunk &amp;&amp; chunk.length) {\n      this.write(chunk)\n    }\n    this._parser.end()\n    return true\n  }\n\n  SAXStream.prototype.on = function (ev, handler) {\n    var me = this\n    if (!me._parser['on' + ev] &amp;&amp; streamWraps.indexOf(ev) !== -1) {\n      me._parser['on' + ev] = function () {\n        var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n        args.splice(0, 0, ev)\n        me.emit.apply(me, args)\n      }\n    }\n\n    return Stream.prototype.on.call(me, ev, handler)\n  }\n\n  // this really needs to be replaced with character classes.\n  // XML allows all manner of ridiculous numbers and digits.\n  var CDATA = '[CDATA['\n  var DOCTYPE = 'DOCTYPE'\n  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n  // This implementation works on strings, a single character at a time\n  // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n  // without a significant breaking change to either this  parser, or the\n  // JavaScript language.  Implementation of an emoji-capable xml parser\n  // is left as an exercise for the reader.\n  var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n  var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n  var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  function isWhitespace (c) {\n    return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n  }\n\n  function isQuote (c) {\n    return c === '\"' || c === '\\''\n  }\n\n  function isAttribEnd (c) {\n    return c === '&gt;' || isWhitespace(c)\n  }\n\n  function isMatch (regex, c) {\n    return regex.test(c)\n  }\n\n  function notMatch (regex, c) {\n    return !isMatch(regex, c)\n  }\n\n  var S = 0\n  sax.STATE = {\n    BEGIN: S++, // leading byte order mark or whitespace\n    BEGIN_WHITESPACE: S++, // leading whitespace\n    TEXT: S++, // general stuff\n    TEXT_ENTITY: S++, // &amp;amp and such.\n    OPEN_WAKA: S++, // &lt;\n    SGML_DECL: S++, // &lt;!BLARG\n    SGML_DECL_QUOTED: S++, // &lt;!BLARG foo \"bar\n    DOCTYPE: S++, // &lt;!DOCTYPE\n    DOCTYPE_QUOTED: S++, // &lt;!DOCTYPE \"//blah\n    DOCTYPE_DTD: S++, // &lt;!DOCTYPE \"//blah\" [ ...\n    DOCTYPE_DTD_QUOTED: S++, // &lt;!DOCTYPE \"//blah\" [ \"foo\n    COMMENT_STARTING: S++, // &lt;!-\n    COMMENT: S++, // &lt;!--\n    COMMENT_ENDING: S++, // &lt;!-- blah -\n    COMMENT_ENDED: S++, // &lt;!-- blah --\n    CDATA: S++, // &lt;![CDATA[ something\n    CDATA_ENDING: S++, // ]\n    CDATA_ENDING_2: S++, // ]]\n    PROC_INST: S++, // &lt;?hi\n    PROC_INST_BODY: S++, // &lt;?hi there\n    PROC_INST_ENDING: S++, // &lt;?hi \"there\" ?\n    OPEN_TAG: S++, // &lt;strong\n    OPEN_TAG_SLASH: S++, // &lt;strong /\n    ATTRIB: S++, // &lt;a\n    ATTRIB_NAME: S++, // &lt;a foo\n    ATTRIB_NAME_SAW_WHITE: S++, // &lt;a foo _\n    ATTRIB_VALUE: S++, // &lt;a foo=\n    ATTRIB_VALUE_QUOTED: S++, // &lt;a foo=\"bar\n    ATTRIB_VALUE_CLOSED: S++, // &lt;a foo=\"bar\"\n    ATTRIB_VALUE_UNQUOTED: S++, // &lt;a foo=bar\n    ATTRIB_VALUE_ENTITY_Q: S++, // &lt;foo bar=\"&amp;quot;\"\n    ATTRIB_VALUE_ENTITY_U: S++, // &lt;foo bar=&amp;quot\n    CLOSE_TAG: S++, // &lt;/a\n    CLOSE_TAG_SAW_WHITE: S++, // &lt;/a   &gt;\n    SCRIPT: S++, // &lt;script&gt; ...\n    SCRIPT_ENDING: S++ // &lt;script&gt; ... &lt;\n  }\n\n  sax.XML_ENTITIES = {\n    'amp': '&amp;',\n    'gt': '&gt;',\n    'lt': '&lt;',\n    'quot': '\"',\n    'apos': \"'\"\n  }\n\n  sax.ENTITIES = {\n    'amp': '&amp;',\n    'gt': '&gt;',\n    'lt': '&lt;',\n    'quot': '\"',\n    'apos': \"'\",\n    'AElig': 198,\n    'Aacute': 193,\n    'Acirc': 194,\n    'Agrave': 192,\n    'Aring': 197,\n    'Atilde': 195,\n    'Auml': 196,\n    'Ccedil': 199,\n    'ETH': 208,\n    'Eacute': 201,\n    'Ecirc': 202,\n    'Egrave': 200,\n    'Euml': 203,\n    'Iacute': 205,\n    'Icirc': 206,\n    'Igrave': 204,\n    'Iuml': 207,\n    'Ntilde': 209,\n    'Oacute': 211,\n    'Ocirc': 212,\n    'Ograve': 210,\n    'Oslash': 216,\n    'Otilde': 213,\n    'Ouml': 214,\n    'THORN': 222,\n    'Uacute': 218,\n    'Ucirc': 219,\n    'Ugrave': 217,\n    'Uuml': 220,\n    'Yacute': 221,\n    'aacute': 225,\n    'acirc': 226,\n    'aelig': 230,\n    'agrave': 224,\n    'aring': 229,\n    'atilde': 227,\n    'auml': 228,\n    'ccedil': 231,\n    'eacute': 233,\n    'ecirc': 234,\n    'egrave': 232,\n    'eth': 240,\n    'euml': 235,\n    'iacute': 237,\n    'icirc': 238,\n    'igrave': 236,\n    'iuml': 239,\n    'ntilde': 241,\n    'oacute': 243,\n    'ocirc': 244,\n    'ograve': 242,\n    'oslash': 248,\n    'otilde': 245,\n    'ouml': 246,\n    'szlig': 223,\n    'thorn': 254,\n    'uacute': 250,\n    'ucirc': 251,\n    'ugrave': 249,\n    'uuml': 252,\n    'yacute': 253,\n    'yuml': 255,\n    'copy': 169,\n    'reg': 174,\n    'nbsp': 160,\n    'iexcl': 161,\n    'cent': 162,\n    'pound': 163,\n    'curren': 164,\n    'yen': 165,\n    'brvbar': 166,\n    'sect': 167,\n    'uml': 168,\n    'ordf': 170,\n    'laquo': 171,\n    'not': 172,\n    'shy': 173,\n    'macr': 175,\n    'deg': 176,\n    'plusmn': 177,\n    'sup1': 185,\n    'sup2': 178,\n    'sup3': 179,\n    'acute': 180,\n    'micro': 181,\n    'para': 182,\n    'middot': 183,\n    'cedil': 184,\n    'ordm': 186,\n    'raquo': 187,\n    'frac14': 188,\n    'frac12': 189,\n    'frac34': 190,\n    'iquest': 191,\n    'times': 215,\n    'divide': 247,\n    'OElig': 338,\n    'oelig': 339,\n    'Scaron': 352,\n    'scaron': 353,\n    'Yuml': 376,\n    'fnof': 402,\n    'circ': 710,\n    'tilde': 732,\n    'Alpha': 913,\n    'Beta': 914,\n    'Gamma': 915,\n    'Delta': 916,\n    'Epsilon': 917,\n    'Zeta': 918,\n    'Eta': 919,\n    'Theta': 920,\n    'Iota': 921,\n    'Kappa': 922,\n    'Lambda': 923,\n    'Mu': 924,\n    'Nu': 925,\n    'Xi': 926,\n    'Omicron': 927,\n    'Pi': 928,\n    'Rho': 929,\n    'Sigma': 931,\n    'Tau': 932,\n    'Upsilon': 933,\n    'Phi': 934,\n    'Chi': 935,\n    'Psi': 936,\n    'Omega': 937,\n    'alpha': 945,\n    'beta': 946,\n    'gamma': 947,\n    'delta': 948,\n    'epsilon': 949,\n    'zeta': 950,\n    'eta': 951,\n    'theta': 952,\n    'iota': 953,\n    'kappa': 954,\n    'lambda': 955,\n    'mu': 956,\n    'nu': 957,\n    'xi': 958,\n    'omicron': 959,\n    'pi': 960,\n    'rho': 961,\n    'sigmaf': 962,\n    'sigma': 963,\n    'tau': 964,\n    'upsilon': 965,\n    'phi': 966,\n    'chi': 967,\n    'psi': 968,\n    'omega': 969,\n    'thetasym': 977,\n    'upsih': 978,\n    'piv': 982,\n    'ensp': 8194,\n    'emsp': 8195,\n    'thinsp': 8201,\n    'zwnj': 8204,\n    'zwj': 8205,\n    'lrm': 8206,\n    'rlm': 8207,\n    'ndash': 8211,\n    'mdash': 8212,\n    'lsquo': 8216,\n    'rsquo': 8217,\n    'sbquo': 8218,\n    'ldquo': 8220,\n    'rdquo': 8221,\n    'bdquo': 8222,\n    'dagger': 8224,\n    'Dagger': 8225,\n    'bull': 8226,\n    'hellip': 8230,\n    'permil': 8240,\n    'prime': 8242,\n    'Prime': 8243,\n    'lsaquo': 8249,\n    'rsaquo': 8250,\n    'oline': 8254,\n    'frasl': 8260,\n    'euro': 8364,\n    'image': 8465,\n    'weierp': 8472,\n    'real': 8476,\n    'trade': 8482,\n    'alefsym': 8501,\n    'larr': 8592,\n    'uarr': 8593,\n    'rarr': 8594,\n    'darr': 8595,\n    'harr': 8596,\n    'crarr': 8629,\n    'lArr': 8656,\n    'uArr': 8657,\n    'rArr': 8658,\n    'dArr': 8659,\n    'hArr': 8660,\n    'forall': 8704,\n    'part': 8706,\n    'exist': 8707,\n    'empty': 8709,\n    'nabla': 8711,\n    'isin': 8712,\n    'notin': 8713,\n    'ni': 8715,\n    'prod': 8719,\n    'sum': 8721,\n    'minus': 8722,\n    'lowast': 8727,\n    'radic': 8730,\n    'prop': 8733,\n    'infin': 8734,\n    'ang': 8736,\n    'and': 8743,\n    'or': 8744,\n    'cap': 8745,\n    'cup': 8746,\n    'int': 8747,\n    'there4': 8756,\n    'sim': 8764,\n    'cong': 8773,\n    'asymp': 8776,\n    'ne': 8800,\n    'equiv': 8801,\n    'le': 8804,\n    'ge': 8805,\n    'sub': 8834,\n    'sup': 8835,\n    'nsub': 8836,\n    'sube': 8838,\n    'supe': 8839,\n    'oplus': 8853,\n    'otimes': 8855,\n    'perp': 8869,\n    'sdot': 8901,\n    'lceil': 8968,\n    'rceil': 8969,\n    'lfloor': 8970,\n    'rfloor': 8971,\n    'lang': 9001,\n    'rang': 9002,\n    'loz': 9674,\n    'spades': 9824,\n    'clubs': 9827,\n    'hearts': 9829,\n    'diams': 9830\n  }\n\n  Object.keys(sax.ENTITIES).forEach(function (key) {\n    var e = sax.ENTITIES[key]\n    var s = typeof e === 'number' ? String.fromCharCode(e) : e\n    sax.ENTITIES[key] = s\n  })\n\n  for (var s in sax.STATE) {\n    sax.STATE[sax.STATE[s]] = s\n  }\n\n  // shorthand\n  S = sax.STATE\n\n  function emit (parser, event, data) {\n    parser[event] &amp;&amp; parser[event](data)\n  }\n\n  function emitNode (parser, nodeType, data) {\n    if (parser.textNode) closeText(parser)\n    emit(parser, nodeType, data)\n  }\n\n  function closeText (parser) {\n    parser.textNode = textopts(parser.opt, parser.textNode)\n    if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n    parser.textNode = ''\n  }\n\n  function textopts (opt, text) {\n    if (opt.trim) text = text.trim()\n    if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n    return text\n  }\n\n  function error (parser, er) {\n    closeText(parser)\n    if (parser.trackPosition) {\n      er += '\\nLine: ' + parser.line +\n        '\\nColumn: ' + parser.column +\n        '\\nChar: ' + parser.c\n    }\n    er = new Error(er)\n    parser.error = er\n    emit(parser, 'onerror', er)\n    return parser\n  }\n\n  function end (parser) {\n    if (parser.sawRoot &amp;&amp; !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n    if ((parser.state !== S.BEGIN) &amp;&amp;\n      (parser.state !== S.BEGIN_WHITESPACE) &amp;&amp;\n      (parser.state !== S.TEXT)) {\n      error(parser, 'Unexpected end')\n    }\n    closeText(parser)\n    parser.c = ''\n    parser.closed = true\n    emit(parser, 'onend')\n    SAXParser.call(parser, parser.strict, parser.opt)\n    return parser\n  }\n\n  function strictFail (parser, message) {\n    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n      throw new Error('bad call to strictFail')\n    }\n    if (parser.strict) {\n      error(parser, message)\n    }\n  }\n\n  function newTag (parser) {\n    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n    var parent = parser.tags[parser.tags.length - 1] || parser\n    var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n    // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n    if (parser.opt.xmlns) {\n      tag.ns = parent.ns\n    }\n    parser.attribList.length = 0\n    emitNode(parser, 'onopentagstart', tag)\n  }\n\n  function qname (name, attribute) {\n    var i = name.indexOf(':')\n    var qualName = i &lt; 0 ? [ '', name ] : name.split(':')\n    var prefix = qualName[0]\n    var local = qualName[1]\n\n    // &lt;x \"xmlns\"=\"http://foo\"&gt;\n    if (attribute &amp;&amp; name === 'xmlns') {\n      prefix = 'xmlns'\n      local = ''\n    }\n\n    return { prefix: prefix, local: local }\n  }\n\n  function attrib (parser) {\n    if (!parser.strict) {\n      parser.attribName = parser.attribName[parser.looseCase]()\n    }\n\n    if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n      parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n      parser.attribName = parser.attribValue = ''\n      return\n    }\n\n    if (parser.opt.xmlns) {\n      var qn = qname(parser.attribName, true)\n      var prefix = qn.prefix\n      var local = qn.local\n\n      if (prefix === 'xmlns') {\n        // namespace binding attribute. push the binding into scope\n        if (local === 'xml' &amp;&amp; parser.attribValue !== XML_NAMESPACE) {\n          strictFail(parser,\n            'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else if (local === 'xmlns' &amp;&amp; parser.attribValue !== XMLNS_NAMESPACE) {\n          strictFail(parser,\n            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else {\n          var tag = parser.tag\n          var parent = parser.tags[parser.tags.length - 1] || parser\n          if (tag.ns === parent.ns) {\n            tag.ns = Object.create(parent.ns)\n          }\n          tag.ns[local] = parser.attribValue\n        }\n      }\n\n      // defer onattribute events until all attributes have been seen\n      // so any new bindings can take effect. preserve attribute order\n      // so deferred events can be emitted in document order\n      parser.attribList.push([parser.attribName, parser.attribValue])\n    } else {\n      // in non-xmlns mode, we can emit the event right away\n      parser.tag.attributes[parser.attribName] = parser.attribValue\n      emitNode(parser, 'onattribute', {\n        name: parser.attribName,\n        value: parser.attribValue\n      })\n    }\n\n    parser.attribName = parser.attribValue = ''\n  }\n\n  function openTag (parser, selfClosing) {\n    if (parser.opt.xmlns) {\n      // emit namespace binding events\n      var tag = parser.tag\n\n      // add namespace info to tag\n      var qn = qname(parser.tagName)\n      tag.prefix = qn.prefix\n      tag.local = qn.local\n      tag.uri = tag.ns[qn.prefix] || ''\n\n      if (tag.prefix &amp;&amp; !tag.uri) {\n        strictFail(parser, 'Unbound namespace prefix: ' +\n          JSON.stringify(parser.tagName))\n        tag.uri = qn.prefix\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (tag.ns &amp;&amp; parent.ns !== tag.ns) {\n        Object.keys(tag.ns).forEach(function (p) {\n          emitNode(parser, 'onopennamespace', {\n            prefix: p,\n            uri: tag.ns[p]\n          })\n        })\n      }\n\n      // handle deferred onattribute events\n      // Note: do not apply default ns to attributes:\n      //   http://www.w3.org/TR/REC-xml-names/#defaulting\n      for (var i = 0, l = parser.attribList.length; i &lt; l; i++) {\n        var nv = parser.attribList[i]\n        var name = nv[0]\n        var value = nv[1]\n        var qualName = qname(name, true)\n        var prefix = qualName.prefix\n        var local = qualName.local\n        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n        var a = {\n          name: name,\n          value: value,\n          prefix: prefix,\n          local: local,\n          uri: uri\n        }\n\n        // if there's any attributes with an undefined namespace,\n        // then fail on them now.\n        if (prefix &amp;&amp; prefix !== 'xmlns' &amp;&amp; !uri) {\n          strictFail(parser, 'Unbound namespace prefix: ' +\n            JSON.stringify(prefix))\n          a.uri = prefix\n        }\n        parser.tag.attributes[name] = a\n        emitNode(parser, 'onattribute', a)\n      }\n      parser.attribList.length = 0\n    }\n\n    parser.tag.isSelfClosing = !!selfClosing\n\n    // process the tag\n    parser.sawRoot = true\n    parser.tags.push(parser.tag)\n    emitNode(parser, 'onopentag', parser.tag)\n    if (!selfClosing) {\n      // special case for &lt;script&gt; in non-strict mode.\n      if (!parser.noscript &amp;&amp; parser.tagName.toLowerCase() === 'script') {\n        parser.state = S.SCRIPT\n      } else {\n        parser.state = S.TEXT\n      }\n      parser.tag = null\n      parser.tagName = ''\n    }\n    parser.attribName = parser.attribValue = ''\n    parser.attribList.length = 0\n  }\n\n  function closeTag (parser) {\n    if (!parser.tagName) {\n      strictFail(parser, 'Weird empty close tag.')\n      parser.textNode += '&lt;/&gt;'\n      parser.state = S.TEXT\n      return\n    }\n\n    if (parser.script) {\n      if (parser.tagName !== 'script') {\n        parser.script += '&lt;/' + parser.tagName + '&gt;'\n        parser.tagName = ''\n        parser.state = S.SCRIPT\n        return\n      }\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n\n    // first make sure that the closing tag actually exists.\n    // &lt;a&gt;&lt;b&gt;&lt;/c&gt;&lt;/b&gt;&lt;/a&gt; will close everything, otherwise.\n    var t = parser.tags.length\n    var tagName = parser.tagName\n    if (!parser.strict) {\n      tagName = tagName[parser.looseCase]()\n    }\n    var closeTo = tagName\n    while (t--) {\n      var close = parser.tags[t]\n      if (close.name !== closeTo) {\n        // fail the first time in strict mode\n        strictFail(parser, 'Unexpected close tag')\n      } else {\n        break\n      }\n    }\n\n    // didn't find it.  we already failed for strict, so just abort.\n    if (t &lt; 0) {\n      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n      parser.textNode += '&lt;/' + parser.tagName + '&gt;'\n      parser.state = S.TEXT\n      return\n    }\n    parser.tagName = tagName\n    var s = parser.tags.length\n    while (s-- &gt; t) {\n      var tag = parser.tag = parser.tags.pop()\n      parser.tagName = parser.tag.name\n      emitNode(parser, 'onclosetag', parser.tagName)\n\n      var x = {}\n      for (var i in tag.ns) {\n        x[i] = tag.ns[i]\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (parser.opt.xmlns &amp;&amp; tag.ns !== parent.ns) {\n        // remove namespace bindings introduced by tag\n        Object.keys(tag.ns).forEach(function (p) {\n          var n = tag.ns[p]\n          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n        })\n      }\n    }\n    if (t === 0) parser.closedRoot = true\n    parser.tagName = parser.attribValue = parser.attribName = ''\n    parser.attribList.length = 0\n    parser.state = S.TEXT\n  }\n\n  function parseEntity (parser) {\n    var entity = parser.entity\n    var entityLC = entity.toLowerCase()\n    var num\n    var numStr = ''\n\n    if (parser.ENTITIES[entity]) {\n      return parser.ENTITIES[entity]\n    }\n    if (parser.ENTITIES[entityLC]) {\n      return parser.ENTITIES[entityLC]\n    }\n    entity = entityLC\n    if (entity.charAt(0) === '#') {\n      if (entity.charAt(1) === 'x') {\n        entity = entity.slice(2)\n        num = parseInt(entity, 16)\n        numStr = num.toString(16)\n      } else {\n        entity = entity.slice(1)\n        num = parseInt(entity, 10)\n        numStr = num.toString(10)\n      }\n    }\n    entity = entity.replace(/^0+/, '')\n    if (isNaN(num) || numStr.toLowerCase() !== entity) {\n      strictFail(parser, 'Invalid character entity')\n      return '&amp;' + parser.entity + ';'\n    }\n\n    return String.fromCodePoint(num)\n  }\n\n  function beginWhiteSpace (parser, c) {\n    if (c === '&lt;') {\n      parser.state = S.OPEN_WAKA\n      parser.startTagPosition = parser.position\n    } else if (!isWhitespace(c)) {\n      // have to process this as a text node.\n      // weird, but happens.\n      strictFail(parser, 'Non-whitespace before first tag.')\n      parser.textNode = c\n      parser.state = S.TEXT\n    }\n  }\n\n  function charAt (chunk, i) {\n    var result = ''\n    if (i &lt; chunk.length) {\n      result = chunk.charAt(i)\n    }\n    return result\n  }\n\n  function write (chunk) {\n    var parser = this\n    if (this.error) {\n      throw this.error\n    }\n    if (parser.closed) {\n      return error(parser,\n        'Cannot write after close. Assign an onready handler.')\n    }\n    if (chunk === null) {\n      return end(parser)\n    }\n    if (typeof chunk === 'object') {\n      chunk = chunk.toString()\n    }\n    var i = 0\n    var c = ''\n    while (true) {\n      c = charAt(chunk, i++)\n      parser.c = c\n\n      if (!c) {\n        break\n      }\n\n      if (parser.trackPosition) {\n        parser.position++\n        if (c === '\\n') {\n          parser.line++\n          parser.column = 0\n        } else {\n          parser.column++\n        }\n      }\n\n      switch (parser.state) {\n        case S.BEGIN:\n          parser.state = S.BEGIN_WHITESPACE\n          if (c === '\\uFEFF') {\n            continue\n          }\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.BEGIN_WHITESPACE:\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.TEXT:\n          if (parser.sawRoot &amp;&amp; !parser.closedRoot) {\n            var starti = i - 1\n            while (c &amp;&amp; c !== '&lt;' &amp;&amp; c !== '&amp;') {\n              c = charAt(chunk, i++)\n              if (c &amp;&amp; parser.trackPosition) {\n                parser.position++\n                if (c === '\\n') {\n                  parser.line++\n                  parser.column = 0\n                } else {\n                  parser.column++\n                }\n              }\n            }\n            parser.textNode += chunk.substring(starti, i - 1)\n          }\n          if (c === '&lt;' &amp;&amp; !(parser.sawRoot &amp;&amp; parser.closedRoot &amp;&amp; !parser.strict)) {\n            parser.state = S.OPEN_WAKA\n            parser.startTagPosition = parser.position\n          } else {\n            if (!isWhitespace(c) &amp;&amp; (!parser.sawRoot || parser.closedRoot)) {\n              strictFail(parser, 'Text data outside of root node.')\n            }\n            if (c === '&amp;') {\n              parser.state = S.TEXT_ENTITY\n            } else {\n              parser.textNode += c\n            }\n          }\n          continue\n\n        case S.SCRIPT:\n          // only non-strict\n          if (c === '&lt;') {\n            parser.state = S.SCRIPT_ENDING\n          } else {\n            parser.script += c\n          }\n          continue\n\n        case S.SCRIPT_ENDING:\n          if (c === '/') {\n            parser.state = S.CLOSE_TAG\n          } else {\n            parser.script += '&lt;' + c\n            parser.state = S.SCRIPT\n          }\n          continue\n\n        case S.OPEN_WAKA:\n          // either a /, ?, !, or text is coming next.\n          if (c === '!') {\n            parser.state = S.SGML_DECL\n            parser.sgmlDecl = ''\n          } else if (isWhitespace(c)) {\n            // wait for it...\n          } else if (isMatch(nameStart, c)) {\n            parser.state = S.OPEN_TAG\n            parser.tagName = c\n          } else if (c === '/') {\n            parser.state = S.CLOSE_TAG\n            parser.tagName = ''\n          } else if (c === '?') {\n            parser.state = S.PROC_INST\n            parser.procInstName = parser.procInstBody = ''\n          } else {\n            strictFail(parser, 'Unencoded &lt;')\n            // if there was some whitespace, then add that in.\n            if (parser.startTagPosition + 1 &lt; parser.position) {\n              var pad = parser.position - parser.startTagPosition\n              c = new Array(pad).join(' ') + c\n            }\n            parser.textNode += '&lt;' + c\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.SGML_DECL:\n          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n            emitNode(parser, 'onopencdata')\n            parser.state = S.CDATA\n            parser.sgmlDecl = ''\n            parser.cdata = ''\n          } else if (parser.sgmlDecl + c === '--') {\n            parser.state = S.COMMENT\n            parser.comment = ''\n            parser.sgmlDecl = ''\n          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n            parser.state = S.DOCTYPE\n            if (parser.doctype || parser.sawRoot) {\n              strictFail(parser,\n                'Inappropriately located doctype declaration')\n            }\n            parser.doctype = ''\n            parser.sgmlDecl = ''\n          } else if (c === '&gt;') {\n            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n            parser.sgmlDecl = ''\n            parser.state = S.TEXT\n          } else if (isQuote(c)) {\n            parser.state = S.SGML_DECL_QUOTED\n            parser.sgmlDecl += c\n          } else {\n            parser.sgmlDecl += c\n          }\n          continue\n\n        case S.SGML_DECL_QUOTED:\n          if (c === parser.q) {\n            parser.state = S.SGML_DECL\n            parser.q = ''\n          }\n          parser.sgmlDecl += c\n          continue\n\n        case S.DOCTYPE:\n          if (c === '&gt;') {\n            parser.state = S.TEXT\n            emitNode(parser, 'ondoctype', parser.doctype)\n            parser.doctype = true // just remember that we saw it.\n          } else {\n            parser.doctype += c\n            if (c === '[') {\n              parser.state = S.DOCTYPE_DTD\n            } else if (isQuote(c)) {\n              parser.state = S.DOCTYPE_QUOTED\n              parser.q = c\n            }\n          }\n          continue\n\n        case S.DOCTYPE_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.q = ''\n            parser.state = S.DOCTYPE\n          }\n          continue\n\n        case S.DOCTYPE_DTD:\n          parser.doctype += c\n          if (c === ']') {\n            parser.state = S.DOCTYPE\n          } else if (isQuote(c)) {\n            parser.state = S.DOCTYPE_DTD_QUOTED\n            parser.q = c\n          }\n          continue\n\n        case S.DOCTYPE_DTD_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.state = S.DOCTYPE_DTD\n            parser.q = ''\n          }\n          continue\n\n        case S.COMMENT:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDING\n          } else {\n            parser.comment += c\n          }\n          continue\n\n        case S.COMMENT_ENDING:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDED\n            parser.comment = textopts(parser.opt, parser.comment)\n            if (parser.comment) {\n              emitNode(parser, 'oncomment', parser.comment)\n            }\n            parser.comment = ''\n          } else {\n            parser.comment += '-' + c\n            parser.state = S.COMMENT\n          }\n          continue\n\n        case S.COMMENT_ENDED:\n          if (c !== '&gt;') {\n            strictFail(parser, 'Malformed comment')\n            // allow &lt;!-- blah -- bloo --&gt; in non-strict mode,\n            // which is a comment of \" blah -- bloo \"\n            parser.comment += '--' + c\n            parser.state = S.COMMENT\n          } else {\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.CDATA:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING\n          } else {\n            parser.cdata += c\n          }\n          continue\n\n        case S.CDATA_ENDING:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING_2\n          } else {\n            parser.cdata += ']' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.CDATA_ENDING_2:\n          if (c === '&gt;') {\n            if (parser.cdata) {\n              emitNode(parser, 'oncdata', parser.cdata)\n            }\n            emitNode(parser, 'onclosecdata')\n            parser.cdata = ''\n            parser.state = S.TEXT\n          } else if (c === ']') {\n            parser.cdata += ']'\n          } else {\n            parser.cdata += ']]' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.PROC_INST:\n          if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else if (isWhitespace(c)) {\n            parser.state = S.PROC_INST_BODY\n          } else {\n            parser.procInstName += c\n          }\n          continue\n\n        case S.PROC_INST_BODY:\n          if (!parser.procInstBody &amp;&amp; isWhitespace(c)) {\n            continue\n          } else if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else {\n            parser.procInstBody += c\n          }\n          continue\n\n        case S.PROC_INST_ENDING:\n          if (c === '&gt;') {\n            emitNode(parser, 'onprocessinginstruction', {\n              name: parser.procInstName,\n              body: parser.procInstBody\n            })\n            parser.procInstName = parser.procInstBody = ''\n            parser.state = S.TEXT\n          } else {\n            parser.procInstBody += '?' + c\n            parser.state = S.PROC_INST_BODY\n          }\n          continue\n\n        case S.OPEN_TAG:\n          if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else {\n            newTag(parser)\n            if (c === '&gt;') {\n              openTag(parser)\n            } else if (c === '/') {\n              parser.state = S.OPEN_TAG_SLASH\n            } else {\n              if (!isWhitespace(c)) {\n                strictFail(parser, 'Invalid character in tag name')\n              }\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.OPEN_TAG_SLASH:\n          if (c === '&gt;') {\n            openTag(parser, true)\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Forward-slash in opening tag not followed by &gt;')\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.ATTRIB:\n          // haven't read the attribute name yet.\n          if (isWhitespace(c)) {\n            continue\n          } else if (c === '&gt;') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (c === '&gt;') {\n            strictFail(parser, 'Attribute without value')\n            parser.attribValue = parser.attribName\n            attrib(parser)\n            openTag(parser)\n          } else if (isWhitespace(c)) {\n            parser.state = S.ATTRIB_NAME_SAW_WHITE\n          } else if (isMatch(nameBody, c)) {\n            parser.attribName += c\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME_SAW_WHITE:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (isWhitespace(c)) {\n            continue\n          } else {\n            strictFail(parser, 'Attribute without value')\n            parser.tag.attributes[parser.attribName] = ''\n            parser.attribValue = ''\n            emitNode(parser, 'onattribute', {\n              name: parser.attribName,\n              value: ''\n            })\n            parser.attribName = ''\n            if (c === '&gt;') {\n              openTag(parser)\n            } else if (isMatch(nameStart, c)) {\n              parser.attribName = c\n              parser.state = S.ATTRIB_NAME\n            } else {\n              strictFail(parser, 'Invalid attribute name')\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.ATTRIB_VALUE:\n          if (isWhitespace(c)) {\n            continue\n          } else if (isQuote(c)) {\n            parser.q = c\n            parser.state = S.ATTRIB_VALUE_QUOTED\n          } else {\n            strictFail(parser, 'Unquoted attribute value')\n            parser.state = S.ATTRIB_VALUE_UNQUOTED\n            parser.attribValue = c\n          }\n          continue\n\n        case S.ATTRIB_VALUE_QUOTED:\n          if (c !== parser.q) {\n            if (c === '&amp;') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_Q\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          parser.q = ''\n          parser.state = S.ATTRIB_VALUE_CLOSED\n          continue\n\n        case S.ATTRIB_VALUE_CLOSED:\n          if (isWhitespace(c)) {\n            parser.state = S.ATTRIB\n          } else if (c === '&gt;') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            strictFail(parser, 'No whitespace between attributes')\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_VALUE_UNQUOTED:\n          if (!isAttribEnd(c)) {\n            if (c === '&amp;') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_U\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          if (c === '&gt;') {\n            openTag(parser)\n          } else {\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.CLOSE_TAG:\n          if (!parser.tagName) {\n            if (isWhitespace(c)) {\n              continue\n            } else if (notMatch(nameStart, c)) {\n              if (parser.script) {\n                parser.script += '&lt;/' + c\n                parser.state = S.SCRIPT\n              } else {\n                strictFail(parser, 'Invalid tagname in closing tag.')\n              }\n            } else {\n              parser.tagName = c\n            }\n          } else if (c === '&gt;') {\n            closeTag(parser)\n          } else if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else if (parser.script) {\n            parser.script += '&lt;/' + parser.tagName\n            parser.tagName = ''\n            parser.state = S.SCRIPT\n          } else {\n            if (!isWhitespace(c)) {\n              strictFail(parser, 'Invalid tagname in closing tag')\n            }\n            parser.state = S.CLOSE_TAG_SAW_WHITE\n          }\n          continue\n\n        case S.CLOSE_TAG_SAW_WHITE:\n          if (isWhitespace(c)) {\n            continue\n          }\n          if (c === '&gt;') {\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Invalid characters in closing tag')\n          }\n          continue\n\n        case S.TEXT_ENTITY:\n        case S.ATTRIB_VALUE_ENTITY_Q:\n        case S.ATTRIB_VALUE_ENTITY_U:\n          var returnState\n          var buffer\n          switch (parser.state) {\n            case S.TEXT_ENTITY:\n              returnState = S.TEXT\n              buffer = 'textNode'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_Q:\n              returnState = S.ATTRIB_VALUE_QUOTED\n              buffer = 'attribValue'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_U:\n              returnState = S.ATTRIB_VALUE_UNQUOTED\n              buffer = 'attribValue'\n              break\n          }\n\n          if (c === ';') {\n            parser[buffer] += parseEntity(parser)\n            parser.entity = ''\n            parser.state = returnState\n          } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n            parser.entity += c\n          } else {\n            strictFail(parser, 'Invalid character in entity name')\n            parser[buffer] += '&amp;' + parser.entity + c\n            parser.entity = ''\n            parser.state = returnState\n          }\n\n          continue\n\n        default:\n          throw new Error(parser, 'Unknown state: ' + parser.state)\n      }\n    } // while\n\n    if (parser.position &gt;= parser.bufferCheckPosition) {\n      checkBufferLength(parser)\n    }\n    return parser\n  }\n\n  /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n  /* istanbul ignore next */\n  if (!String.fromCodePoint) {\n    (function () {\n      var stringFromCharCode = String.fromCharCode\n      var floor = Math.floor\n      var fromCodePoint = function () {\n        var MAX_SIZE = 0x4000\n        var codeUnits = []\n        var highSurrogate\n        var lowSurrogate\n        var index = -1\n        var length = arguments.length\n        if (!length) {\n          return ''\n        }\n        var result = ''\n        while (++index &lt; length) {\n          var codePoint = Number(arguments[index])\n          if (\n            !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n            codePoint &lt; 0 || // not a valid Unicode code point\n            codePoint &gt; 0x10FFFF || // not a valid Unicode code point\n            floor(codePoint) !== codePoint // not an integer\n          ) {\n            throw RangeError('Invalid code point: ' + codePoint)\n          }\n          if (codePoint &lt;= 0xFFFF) { // BMP code point\n            codeUnits.push(codePoint)\n          } else { // Astral code point; split in surrogate halves\n            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n            codePoint -= 0x10000\n            highSurrogate = (codePoint &gt;&gt; 10) + 0xD800\n            lowSurrogate = (codePoint % 0x400) + 0xDC00\n            codeUnits.push(highSurrogate, lowSurrogate)\n          }\n          if (index + 1 === length || codeUnits.length &gt; MAX_SIZE) {\n            result += stringFromCharCode.apply(null, codeUnits)\n            codeUnits.length = 0\n          }\n        }\n        return result\n      }\n      /* istanbul ignore next */\n      if (Object.defineProperty) {\n        Object.defineProperty(String, 'fromCodePoint', {\n          value: fromCodePoint,\n          configurable: true,\n          writable: true\n        })\n      } else {\n        String.fromCodePoint = fromCodePoint\n      }\n    }())\n  }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n"]}</pre></body></html>