diff --git a/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css b/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css new file mode 100644 index 00000000..fe032f7e --- /dev/null +++ b/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css @@ -0,0 +1,2 @@ +*{box-sizing:border-box}body{background:#f6f6f6;color:#323232;font-family:Helvetica,Arial,sans-serif;font-size:14px}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:initial;margin:initial}a:link,a:visited{color:#07f;text-decoration:underline;transition:300ms ease color}a:link:hover,a:link:focus,a:link:active,a:visited:hover,a:visited:focus,a:visited:active{color:rgb(0,83.3,178.5)}a:link:disabled,a:visited:disabled{color:#949a9f;cursor:initial}input[type=text]{border-radius:3px;border:1px solid rgb(203.5,203.5,203.5);box-shadow:0 0 10px rgba(0,0,0,.05) inset;font-size:16px;height:40px;padding:0 12px;transition:300ms ease border-color;width:100%}input[type=text]:focus{border-color:rgba(0,119,255,.5);outline:none;animation:htf-base-input-pulse 2s infinite}@keyframes htf-base-input-pulse{0%{box-shadow:0 0 0 0 rgba(0,119,255,.25),0 0 10px rgba(0,0,0,.1) inset}70%{box-shadow:0 0 0 8px rgba(0,119,255,0),0 0 10px rgba(0,0,0,.1) inset}100%{box-shadow:0 0 0 0 rgba(0,119,255,0),0 0 10px rgba(0,0,0,.1) inset}}.htf-rounded-button-blue{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.htf-rounded-button-blue:focus,.htf-rounded-button-blue:active{outline:none}.htf-rounded-button-blue{background:#07f;border-radius:16px;border:1px solid #07f;color:#fff;cursor:pointer;display:inline-block;font-size:12px;height:32px;padding:0 20px;text-transform:uppercase;transition:300ms ease border-color,300ms ease background}.htf-rounded-button-blue:focus{border-color:rgb(0,95.2,204)}.htf-rounded-button-blue:active,.htf-rounded-button-blue:hover{background:hsl(212,100%,65%);border-color:hsl(212,100%,65%)}.htf-rounded-button-blue:disabled{background:hsl(212,100%,75%);border-color:hsl(212,100%,75%)}.htf-rounded-button-red{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.htf-rounded-button-red:focus,.htf-rounded-button-red:active{outline:none}.htf-rounded-button-red{background:#ff5d4e;border-radius:16px;border:1px solid #ff5d4e;color:#fff;cursor:pointer;display:inline-block;font-size:12px;height:32px;padding:0 20px;text-transform:uppercase;transition:300ms ease border-color,300ms ease background}.htf-rounded-button-red:focus{border-color:rgb(255,46.3220338983,27)}.htf-rounded-button-red:active,.htf-rounded-button-red:hover{background:rgb(255,163.0169491525,154.5);border-color:rgb(255,163.0169491525,154.5)}.htf-rounded-button-red:disabled{background:rgb(255,209.6949152542,205.5);border-color:rgb(255,209.6949152542,205.5)}.htf-rounded-button-grey{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.htf-rounded-button-grey:focus,.htf-rounded-button-grey:active{outline:none}.htf-rounded-button-grey{background:#e5e5e5;border-radius:16px;border:1px solid #e5e5e5;color:#323232;cursor:pointer;display:inline-block;font-size:12px;height:32px;padding:0 20px;text-transform:uppercase;transition:300ms ease border-color,300ms ease background}.htf-rounded-button-grey:focus{border-color:rgb(203.5,203.5,203.5)}.htf-rounded-button-grey:active,.htf-rounded-button-grey:hover{background:#fff;border-color:#fff}.htf-rounded-button-grey:disabled{background:#fff;border-color:#fff}.htf-rounded-button-grey{font-weight:bold}.htf-rounded-button-grey:active,.htf-rounded-button-grey:hover{background:rgb(203.5,203.5,203.5)}.htf-link-button{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.htf-link-button:focus,.htf-link-button:active{outline:none}.htf-link-button{color:#07f;text-decoration:underline;transition:300ms ease color}.htf-link-button:hover,.htf-link-button:focus,.htf-link-button:active{color:rgb(0,83.3,178.5)}.htf-link-button:disabled{color:#949a9f;cursor:initial}.htf-link-button{font-size:12px;cursor:pointer}.htf-support-text{color:#949a9f;font-size:12px}.htf-status-indicator{background:rgba(50,50,50,.1);font-size:12px;font-weight:bold;height:100%;margin-left:15px;margin-right:-15px;min-width:100px;text-align:center;width:100px}.htf-status-indicator.ng-status-fail{background:rgba(255,93,78,.1);color:rgb(255,46.3220338983,27)}.htf-status-indicator.ng-status-pass{background:rgba(0,232,157,.1);color:rgb(0,181,122.4870689655)}.htf-status-indicator.ng-status-running{background:rgba(0,119,255,.1);color:rgb(0,95.2,204)}.htf-status-indicator.ng-status-warning{background:rgba(255,229,77,.18);color:rgb(230,196.404494382,0)}.ng-tooltip-host{position:relative;cursor:pointer}.ng-tooltip{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:12px;line-height:initial;max-width:500px;opacity:0;padding:8px;pointer-events:none;position:absolute;right:-15px;top:50%;transform:translateX(100%) translateY(-50%);transition:200ms ease opacity;word-wrap:break-word}.ng-tooltip.ng-tooltip--is-visible{opacity:1}.ng-tooltip::before{border-bottom:6px solid rgba(0,0,0,0);border-right:6px solid rgba(0,0,0,.7);border-top:6px solid rgba(0,0,0,0);content:"";height:0;left:0;position:absolute;top:50%;transform:translateX(-100%) translateY(-50%);width:0}.htf-layout-nav-container{background:#fff;border-bottom:1px solid #ccc;height:52px;line-height:53px;margin-bottom:15px;width:100%}.htf-layout-nav{margin-left:auto;margin-right:auto;max-width:1000px;width:95%;-ms-flex-align:baseline;align-items:baseline;display:-ms-flexbox;display:flex}.htf-layout-container{margin-left:auto;margin-right:auto;max-width:1000px;width:95%}.htf-layout-widgets-container{display:-ms-flexbox;display:flex}.htf-layout-widgets-row{margin-right:-25px}.htf-layout-widgets-row>*{-ms-flex:1;flex:1}.htf-layout-widgets-row .htf-layout-widget{margin-right:25px}.htf-layout-widgets-left{word-break:break-all;-ms-flex-positive:1;flex-grow:1;min-width:0}.htf-layout-widgets-right{margin-left:25px;vertical-align:top;min-width:300px;max-width:300px}.htf-layout-widget{background:#fff;border-radius:3px;border:1px solid #ccc;margin-bottom:25px}.htf-layout-header{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:43px;line-height:42px;padding:0 15px}.htf-layout-widget-header{-ms-flex-align:center;align-items:center;border-bottom:1px solid #ccc;display:-ms-flexbox;display:flex;height:54px;padding:0 15px}.htf-layout-widget-header>:first-child{font-weight:bold}.htf-layout-widget-body{padding:15px}.htf-layout-widget-body+.htf-layout-widget-body{border-top:1px solid #ccc}.htf-layout-widget-list{list-style:none;margin:0;padding:0}.htf-layout-widget-list>li{border-bottom:1px solid #ccc}.htf-layout-widget-list>li:last-of-type{border-bottom:0}.htf-layout-widget-button{border-radius:0;border:0;color:#ff5d4e;width:100%}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:rgba(0,0,0,0);-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}.u-clamp-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.u-display-flex{display:-ms-flexbox;display:flex}.u-flex-grow{-ms-flex-positive:1;flex-grow:1}.u-font-size-small{font-size:12px}.u-font-size-large{font-size:16px}.u-line-height-initial{line-height:initial}.u-nudge-up{bottom:1px;position:relative}.u-push-bottom{margin-bottom:15px}.u-push-bottom-third{margin-bottom:5px}.u-push-top{margin-top:15px}.u-push-top-third{margin-top:5px}.u-text-align-left{text-align:left}.u-text-align-right{text-align:right}.u-text-color-deemphasize{color:#949a9f}.u-text-color-error{color:#ff5d4e} +/*# sourceMappingURL=app.9e59157efdb2888f056b.css.map*/ \ No newline at end of file diff --git a/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css.map b/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css.map new file mode 100644 index 00000000..bfb3bf65 --- /dev/null +++ b/openhtf/output/web_gui/dist/css/app.9e59157efdb2888f056b.css.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"css/app.9e59157efdb2888f056b.css","sourceRoot":""} \ No newline at end of file diff --git a/openhtf/output/web_gui/dist/index.html b/openhtf/output/web_gui/dist/index.html index 70181354..d06fe590 100644 --- a/openhtf/output/web_gui/dist/index.html +++ b/openhtf/output/web_gui/dist/index.html @@ -1,4 +1,4 @@ - + \n *
...
\n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element which will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n * selector: 'my-component',\n * template: `\n *
\n *
\n *
\n * `,\n * animations: [\n * trigger(\"childAnimation\", [\n * // ...\n * ])\n * ]\n * })\n * class MyComponent {\n * isDisabled = true;\n * exp = '...';\n * }\n * ```\n *\n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wide\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n * selector: 'app-component',\n * templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n * \\@HostBinding('\\@.disabled')\n * public animationsDisabled = true;\n * }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * animateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nfunction trigger(name, definitions) {\n return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` value in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}. If left empty then the styles from the destination state will be collected\n * and used (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n * style({ background: \"blue\" })),\n * style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nfunction animate(timings, styles) {\n if (styles === void 0) { styles = null; }\n return { type: 4 /* Animate */, styles: styles, timings: timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all of the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call to `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n * animate(\"1s\", { background: \"black\" }))\n * animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction group(steps, options) {\n if (options === void 0) { options = null; }\n return { type: 3 /* Group */, steps: steps, options: options };\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once each of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately while a call to `animate()` will apply its styling data over a\n * given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n * style({ opacity: 0 })),\n * animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction sequence(steps, options) {\n if (options === void 0) { options = null; }\n return { type: 2 /* Sequence */, steps: steps, options: options };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nfunction style(tokens) {\n return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state is active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function. To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {?}\n */\nfunction state(name, styles, options) {\n return { type: 0 /* State */, name: name, styles: styles, options: options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\", offset: 0 }),\n * style({ backgroundColor: \"blue\", offset: 0.2 }),\n * style({ backgroundColor: \"orange\", offset: 0.3 }),\n * style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n * style({ backgroundColor: \"red\" }) // offset = 0\n * style({ backgroundColor: \"blue\" }) // offset = 0.33\n * style({ backgroundColor: \"orange\" }) // offset = 0.66\n * style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nfunction keyframes(steps) {\n return { type: 5 /* Keyframes */, steps: steps };\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n * // if a state is defined then its styles will be persisted when the\n * // animation has fully completed itself\n * state(\"on\", style({ background: \"green\" })),\n * state(\"off\", style({ background: \"grey\" })),\n *\n * // a transition animation that will be kicked off when the state value\n * // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n * transition(\"on => off\", animate(500)),\n *\n * // it is also possible to do run the same animation for both directions\n * transition(\"on <=> off\", animate(500)),\n *\n * // or to define multiple states pairs separated by commas\n * transition(\"on => off, off => void\", animate(500)),\n *\n * // this is a catch-all state change for when an element is inserted into\n * // the page and the destination state is unknown\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ]),\n *\n * // this will capture a state change between any states\n * transition(\"* => *\", animate(\"1s 0s\")),\n *\n * // you can also go full out and include a function\n * transition((fromState, toState) => {\n * // when `true` then it will allow the animation below to be invoked\n * return fromState == \"off\" && toState == \"on\";\n * }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * \n *
...
\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n * style({ opacity: 0 }),\n * animate(500)\n * ])\n * ```\n *\n * ### Transition Aliases (`:enter` and `:leave`)\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ])\n * transition(\":leave\", [\n * animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n *
...
\n *\n * // in the component metadata\n * trigger('openClose', [\n * state('true', style({ height: '*' })),\n * state('false', style({ height: '0px' })),\n * transition('false <=> true', animate(500))\n * ])\n * ```\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction transition(stateChangeExpr, steps, options) {\n if (options === void 0) { options = null; }\n return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or sequence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\n *\n * ```\n * var fadeAnimation = animation([\n * style({ opacity: '{{ start }}' }),\n * animate('{{ time }}',\n * style({ opacity: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n * params: {\n * time: '2s',\n * start: 1,\n * end: 0\n * }\n * })\n * ```\n *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction animation(steps, options) {\n if (options === void 0) { options = null; }\n return { type: 8 /* Reference */, animation: steps, options: options };\n}\n/**\n * `animateChild` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that have animation\n * triggers that will execute at the same time.\n *\n * ```html\n * \n * \n *
\n *\n *
\n *
Hello
\n *
\n * one\n *
\n *
\n * two\n *
\n *
\n * three\n *
\n *
\n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n * selector: 'parent-child-component',\n * animations: [\n * trigger('parentAnimation', [\n * transition('false => true', [\n * query('header', [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ]),\n * query('\\@childAnimation', [\n * animateChild()\n * ])\n * ])\n * ]),\n * trigger('childAnimation', [\n * transition('false => true', [\n * style({ opacity: 0 }),\n * animate(500, style({ opacity: 1 }))\n * ])\n * ])\n * ]\n * })\n * class ParentChildCmp {\n * exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n * animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animation sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations kick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental.\n * @param {?=} options\n * @return {?}\n */\nfunction animateChild(options) {\n if (options === void 0) { options = null; }\n return { type: 9 /* AnimateChild */, options: options };\n}\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nfunction useAnimation(animation, options) {\n if (options === void 0) { options = null; }\n return { type: 10 /* AnimateRef */, animation: animation, options: options };\n}\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being animated within the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treated as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelectorAll`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n * animate(...),\n * animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n * animate(...),\n * animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n * using special pseudo-selectors tokens.\n *\n * These include:\n *\n * - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\")`\n * - Querying all currently animating elements using `query(\":animating\")`\n * - Querying elements that contain an animation trigger using `query(\"\\@triggerName\")`\n * - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n * - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n * Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n * ```\n * query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n * ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n * selector: 'inner',\n * template: `\n *
\n *

Title

\n *
\n * Blah blah blah\n *
\n *
\n * `,\n * animations: [\n * trigger('queryAnimation', [\n * transition('* => goAnimate', [\n * // hide the inner elements\n * query('h1', style({ opacity: 0 })),\n * query('.content', style({ opacity: 0 })),\n *\n * // animate the inner elements in, one by one\n * query('h1', animate(1000, style({ opacity: 1 })),\n * query('.content', animate(1000, style({ opacity: 1 })),\n * ])\n * ])\n * ]\n * })\n * class Cmp {\n * exp = '';\n *\n * goAnimate() {\n * this.exp = 'goAnimate';\n * }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nfunction query(selector, animation, options) {\n if (options === void 0) { options = null; }\n return { type: 11 /* Query */, selector: selector, animation: animation, options: options };\n}\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is designed to be used inside of an animation {\\@link query query()}\n * and works by issuing a timing gap between after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an ngFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * \n * \n *
\n *
\n *
\n * {{ item }}\n *
\n *
\n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n * templateUrl: 'list.component.html',\n * animations: [\n * trigger('listAnimation', [\n * //...\n * ])\n * ]\n * })\n * class ListComponent {\n * items = [];\n *\n * showItems() {\n * this.items = [0,1,2,3,4];\n * }\n *\n * hideItems() {\n * this.items = [];\n * }\n *\n * toggle() {\n * this.items.length ? this.hideItems() : this.showItems();\n * }\n * }\n * ```\n *\n * And now for the animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n * transition('* => *', [ // each time the binding value changes\n * query(':leave', [\n * stagger(100, [\n * animate('0.5s', style({ opacity: 0 }))\n * ])\n * ]),\n * query(':enter', [\n * style({ opacity: 0 }),\n * stagger(100, [\n * animate('0.5s', style({ opacity: 1 }))\n * ])\n * ])\n * ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied after each item's animation is started.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @return {?}\n */\nfunction stagger(timings, animation) {\n return { type: 12 /* Stagger */, timings: timings, animation: animation };\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @param {?} cb\n * @return {?}\n */\nfunction scheduleMicroTask(cb) {\n Promise.resolve(null).then(cb);\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@experimental Animation support is experimental.\n */\nvar NoopAnimationPlayer = (function () {\n function NoopAnimationPlayer() {\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._started = false;\n this._destroyed = false;\n this._finished = false;\n this.parentPlayer = null;\n this.totalTime = 0;\n }\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype._onFinish = function () {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(function (fn) { return fn(); });\n this._onDoneFns = [];\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopAnimationPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopAnimationPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n NoopAnimationPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.hasStarted = function () { return this._started; };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.init = function () { };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.play = function () {\n if (!this.hasStarted()) {\n this.triggerMicrotask();\n this._onStart();\n }\n this._started = true;\n };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.triggerMicrotask = function () {\n var _this = this;\n scheduleMicroTask(function () { return _this._onFinish(); });\n };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype._onStart = function () {\n this._onStartFns.forEach(function (fn) { return fn(); });\n this._onStartFns = [];\n };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.pause = function () { };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.restart = function () { };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.finish = function () { this._onFinish(); };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.destroy = function () {\n if (!this._destroyed) {\n this._destroyed = true;\n if (!this.hasStarted()) {\n this._onStart();\n }\n this.finish();\n this._onDestroyFns.forEach(function (fn) { return fn(); });\n this._onDestroyFns = [];\n }\n };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.reset = function () { };\n /**\n * @param {?} p\n * @return {?}\n */\n NoopAnimationPlayer.prototype.setPosition = function (p) { };\n /**\n * @return {?}\n */\n NoopAnimationPlayer.prototype.getPosition = function () { return 0; };\n return NoopAnimationPlayer;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar AnimationGroupPlayer = (function () {\n /**\n * @param {?} _players\n */\n function AnimationGroupPlayer(_players) {\n var _this = this;\n this._players = _players;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this._onDestroyFns = [];\n this.parentPlayer = null;\n this.totalTime = 0;\n var doneCount = 0;\n var destroyCount = 0;\n var startCount = 0;\n var total = this._players.length;\n if (total == 0) {\n scheduleMicroTask(function () { return _this._onFinish(); });\n }\n else {\n this._players.forEach(function (player) {\n player.parentPlayer = _this;\n player.onDone(function () {\n if (++doneCount >= total) {\n _this._onFinish();\n }\n });\n player.onDestroy(function () {\n if (++destroyCount >= total) {\n _this._onDestroy();\n }\n });\n player.onStart(function () {\n if (++startCount >= total) {\n _this._onStart();\n }\n });\n });\n }\n this.totalTime = this._players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);\n }\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype._onFinish = function () {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(function (fn) { return fn(); });\n this._onDoneFns = [];\n }\n };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.init = function () { this._players.forEach(function (player) { return player.init(); }); };\n /**\n * @param {?} fn\n * @return {?}\n */\n AnimationGroupPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype._onStart = function () {\n if (!this.hasStarted()) {\n this._onStartFns.forEach(function (fn) { return fn(); });\n this._onStartFns = [];\n this._started = true;\n }\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n AnimationGroupPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n AnimationGroupPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.hasStarted = function () { return this._started; };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.play = function () {\n if (!this.parentPlayer) {\n this.init();\n }\n this._onStart();\n this._players.forEach(function (player) { return player.play(); });\n };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.pause = function () { this._players.forEach(function (player) { return player.pause(); }); };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.restart = function () { this._players.forEach(function (player) { return player.restart(); }); };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.finish = function () {\n this._onFinish();\n this._players.forEach(function (player) { return player.finish(); });\n };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.destroy = function () { this._onDestroy(); };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype._onDestroy = function () {\n if (!this._destroyed) {\n this._destroyed = true;\n this._onFinish();\n this._players.forEach(function (player) { return player.destroy(); });\n this._onDestroyFns.forEach(function (fn) { return fn(); });\n this._onDestroyFns = [];\n }\n };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.reset = function () {\n this._players.forEach(function (player) { return player.reset(); });\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n };\n /**\n * @param {?} p\n * @return {?}\n */\n AnimationGroupPlayer.prototype.setPosition = function (p) {\n var /** @type {?} */ timeAtPosition = p * this.totalTime;\n this._players.forEach(function (player) {\n var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n player.setPosition(position);\n });\n };\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.getPosition = function () {\n var /** @type {?} */ min = 0;\n this._players.forEach(function (player) {\n var /** @type {?} */ p = player.getPosition();\n min = Math.min(p, min);\n });\n return min;\n };\n Object.defineProperty(AnimationGroupPlayer.prototype, \"players\", {\n /**\n * @return {?}\n */\n get: function () { return this._players; },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n AnimationGroupPlayer.prototype.beforeDestroy = function () {\n this.players.forEach(function (player) {\n if (player.beforeDestroy) {\n player.beforeDestroy();\n }\n });\n };\n return AnimationGroupPlayer;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ɵPRE_STYLE = '!';\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation package.\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of the animation package.\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, NoopAnimationPlayer, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };\n//# sourceMappingURL=animations.es5.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/animations/@angular/animations.es5.js\n// module id = 48\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Summary info about a station.\n */\n\nexport enum StationStatus {\n online = 9,\n unreachable,\n}\n\nexport class Station {\n cell: string|null;\n host: string;\n hostPort: string; // Used to uniquely identify stations.\n label: string;\n port: string;\n stationId: string;\n status: StationStatus;\n testDescription: string|null;\n testName: string|null;\n\n // Using the class as the interface for its own constructor allows us to call\n // the constructor in named-argument style.\n constructor(params: Station) {\n Object.assign(this, params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/models/station.model.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Entry point for the Javascript bundle.\n *\n * Bootstraps the app using the Angular module definition in app.module.ts.\n */\n\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from './app/app.module';\n\nif (process.env.ENV === 'build') {\n enableProdMode();\n}\n\nexport function main() {\n return platformBrowserDynamic().bootstrapModule(AppModule).then(function(MODULE_REF) { if (module[\"hot\"]) { module[\"hot\"][\"accept\"](); if (MODULE_REF.instance[\"hmrOnInit\"]) { module[\"hot\"][\"data\"] && MODULE_REF.instance[\"hmrOnInit\"](module[\"hot\"][\"data\"]); } if (MODULE_REF.instance[\"hmrOnStatus\"]) { module[\"hot\"][\"apply\"](function(status) { MODULE_REF.instance[\"hmrOnStatus\"](status); }); } if (MODULE_REF.instance[\"hmrOnCheck\"]) { module[\"hot\"][\"check\"](function(err, outdatedModules) { MODULE_REF.instance[\"hmrOnCheck\"](err, outdatedModules); }); } if (MODULE_REF.instance[\"hmrOnDecline\"]) { module[\"hot\"][\"decline\"](function(dependencies) { MODULE_REF.instance[\"hmrOnDecline\"](dependencies); }); } module[\"hot\"][\"dispose\"](function(store) { MODULE_REF.instance[\"hmrOnDestroy\"] && MODULE_REF.instance[\"hmrOnDestroy\"](store); MODULE_REF.destroy(); MODULE_REF.instance[\"hmrAfterDestroy\"] && MODULE_REF.instance[\"hmrAfterDestroy\"](store); }); } return MODULE_REF; });\n}\n\nif (document.readyState === 'complete') {\n main();\n} else {\n document.addEventListener('DOMContentLoaded', main);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/main.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * The root module, responsible for orchestrating the application as a whole.\n *\n * See https://angular.io/docs/ts/latest/guide/ngmodule.html for more info\n * about modules in Angular.\n */\n\nimport { NgModule, ApplicationRef } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\nimport { HttpModule } from '@angular/http';\nimport { FormsModule } from '@angular/forms';\n\nimport { AppComponent } from './app.component';\n\n/* Our Modules */\nimport { CoreModule } from './core/core.module';\nimport { PlugsModule } from './plugs/plugs.module';\nimport { SharedModule } from './shared/shared.module';\nimport { StationsModule } from './stations/stations.module';\n\nimport { removeNgStyles, createNewHosts } from '@angularclass/hmr';\n\n@NgModule({\n imports: [\n BrowserAnimationsModule,\n BrowserModule,\n HttpClientModule,\n HttpModule,\n FormsModule,\n\n // Our modules\n CoreModule,\n PlugsModule,\n SharedModule,\n StationsModule,\n ],\n declarations: [\n AppComponent,\n ],\n providers: [],\n bootstrap: [\n AppComponent\n ],\n})\nexport class AppModule {\n constructor(public appRef: ApplicationRef) {}\n hmrOnInit(store) {\n console.log('HMR store', store);\n }\n hmrOnDestroy(store) {\n let cmpLocation = this.appRef.components.map(cmp => cmp.location.nativeElement);\n // recreate elements\n store.disposeOldHosts = createNewHosts(cmpLocation);\n // remove styles\n removeNgStyles();\n }\n hmrAfterDestroy(store) {\n // display new elements\n store.disposeOldHosts();\n delete store.disposeOldHosts;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/app.module.ts","import * as tslib_1 from \"tslib\";\n/**\n * @license Angular v4.4.6\n * (c) 2010-2017 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { Inject, Injectable, NgModule, NgZone, RendererFactory2, ViewEncapsulation } from '@angular/core';\nimport { BrowserModule, DOCUMENT, ɵDomRendererFactory2 } from '@angular/platform-browser';\nimport { AnimationBuilder, AnimationFactory, sequence } from '@angular/animations';\nimport { AnimationDriver, ɵAnimationEngine, ɵAnimationStyleNormalizer, ɵNoopAnimationDriver, ɵWebAnimationsDriver, ɵWebAnimationsStyleNormalizer, ɵsupportsWebAnimations } from '@angular/animations/browser';\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar BrowserAnimationBuilder = (function (_super) {\n tslib_1.__extends(BrowserAnimationBuilder, _super);\n /**\n * @param {?} rootRenderer\n * @param {?} doc\n */\n function BrowserAnimationBuilder(rootRenderer, doc) {\n var _this = _super.call(this) || this;\n _this._nextAnimationId = 0;\n var typeData = {\n id: '0',\n encapsulation: ViewEncapsulation.None,\n styles: [],\n data: { animation: [] }\n };\n _this._renderer = rootRenderer.createRenderer(doc.body, typeData);\n return _this;\n }\n /**\n * @param {?} animation\n * @return {?}\n */\n BrowserAnimationBuilder.prototype.build = function (animation) {\n var /** @type {?} */ id = this._nextAnimationId.toString();\n this._nextAnimationId++;\n var /** @type {?} */ entry = Array.isArray(animation) ? sequence(animation) : animation;\n issueAnimationCommand(this._renderer, null, id, 'register', [entry]);\n return new BrowserAnimationFactory(id, this._renderer);\n };\n return BrowserAnimationBuilder;\n}(AnimationBuilder));\nBrowserAnimationBuilder.decorators = [\n { type: Injectable },\n];\n/**\n * @nocollapse\n */\nBrowserAnimationBuilder.ctorParameters = function () { return [\n { type: RendererFactory2, },\n { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },\n]; };\nvar BrowserAnimationFactory = (function (_super) {\n tslib_1.__extends(BrowserAnimationFactory, _super);\n /**\n * @param {?} _id\n * @param {?} _renderer\n */\n function BrowserAnimationFactory(_id, _renderer) {\n var _this = _super.call(this) || this;\n _this._id = _id;\n _this._renderer = _renderer;\n return _this;\n }\n /**\n * @param {?} element\n * @param {?=} options\n * @return {?}\n */\n BrowserAnimationFactory.prototype.create = function (element, options) {\n return new RendererAnimationPlayer(this._id, element, options || {}, this._renderer);\n };\n return BrowserAnimationFactory;\n}(AnimationFactory));\nvar RendererAnimationPlayer = (function () {\n /**\n * @param {?} id\n * @param {?} element\n * @param {?} options\n * @param {?} _renderer\n */\n function RendererAnimationPlayer(id, element, options, _renderer) {\n this.id = id;\n this.element = element;\n this._renderer = _renderer;\n this.parentPlayer = null;\n this._started = false;\n this.totalTime = 0;\n this._command('create', options);\n }\n /**\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n RendererAnimationPlayer.prototype._listen = function (eventName, callback) {\n return this._renderer.listen(this.element, \"@@\" + this.id + \":\" + eventName, callback);\n };\n /**\n * @param {?} command\n * @param {...?} args\n * @return {?}\n */\n RendererAnimationPlayer.prototype._command = function (command) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return issueAnimationCommand(this._renderer, this.element, this.id, command, args);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n RendererAnimationPlayer.prototype.onDone = function (fn) { this._listen('done', fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n RendererAnimationPlayer.prototype.onStart = function (fn) { this._listen('start', fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n RendererAnimationPlayer.prototype.onDestroy = function (fn) { this._listen('destroy', fn); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.init = function () { this._command('init'); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.hasStarted = function () { return this._started; };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.play = function () {\n this._command('play');\n this._started = true;\n };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.pause = function () { this._command('pause'); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.restart = function () { this._command('restart'); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.finish = function () { this._command('finish'); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.destroy = function () { this._command('destroy'); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.reset = function () { this._command('reset'); };\n /**\n * @param {?} p\n * @return {?}\n */\n RendererAnimationPlayer.prototype.setPosition = function (p) { this._command('setPosition', p); };\n /**\n * @return {?}\n */\n RendererAnimationPlayer.prototype.getPosition = function () { return 0; };\n return RendererAnimationPlayer;\n}());\n/**\n * @param {?} renderer\n * @param {?} element\n * @param {?} id\n * @param {?} command\n * @param {?} args\n * @return {?}\n */\nfunction issueAnimationCommand(renderer, element, id, command, args) {\n return renderer.setProperty(element, \"@@\" + id + \":\" + command, args);\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ANIMATION_PREFIX = '@';\nvar DISABLE_ANIMATIONS_FLAG = '@.disabled';\nvar AnimationRendererFactory = (function () {\n /**\n * @param {?} delegate\n * @param {?} engine\n * @param {?} _zone\n */\n function AnimationRendererFactory(delegate, engine, _zone) {\n this.delegate = delegate;\n this.engine = engine;\n this._zone = _zone;\n this._currentId = 0;\n this._microtaskId = 1;\n this._animationCallbacksBuffer = [];\n this._rendererCache = new Map();\n this._cdRecurDepth = 0;\n engine.onRemovalComplete = function (element, delegate) {\n // Note: if an component element has a leave animation, and the component\n // a host leave animation, the view engine will call `removeChild` for the parent\n // component renderer as well as for the child component renderer.\n // Therefore, we need to check if we already removed the element.\n if (delegate && delegate.parentNode(element)) {\n delegate.removeChild(element.parentNode, element);\n }\n };\n }\n /**\n * @param {?} hostElement\n * @param {?} type\n * @return {?}\n */\n AnimationRendererFactory.prototype.createRenderer = function (hostElement, type) {\n var _this = this;\n var /** @type {?} */ EMPTY_NAMESPACE_ID = '';\n // cache the delegates to find out which cached delegate can\n // be used by which cached renderer\n var /** @type {?} */ delegate = this.delegate.createRenderer(hostElement, type);\n if (!hostElement || !type || !type.data || !type.data['animation']) {\n var /** @type {?} */ renderer = this._rendererCache.get(delegate);\n if (!renderer) {\n renderer = new BaseAnimationRenderer(EMPTY_NAMESPACE_ID, delegate, this.engine);\n // only cache this result when the base renderer is used\n this._rendererCache.set(delegate, renderer);\n }\n return renderer;\n }\n var /** @type {?} */ componentId = type.id;\n var /** @type {?} */ namespaceId = type.id + '-' + this._currentId;\n this._currentId++;\n this.engine.register(namespaceId, hostElement);\n var /** @type {?} */ animationTriggers = (type.data['animation']);\n animationTriggers.forEach(function (trigger) { return _this.engine.registerTrigger(componentId, namespaceId, hostElement, trigger.name, trigger); });\n return new AnimationRenderer(this, namespaceId, delegate, this.engine);\n };\n /**\n * @return {?}\n */\n AnimationRendererFactory.prototype.begin = function () {\n this._cdRecurDepth++;\n if (this.delegate.begin) {\n this.delegate.begin();\n }\n };\n /**\n * @return {?}\n */\n AnimationRendererFactory.prototype._scheduleCountTask = function () {\n var _this = this;\n Zone.current.scheduleMicroTask('incremenet the animation microtask', function () { return _this._microtaskId++; });\n };\n /**\n * @param {?} count\n * @param {?} fn\n * @param {?} data\n * @return {?}\n */\n AnimationRendererFactory.prototype.scheduleListenerCallback = function (count, fn, data) {\n var _this = this;\n if (count >= 0 && count < this._microtaskId) {\n this._zone.run(function () { return fn(data); });\n return;\n }\n if (this._animationCallbacksBuffer.length == 0) {\n Promise.resolve(null).then(function () {\n _this._zone.run(function () {\n _this._animationCallbacksBuffer.forEach(function (tuple) {\n var fn = tuple[0], data = tuple[1];\n fn(data);\n });\n _this._animationCallbacksBuffer = [];\n });\n });\n }\n this._animationCallbacksBuffer.push([fn, data]);\n };\n /**\n * @return {?}\n */\n AnimationRendererFactory.prototype.end = function () {\n var _this = this;\n this._cdRecurDepth--;\n // this is to prevent animations from running twice when an inner\n // component does CD when a parent component insted has inserted it\n if (this._cdRecurDepth == 0) {\n this._zone.runOutsideAngular(function () {\n _this._scheduleCountTask();\n _this.engine.flush(_this._microtaskId);\n });\n }\n if (this.delegate.end) {\n this.delegate.end();\n }\n };\n /**\n * @return {?}\n */\n AnimationRendererFactory.prototype.whenRenderingDone = function () { return this.engine.whenRenderingDone(); };\n return AnimationRendererFactory;\n}());\nAnimationRendererFactory.decorators = [\n { type: Injectable },\n];\n/**\n * @nocollapse\n */\nAnimationRendererFactory.ctorParameters = function () { return [\n { type: RendererFactory2, },\n { type: ɵAnimationEngine, },\n { type: NgZone, },\n]; };\nvar BaseAnimationRenderer = (function () {\n /**\n * @param {?} namespaceId\n * @param {?} delegate\n * @param {?} engine\n */\n function BaseAnimationRenderer(namespaceId, delegate, engine) {\n this.namespaceId = namespaceId;\n this.delegate = delegate;\n this.engine = engine;\n this.destroyNode = this.delegate.destroyNode ? function (n) { return delegate.destroyNode(n); } : null;\n }\n Object.defineProperty(BaseAnimationRenderer.prototype, \"data\", {\n /**\n * @return {?}\n */\n get: function () { return this.delegate.data; },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n BaseAnimationRenderer.prototype.destroy = function () {\n this.engine.destroy(this.namespaceId, this.delegate);\n this.delegate.destroy();\n };\n /**\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n BaseAnimationRenderer.prototype.createElement = function (name, namespace) {\n return this.delegate.createElement(name, namespace);\n };\n /**\n * @param {?} value\n * @return {?}\n */\n BaseAnimationRenderer.prototype.createComment = function (value) { return this.delegate.createComment(value); };\n /**\n * @param {?} value\n * @return {?}\n */\n BaseAnimationRenderer.prototype.createText = function (value) { return this.delegate.createText(value); };\n /**\n * @param {?} parent\n * @param {?} newChild\n * @return {?}\n */\n BaseAnimationRenderer.prototype.appendChild = function (parent, newChild) {\n this.delegate.appendChild(parent, newChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, false);\n };\n /**\n * @param {?} parent\n * @param {?} newChild\n * @param {?} refChild\n * @return {?}\n */\n BaseAnimationRenderer.prototype.insertBefore = function (parent, newChild, refChild) {\n this.delegate.insertBefore(parent, newChild, refChild);\n this.engine.onInsert(this.namespaceId, newChild, parent, true);\n };\n /**\n * @param {?} parent\n * @param {?} oldChild\n * @return {?}\n */\n BaseAnimationRenderer.prototype.removeChild = function (parent, oldChild) {\n this.engine.onRemove(this.namespaceId, oldChild, this.delegate);\n };\n /**\n * @param {?} selectorOrNode\n * @return {?}\n */\n BaseAnimationRenderer.prototype.selectRootElement = function (selectorOrNode) { return this.delegate.selectRootElement(selectorOrNode); };\n /**\n * @param {?} node\n * @return {?}\n */\n BaseAnimationRenderer.prototype.parentNode = function (node) { return this.delegate.parentNode(node); };\n /**\n * @param {?} node\n * @return {?}\n */\n BaseAnimationRenderer.prototype.nextSibling = function (node) { return this.delegate.nextSibling(node); };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @param {?=} namespace\n * @return {?}\n */\n BaseAnimationRenderer.prototype.setAttribute = function (el, name, value, namespace) {\n this.delegate.setAttribute(el, name, value, namespace);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?=} namespace\n * @return {?}\n */\n BaseAnimationRenderer.prototype.removeAttribute = function (el, name, namespace) {\n this.delegate.removeAttribute(el, name, namespace);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n BaseAnimationRenderer.prototype.addClass = function (el, name) { this.delegate.addClass(el, name); };\n /**\n * @param {?} el\n * @param {?} name\n * @return {?}\n */\n BaseAnimationRenderer.prototype.removeClass = function (el, name) { this.delegate.removeClass(el, name); };\n /**\n * @param {?} el\n * @param {?} style\n * @param {?} value\n * @param {?=} flags\n * @return {?}\n */\n BaseAnimationRenderer.prototype.setStyle = function (el, style, value, flags) {\n this.delegate.setStyle(el, style, value, flags);\n };\n /**\n * @param {?} el\n * @param {?} style\n * @param {?=} flags\n * @return {?}\n */\n BaseAnimationRenderer.prototype.removeStyle = function (el, style, flags) {\n this.delegate.removeStyle(el, style, flags);\n };\n /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\n BaseAnimationRenderer.prototype.setProperty = function (el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX && name == DISABLE_ANIMATIONS_FLAG) {\n this.disableAnimations(el, !!value);\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n };\n /**\n * @param {?} node\n * @param {?} value\n * @return {?}\n */\n BaseAnimationRenderer.prototype.setValue = function (node, value) { this.delegate.setValue(node, value); };\n /**\n * @param {?} target\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n BaseAnimationRenderer.prototype.listen = function (target, eventName, callback) {\n return this.delegate.listen(target, eventName, callback);\n };\n /**\n * @param {?} element\n * @param {?} value\n * @return {?}\n */\n BaseAnimationRenderer.prototype.disableAnimations = function (element, value) {\n this.engine.disableAnimations(element, value);\n };\n return BaseAnimationRenderer;\n}());\nvar AnimationRenderer = (function (_super) {\n tslib_1.__extends(AnimationRenderer, _super);\n /**\n * @param {?} factory\n * @param {?} namespaceId\n * @param {?} delegate\n * @param {?} engine\n */\n function AnimationRenderer(factory, namespaceId, delegate, engine) {\n var _this = _super.call(this, namespaceId, delegate, engine) || this;\n _this.factory = factory;\n _this.namespaceId = namespaceId;\n return _this;\n }\n /**\n * @param {?} el\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\n AnimationRenderer.prototype.setProperty = function (el, name, value) {\n if (name.charAt(0) == ANIMATION_PREFIX) {\n if (name.charAt(1) == '.' && name == DISABLE_ANIMATIONS_FLAG) {\n value = value === undefined ? true : !!value;\n this.disableAnimations(el, /** @type {?} */ (value));\n }\n else {\n this.engine.process(this.namespaceId, el, name.substr(1), value);\n }\n }\n else {\n this.delegate.setProperty(el, name, value);\n }\n };\n /**\n * @param {?} target\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n AnimationRenderer.prototype.listen = function (target, eventName, callback) {\n var _this = this;\n if (eventName.charAt(0) == ANIMATION_PREFIX) {\n var /** @type {?} */ element = resolveElementFromTarget(target);\n var /** @type {?} */ name = eventName.substr(1);\n var /** @type {?} */ phase = '';\n // @listener.phase is for trigger animation callbacks\n // @@listener is for animation builder callbacks\n if (name.charAt(0) != ANIMATION_PREFIX) {\n _a = parseTriggerCallbackName(name), name = _a[0], phase = _a[1];\n }\n return this.engine.listen(this.namespaceId, element, name, phase, function (event) {\n var /** @type {?} */ countId = ((event))['_data'] || -1;\n _this.factory.scheduleListenerCallback(countId, callback, event);\n });\n }\n return this.delegate.listen(target, eventName, callback);\n var _a;\n };\n return AnimationRenderer;\n}(BaseAnimationRenderer));\n/**\n * @param {?} target\n * @return {?}\n */\nfunction resolveElementFromTarget(target) {\n switch (target) {\n case 'body':\n return document.body;\n case 'document':\n return document;\n case 'window':\n return window;\n default:\n return target;\n }\n}\n/**\n * @param {?} triggerName\n * @return {?}\n */\nfunction parseTriggerCallbackName(triggerName) {\n var /** @type {?} */ dotIndex = triggerName.indexOf('.');\n var /** @type {?} */ trigger = triggerName.substring(0, dotIndex);\n var /** @type {?} */ phase = triggerName.substr(dotIndex + 1);\n return [trigger, phase];\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar InjectableAnimationEngine = (function (_super) {\n tslib_1.__extends(InjectableAnimationEngine, _super);\n /**\n * @param {?} driver\n * @param {?} normalizer\n */\n function InjectableAnimationEngine(driver, normalizer) {\n return _super.call(this, driver, normalizer) || this;\n }\n return InjectableAnimationEngine;\n}(ɵAnimationEngine));\nInjectableAnimationEngine.decorators = [\n { type: Injectable },\n];\n/**\n * @nocollapse\n */\nInjectableAnimationEngine.ctorParameters = function () { return [\n { type: AnimationDriver, },\n { type: ɵAnimationStyleNormalizer, },\n]; };\n/**\n * @return {?}\n */\nfunction instantiateSupportedAnimationDriver() {\n if (ɵsupportsWebAnimations()) {\n return new ɵWebAnimationsDriver();\n }\n return new ɵNoopAnimationDriver();\n}\n/**\n * @return {?}\n */\nfunction instantiateDefaultStyleNormalizer() {\n return new ɵWebAnimationsStyleNormalizer();\n}\n/**\n * @param {?} renderer\n * @param {?} engine\n * @param {?} zone\n * @return {?}\n */\nfunction instantiateRendererFactory(renderer, engine, zone) {\n return new AnimationRendererFactory(renderer, engine, zone);\n}\nvar SHARED_ANIMATION_PROVIDERS = [\n { provide: AnimationBuilder, useClass: BrowserAnimationBuilder },\n { provide: ɵAnimationStyleNormalizer, useFactory: instantiateDefaultStyleNormalizer },\n { provide: ɵAnimationEngine, useClass: InjectableAnimationEngine }, {\n provide: RendererFactory2,\n useFactory: instantiateRendererFactory,\n deps: [ɵDomRendererFactory2, ɵAnimationEngine, NgZone]\n }\n];\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserModule.\n */\nvar BROWSER_ANIMATIONS_PROVIDERS = [\n { provide: AnimationDriver, useFactory: instantiateSupportedAnimationDriver }\n].concat(SHARED_ANIMATION_PROVIDERS);\n/**\n * Separate providers from the actual module so that we can do a local modification in Google3 to\n * include them in the BrowserTestingModule.\n */\nvar BROWSER_NOOP_ANIMATIONS_PROVIDERS = [{ provide: AnimationDriver, useClass: ɵNoopAnimationDriver }].concat(SHARED_ANIMATION_PROVIDERS);\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@experimental Animation support is experimental.\n */\nvar BrowserAnimationsModule = (function () {\n function BrowserAnimationsModule() {\n }\n return BrowserAnimationsModule;\n}());\nBrowserAnimationsModule.decorators = [\n { type: NgModule, args: [{\n exports: [BrowserModule],\n providers: BROWSER_ANIMATIONS_PROVIDERS,\n },] },\n];\n/**\n * @nocollapse\n */\nBrowserAnimationsModule.ctorParameters = function () { return []; };\n/**\n * \\@experimental Animation support is experimental.\n */\nvar NoopAnimationsModule = (function () {\n function NoopAnimationsModule() {\n }\n return NoopAnimationsModule;\n}());\nNoopAnimationsModule.decorators = [\n { type: NgModule, args: [{\n exports: [BrowserModule],\n providers: BROWSER_NOOP_ANIMATIONS_PROVIDERS,\n },] },\n];\n/**\n * @nocollapse\n */\nNoopAnimationsModule.ctorParameters = function () { return []; };\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of the animation package.\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { BrowserAnimationsModule, NoopAnimationsModule, BrowserAnimationBuilder as ɵBrowserAnimationBuilder, BrowserAnimationFactory as ɵBrowserAnimationFactory, AnimationRenderer as ɵAnimationRenderer, AnimationRendererFactory as ɵAnimationRendererFactory, BaseAnimationRenderer as ɵa, BROWSER_ANIMATIONS_PROVIDERS as ɵf, BROWSER_NOOP_ANIMATIONS_PROVIDERS as ɵg, InjectableAnimationEngine as ɵb, instantiateDefaultStyleNormalizer as ɵd, instantiateRendererFactory as ɵe, instantiateSupportedAnimationDriver as ɵc };\n//# sourceMappingURL=animations.es5.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/platform-browser/@angular/platform-browser/animations.es5.js\n// module id = 561\n// module chunks = 1","import * as tslib_1 from \"tslib\";\n/**\n * @license Angular v4.4.6\n * (c) 2010-2017 Google, Inc. https://angular.io/\n * License: MIT\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, sequence, style, ɵAnimationGroupPlayer, ɵPRE_STYLE } from '@angular/animations';\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction optimizeGroupPlayer(players) {\n switch (players.length) {\n case 0:\n return new NoopAnimationPlayer();\n case 1:\n return players[0];\n default:\n return new ɵAnimationGroupPlayer(players);\n }\n}\nfunction normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {\n if (preStyles === void 0) { preStyles = {}; }\n if (postStyles === void 0) { postStyles = {}; }\n var errors = [];\n var normalizedKeyframes = [];\n var previousOffset = -1;\n var previousKeyframe = null;\n keyframes.forEach(function (kf) {\n var offset = kf['offset'];\n var isSameOffset = offset == previousOffset;\n var normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n Object.keys(kf).forEach(function (prop) {\n var normalizedProp = prop;\n var normalizedValue = kf[prop];\n if (prop !== 'offset') {\n normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n switch (normalizedValue) {\n case ɵPRE_STYLE:\n normalizedValue = preStyles[prop];\n break;\n case AUTO_STYLE:\n normalizedValue = postStyles[prop];\n break;\n default:\n normalizedValue =\n normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n break;\n }\n }\n normalizedKeyframe[normalizedProp] = normalizedValue;\n });\n if (!isSameOffset) {\n normalizedKeyframes.push(normalizedKeyframe);\n }\n previousKeyframe = normalizedKeyframe;\n previousOffset = offset;\n });\n if (errors.length) {\n var LINE_START = '\\n - ';\n throw new Error(\"Unable to animate due to the following errors:\" + LINE_START + errors.join(LINE_START));\n }\n return normalizedKeyframes;\n}\nfunction listenOnPlayer(player, eventName, event, callback) {\n switch (eventName) {\n case 'start':\n player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });\n break;\n case 'done':\n player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n break;\n case 'destroy':\n player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });\n break;\n }\n}\nfunction copyAnimationEvent(e, phaseName, totalTime) {\n var event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n var data = e['_data'];\n if (data != null) {\n event['_data'] = data;\n }\n return event;\n}\nfunction makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {\n if (phaseName === void 0) { phaseName = ''; }\n if (totalTime === void 0) { totalTime = 0; }\n return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };\n}\nfunction getOrSetAsInMap(map, key, defaultValue) {\n var value;\n if (map instanceof Map) {\n value = map.get(key);\n if (!value) {\n map.set(key, value = defaultValue);\n }\n }\n else {\n value = map[key];\n if (!value) {\n value = map[key] = defaultValue;\n }\n }\n return value;\n}\nfunction parseTimelineCommand(command) {\n var separatorPos = command.indexOf(':');\n var id = command.substring(1, separatorPos);\n var action = command.substr(separatorPos + 1);\n return [id, action];\n}\nvar _contains = function (elm1, elm2) { return false; };\nvar _matches = function (element, selector) { return false; };\nvar _query = function (element, selector, multi) {\n return [];\n};\nif (typeof Element != 'undefined') {\n // this is well supported in all browsers\n _contains = function (elm1, elm2) { return elm1.contains(elm2); };\n if (Element.prototype.matches) {\n _matches = function (element, selector) { return element.matches(selector); };\n }\n else {\n var proto = Element.prototype;\n var fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n proto.oMatchesSelector || proto.webkitMatchesSelector;\n if (fn_1) {\n _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n }\n }\n _query = function (element, selector, multi) {\n var results = [];\n if (multi) {\n results.push.apply(results, element.querySelectorAll(selector));\n }\n else {\n var elm = element.querySelector(selector);\n if (elm) {\n results.push(elm);\n }\n }\n return results;\n };\n}\nvar matchesElement = _matches;\nvar containsElement = _contains;\nvar invokeQuery = _query;\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @experimental\n */\nvar NoopAnimationDriver = (function () {\n function NoopAnimationDriver() {\n }\n NoopAnimationDriver.prototype.matchesElement = function (element, selector) {\n return matchesElement(element, selector);\n };\n NoopAnimationDriver.prototype.containsElement = function (elm1, elm2) { return containsElement(elm1, elm2); };\n NoopAnimationDriver.prototype.query = function (element, selector, multi) {\n return invokeQuery(element, selector, multi);\n };\n NoopAnimationDriver.prototype.computeStyle = function (element, prop, defaultValue) {\n return defaultValue || '';\n };\n NoopAnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) {\n if (previousPlayers === void 0) { previousPlayers = []; }\n return new NoopAnimationPlayer();\n };\n return NoopAnimationDriver;\n}());\n/**\n * @experimental\n */\nvar AnimationDriver = (function () {\n function AnimationDriver() {\n }\n return AnimationDriver;\n}());\nAnimationDriver.NOOP = new NoopAnimationDriver();\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ONE_SECOND = 1000;\nvar SUBSTITUTION_EXPR_START = '{{';\nvar SUBSTITUTION_EXPR_END = '}}';\nvar ENTER_CLASSNAME = 'ng-enter';\nvar LEAVE_CLASSNAME = 'ng-leave';\nvar ENTER_SELECTOR = '.ng-enter';\nvar LEAVE_SELECTOR = '.ng-leave';\nvar NG_TRIGGER_CLASSNAME = 'ng-trigger';\nvar NG_TRIGGER_SELECTOR = '.ng-trigger';\nvar NG_ANIMATING_CLASSNAME = 'ng-animating';\nvar NG_ANIMATING_SELECTOR = '.ng-animating';\nfunction resolveTimingValue(value) {\n if (typeof value == 'number')\n return value;\n var matches = value.match(/^(-?[\\.\\d]+)(m?s)/);\n if (!matches || matches.length < 2)\n return 0;\n return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\nfunction _convertTimeValueToMS(value, unit) {\n switch (unit) {\n case 's':\n return value * ONE_SECOND;\n default:\n return value;\n }\n}\nfunction resolveTiming(timings, errors, allowNegativeValues) {\n return timings.hasOwnProperty('duration') ?\n timings :\n parseTimeExpression(timings, errors, allowNegativeValues);\n}\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n var regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n var duration;\n var delay = 0;\n var easing = '';\n if (typeof exp === 'string') {\n var matches = exp.match(regex);\n if (matches === null) {\n errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n return { duration: 0, delay: 0, easing: '' };\n }\n duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n var delayMatch = matches[3];\n if (delayMatch != null) {\n delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n }\n var easingVal = matches[5];\n if (easingVal) {\n easing = easingVal;\n }\n }\n else {\n duration = exp;\n }\n if (!allowNegativeValues) {\n var containsErrors = false;\n var startIndex = errors.length;\n if (duration < 0) {\n errors.push(\"Duration values below 0 are not allowed for this animation step.\");\n containsErrors = true;\n }\n if (delay < 0) {\n errors.push(\"Delay values below 0 are not allowed for this animation step.\");\n containsErrors = true;\n }\n if (containsErrors) {\n errors.splice(startIndex, 0, \"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n }\n }\n return { duration: duration, delay: delay, easing: easing };\n}\nfunction copyObj(obj, destination) {\n if (destination === void 0) { destination = {}; }\n Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });\n return destination;\n}\nfunction normalizeStyles(styles) {\n var normalizedStyles = {};\n if (Array.isArray(styles)) {\n styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });\n }\n else {\n copyStyles(styles, false, normalizedStyles);\n }\n return normalizedStyles;\n}\nfunction copyStyles(styles, readPrototype, destination) {\n if (destination === void 0) { destination = {}; }\n if (readPrototype) {\n // we make use of a for-in loop so that the\n // prototypically inherited properties are\n // revealed from the backFill map\n for (var prop in styles) {\n destination[prop] = styles[prop];\n }\n }\n else {\n copyObj(styles, destination);\n }\n return destination;\n}\nfunction setStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(function (prop) {\n var camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = styles[prop];\n });\n }\n}\nfunction eraseStyles(element, styles) {\n if (element['style']) {\n Object.keys(styles).forEach(function (prop) {\n var camelProp = dashCaseToCamelCase(prop);\n element.style[camelProp] = '';\n });\n }\n}\nfunction normalizeAnimationEntry(steps) {\n if (Array.isArray(steps)) {\n if (steps.length == 1)\n return steps[0];\n return sequence(steps);\n }\n return steps;\n}\nfunction validateStyleParams(value, options, errors) {\n var params = options.params || {};\n var matches = extractStyleParams(value);\n if (matches.length) {\n matches.forEach(function (varName) {\n if (!params.hasOwnProperty(varName)) {\n errors.push(\"Unable to resolve the local animation param \" + varName + \" in the given list of values\");\n }\n });\n }\n}\nvar PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + SUBSTITUTION_EXPR_END, 'g');\nfunction extractStyleParams(value) {\n var params = [];\n if (typeof value === 'string') {\n var val = value.toString();\n var match = void 0;\n while (match = PARAM_REGEX.exec(val)) {\n params.push(match[1]);\n }\n PARAM_REGEX.lastIndex = 0;\n }\n return params;\n}\nfunction interpolateParams(value, params, errors) {\n var original = value.toString();\n var str = original.replace(PARAM_REGEX, function (_, varName) {\n var localVal = params[varName];\n // this means that the value was never overidden by the data passed in by the user\n if (!params.hasOwnProperty(varName)) {\n errors.push(\"Please provide a value for the animation param \" + varName);\n localVal = '';\n }\n return localVal.toString();\n });\n // we do this to assert that numeric values stay as they are\n return str == original ? value : str;\n}\nfunction iteratorToArray(iterator) {\n var arr = [];\n var item = iterator.next();\n while (!item.done) {\n arr.push(item.value);\n item = iterator.next();\n }\n return arr;\n}\nvar DASH_CASE_REGEXP = /-+([a-z0-9])/g;\nfunction dashCaseToCamelCase(input) {\n return input.replace(DASH_CASE_REGEXP, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i] = arguments[_i];\n }\n return m[1].toUpperCase();\n });\n}\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n return duration === 0 || delay === 0;\n}\nfunction visitDslNode(visitor, node, context) {\n switch (node.type) {\n case 7 /* Trigger */:\n return visitor.visitTrigger(node, context);\n case 0 /* State */:\n return visitor.visitState(node, context);\n case 1 /* Transition */:\n return visitor.visitTransition(node, context);\n case 2 /* Sequence */:\n return visitor.visitSequence(node, context);\n case 3 /* Group */:\n return visitor.visitGroup(node, context);\n case 4 /* Animate */:\n return visitor.visitAnimate(node, context);\n case 5 /* Keyframes */:\n return visitor.visitKeyframes(node, context);\n case 6 /* Style */:\n return visitor.visitStyle(node, context);\n case 8 /* Reference */:\n return visitor.visitReference(node, context);\n case 9 /* AnimateChild */:\n return visitor.visitAnimateChild(node, context);\n case 10 /* AnimateRef */:\n return visitor.visitAnimateRef(node, context);\n case 11 /* Query */:\n return visitor.visitQuery(node, context);\n case 12 /* Stagger */:\n return visitor.visitStagger(node, context);\n default:\n throw new Error(\"Unable to resolve animation metadata node #\" + node.type);\n }\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ANY_STATE = '*';\n/**\n * @param {?} transitionValue\n * @param {?} errors\n * @return {?}\n */\nfunction parseTransitionExpr(transitionValue, errors) {\n var /** @type {?} */ expressions = [];\n if (typeof transitionValue == 'string') {\n ((transitionValue))\n .split(/\\s*,\\s*/)\n .forEach(function (str) { return parseInnerTransitionStr(str, expressions, errors); });\n }\n else {\n expressions.push(/** @type {?} */ (transitionValue));\n }\n return expressions;\n}\n/**\n * @param {?} eventStr\n * @param {?} expressions\n * @param {?} errors\n * @return {?}\n */\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n if (eventStr[0] == ':') {\n eventStr = parseAnimationAlias(eventStr, errors);\n }\n var /** @type {?} */ match = eventStr.match(/^(\\*|[-\\w]+)\\s*()\\s*(\\*|[-\\w]+)$/);\n if (match == null || match.length < 4) {\n errors.push(\"The provided transition expression \\\"\" + eventStr + \"\\\" is not supported\");\n return expressions;\n }\n var /** @type {?} */ fromState = match[1];\n var /** @type {?} */ separator = match[2];\n var /** @type {?} */ toState = match[3];\n expressions.push(makeLambdaFromStates(fromState, toState));\n var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n if (separator[0] == '<' && !isFullAnyStateExpr) {\n expressions.push(makeLambdaFromStates(toState, fromState));\n }\n}\n/**\n * @param {?} alias\n * @param {?} errors\n * @return {?}\n */\nfunction parseAnimationAlias(alias, errors) {\n switch (alias) {\n case ':enter':\n return 'void => *';\n case ':leave':\n return '* => void';\n default:\n errors.push(\"The transition alias value \\\"\" + alias + \"\\\" is not supported\");\n return '* => *';\n }\n}\nvar TRUE_BOOLEAN_VALUES = new Set();\nTRUE_BOOLEAN_VALUES.add('true');\nTRUE_BOOLEAN_VALUES.add('1');\nvar FALSE_BOOLEAN_VALUES = new Set();\nFALSE_BOOLEAN_VALUES.add('false');\nFALSE_BOOLEAN_VALUES.add('0');\n/**\n * @param {?} lhs\n * @param {?} rhs\n * @return {?}\n */\nfunction makeLambdaFromStates(lhs, rhs) {\n var /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n var /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n return function (fromState, toState) {\n var /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;\n var /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;\n if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n }\n if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n }\n return lhsMatch && rhsMatch;\n };\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar SELF_TOKEN = ':self';\nvar SELF_TOKEN_REGEX = new RegExp(\"s*\" + SELF_TOKEN + \"s*,?\", 'g');\n/**\n * @param {?} metadata\n * @param {?} errors\n * @return {?}\n */\nfunction buildAnimationAst(metadata, errors) {\n return new AnimationAstBuilderVisitor().build(metadata, errors);\n}\nvar LEAVE_TOKEN = ':leave';\nvar LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\nvar ENTER_TOKEN = ':enter';\nvar ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nvar ROOT_SELECTOR = '';\nvar AnimationAstBuilderVisitor = (function () {\n function AnimationAstBuilderVisitor() {\n }\n /**\n * @param {?} metadata\n * @param {?} errors\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.build = function (metadata, errors) {\n var /** @type {?} */ context = new AnimationAstBuilderContext(errors);\n this._resetContextStyleTimingState(context);\n return (visitDslNode(this, normalizeAnimationEntry(metadata), context));\n };\n /**\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState = function (context) {\n context.currentQuerySelector = ROOT_SELECTOR;\n context.collectedStyles = {};\n context.collectedStyles[ROOT_SELECTOR] = {};\n context.currentTime = 0;\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitTrigger = function (metadata, context) {\n var _this = this;\n var /** @type {?} */ queryCount = context.queryCount = 0;\n var /** @type {?} */ depCount = context.depCount = 0;\n var /** @type {?} */ states = [];\n var /** @type {?} */ transitions = [];\n metadata.definitions.forEach(function (def) {\n _this._resetContextStyleTimingState(context);\n if (def.type == 0 /* State */) {\n var /** @type {?} */ stateDef_1 = (def);\n var /** @type {?} */ name = stateDef_1.name;\n name.split(/\\s*,\\s*/).forEach(function (n) {\n stateDef_1.name = n;\n states.push(_this.visitState(stateDef_1, context));\n });\n stateDef_1.name = name;\n }\n else if (def.type == 1 /* Transition */) {\n var /** @type {?} */ transition = _this.visitTransition(/** @type {?} */ (def), context);\n queryCount += transition.queryCount;\n depCount += transition.depCount;\n transitions.push(transition);\n }\n else {\n context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n }\n });\n return {\n type: 7 /* Trigger */,\n name: metadata.name, states: states, transitions: transitions, queryCount: queryCount, depCount: depCount,\n options: null\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitState = function (metadata, context) {\n var /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);\n var /** @type {?} */ astParams = (metadata.options && metadata.options.params) || null;\n if (styleAst.containsDynamicStyles) {\n var /** @type {?} */ missingSubs_1 = new Set();\n var /** @type {?} */ params_1 = astParams || {};\n styleAst.styles.forEach(function (value) {\n if (isObject(value)) {\n var /** @type {?} */ stylesObj_1 = (value);\n Object.keys(stylesObj_1).forEach(function (prop) {\n extractStyleParams(stylesObj_1[prop]).forEach(function (sub) {\n if (!params_1.hasOwnProperty(sub)) {\n missingSubs_1.add(sub);\n }\n });\n });\n }\n });\n if (missingSubs_1.size) {\n var /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs_1.values());\n context.errors.push(\"state(\\\"\" + metadata.name + \"\\\", ...) must define default values for all the following style substitutions: \" + missingSubsArr.join(', '));\n }\n }\n return {\n type: 0 /* State */,\n name: metadata.name,\n style: styleAst,\n options: astParams ? { params: astParams } : null\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitTransition = function (metadata, context) {\n context.queryCount = 0;\n context.depCount = 0;\n var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n var /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);\n return {\n type: 1 /* Transition */,\n matchers: matchers,\n animation: animation,\n queryCount: context.queryCount,\n depCount: context.depCount,\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitSequence = function (metadata, context) {\n var _this = this;\n return {\n type: 2 /* Sequence */,\n steps: metadata.steps.map(function (s) { return visitDslNode(_this, s, context); }),\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitGroup = function (metadata, context) {\n var _this = this;\n var /** @type {?} */ currentTime = context.currentTime;\n var /** @type {?} */ furthestTime = 0;\n var /** @type {?} */ steps = metadata.steps.map(function (step) {\n context.currentTime = currentTime;\n var /** @type {?} */ innerAst = visitDslNode(_this, step, context);\n furthestTime = Math.max(furthestTime, context.currentTime);\n return innerAst;\n });\n context.currentTime = furthestTime;\n return {\n type: 3 /* Group */,\n steps: steps,\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitAnimate = function (metadata, context) {\n var /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);\n context.currentAnimateTimings = timingAst;\n var /** @type {?} */ styleAst;\n var /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});\n if (styleMetadata.type == 5 /* Keyframes */) {\n styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);\n }\n else {\n var /** @type {?} */ styleMetadata_1 = (metadata.styles);\n var /** @type {?} */ isEmpty = false;\n if (!styleMetadata_1) {\n isEmpty = true;\n var /** @type {?} */ newStyleData = {};\n if (timingAst.easing) {\n newStyleData['easing'] = timingAst.easing;\n }\n styleMetadata_1 = style(newStyleData);\n }\n context.currentTime += timingAst.duration + timingAst.delay;\n var /** @type {?} */ _styleAst = this.visitStyle(styleMetadata_1, context);\n _styleAst.isEmptyStep = isEmpty;\n styleAst = _styleAst;\n }\n context.currentAnimateTimings = null;\n return {\n type: 4 /* Animate */,\n timings: timingAst,\n style: styleAst,\n options: null\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitStyle = function (metadata, context) {\n var /** @type {?} */ ast = this._makeStyleAst(metadata, context);\n this._validateStyleAst(ast, context);\n return ast;\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype._makeStyleAst = function (metadata, context) {\n var /** @type {?} */ styles = [];\n if (Array.isArray(metadata.styles)) {\n ((metadata.styles)).forEach(function (styleTuple) {\n if (typeof styleTuple == 'string') {\n if (styleTuple == AUTO_STYLE) {\n styles.push(/** @type {?} */ (styleTuple));\n }\n else {\n context.errors.push(\"The provided style string value \" + styleTuple + \" is not allowed.\");\n }\n }\n else {\n styles.push(/** @type {?} */ (styleTuple));\n }\n });\n }\n else {\n styles.push(metadata.styles);\n }\n var /** @type {?} */ containsDynamicStyles = false;\n var /** @type {?} */ collectedEasing = null;\n styles.forEach(function (styleData) {\n if (isObject(styleData)) {\n var /** @type {?} */ styleMap = (styleData);\n var /** @type {?} */ easing = styleMap['easing'];\n if (easing) {\n collectedEasing = (easing);\n delete styleMap['easing'];\n }\n if (!containsDynamicStyles) {\n for (var /** @type {?} */ prop in styleMap) {\n var /** @type {?} */ value = styleMap[prop];\n if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n containsDynamicStyles = true;\n break;\n }\n }\n }\n }\n });\n return {\n type: 6 /* Style */,\n styles: styles,\n easing: collectedEasing,\n offset: metadata.offset, containsDynamicStyles: containsDynamicStyles,\n options: null\n };\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype._validateStyleAst = function (ast, context) {\n var /** @type {?} */ timings = context.currentAnimateTimings;\n var /** @type {?} */ endTime = context.currentTime;\n var /** @type {?} */ startTime = context.currentTime;\n if (timings && startTime > 0) {\n startTime -= timings.duration + timings.delay;\n }\n ast.styles.forEach(function (tuple) {\n if (typeof tuple == 'string')\n return;\n Object.keys(tuple).forEach(function (prop) {\n var /** @type {?} */ collectedStyles = context.collectedStyles[((context.currentQuerySelector))];\n var /** @type {?} */ collectedEntry = collectedStyles[prop];\n var /** @type {?} */ updateCollectedStyle = true;\n if (collectedEntry) {\n if (startTime != endTime && startTime >= collectedEntry.startTime &&\n endTime <= collectedEntry.endTime) {\n context.errors.push(\"The CSS property \\\"\" + prop + \"\\\" that exists between the times of \\\"\" + collectedEntry.startTime + \"ms\\\" and \\\"\" + collectedEntry.endTime + \"ms\\\" is also being animated in a parallel animation between the times of \\\"\" + startTime + \"ms\\\" and \\\"\" + endTime + \"ms\\\"\");\n updateCollectedStyle = false;\n }\n // we always choose the smaller start time value since we\n // want to have a record of the entire animation window where\n // the style property is being animated in between\n startTime = collectedEntry.startTime;\n }\n if (updateCollectedStyle) {\n collectedStyles[prop] = { startTime: startTime, endTime: endTime };\n }\n if (context.options) {\n validateStyleParams(tuple[prop], context.options, context.errors);\n }\n });\n });\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitKeyframes = function (metadata, context) {\n var _this = this;\n var /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };\n if (!context.currentAnimateTimings) {\n context.errors.push(\"keyframes() must be placed inside of a call to animate()\");\n return ast;\n }\n var /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;\n var /** @type {?} */ totalKeyframesWithOffsets = 0;\n var /** @type {?} */ offsets = [];\n var /** @type {?} */ offsetsOutOfOrder = false;\n var /** @type {?} */ keyframesOutOfRange = false;\n var /** @type {?} */ previousOffset = 0;\n var /** @type {?} */ keyframes = metadata.steps.map(function (styles) {\n var /** @type {?} */ style$$1 = _this._makeStyleAst(styles, context);\n var /** @type {?} */ offsetVal = style$$1.offset != null ? style$$1.offset : consumeOffset(style$$1.styles);\n var /** @type {?} */ offset = 0;\n if (offsetVal != null) {\n totalKeyframesWithOffsets++;\n offset = style$$1.offset = offsetVal;\n }\n keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n previousOffset = offset;\n offsets.push(offset);\n return style$$1;\n });\n if (keyframesOutOfRange) {\n context.errors.push(\"Please ensure that all keyframe offsets are between 0 and 1\");\n }\n if (offsetsOutOfOrder) {\n context.errors.push(\"Please ensure that all keyframe offsets are in order\");\n }\n var /** @type {?} */ length = metadata.steps.length;\n var /** @type {?} */ generatedOffset = 0;\n if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n context.errors.push(\"Not all style() steps within the declared keyframes() contain offsets\");\n }\n else if (totalKeyframesWithOffsets == 0) {\n generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n }\n var /** @type {?} */ limit = length - 1;\n var /** @type {?} */ currentTime = context.currentTime;\n var /** @type {?} */ currentAnimateTimings = ((context.currentAnimateTimings));\n var /** @type {?} */ animateDuration = currentAnimateTimings.duration;\n keyframes.forEach(function (kf, i) {\n var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;\n context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n currentAnimateTimings.duration = durationUpToThisFrame;\n _this._validateStyleAst(kf, context);\n kf.offset = offset;\n ast.styles.push(kf);\n });\n return ast;\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitReference = function (metadata, context) {\n return {\n type: 8 /* Reference */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitAnimateChild = function (metadata, context) {\n context.depCount++;\n return {\n type: 9 /* AnimateChild */,\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitAnimateRef = function (metadata, context) {\n return {\n type: 10 /* AnimateRef */,\n animation: this.visitReference(metadata.animation, context),\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitQuery = function (metadata, context) {\n var /** @type {?} */ parentSelector = ((context.currentQuerySelector));\n var /** @type {?} */ options = ((metadata.options || {}));\n context.queryCount++;\n context.currentQuery = metadata;\n var _a = normalizeSelector(metadata.selector), selector = _a[0], includeSelf = _a[1];\n context.currentQuerySelector =\n parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n context.currentQuery = null;\n context.currentQuerySelector = parentSelector;\n return {\n type: 11 /* Query */,\n selector: selector,\n limit: options.limit || 0,\n optional: !!options.optional, includeSelf: includeSelf, animation: animation,\n originalSelector: metadata.selector,\n options: normalizeAnimationOptions(metadata.options)\n };\n };\n /**\n * @param {?} metadata\n * @param {?} context\n * @return {?}\n */\n AnimationAstBuilderVisitor.prototype.visitStagger = function (metadata, context) {\n if (!context.currentQuery) {\n context.errors.push(\"stagger() can only be used inside of query()\");\n }\n var /** @type {?} */ timings = metadata.timings === 'full' ?\n { duration: 0, delay: 0, easing: 'full' } :\n resolveTiming(metadata.timings, context.errors, true);\n return {\n type: 12 /* Stagger */,\n animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings: timings,\n options: null\n };\n };\n return AnimationAstBuilderVisitor;\n}());\n/**\n * @param {?} selector\n * @return {?}\n */\nfunction normalizeSelector(selector) {\n var /** @type {?} */ hasAmpersand = selector.split(/\\s*,\\s*/).find(function (token) { return token == SELF_TOKEN; }) ? true : false;\n if (hasAmpersand) {\n selector = selector.replace(SELF_TOKEN_REGEX, '');\n }\n selector = selector.replace(ENTER_TOKEN_REGEX, ENTER_SELECTOR)\n .replace(LEAVE_TOKEN_REGEX, LEAVE_SELECTOR)\n .replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n .replace(/@\\w+/g, function (match) { return NG_TRIGGER_SELECTOR + '-' + match.substr(1); })\n .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n return [selector, hasAmpersand];\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction normalizeParams(obj) {\n return obj ? copyObj(obj) : null;\n}\nvar AnimationAstBuilderContext = (function () {\n /**\n * @param {?} errors\n */\n function AnimationAstBuilderContext(errors) {\n this.errors = errors;\n this.queryCount = 0;\n this.depCount = 0;\n this.currentTransition = null;\n this.currentQuery = null;\n this.currentQuerySelector = null;\n this.currentAnimateTimings = null;\n this.currentTime = 0;\n this.collectedStyles = {};\n this.options = null;\n }\n return AnimationAstBuilderContext;\n}());\n/**\n * @param {?} styles\n * @return {?}\n */\nfunction consumeOffset(styles) {\n if (typeof styles == 'string')\n return null;\n var /** @type {?} */ offset = null;\n if (Array.isArray(styles)) {\n styles.forEach(function (styleTuple) {\n if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n var /** @type {?} */ obj = (styleTuple);\n offset = parseFloat(/** @type {?} */ (obj['offset']));\n delete obj['offset'];\n }\n });\n }\n else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n var /** @type {?} */ obj = (styles);\n offset = parseFloat(/** @type {?} */ (obj['offset']));\n delete obj['offset'];\n }\n return offset;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isObject(value) {\n return !Array.isArray(value) && typeof value == 'object';\n}\n/**\n * @param {?} value\n * @param {?} errors\n * @return {?}\n */\nfunction constructTimingAst(value, errors) {\n var /** @type {?} */ timings = null;\n if (value.hasOwnProperty('duration')) {\n timings = (value);\n }\n else if (typeof value == 'number') {\n var /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;\n return makeTimingAst(/** @type {?} */ (duration), 0, '');\n }\n var /** @type {?} */ strValue = (value);\n var /** @type {?} */ isDynamic = strValue.split(/\\s+/).some(function (v) { return v.charAt(0) == '{' && v.charAt(1) == '{'; });\n if (isDynamic) {\n var /** @type {?} */ ast = (makeTimingAst(0, 0, ''));\n ast.dynamic = true;\n ast.strValue = strValue;\n return (ast);\n }\n timings = timings || resolveTiming(strValue, errors);\n return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n/**\n * @param {?} options\n * @return {?}\n */\nfunction normalizeAnimationOptions(options) {\n if (options) {\n options = copyObj(options);\n if (options['params']) {\n options['params'] = ((normalizeParams(options['params'])));\n }\n }\n else {\n options = {};\n }\n return options;\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @param {?} easing\n * @return {?}\n */\nfunction makeTimingAst(duration, delay, easing) {\n return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?} duration\n * @param {?} delay\n * @param {?=} easing\n * @param {?=} subTimeline\n * @return {?}\n */\nfunction createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing, subTimeline) {\n if (easing === void 0) { easing = null; }\n if (subTimeline === void 0) { subTimeline = false; }\n return {\n type: 1 /* TimelineAnimation */,\n element: element,\n keyframes: keyframes,\n preStyleProps: preStyleProps,\n postStyleProps: postStyleProps,\n duration: duration,\n delay: delay,\n totalTime: duration + delay, easing: easing, subTimeline: subTimeline\n };\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ElementInstructionMap = (function () {\n function ElementInstructionMap() {\n this._map = new Map();\n }\n /**\n * @param {?} element\n * @return {?}\n */\n ElementInstructionMap.prototype.consume = function (element) {\n var /** @type {?} */ instructions = this._map.get(element);\n if (instructions) {\n this._map.delete(element);\n }\n else {\n instructions = [];\n }\n return instructions;\n };\n /**\n * @param {?} element\n * @param {?} instructions\n * @return {?}\n */\n ElementInstructionMap.prototype.append = function (element, instructions) {\n var /** @type {?} */ existingInstructions = this._map.get(element);\n if (!existingInstructions) {\n this._map.set(element, existingInstructions = []);\n }\n existingInstructions.push.apply(existingInstructions, instructions);\n };\n /**\n * @param {?} element\n * @return {?}\n */\n ElementInstructionMap.prototype.has = function (element) { return this._map.has(element); };\n /**\n * @return {?}\n */\n ElementInstructionMap.prototype.clear = function () { this._map.clear(); };\n return ElementInstructionMap;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar ONE_FRAME_IN_MILLISECONDS = 1;\n/**\n * @param {?} driver\n * @param {?} rootElement\n * @param {?} ast\n * @param {?=} startingStyles\n * @param {?=} finalStyles\n * @param {?=} options\n * @param {?=} subInstructions\n * @param {?=} errors\n * @return {?}\n */\nfunction buildAnimationTimelines(driver, rootElement, ast, startingStyles, finalStyles, options, subInstructions, errors) {\n if (startingStyles === void 0) { startingStyles = {}; }\n if (finalStyles === void 0) { finalStyles = {}; }\n if (errors === void 0) { errors = []; }\n return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, startingStyles, finalStyles, options, subInstructions, errors);\n}\nvar AnimationTimelineBuilderVisitor = (function () {\n function AnimationTimelineBuilderVisitor() {\n }\n /**\n * @param {?} driver\n * @param {?} rootElement\n * @param {?} ast\n * @param {?} startingStyles\n * @param {?} finalStyles\n * @param {?} options\n * @param {?=} subInstructions\n * @param {?=} errors\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.buildKeyframes = function (driver, rootElement, ast, startingStyles, finalStyles, options, subInstructions, errors) {\n if (errors === void 0) { errors = []; }\n subInstructions = subInstructions || new ElementInstructionMap();\n var /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, errors, []);\n context.options = options;\n context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n visitDslNode(this, ast, context);\n // this checks to see if an actual animation happened\n var /** @type {?} */ timelines = context.timelines.filter(function (timeline) { return timeline.containsAnimation(); });\n if (timelines.length && Object.keys(finalStyles).length) {\n var /** @type {?} */ tl = timelines[timelines.length - 1];\n if (!tl.allowOnlyTimelineStyles()) {\n tl.setStyles([finalStyles], null, context.errors, options);\n }\n }\n return timelines.length ? timelines.map(function (timeline) { return timeline.buildKeyframes(); }) :\n [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitTrigger = function (ast, context) {\n // these values are not visited in this AST\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitState = function (ast, context) {\n // these values are not visited in this AST\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitTransition = function (ast, context) {\n // these values are not visited in this AST\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitAnimateChild = function (ast, context) {\n var /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);\n if (elementInstructions) {\n var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n var /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));\n if (startTime != endTime) {\n // we do this on the upper context because we created a sub context for\n // the sub child animations\n context.transformIntoNewTimeline(endTime);\n }\n }\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitAnimateRef = function (ast, context) {\n var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n innerContext.transformIntoNewTimeline();\n this.visitReference(ast.animation, innerContext);\n context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n context.previousNode = ast;\n };\n /**\n * @param {?} instructions\n * @param {?} context\n * @param {?} options\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype._visitSubInstructions = function (instructions, context, options) {\n var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n var /** @type {?} */ furthestTime = startTime;\n // this is a special-case for when a user wants to skip a sub\n // animation from being fired entirely.\n var /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n var /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n if (duration !== 0) {\n instructions.forEach(function (instruction) {\n var /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n furthestTime =\n Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n });\n }\n return furthestTime;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitReference = function (ast, context) {\n context.updateOptions(ast.options, true);\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitSequence = function (ast, context) {\n var _this = this;\n var /** @type {?} */ subContextCount = context.subContextCount;\n var /** @type {?} */ ctx = context;\n var /** @type {?} */ options = ast.options;\n if (options && (options.params || options.delay)) {\n ctx = context.createSubContext(options);\n ctx.transformIntoNewTimeline();\n if (options.delay != null) {\n if (ctx.previousNode.type == 6 /* Style */) {\n ctx.currentTimeline.snapshotCurrentStyles();\n ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n var /** @type {?} */ delay = resolveTimingValue(options.delay);\n ctx.delayNextStep(delay);\n }\n }\n if (ast.steps.length) {\n ast.steps.forEach(function (s) { return visitDslNode(_this, s, ctx); });\n // this is here just incase the inner steps only contain or end with a style() call\n ctx.currentTimeline.applyStylesToKeyframe();\n // this means that some animation function within the sequence\n // ended up creating a sub timeline (which means the current\n // timeline cannot overlap with the contents of the sequence)\n if (ctx.subContextCount > subContextCount) {\n ctx.transformIntoNewTimeline();\n }\n }\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitGroup = function (ast, context) {\n var _this = this;\n var /** @type {?} */ innerTimelines = [];\n var /** @type {?} */ furthestTime = context.currentTimeline.currentTime;\n var /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n ast.steps.forEach(function (s) {\n var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n visitDslNode(_this, s, innerContext);\n furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n innerTimelines.push(innerContext.currentTimeline);\n });\n // this operation is run after the AST loop because otherwise\n // if the parent timeline's collected styles were updated then\n // it would pass in invalid data into the new-to-be forked items\n innerTimelines.forEach(function (timeline) { return context.currentTimeline.mergeTimelineCollectedStyles(timeline); });\n context.transformIntoNewTimeline(furthestTime);\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype._visitTiming = function (ast, context) {\n if (((ast)).dynamic) {\n var /** @type {?} */ strValue = ((ast)).strValue;\n var /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n return resolveTiming(timingValue, context.errors);\n }\n else {\n return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n }\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitAnimate = function (ast, context) {\n var /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n var /** @type {?} */ timeline = context.currentTimeline;\n if (timings.delay) {\n context.incrementTime(timings.delay);\n timeline.snapshotCurrentStyles();\n }\n var /** @type {?} */ style$$1 = ast.style;\n if (style$$1.type == 5 /* Keyframes */) {\n this.visitKeyframes(style$$1, context);\n }\n else {\n context.incrementTime(timings.duration);\n this.visitStyle(/** @type {?} */ (style$$1), context);\n timeline.applyStylesToKeyframe();\n }\n context.currentAnimateTimings = null;\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitStyle = function (ast, context) {\n var /** @type {?} */ timeline = context.currentTimeline;\n var /** @type {?} */ timings = ((context.currentAnimateTimings));\n // this is a special case for when a style() call\n // directly follows an animate() call (but not inside of an animate() call)\n if (!timings && timeline.getCurrentStyleProperties().length) {\n timeline.forwardFrame();\n }\n var /** @type {?} */ easing = (timings && timings.easing) || ast.easing;\n if (ast.isEmptyStep) {\n timeline.applyEmptyStep(easing);\n }\n else {\n timeline.setStyles(ast.styles, easing, context.errors, context.options);\n }\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitKeyframes = function (ast, context) {\n var /** @type {?} */ currentAnimateTimings = ((context.currentAnimateTimings));\n var /** @type {?} */ startTime = (((context.currentTimeline))).duration;\n var /** @type {?} */ duration = currentAnimateTimings.duration;\n var /** @type {?} */ innerContext = context.createSubContext();\n var /** @type {?} */ innerTimeline = innerContext.currentTimeline;\n innerTimeline.easing = currentAnimateTimings.easing;\n ast.styles.forEach(function (step) {\n var /** @type {?} */ offset = step.offset || 0;\n innerTimeline.forwardTime(offset * duration);\n innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n innerTimeline.applyStylesToKeyframe();\n });\n // this will ensure that the parent timeline gets all the styles from\n // the child even if the new timeline below is not used\n context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n // we do this because the window between this timeline and the sub timeline\n // should ensure that the styles within are exactly the same as they were before\n context.transformIntoNewTimeline(startTime + duration);\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitQuery = function (ast, context) {\n var _this = this;\n // in the event that the first step before this is a style step we need\n // to ensure the styles are applied before the children are animated\n var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n var /** @type {?} */ options = ((ast.options || {}));\n var /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;\n if (delay && (context.previousNode.type === 6 /* Style */ ||\n (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n context.currentTimeline.snapshotCurrentStyles();\n context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n }\n var /** @type {?} */ furthestTime = startTime;\n var /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n context.currentQueryTotal = elms.length;\n var /** @type {?} */ sameElementTimeline = null;\n elms.forEach(function (element, i) {\n context.currentQueryIndex = i;\n var /** @type {?} */ innerContext = context.createSubContext(ast.options, element);\n if (delay) {\n innerContext.delayNextStep(delay);\n }\n if (element === context.element) {\n sameElementTimeline = innerContext.currentTimeline;\n }\n visitDslNode(_this, ast.animation, innerContext);\n // this is here just incase the inner steps only contain or end\n // with a style() call (which is here to signal that this is a preparatory\n // call to style an element before it is animated again)\n innerContext.currentTimeline.applyStylesToKeyframe();\n var /** @type {?} */ endTime = innerContext.currentTimeline.currentTime;\n furthestTime = Math.max(furthestTime, endTime);\n });\n context.currentQueryIndex = 0;\n context.currentQueryTotal = 0;\n context.transformIntoNewTimeline(furthestTime);\n if (sameElementTimeline) {\n context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n context.currentTimeline.snapshotCurrentStyles();\n }\n context.previousNode = ast;\n };\n /**\n * @param {?} ast\n * @param {?} context\n * @return {?}\n */\n AnimationTimelineBuilderVisitor.prototype.visitStagger = function (ast, context) {\n var /** @type {?} */ parentContext = ((context.parentContext));\n var /** @type {?} */ tl = context.currentTimeline;\n var /** @type {?} */ timings = ast.timings;\n var /** @type {?} */ duration = Math.abs(timings.duration);\n var /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);\n var /** @type {?} */ delay = duration * context.currentQueryIndex;\n var /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n switch (staggerTransformer) {\n case 'reverse':\n delay = maxTime - delay;\n break;\n case 'full':\n delay = parentContext.currentStaggerTime;\n break;\n }\n var /** @type {?} */ timeline = context.currentTimeline;\n if (delay) {\n timeline.delayNextStep(delay);\n }\n var /** @type {?} */ startingTime = timeline.currentTime;\n visitDslNode(this, ast.animation, context);\n context.previousNode = ast;\n // time = duration + delay\n // the reason why this computation is so complex is because\n // the inner timeline may either have a delay value or a stretched\n // keyframe depending on if a subtimeline is not used or is used.\n parentContext.currentStaggerTime =\n (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n };\n return AnimationTimelineBuilderVisitor;\n}());\nvar DEFAULT_NOOP_PREVIOUS_NODE = ({});\nvar AnimationTimelineContext = (function () {\n /**\n * @param {?} _driver\n * @param {?} element\n * @param {?} subInstructions\n * @param {?} errors\n * @param {?} timelines\n * @param {?=} initialTimeline\n */\n function AnimationTimelineContext(_driver, element, subInstructions, errors, timelines, initialTimeline) {\n this._driver = _driver;\n this.element = element;\n this.subInstructions = subInstructions;\n this.errors = errors;\n this.timelines = timelines;\n this.parentContext = null;\n this.currentAnimateTimings = null;\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.subContextCount = 0;\n this.options = {};\n this.currentQueryIndex = 0;\n this.currentQueryTotal = 0;\n this.currentStaggerTime = 0;\n this.currentTimeline = initialTimeline || new TimelineBuilder(element, 0);\n timelines.push(this.currentTimeline);\n }\n Object.defineProperty(AnimationTimelineContext.prototype, \"params\", {\n /**\n * @return {?}\n */\n get: function () { return this.options.params; },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} options\n * @param {?=} skipIfExists\n * @return {?}\n */\n AnimationTimelineContext.prototype.updateOptions = function (options, skipIfExists) {\n var _this = this;\n if (!options)\n return;\n var /** @type {?} */ newOptions = (options);\n var /** @type {?} */ optionsToUpdate = this.options;\n // NOTE: this will get patched up when other animation methods support duration overrides\n if (newOptions.duration != null) {\n ((optionsToUpdate)).duration = resolveTimingValue(newOptions.duration);\n }\n if (newOptions.delay != null) {\n optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n }\n var /** @type {?} */ newParams = newOptions.params;\n if (newParams) {\n var /** @type {?} */ paramsToUpdate_1 = ((optionsToUpdate.params));\n if (!paramsToUpdate_1) {\n paramsToUpdate_1 = this.options.params = {};\n }\n Object.keys(newParams).forEach(function (name) {\n if (!skipIfExists || !paramsToUpdate_1.hasOwnProperty(name)) {\n paramsToUpdate_1[name] = interpolateParams(newParams[name], paramsToUpdate_1, _this.errors);\n }\n });\n }\n };\n /**\n * @return {?}\n */\n AnimationTimelineContext.prototype._copyOptions = function () {\n var /** @type {?} */ options = {};\n if (this.options) {\n var /** @type {?} */ oldParams_1 = this.options.params;\n if (oldParams_1) {\n var /** @type {?} */ params_2 = options['params'] = {};\n Object.keys(oldParams_1).forEach(function (name) { params_2[name] = oldParams_1[name]; });\n }\n }\n return options;\n };\n /**\n * @param {?=} options\n * @param {?=} element\n * @param {?=} newTime\n * @return {?}\n */\n AnimationTimelineContext.prototype.createSubContext = function (options, element, newTime) {\n if (options === void 0) { options = null; }\n var /** @type {?} */ target = element || this.element;\n var /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n context.previousNode = this.previousNode;\n context.currentAnimateTimings = this.currentAnimateTimings;\n context.options = this._copyOptions();\n context.updateOptions(options);\n context.currentQueryIndex = this.currentQueryIndex;\n context.currentQueryTotal = this.currentQueryTotal;\n context.parentContext = this;\n this.subContextCount++;\n return context;\n };\n /**\n * @param {?=} newTime\n * @return {?}\n */\n AnimationTimelineContext.prototype.transformIntoNewTimeline = function (newTime) {\n this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n this.timelines.push(this.currentTimeline);\n return this.currentTimeline;\n };\n /**\n * @param {?} instruction\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\n AnimationTimelineContext.prototype.appendInstructionToTimeline = function (instruction, duration, delay) {\n var /** @type {?} */ updatedTimings = {\n duration: duration != null ? duration : instruction.duration,\n delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n easing: ''\n };\n var /** @type {?} */ builder = new SubTimelineBuilder(instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n this.timelines.push(builder);\n return updatedTimings;\n };\n /**\n * @param {?} time\n * @return {?}\n */\n AnimationTimelineContext.prototype.incrementTime = function (time) {\n this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n };\n /**\n * @param {?} delay\n * @return {?}\n */\n AnimationTimelineContext.prototype.delayNextStep = function (delay) {\n // negative delays are not yet supported\n if (delay > 0) {\n this.currentTimeline.delayNextStep(delay);\n }\n };\n /**\n * @param {?} selector\n * @param {?} originalSelector\n * @param {?} limit\n * @param {?} includeSelf\n * @param {?} optional\n * @param {?} errors\n * @return {?}\n */\n AnimationTimelineContext.prototype.invokeQuery = function (selector, originalSelector, limit, includeSelf, optional, errors) {\n var /** @type {?} */ results = [];\n if (includeSelf) {\n results.push(this.element);\n }\n if (selector.length > 0) {\n var /** @type {?} */ multi = limit != 1;\n var /** @type {?} */ elements = this._driver.query(this.element, selector, multi);\n if (limit !== 0) {\n elements = elements.slice(0, limit);\n }\n results.push.apply(results, elements);\n }\n if (!optional && results.length == 0) {\n errors.push(\"`query(\\\"\" + originalSelector + \"\\\")` returned zero elements. (Use `query(\\\"\" + originalSelector + \"\\\", { optional: true })` if you wish to allow this.)\");\n }\n return results;\n };\n return AnimationTimelineContext;\n}());\nvar TimelineBuilder = (function () {\n /**\n * @param {?} element\n * @param {?} startTime\n * @param {?=} _elementTimelineStylesLookup\n */\n function TimelineBuilder(element, startTime, _elementTimelineStylesLookup) {\n this.element = element;\n this.startTime = startTime;\n this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n this.duration = 0;\n this._previousKeyframe = {};\n this._currentKeyframe = {};\n this._keyframes = new Map();\n this._styleSummary = {};\n this._pendingStyles = {};\n this._backFill = {};\n this._currentEmptyStepKeyframe = null;\n if (!this._elementTimelineStylesLookup) {\n this._elementTimelineStylesLookup = new Map();\n }\n this._localTimelineStyles = Object.create(this._backFill, {});\n this._globalTimelineStyles = this._elementTimelineStylesLookup.get(element);\n if (!this._globalTimelineStyles) {\n this._globalTimelineStyles = this._localTimelineStyles;\n this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n }\n this._loadKeyframe();\n }\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.containsAnimation = function () {\n switch (this._keyframes.size) {\n case 0:\n return false;\n case 1:\n return this.getCurrentStyleProperties().length > 0;\n default:\n return true;\n }\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.getCurrentStyleProperties = function () { return Object.keys(this._currentKeyframe); };\n Object.defineProperty(TimelineBuilder.prototype, \"currentTime\", {\n /**\n * @return {?}\n */\n get: function () { return this.startTime + this.duration; },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} delay\n * @return {?}\n */\n TimelineBuilder.prototype.delayNextStep = function (delay) {\n // in the event that a style() step is placed right before a stagger()\n // and that style() step is the very first style() value in the animation\n // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n // properly applies the style() values to work with the stagger...\n var /** @type {?} */ hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n if (this.duration || hasPreStyleStep) {\n this.forwardTime(this.currentTime + delay);\n if (hasPreStyleStep) {\n this.snapshotCurrentStyles();\n }\n }\n else {\n this.startTime += delay;\n }\n };\n /**\n * @param {?} element\n * @param {?=} currentTime\n * @return {?}\n */\n TimelineBuilder.prototype.fork = function (element, currentTime) {\n this.applyStylesToKeyframe();\n return new TimelineBuilder(element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype._loadKeyframe = function () {\n if (this._currentKeyframe) {\n this._previousKeyframe = this._currentKeyframe;\n }\n this._currentKeyframe = ((this._keyframes.get(this.duration)));\n if (!this._currentKeyframe) {\n this._currentKeyframe = Object.create(this._backFill, {});\n this._keyframes.set(this.duration, this._currentKeyframe);\n }\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.forwardFrame = function () {\n this.duration += ONE_FRAME_IN_MILLISECONDS;\n this._loadKeyframe();\n };\n /**\n * @param {?} time\n * @return {?}\n */\n TimelineBuilder.prototype.forwardTime = function (time) {\n this.applyStylesToKeyframe();\n this.duration = time;\n this._loadKeyframe();\n };\n /**\n * @param {?} prop\n * @param {?} value\n * @return {?}\n */\n TimelineBuilder.prototype._updateStyle = function (prop, value) {\n this._localTimelineStyles[prop] = value;\n this._globalTimelineStyles[prop] = value;\n this._styleSummary[prop] = { time: this.currentTime, value: value };\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.allowOnlyTimelineStyles = function () { return this._currentEmptyStepKeyframe !== this._currentKeyframe; };\n /**\n * @param {?} easing\n * @return {?}\n */\n TimelineBuilder.prototype.applyEmptyStep = function (easing) {\n var _this = this;\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n // special case for animate(duration):\n // all missing styles are filled with a `*` value then\n // if any destination styles are filled in later on the same\n // keyframe then they will override the overridden styles\n // We use `_globalTimelineStyles` here because there may be\n // styles in previous keyframes that are not present in this timeline\n Object.keys(this._globalTimelineStyles).forEach(function (prop) {\n _this._backFill[prop] = _this._globalTimelineStyles[prop] || AUTO_STYLE;\n _this._currentKeyframe[prop] = AUTO_STYLE;\n });\n this._currentEmptyStepKeyframe = this._currentKeyframe;\n };\n /**\n * @param {?} input\n * @param {?} easing\n * @param {?} errors\n * @param {?=} options\n * @return {?}\n */\n TimelineBuilder.prototype.setStyles = function (input, easing, errors, options) {\n var _this = this;\n if (easing) {\n this._previousKeyframe['easing'] = easing;\n }\n var /** @type {?} */ params = (options && options.params) || {};\n var /** @type {?} */ styles = flattenStyles(input, this._globalTimelineStyles);\n Object.keys(styles).forEach(function (prop) {\n var /** @type {?} */ val = interpolateParams(styles[prop], params, errors);\n _this._pendingStyles[prop] = val;\n if (!_this._localTimelineStyles.hasOwnProperty(prop)) {\n _this._backFill[prop] = _this._globalTimelineStyles.hasOwnProperty(prop) ?\n _this._globalTimelineStyles[prop] :\n AUTO_STYLE;\n }\n _this._updateStyle(prop, val);\n });\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.applyStylesToKeyframe = function () {\n var _this = this;\n var /** @type {?} */ styles = this._pendingStyles;\n var /** @type {?} */ props = Object.keys(styles);\n if (props.length == 0)\n return;\n this._pendingStyles = {};\n props.forEach(function (prop) {\n var /** @type {?} */ val = styles[prop];\n _this._currentKeyframe[prop] = val;\n });\n Object.keys(this._localTimelineStyles).forEach(function (prop) {\n if (!_this._currentKeyframe.hasOwnProperty(prop)) {\n _this._currentKeyframe[prop] = _this._localTimelineStyles[prop];\n }\n });\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.snapshotCurrentStyles = function () {\n var _this = this;\n Object.keys(this._localTimelineStyles).forEach(function (prop) {\n var /** @type {?} */ val = _this._localTimelineStyles[prop];\n _this._pendingStyles[prop] = val;\n _this._updateStyle(prop, val);\n });\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.getFinalKeyframe = function () { return this._keyframes.get(this.duration); };\n Object.defineProperty(TimelineBuilder.prototype, \"properties\", {\n /**\n * @return {?}\n */\n get: function () {\n var /** @type {?} */ properties = [];\n for (var /** @type {?} */ prop in this._currentKeyframe) {\n properties.push(prop);\n }\n return properties;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} timeline\n * @return {?}\n */\n TimelineBuilder.prototype.mergeTimelineCollectedStyles = function (timeline) {\n var _this = this;\n Object.keys(timeline._styleSummary).forEach(function (prop) {\n var /** @type {?} */ details0 = _this._styleSummary[prop];\n var /** @type {?} */ details1 = timeline._styleSummary[prop];\n if (!details0 || details1.time > details0.time) {\n _this._updateStyle(prop, details1.value);\n }\n });\n };\n /**\n * @return {?}\n */\n TimelineBuilder.prototype.buildKeyframes = function () {\n var _this = this;\n this.applyStylesToKeyframe();\n var /** @type {?} */ preStyleProps = new Set();\n var /** @type {?} */ postStyleProps = new Set();\n var /** @type {?} */ isEmpty = this._keyframes.size === 1 && this.duration === 0;\n var /** @type {?} */ finalKeyframes = [];\n this._keyframes.forEach(function (keyframe, time) {\n var /** @type {?} */ finalKeyframe = copyStyles(keyframe, true);\n Object.keys(finalKeyframe).forEach(function (prop) {\n var /** @type {?} */ value = finalKeyframe[prop];\n if (value == ɵPRE_STYLE) {\n preStyleProps.add(prop);\n }\n else if (value == AUTO_STYLE) {\n postStyleProps.add(prop);\n }\n });\n if (!isEmpty) {\n finalKeyframe['offset'] = time / _this.duration;\n }\n finalKeyframes.push(finalKeyframe);\n });\n var /** @type {?} */ preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n var /** @type {?} */ postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n // special case for a 0-second animation (which is designed just to place styles onscreen)\n if (isEmpty) {\n var /** @type {?} */ kf0 = finalKeyframes[0];\n var /** @type {?} */ kf1 = copyObj(kf0);\n kf0['offset'] = 0;\n kf1['offset'] = 1;\n finalKeyframes = [kf0, kf1];\n }\n return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);\n };\n return TimelineBuilder;\n}());\nvar SubTimelineBuilder = (function (_super) {\n tslib_1.__extends(SubTimelineBuilder, _super);\n /**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?} timings\n * @param {?=} _stretchStartingKeyframe\n */\n function SubTimelineBuilder(element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe) {\n if (_stretchStartingKeyframe === void 0) { _stretchStartingKeyframe = false; }\n var _this = _super.call(this, element, timings.delay) || this;\n _this.element = element;\n _this.keyframes = keyframes;\n _this.preStyleProps = preStyleProps;\n _this.postStyleProps = postStyleProps;\n _this._stretchStartingKeyframe = _stretchStartingKeyframe;\n _this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };\n return _this;\n }\n /**\n * @return {?}\n */\n SubTimelineBuilder.prototype.containsAnimation = function () { return this.keyframes.length > 1; };\n /**\n * @return {?}\n */\n SubTimelineBuilder.prototype.buildKeyframes = function () {\n var /** @type {?} */ keyframes = this.keyframes;\n var _a = this.timings, delay = _a.delay, duration = _a.duration, easing = _a.easing;\n if (this._stretchStartingKeyframe && delay) {\n var /** @type {?} */ newKeyframes = [];\n var /** @type {?} */ totalTime = duration + delay;\n var /** @type {?} */ startingGap = delay / totalTime;\n // the original starting keyframe now starts once the delay is done\n var /** @type {?} */ newFirstKeyframe = copyStyles(keyframes[0], false);\n newFirstKeyframe['offset'] = 0;\n newKeyframes.push(newFirstKeyframe);\n var /** @type {?} */ oldFirstKeyframe = copyStyles(keyframes[0], false);\n oldFirstKeyframe['offset'] = roundOffset(startingGap);\n newKeyframes.push(oldFirstKeyframe);\n /*\n When the keyframe is stretched then it means that the delay before the animation\n starts is gone. Instead the first keyframe is placed at the start of the animation\n and it is then copied to where it starts when the original delay is over. This basically\n means nothing animates during that delay, but the styles are still renderered. For this\n to work the original offset values that exist in the original keyframes must be \"warped\"\n so that they can take the new keyframe + delay into account.\n \n delay=1000, duration=1000, keyframes = 0 .5 1\n \n turns into\n \n delay=0, duration=2000, keyframes = 0 .33 .66 1\n */\n // offsets between 1 ... n -1 are all warped by the keyframe stretch\n var /** @type {?} */ limit = keyframes.length - 1;\n for (var /** @type {?} */ i = 1; i <= limit; i++) {\n var /** @type {?} */ kf = copyStyles(keyframes[i], false);\n var /** @type {?} */ oldOffset = (kf['offset']);\n var /** @type {?} */ timeAtKeyframe = delay + oldOffset * duration;\n kf['offset'] = roundOffset(timeAtKeyframe / totalTime);\n newKeyframes.push(kf);\n }\n // the new starting keyframe should be added at the start\n duration = totalTime;\n delay = 0;\n easing = '';\n keyframes = newKeyframes;\n }\n return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);\n };\n return SubTimelineBuilder;\n}(TimelineBuilder));\n/**\n * @param {?} offset\n * @param {?=} decimalPoints\n * @return {?}\n */\nfunction roundOffset(offset, decimalPoints) {\n if (decimalPoints === void 0) { decimalPoints = 3; }\n var /** @type {?} */ mult = Math.pow(10, decimalPoints - 1);\n return Math.round(offset * mult) / mult;\n}\n/**\n * @param {?} input\n * @param {?} allStyles\n * @return {?}\n */\nfunction flattenStyles(input, allStyles) {\n var /** @type {?} */ styles = {};\n var /** @type {?} */ allProperties;\n input.forEach(function (token) {\n if (token === '*') {\n allProperties = allProperties || Object.keys(allStyles);\n allProperties.forEach(function (prop) { styles[prop] = AUTO_STYLE; });\n }\n else {\n copyStyles(/** @type {?} */ (token), false, styles);\n }\n });\n return styles;\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Animation = (function () {\n /**\n * @param {?} _driver\n * @param {?} input\n */\n function Animation(_driver, input) {\n this._driver = _driver;\n var errors = [];\n var ast = buildAnimationAst(input, errors);\n if (errors.length) {\n var errorMessage = \"animation validation failed:\\n\" + errors.join(\"\\n\");\n throw new Error(errorMessage);\n }\n this._animationAst = ast;\n }\n /**\n * @param {?} element\n * @param {?} startingStyles\n * @param {?} destinationStyles\n * @param {?} options\n * @param {?=} subInstructions\n * @return {?}\n */\n Animation.prototype.buildTimelines = function (element, startingStyles, destinationStyles, options, subInstructions) {\n var /** @type {?} */ start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) : (startingStyles);\n var /** @type {?} */ dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) : (destinationStyles);\n var /** @type {?} */ errors = [];\n subInstructions = subInstructions || new ElementInstructionMap();\n var /** @type {?} */ result = buildAnimationTimelines(this._driver, element, this._animationAst, start, dest, options, subInstructions, errors);\n if (errors.length) {\n var /** @type {?} */ errorMessage = \"animation building failed:\\n\" + errors.join(\"\\n\");\n throw new Error(errorMessage);\n }\n return result;\n };\n return Animation;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @experimental Animation support is experimental.\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */ var AnimationStyleNormalizer = (function () {\n function AnimationStyleNormalizer() {\n }\n return AnimationStyleNormalizer;\n}());\n/**\n * @experimental Animation support is experimental.\n */\nvar NoopAnimationStyleNormalizer = (function () {\n function NoopAnimationStyleNormalizer() {\n }\n NoopAnimationStyleNormalizer.prototype.normalizePropertyName = function (propertyName, errors) { return propertyName; };\n NoopAnimationStyleNormalizer.prototype.normalizeStyleValue = function (userProvidedProperty, normalizedProperty, value, errors) {\n return value;\n };\n return NoopAnimationStyleNormalizer;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar WebAnimationsStyleNormalizer = (function (_super) {\n tslib_1.__extends(WebAnimationsStyleNormalizer, _super);\n function WebAnimationsStyleNormalizer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @param {?} propertyName\n * @param {?} errors\n * @return {?}\n */\n WebAnimationsStyleNormalizer.prototype.normalizePropertyName = function (propertyName, errors) {\n return dashCaseToCamelCase(propertyName);\n };\n /**\n * @param {?} userProvidedProperty\n * @param {?} normalizedProperty\n * @param {?} value\n * @param {?} errors\n * @return {?}\n */\n WebAnimationsStyleNormalizer.prototype.normalizeStyleValue = function (userProvidedProperty, normalizedProperty, value, errors) {\n var /** @type {?} */ unit = '';\n var /** @type {?} */ strVal = value.toString().trim();\n if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {\n if (typeof value === 'number') {\n unit = 'px';\n }\n else {\n var /** @type {?} */ valAndSuffixMatch = value.match(/^[+-]?[\\d\\.]+([a-z]*)$/);\n if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {\n errors.push(\"Please provide a CSS unit value for \" + userProvidedProperty + \":\" + value);\n }\n }\n }\n return strVal + unit;\n };\n return WebAnimationsStyleNormalizer;\n}(AnimationStyleNormalizer));\nvar DIMENSIONAL_PROP_MAP = makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'\n .split(','));\n/**\n * @param {?} keys\n * @return {?}\n */\nfunction makeBooleanMap(keys) {\n var /** @type {?} */ map = {};\n keys.forEach(function (key) { return map[key] = true; });\n return map;\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?} isRemovalTransition\n * @param {?} fromStyles\n * @param {?} toStyles\n * @param {?} timelines\n * @param {?} queriedElements\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?=} errors\n * @return {?}\n */\nfunction createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyleProps, errors) {\n return {\n type: 0 /* TransitionAnimation */,\n element: element,\n triggerName: triggerName,\n isRemovalTransition: isRemovalTransition,\n fromState: fromState,\n fromStyles: fromStyles,\n toState: toState,\n toStyles: toStyles,\n timelines: timelines,\n queriedElements: queriedElements,\n preStyleProps: preStyleProps,\n postStyleProps: postStyleProps,\n errors: errors\n };\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar EMPTY_OBJECT = {};\nvar AnimationTransitionFactory = (function () {\n /**\n * @param {?} _triggerName\n * @param {?} ast\n * @param {?} _stateStyles\n */\n function AnimationTransitionFactory(_triggerName, ast, _stateStyles) {\n this._triggerName = _triggerName;\n this.ast = ast;\n this._stateStyles = _stateStyles;\n }\n /**\n * @param {?} currentState\n * @param {?} nextState\n * @return {?}\n */\n AnimationTransitionFactory.prototype.match = function (currentState, nextState) {\n return oneOrMoreTransitionsMatch(this.ast.matchers, currentState, nextState);\n };\n /**\n * @param {?} stateName\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\n AnimationTransitionFactory.prototype.buildStyles = function (stateName, params, errors) {\n var /** @type {?} */ backupStateStyler = this._stateStyles['*'];\n var /** @type {?} */ stateStyler = this._stateStyles[stateName];\n var /** @type {?} */ backupStyles = backupStateStyler ? backupStateStyler.buildStyles(params, errors) : {};\n return stateStyler ? stateStyler.buildStyles(params, errors) : backupStyles;\n };\n /**\n * @param {?} driver\n * @param {?} element\n * @param {?} currentState\n * @param {?} nextState\n * @param {?=} currentOptions\n * @param {?=} nextOptions\n * @param {?=} subInstructions\n * @return {?}\n */\n AnimationTransitionFactory.prototype.build = function (driver, element, currentState, nextState, currentOptions, nextOptions, subInstructions) {\n var /** @type {?} */ errors = [];\n var /** @type {?} */ transitionAnimationParams = this.ast.options && this.ast.options.params || EMPTY_OBJECT;\n var /** @type {?} */ currentAnimationParams = currentOptions && currentOptions.params || EMPTY_OBJECT;\n var /** @type {?} */ currentStateStyles = this.buildStyles(currentState, currentAnimationParams, errors);\n var /** @type {?} */ nextAnimationParams = nextOptions && nextOptions.params || EMPTY_OBJECT;\n var /** @type {?} */ nextStateStyles = this.buildStyles(nextState, nextAnimationParams, errors);\n var /** @type {?} */ queriedElements = new Set();\n var /** @type {?} */ preStyleMap = new Map();\n var /** @type {?} */ postStyleMap = new Map();\n var /** @type {?} */ isRemoval = nextState === 'void';\n var /** @type {?} */ animationOptions = { params: Object.assign({}, transitionAnimationParams, nextAnimationParams) };\n var /** @type {?} */ timelines = buildAnimationTimelines(driver, element, this.ast.animation, currentStateStyles, nextStateStyles, animationOptions, subInstructions, errors);\n if (errors.length) {\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, [], [], preStyleMap, postStyleMap, errors);\n }\n timelines.forEach(function (tl) {\n var /** @type {?} */ elm = tl.element;\n var /** @type {?} */ preProps = getOrSetAsInMap(preStyleMap, elm, {});\n tl.preStyleProps.forEach(function (prop) { return preProps[prop] = true; });\n var /** @type {?} */ postProps = getOrSetAsInMap(postStyleMap, elm, {});\n tl.postStyleProps.forEach(function (prop) { return postProps[prop] = true; });\n if (elm !== element) {\n queriedElements.add(elm);\n }\n });\n var /** @type {?} */ queriedElementsList = iteratorToArray(queriedElements.values());\n return createTransitionInstruction(element, this._triggerName, currentState, nextState, isRemoval, currentStateStyles, nextStateStyles, timelines, queriedElementsList, preStyleMap, postStyleMap);\n };\n return AnimationTransitionFactory;\n}());\n/**\n * @param {?} matchFns\n * @param {?} currentState\n * @param {?} nextState\n * @return {?}\n */\nfunction oneOrMoreTransitionsMatch(matchFns, currentState, nextState) {\n return matchFns.some(function (fn) { return fn(currentState, nextState); });\n}\nvar AnimationStateStyles = (function () {\n /**\n * @param {?} styles\n * @param {?} defaultParams\n */\n function AnimationStateStyles(styles, defaultParams) {\n this.styles = styles;\n this.defaultParams = defaultParams;\n }\n /**\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\n AnimationStateStyles.prototype.buildStyles = function (params, errors) {\n var /** @type {?} */ finalStyles = {};\n var /** @type {?} */ combinedParams = copyObj(this.defaultParams);\n Object.keys(params).forEach(function (key) {\n var /** @type {?} */ value = params[key];\n if (value != null) {\n combinedParams[key] = value;\n }\n });\n this.styles.styles.forEach(function (value) {\n if (typeof value !== 'string') {\n var /** @type {?} */ styleObj_1 = (value);\n Object.keys(styleObj_1).forEach(function (prop) {\n var /** @type {?} */ val = styleObj_1[prop];\n if (val.length > 1) {\n val = interpolateParams(val, combinedParams, errors);\n }\n finalStyles[prop] = val;\n });\n }\n });\n return finalStyles;\n };\n return AnimationStateStyles;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} ast\n * @return {?}\n */\nfunction buildTrigger(name, ast) {\n return new AnimationTrigger(name, ast);\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nvar AnimationTrigger = (function () {\n /**\n * @param {?} name\n * @param {?} ast\n */\n function AnimationTrigger(name, ast) {\n var _this = this;\n this.name = name;\n this.ast = ast;\n this.transitionFactories = [];\n this.states = {};\n ast.states.forEach(function (ast) {\n var defaultParams = (ast.options && ast.options.params) || {};\n _this.states[ast.name] = new AnimationStateStyles(ast.style, defaultParams);\n });\n balanceProperties(this.states, 'true', '1');\n balanceProperties(this.states, 'false', '0');\n ast.transitions.forEach(function (ast) {\n _this.transitionFactories.push(new AnimationTransitionFactory(name, ast, _this.states));\n });\n this.fallbackTransition = createFallbackTransition(name, this.states);\n }\n Object.defineProperty(AnimationTrigger.prototype, \"containsQueries\", {\n /**\n * @return {?}\n */\n get: function () { return this.ast.queryCount > 0; },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} currentState\n * @param {?} nextState\n * @return {?}\n */\n AnimationTrigger.prototype.matchTransition = function (currentState, nextState) {\n var /** @type {?} */ entry = this.transitionFactories.find(function (f) { return f.match(currentState, nextState); });\n return entry || null;\n };\n /**\n * @param {?} currentState\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\n AnimationTrigger.prototype.matchStyles = function (currentState, params, errors) {\n return this.fallbackTransition.buildStyles(currentState, params, errors);\n };\n return AnimationTrigger;\n}());\n/**\n * @param {?} triggerName\n * @param {?} states\n * @return {?}\n */\nfunction createFallbackTransition(triggerName, states) {\n var /** @type {?} */ matchers = [function (fromState, toState) { return true; }];\n var /** @type {?} */ animation = { type: 2 /* Sequence */, steps: [], options: null };\n var /** @type {?} */ transition = {\n type: 1 /* Transition */,\n animation: animation,\n matchers: matchers,\n options: null,\n queryCount: 0,\n depCount: 0\n };\n return new AnimationTransitionFactory(triggerName, transition, states);\n}\n/**\n * @param {?} obj\n * @param {?} key1\n * @param {?} key2\n * @return {?}\n */\nfunction balanceProperties(obj, key1, key2) {\n if (obj.hasOwnProperty(key1)) {\n if (!obj.hasOwnProperty(key2)) {\n obj[key2] = obj[key1];\n }\n }\n else if (obj.hasOwnProperty(key2)) {\n obj[key1] = obj[key2];\n }\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar EMPTY_INSTRUCTION_MAP = new ElementInstructionMap();\nvar TimelineAnimationEngine = (function () {\n /**\n * @param {?} _driver\n * @param {?} _normalizer\n */\n function TimelineAnimationEngine(_driver, _normalizer) {\n this._driver = _driver;\n this._normalizer = _normalizer;\n this._animations = {};\n this._playersById = {};\n this.players = [];\n }\n /**\n * @param {?} id\n * @param {?} metadata\n * @return {?}\n */\n TimelineAnimationEngine.prototype.register = function (id, metadata) {\n var /** @type {?} */ errors = [];\n var /** @type {?} */ ast = buildAnimationAst(metadata, errors);\n if (errors.length) {\n throw new Error(\"Unable to build the animation due to the following errors: \" + errors.join(\"\\n\"));\n }\n else {\n this._animations[id] = ast;\n }\n };\n /**\n * @param {?} i\n * @param {?} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\n TimelineAnimationEngine.prototype._buildPlayer = function (i, preStyles, postStyles) {\n var /** @type {?} */ element = i.element;\n var /** @type {?} */ keyframes = normalizeKeyframes(this._driver, this._normalizer, element, i.keyframes, preStyles, postStyles);\n return this._driver.animate(element, keyframes, i.duration, i.delay, i.easing, []);\n };\n /**\n * @param {?} id\n * @param {?} element\n * @param {?=} options\n * @return {?}\n */\n TimelineAnimationEngine.prototype.create = function (id, element, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var /** @type {?} */ errors = [];\n var /** @type {?} */ ast = this._animations[id];\n var /** @type {?} */ instructions;\n var /** @type {?} */ autoStylesMap = new Map();\n if (ast) {\n instructions = buildAnimationTimelines(this._driver, element, ast, {}, {}, options, EMPTY_INSTRUCTION_MAP, errors);\n instructions.forEach(function (inst) {\n var /** @type {?} */ styles = getOrSetAsInMap(autoStylesMap, inst.element, {});\n inst.postStyleProps.forEach(function (prop) { return styles[prop] = null; });\n });\n }\n else {\n errors.push('The requested animation doesn\\'t exist or has already been destroyed');\n instructions = [];\n }\n if (errors.length) {\n throw new Error(\"Unable to create the animation due to the following errors: \" + errors.join(\"\\n\"));\n }\n autoStylesMap.forEach(function (styles, element) {\n Object.keys(styles).forEach(function (prop) { styles[prop] = _this._driver.computeStyle(element, prop, AUTO_STYLE); });\n });\n var /** @type {?} */ players = instructions.map(function (i) {\n var /** @type {?} */ styles = autoStylesMap.get(i.element);\n return _this._buildPlayer(i, {}, styles);\n });\n var /** @type {?} */ player = optimizeGroupPlayer(players);\n this._playersById[id] = player;\n player.onDestroy(function () { return _this.destroy(id); });\n this.players.push(player);\n return player;\n };\n /**\n * @param {?} id\n * @return {?}\n */\n TimelineAnimationEngine.prototype.destroy = function (id) {\n var /** @type {?} */ player = this._getPlayer(id);\n player.destroy();\n delete this._playersById[id];\n var /** @type {?} */ index = this.players.indexOf(player);\n if (index >= 0) {\n this.players.splice(index, 1);\n }\n };\n /**\n * @param {?} id\n * @return {?}\n */\n TimelineAnimationEngine.prototype._getPlayer = function (id) {\n var /** @type {?} */ player = this._playersById[id];\n if (!player) {\n throw new Error(\"Unable to find the timeline player referenced by \" + id);\n }\n return player;\n };\n /**\n * @param {?} id\n * @param {?} element\n * @param {?} eventName\n * @param {?} callback\n * @return {?}\n */\n TimelineAnimationEngine.prototype.listen = function (id, element, eventName, callback) {\n // triggerName, fromState, toState are all ignored for timeline animations\n var /** @type {?} */ baseEvent = makeAnimationEvent(element, '', '', '');\n listenOnPlayer(this._getPlayer(id), eventName, baseEvent, callback);\n return function () { };\n };\n /**\n * @param {?} id\n * @param {?} element\n * @param {?} command\n * @param {?} args\n * @return {?}\n */\n TimelineAnimationEngine.prototype.command = function (id, element, command, args) {\n if (command == 'register') {\n this.register(id, /** @type {?} */ (args[0]));\n return;\n }\n if (command == 'create') {\n var /** @type {?} */ options = ((args[0] || {}));\n this.create(id, element, options);\n return;\n }\n var /** @type {?} */ player = this._getPlayer(id);\n switch (command) {\n case 'play':\n player.play();\n break;\n case 'pause':\n player.pause();\n break;\n case 'reset':\n player.reset();\n break;\n case 'restart':\n player.restart();\n break;\n case 'finish':\n player.finish();\n break;\n case 'init':\n player.init();\n break;\n case 'setPosition':\n player.setPosition(parseFloat(/** @type {?} */ (args[0])));\n break;\n case 'destroy':\n this.destroy(id);\n break;\n }\n };\n return TimelineAnimationEngine;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar QUEUED_CLASSNAME = 'ng-animate-queued';\nvar QUEUED_SELECTOR = '.ng-animate-queued';\nvar DISABLED_CLASSNAME = 'ng-animate-disabled';\nvar DISABLED_SELECTOR = '.ng-animate-disabled';\nvar EMPTY_PLAYER_ARRAY = [];\nvar NULL_REMOVAL_STATE = {\n namespaceId: '',\n setForRemoval: null,\n hasAnimation: false,\n removedBeforeQueried: false\n};\nvar NULL_REMOVED_QUERIED_STATE = {\n namespaceId: '',\n setForRemoval: null,\n hasAnimation: false,\n removedBeforeQueried: true\n};\nvar REMOVAL_FLAG = '__ng_removed';\nvar StateValue = (function () {\n /**\n * @param {?} input\n */\n function StateValue(input) {\n var isObj = input && input.hasOwnProperty('value');\n var value = isObj ? input['value'] : input;\n this.value = normalizeTriggerValue(value);\n if (isObj) {\n var options = copyObj(input);\n delete options['value'];\n this.options = options;\n }\n else {\n this.options = {};\n }\n if (!this.options.params) {\n this.options.params = {};\n }\n }\n Object.defineProperty(StateValue.prototype, \"params\", {\n /**\n * @return {?}\n */\n get: function () { return (this.options.params); },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} options\n * @return {?}\n */\n StateValue.prototype.absorbOptions = function (options) {\n var /** @type {?} */ newParams = options.params;\n if (newParams) {\n var /** @type {?} */ oldParams_2 = ((this.options.params));\n Object.keys(newParams).forEach(function (prop) {\n if (oldParams_2[prop] == null) {\n oldParams_2[prop] = newParams[prop];\n }\n });\n }\n };\n return StateValue;\n}());\nvar VOID_VALUE = 'void';\nvar DEFAULT_STATE_VALUE = new StateValue(VOID_VALUE);\nvar DELETED_STATE_VALUE = new StateValue('DELETED');\nvar AnimationTransitionNamespace = (function () {\n /**\n * @param {?} id\n * @param {?} hostElement\n * @param {?} _engine\n */\n function AnimationTransitionNamespace(id, hostElement, _engine) {\n this.id = id;\n this.hostElement = hostElement;\n this._engine = _engine;\n this.players = [];\n this._triggers = {};\n this._queue = [];\n this._elementListeners = new Map();\n this._hostClassName = 'ng-tns-' + id;\n addClass(hostElement, this._hostClassName);\n }\n /**\n * @param {?} element\n * @param {?} name\n * @param {?} phase\n * @param {?} callback\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.listen = function (element, name, phase, callback) {\n var _this = this;\n if (!this._triggers.hasOwnProperty(name)) {\n throw new Error(\"Unable to listen on the animation trigger event \\\"\" + phase + \"\\\" because the animation trigger \\\"\" + name + \"\\\" doesn't exist!\");\n }\n if (phase == null || phase.length == 0) {\n throw new Error(\"Unable to listen on the animation trigger \\\"\" + name + \"\\\" because the provided event is undefined!\");\n }\n if (!isTriggerEventValid(phase)) {\n throw new Error(\"The provided animation trigger event \\\"\" + phase + \"\\\" for the animation trigger \\\"\" + name + \"\\\" is not supported!\");\n }\n var /** @type {?} */ listeners = getOrSetAsInMap(this._elementListeners, element, []);\n var /** @type {?} */ data = { name: name, phase: phase, callback: callback };\n listeners.push(data);\n var /** @type {?} */ triggersWithStates = getOrSetAsInMap(this._engine.statesByElement, element, {});\n if (!triggersWithStates.hasOwnProperty(name)) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + name);\n triggersWithStates[name] = null;\n }\n return function () {\n // the event listener is removed AFTER the flush has occurred such\n // that leave animations callbacks can fire (otherwise if the node\n // is removed in between then the listeners would be deregistered)\n _this._engine.afterFlush(function () {\n var /** @type {?} */ index = listeners.indexOf(data);\n if (index >= 0) {\n listeners.splice(index, 1);\n }\n if (!_this._triggers[name]) {\n delete triggersWithStates[name];\n }\n });\n };\n };\n /**\n * @param {?} name\n * @param {?} ast\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.register = function (name, ast) {\n if (this._triggers[name]) {\n // throw\n return false;\n }\n else {\n this._triggers[name] = ast;\n return true;\n }\n };\n /**\n * @param {?} name\n * @return {?}\n */\n AnimationTransitionNamespace.prototype._getTrigger = function (name) {\n var /** @type {?} */ trigger = this._triggers[name];\n if (!trigger) {\n throw new Error(\"The provided animation trigger \\\"\" + name + \"\\\" has not been registered!\");\n }\n return trigger;\n };\n /**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} value\n * @param {?=} defaultToFallback\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.trigger = function (element, triggerName, value, defaultToFallback) {\n var _this = this;\n if (defaultToFallback === void 0) { defaultToFallback = true; }\n var /** @type {?} */ trigger = this._getTrigger(triggerName);\n var /** @type {?} */ player = new TransitionAnimationPlayer(this.id, triggerName, element);\n var /** @type {?} */ triggersWithStates = this._engine.statesByElement.get(element);\n if (!triggersWithStates) {\n addClass(element, NG_TRIGGER_CLASSNAME);\n addClass(element, NG_TRIGGER_CLASSNAME + '-' + triggerName);\n this._engine.statesByElement.set(element, triggersWithStates = {});\n }\n var /** @type {?} */ fromState = triggersWithStates[triggerName];\n var /** @type {?} */ toState = new StateValue(value);\n var /** @type {?} */ isObj = value && value.hasOwnProperty('value');\n if (!isObj && fromState) {\n toState.absorbOptions(fromState.options);\n }\n triggersWithStates[triggerName] = toState;\n if (!fromState) {\n fromState = DEFAULT_STATE_VALUE;\n }\n else if (fromState === DELETED_STATE_VALUE) {\n return player;\n }\n var /** @type {?} */ isRemoval = toState.value === VOID_VALUE;\n // normally this isn't reached by here, however, if an object expression\n // is passed in then it may be a new object each time. Comparing the value\n // is important since that will stay the same despite there being a new object.\n // The removal arc here is special cased because the same element is triggered\n // twice in the event that it contains animations on the outer/inner portions\n // of the host container\n if (!isRemoval && fromState.value === toState.value) {\n // this means that despite the value not changing, some inner params\n // have changed which means that the animation final styles need to be applied\n if (!objEquals(fromState.params, toState.params)) {\n var /** @type {?} */ errors = [];\n var /** @type {?} */ fromStyles_1 = trigger.matchStyles(fromState.value, fromState.params, errors);\n var /** @type {?} */ toStyles_1 = trigger.matchStyles(toState.value, toState.params, errors);\n if (errors.length) {\n this._engine.reportError(errors);\n }\n else {\n this._engine.afterFlush(function () {\n eraseStyles(element, fromStyles_1);\n setStyles(element, toStyles_1);\n });\n }\n }\n return;\n }\n var /** @type {?} */ playersOnElement = getOrSetAsInMap(this._engine.playersByElement, element, []);\n playersOnElement.forEach(function (player) {\n // only remove the player if it is queued on the EXACT same trigger/namespace\n // we only also deal with queued players here because if the animation has\n // started then we want to keep the player alive until the flush happens\n // (which is where the previousPlayers are passed into the new palyer)\n if (player.namespaceId == _this.id && player.triggerName == triggerName && player.queued) {\n player.destroy();\n }\n });\n var /** @type {?} */ transition = trigger.matchTransition(fromState.value, toState.value);\n var /** @type {?} */ isFallbackTransition = false;\n if (!transition) {\n if (!defaultToFallback)\n return;\n transition = trigger.fallbackTransition;\n isFallbackTransition = true;\n }\n this._engine.totalQueuedPlayers++;\n this._queue.push({ element: element, triggerName: triggerName, transition: transition, fromState: fromState, toState: toState, player: player, isFallbackTransition: isFallbackTransition });\n if (!isFallbackTransition) {\n addClass(element, QUEUED_CLASSNAME);\n player.onStart(function () { removeClass(element, QUEUED_CLASSNAME); });\n }\n player.onDone(function () {\n var /** @type {?} */ index = _this.players.indexOf(player);\n if (index >= 0) {\n _this.players.splice(index, 1);\n }\n var /** @type {?} */ players = _this._engine.playersByElement.get(element);\n if (players) {\n var /** @type {?} */ index_1 = players.indexOf(player);\n if (index_1 >= 0) {\n players.splice(index_1, 1);\n }\n }\n });\n this.players.push(player);\n playersOnElement.push(player);\n return player;\n };\n /**\n * @param {?} name\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.deregister = function (name) {\n var _this = this;\n delete this._triggers[name];\n this._engine.statesByElement.forEach(function (stateMap, element) { delete stateMap[name]; });\n this._elementListeners.forEach(function (listeners, element) {\n _this._elementListeners.set(element, listeners.filter(function (entry) { return entry.name != name; }));\n });\n };\n /**\n * @param {?} element\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.clearElementCache = function (element) {\n this._engine.statesByElement.delete(element);\n this._elementListeners.delete(element);\n var /** @type {?} */ elementPlayers = this._engine.playersByElement.get(element);\n if (elementPlayers) {\n elementPlayers.forEach(function (player) { return player.destroy(); });\n this._engine.playersByElement.delete(element);\n }\n };\n /**\n * @param {?} rootElement\n * @param {?} context\n * @param {?=} animate\n * @return {?}\n */\n AnimationTransitionNamespace.prototype._destroyInnerNodes = function (rootElement, context, animate) {\n var _this = this;\n if (animate === void 0) { animate = false; }\n this._engine.driver.query(rootElement, NG_TRIGGER_SELECTOR, true).forEach(function (elm) {\n if (animate && containsClass(elm, _this._hostClassName)) {\n var /** @type {?} */ innerNs = _this._engine.namespacesByHostElement.get(elm);\n // special case for a host element with animations on the same element\n if (innerNs) {\n innerNs.removeNode(elm, context, true);\n }\n _this.removeNode(elm, context, true);\n }\n else {\n _this.clearElementCache(elm);\n }\n });\n };\n /**\n * @param {?} element\n * @param {?} context\n * @param {?=} doNotRecurse\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.removeNode = function (element, context, doNotRecurse) {\n var _this = this;\n var /** @type {?} */ engine = this._engine;\n if (!doNotRecurse && element.childElementCount) {\n this._destroyInnerNodes(element, context, true);\n }\n var /** @type {?} */ triggerStates = engine.statesByElement.get(element);\n if (triggerStates) {\n var /** @type {?} */ players_1 = [];\n Object.keys(triggerStates).forEach(function (triggerName) {\n // this check is here in the event that an element is removed\n // twice (both on the host level and the component level)\n if (_this._triggers[triggerName]) {\n var /** @type {?} */ player = _this.trigger(element, triggerName, VOID_VALUE, false);\n if (player) {\n players_1.push(player);\n }\n }\n });\n if (players_1.length) {\n engine.markElementAsRemoved(this.id, element, true, context);\n optimizeGroupPlayer(players_1).onDone(function () { return engine.processLeaveNode(element); });\n return;\n }\n }\n // find the player that is animating and make sure that the\n // removal is delayed until that player has completed\n var /** @type {?} */ containsPotentialParentTransition = false;\n if (engine.totalAnimations) {\n var /** @type {?} */ currentPlayers = engine.players.length ? engine.playersByQueriedElement.get(element) : [];\n // when this `if statement` does not continue forward it means that\n // a previous animation query has selected the current element and\n // is animating it. In this situation want to continue fowards and\n // allow the element to be queued up for animation later.\n if (currentPlayers && currentPlayers.length) {\n containsPotentialParentTransition = true;\n }\n else {\n var /** @type {?} */ parent = element;\n while (parent = parent.parentNode) {\n var /** @type {?} */ triggers = engine.statesByElement.get(parent);\n if (triggers) {\n containsPotentialParentTransition = true;\n break;\n }\n }\n }\n }\n // at this stage we know that the element will either get removed\n // during flush or will be picked up by a parent query. Either way\n // we need to fire the listeners for this element when it DOES get\n // removed (once the query parent animation is done or after flush)\n var /** @type {?} */ listeners = this._elementListeners.get(element);\n if (listeners) {\n var /** @type {?} */ visitedTriggers_1 = new Set();\n listeners.forEach(function (listener) {\n var /** @type {?} */ triggerName = listener.name;\n if (visitedTriggers_1.has(triggerName))\n return;\n visitedTriggers_1.add(triggerName);\n var /** @type {?} */ trigger = _this._triggers[triggerName];\n var /** @type {?} */ transition = trigger.fallbackTransition;\n var /** @type {?} */ elementStates = ((engine.statesByElement.get(element)));\n var /** @type {?} */ fromState = elementStates[triggerName] || DEFAULT_STATE_VALUE;\n var /** @type {?} */ toState = new StateValue(VOID_VALUE);\n var /** @type {?} */ player = new TransitionAnimationPlayer(_this.id, triggerName, element);\n _this._engine.totalQueuedPlayers++;\n _this._queue.push({\n element: element,\n triggerName: triggerName,\n transition: transition,\n fromState: fromState,\n toState: toState,\n player: player,\n isFallbackTransition: true\n });\n });\n }\n // whether or not a parent has an animation we need to delay the deferral of the leave\n // operation until we have more information (which we do after flush() has been called)\n if (containsPotentialParentTransition) {\n engine.markElementAsRemoved(this.id, element, false, context);\n }\n else {\n // we do this after the flush has occurred such\n // that the callbacks can be fired\n engine.afterFlush(function () { return _this.clearElementCache(element); });\n engine.destroyInnerAnimations(element);\n engine._onRemovalComplete(element, context);\n }\n };\n /**\n * @param {?} element\n * @param {?} parent\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.insertNode = function (element, parent) { addClass(element, this._hostClassName); };\n /**\n * @param {?} microtaskId\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.drainQueuedTransitions = function (microtaskId) {\n var _this = this;\n var /** @type {?} */ instructions = [];\n this._queue.forEach(function (entry) {\n var /** @type {?} */ player = entry.player;\n if (player.destroyed)\n return;\n var /** @type {?} */ element = entry.element;\n var /** @type {?} */ listeners = _this._elementListeners.get(element);\n if (listeners) {\n listeners.forEach(function (listener) {\n if (listener.name == entry.triggerName) {\n var /** @type {?} */ baseEvent = makeAnimationEvent(element, entry.triggerName, entry.fromState.value, entry.toState.value);\n ((baseEvent))['_data'] = microtaskId;\n listenOnPlayer(entry.player, listener.phase, baseEvent, listener.callback);\n }\n });\n }\n if (player.markedForDestroy) {\n _this._engine.afterFlush(function () {\n // now we can destroy the element properly since the event listeners have\n // been bound to the player\n player.destroy();\n });\n }\n else {\n instructions.push(entry);\n }\n });\n this._queue = [];\n return instructions.sort(function (a, b) {\n // if depCount == 0 them move to front\n // otherwise if a contains b then move back\n var /** @type {?} */ d0 = a.transition.ast.depCount;\n var /** @type {?} */ d1 = b.transition.ast.depCount;\n if (d0 == 0 || d1 == 0) {\n return d0 - d1;\n }\n return _this._engine.driver.containsElement(a.element, b.element) ? 1 : -1;\n });\n };\n /**\n * @param {?} context\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.destroy = function (context) {\n this.players.forEach(function (p) { return p.destroy(); });\n this._destroyInnerNodes(this.hostElement, context);\n };\n /**\n * @param {?} element\n * @return {?}\n */\n AnimationTransitionNamespace.prototype.elementContainsData = function (element) {\n var /** @type {?} */ containsData = false;\n if (this._elementListeners.has(element))\n containsData = true;\n containsData =\n (this._queue.find(function (entry) { return entry.element === element; }) ? true : false) || containsData;\n return containsData;\n };\n return AnimationTransitionNamespace;\n}());\nvar TransitionAnimationEngine = (function () {\n /**\n * @param {?} driver\n * @param {?} _normalizer\n */\n function TransitionAnimationEngine(driver, _normalizer) {\n this.driver = driver;\n this._normalizer = _normalizer;\n this.players = [];\n this.newHostElements = new Map();\n this.playersByElement = new Map();\n this.playersByQueriedElement = new Map();\n this.statesByElement = new Map();\n this.disabledNodes = new Set();\n this.totalAnimations = 0;\n this.totalQueuedPlayers = 0;\n this._namespaceLookup = {};\n this._namespaceList = [];\n this._flushFns = [];\n this._whenQuietFns = [];\n this.namespacesByHostElement = new Map();\n this.collectedEnterElements = [];\n this.collectedLeaveElements = [];\n this.onRemovalComplete = function (element, context) { };\n }\n /**\n * @param {?} element\n * @param {?} context\n * @return {?}\n */\n TransitionAnimationEngine.prototype._onRemovalComplete = function (element, context) { this.onRemovalComplete(element, context); };\n Object.defineProperty(TransitionAnimationEngine.prototype, \"queuedPlayers\", {\n /**\n * @return {?}\n */\n get: function () {\n var /** @type {?} */ players = [];\n this._namespaceList.forEach(function (ns) {\n ns.players.forEach(function (player) {\n if (player.queued) {\n players.push(player);\n }\n });\n });\n return players;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} namespaceId\n * @param {?} hostElement\n * @return {?}\n */\n TransitionAnimationEngine.prototype.createNamespace = function (namespaceId, hostElement) {\n var /** @type {?} */ ns = new AnimationTransitionNamespace(namespaceId, hostElement, this);\n if (hostElement.parentNode) {\n this._balanceNamespaceList(ns, hostElement);\n }\n else {\n // defer this later until flush during when the host element has\n // been inserted so that we know exactly where to place it in\n // the namespace list\n this.newHostElements.set(hostElement, ns);\n // given that this host element is apart of the animation code, it\n // may or may not be inserted by a parent node that is an of an\n // animation renderer type. If this happens then we can still have\n // access to this item when we query for :enter nodes. If the parent\n // is a renderer then the set data-structure will normalize the entry\n this.collectEnterElement(hostElement);\n }\n return this._namespaceLookup[namespaceId] = ns;\n };\n /**\n * @param {?} ns\n * @param {?} hostElement\n * @return {?}\n */\n TransitionAnimationEngine.prototype._balanceNamespaceList = function (ns, hostElement) {\n var /** @type {?} */ limit = this._namespaceList.length - 1;\n if (limit >= 0) {\n var /** @type {?} */ found = false;\n for (var /** @type {?} */ i = limit; i >= 0; i--) {\n var /** @type {?} */ nextNamespace = this._namespaceList[i];\n if (this.driver.containsElement(nextNamespace.hostElement, hostElement)) {\n this._namespaceList.splice(i + 1, 0, ns);\n found = true;\n break;\n }\n }\n if (!found) {\n this._namespaceList.splice(0, 0, ns);\n }\n }\n else {\n this._namespaceList.push(ns);\n }\n this.namespacesByHostElement.set(hostElement, ns);\n return ns;\n };\n /**\n * @param {?} namespaceId\n * @param {?} hostElement\n * @return {?}\n */\n TransitionAnimationEngine.prototype.register = function (namespaceId, hostElement) {\n var /** @type {?} */ ns = this._namespaceLookup[namespaceId];\n if (!ns) {\n ns = this.createNamespace(namespaceId, hostElement);\n }\n return ns;\n };\n /**\n * @param {?} namespaceId\n * @param {?} name\n * @param {?} trigger\n * @return {?}\n */\n TransitionAnimationEngine.prototype.registerTrigger = function (namespaceId, name, trigger) {\n var /** @type {?} */ ns = this._namespaceLookup[namespaceId];\n if (ns && ns.register(name, trigger)) {\n this.totalAnimations++;\n }\n };\n /**\n * @param {?} namespaceId\n * @param {?} context\n * @return {?}\n */\n TransitionAnimationEngine.prototype.destroy = function (namespaceId, context) {\n var _this = this;\n if (!namespaceId)\n return;\n var /** @type {?} */ ns = this._fetchNamespace(namespaceId);\n this.afterFlush(function () {\n _this.namespacesByHostElement.delete(ns.hostElement);\n delete _this._namespaceLookup[namespaceId];\n var /** @type {?} */ index = _this._namespaceList.indexOf(ns);\n if (index >= 0) {\n _this._namespaceList.splice(index, 1);\n }\n });\n this.afterFlushAnimationsDone(function () { return ns.destroy(context); });\n };\n /**\n * @param {?} id\n * @return {?}\n */\n TransitionAnimationEngine.prototype._fetchNamespace = function (id) { return this._namespaceLookup[id]; };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} name\n * @param {?} value\n * @return {?}\n */\n TransitionAnimationEngine.prototype.trigger = function (namespaceId, element, name, value) {\n if (isElementNode(element)) {\n this._fetchNamespace(namespaceId).trigger(element, name, value);\n return true;\n }\n return false;\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} parent\n * @param {?} insertBefore\n * @return {?}\n */\n TransitionAnimationEngine.prototype.insertNode = function (namespaceId, element, parent, insertBefore) {\n if (!isElementNode(element))\n return;\n // special case for when an element is removed and reinserted (move operation)\n // when this occurs we do not want to use the element for deletion later\n var /** @type {?} */ details = (element[REMOVAL_FLAG]);\n if (details && details.setForRemoval) {\n details.setForRemoval = false;\n }\n // in the event that the namespaceId is blank then the caller\n // code does not contain any animation code in it, but it is\n // just being called so that the node is marked as being inserted\n if (namespaceId) {\n this._fetchNamespace(namespaceId).insertNode(element, parent);\n }\n // only *directives and host elements are inserted before\n if (insertBefore) {\n this.collectEnterElement(element);\n }\n };\n /**\n * @param {?} element\n * @return {?}\n */\n TransitionAnimationEngine.prototype.collectEnterElement = function (element) { this.collectedEnterElements.push(element); };\n /**\n * @param {?} element\n * @param {?} value\n * @return {?}\n */\n TransitionAnimationEngine.prototype.markElementAsDisabled = function (element, value) {\n if (value) {\n if (!this.disabledNodes.has(element)) {\n this.disabledNodes.add(element);\n addClass(element, DISABLED_CLASSNAME);\n }\n }\n else if (this.disabledNodes.has(element)) {\n this.disabledNodes.delete(element);\n removeClass(element, DISABLED_CLASSNAME);\n }\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} context\n * @param {?=} doNotRecurse\n * @return {?}\n */\n TransitionAnimationEngine.prototype.removeNode = function (namespaceId, element, context, doNotRecurse) {\n if (!isElementNode(element)) {\n this._onRemovalComplete(element, context);\n return;\n }\n var /** @type {?} */ ns = namespaceId ? this._fetchNamespace(namespaceId) : null;\n if (ns) {\n ns.removeNode(element, context, doNotRecurse);\n }\n else {\n this.markElementAsRemoved(namespaceId, element, false, context);\n }\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?=} hasAnimation\n * @param {?=} context\n * @return {?}\n */\n TransitionAnimationEngine.prototype.markElementAsRemoved = function (namespaceId, element, hasAnimation, context) {\n this.collectedLeaveElements.push(element);\n element[REMOVAL_FLAG] = {\n namespaceId: namespaceId,\n setForRemoval: context, hasAnimation: hasAnimation,\n removedBeforeQueried: false\n };\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} name\n * @param {?} phase\n * @param {?} callback\n * @return {?}\n */\n TransitionAnimationEngine.prototype.listen = function (namespaceId, element, name, phase, callback) {\n if (isElementNode(element)) {\n return this._fetchNamespace(namespaceId).listen(element, name, phase, callback);\n }\n return function () { };\n };\n /**\n * @param {?} entry\n * @param {?} subTimelines\n * @return {?}\n */\n TransitionAnimationEngine.prototype._buildInstruction = function (entry, subTimelines) {\n return entry.transition.build(this.driver, entry.element, entry.fromState.value, entry.toState.value, entry.fromState.options, entry.toState.options, subTimelines);\n };\n /**\n * @param {?} containerElement\n * @return {?}\n */\n TransitionAnimationEngine.prototype.destroyInnerAnimations = function (containerElement) {\n var _this = this;\n var /** @type {?} */ elements = this.driver.query(containerElement, NG_TRIGGER_SELECTOR, true);\n elements.forEach(function (element) {\n var /** @type {?} */ players = _this.playersByElement.get(element);\n if (players) {\n players.forEach(function (player) {\n // special case for when an element is set for destruction, but hasn't started.\n // in this situation we want to delay the destruction until the flush occurs\n // so that any event listeners attached to the player are triggered.\n if (player.queued) {\n player.markedForDestroy = true;\n }\n else {\n player.destroy();\n }\n });\n }\n var /** @type {?} */ stateMap = _this.statesByElement.get(element);\n if (stateMap) {\n Object.keys(stateMap).forEach(function (triggerName) { return stateMap[triggerName] = DELETED_STATE_VALUE; });\n }\n });\n if (this.playersByQueriedElement.size == 0)\n return;\n elements = this.driver.query(containerElement, NG_ANIMATING_SELECTOR, true);\n if (elements.length) {\n elements.forEach(function (element) {\n var /** @type {?} */ players = _this.playersByQueriedElement.get(element);\n if (players) {\n players.forEach(function (player) { return player.finish(); });\n }\n });\n }\n };\n /**\n * @return {?}\n */\n TransitionAnimationEngine.prototype.whenRenderingDone = function () {\n var _this = this;\n return new Promise(function (resolve) {\n if (_this.players.length) {\n return optimizeGroupPlayer(_this.players).onDone(function () { return resolve(); });\n }\n else {\n resolve();\n }\n });\n };\n /**\n * @param {?} element\n * @return {?}\n */\n TransitionAnimationEngine.prototype.processLeaveNode = function (element) {\n var _this = this;\n var /** @type {?} */ details = (element[REMOVAL_FLAG]);\n if (details && details.setForRemoval) {\n // this will prevent it from removing it twice\n element[REMOVAL_FLAG] = NULL_REMOVAL_STATE;\n if (details.namespaceId) {\n this.destroyInnerAnimations(element);\n var /** @type {?} */ ns = this._fetchNamespace(details.namespaceId);\n if (ns) {\n ns.clearElementCache(element);\n }\n }\n this._onRemovalComplete(element, details.setForRemoval);\n }\n if (this.driver.matchesElement(element, DISABLED_SELECTOR)) {\n this.markElementAsDisabled(element, false);\n }\n this.driver.query(element, DISABLED_SELECTOR, true).forEach(function (node) {\n _this.markElementAsDisabled(element, false);\n });\n };\n /**\n * @param {?=} microtaskId\n * @return {?}\n */\n TransitionAnimationEngine.prototype.flush = function (microtaskId) {\n var _this = this;\n if (microtaskId === void 0) { microtaskId = -1; }\n var /** @type {?} */ players = [];\n if (this.newHostElements.size) {\n this.newHostElements.forEach(function (ns, element) { return _this._balanceNamespaceList(ns, element); });\n this.newHostElements.clear();\n }\n if (this._namespaceList.length &&\n (this.totalQueuedPlayers || this.collectedLeaveElements.length)) {\n var /** @type {?} */ cleanupFns = [];\n try {\n players = this._flushAnimations(cleanupFns, microtaskId);\n }\n finally {\n for (var /** @type {?} */ i = 0; i < cleanupFns.length; i++) {\n cleanupFns[i]();\n }\n }\n }\n else {\n for (var /** @type {?} */ i = 0; i < this.collectedLeaveElements.length; i++) {\n var /** @type {?} */ element = this.collectedLeaveElements[i];\n this.processLeaveNode(element);\n }\n }\n this.totalQueuedPlayers = 0;\n this.collectedEnterElements.length = 0;\n this.collectedLeaveElements.length = 0;\n this._flushFns.forEach(function (fn) { return fn(); });\n this._flushFns = [];\n if (this._whenQuietFns.length) {\n // we move these over to a variable so that\n // if any new callbacks are registered in another\n // flush they do not populate the existing set\n var /** @type {?} */ quietFns_1 = this._whenQuietFns;\n this._whenQuietFns = [];\n if (players.length) {\n optimizeGroupPlayer(players).onDone(function () { quietFns_1.forEach(function (fn) { return fn(); }); });\n }\n else {\n quietFns_1.forEach(function (fn) { return fn(); });\n }\n }\n };\n /**\n * @param {?} errors\n * @return {?}\n */\n TransitionAnimationEngine.prototype.reportError = function (errors) {\n throw new Error(\"Unable to process animations due to the following failed trigger transitions\\n \" + errors.join('\\n'));\n };\n /**\n * @param {?} cleanupFns\n * @param {?} microtaskId\n * @return {?}\n */\n TransitionAnimationEngine.prototype._flushAnimations = function (cleanupFns, microtaskId) {\n var _this = this;\n var /** @type {?} */ subTimelines = new ElementInstructionMap();\n var /** @type {?} */ skippedPlayers = [];\n var /** @type {?} */ skippedPlayersMap = new Map();\n var /** @type {?} */ queuedInstructions = [];\n var /** @type {?} */ queriedElements = new Map();\n var /** @type {?} */ allPreStyleElements = new Map();\n var /** @type {?} */ allPostStyleElements = new Map();\n var /** @type {?} */ disabledElementsSet = new Set();\n this.disabledNodes.forEach(function (node) {\n disabledElementsSet.add(node);\n var /** @type {?} */ nodesThatAreDisabled = _this.driver.query(node, QUEUED_SELECTOR, true);\n for (var /** @type {?} */ i = 0; i < nodesThatAreDisabled.length; i++) {\n disabledElementsSet.add(nodesThatAreDisabled[i]);\n }\n });\n var /** @type {?} */ bodyNode = getBodyNode();\n var /** @type {?} */ allEnterNodes = this.collectedEnterElements.length ?\n this.collectedEnterElements.filter(createIsRootFilterFn(this.collectedEnterElements)) :\n [];\n // this must occur before the instructions are built below such that\n // the :enter queries match the elements (since the timeline queries\n // are fired during instruction building).\n for (var /** @type {?} */ i = 0; i < allEnterNodes.length; i++) {\n addClass(allEnterNodes[i], ENTER_CLASSNAME);\n }\n var /** @type {?} */ allLeaveNodes = [];\n var /** @type {?} */ leaveNodesWithoutAnimations = new Set();\n for (var /** @type {?} */ i = 0; i < this.collectedLeaveElements.length; i++) {\n var /** @type {?} */ element = this.collectedLeaveElements[i];\n var /** @type {?} */ details = (element[REMOVAL_FLAG]);\n if (details && details.setForRemoval) {\n addClass(element, LEAVE_CLASSNAME);\n allLeaveNodes.push(element);\n if (!details.hasAnimation) {\n leaveNodesWithoutAnimations.add(element);\n }\n }\n }\n cleanupFns.push(function () {\n allEnterNodes.forEach(function (element) { return removeClass(element, ENTER_CLASSNAME); });\n allLeaveNodes.forEach(function (element) {\n removeClass(element, LEAVE_CLASSNAME);\n _this.processLeaveNode(element);\n });\n });\n var /** @type {?} */ allPlayers = [];\n var /** @type {?} */ erroneousTransitions = [];\n for (var /** @type {?} */ i = this._namespaceList.length - 1; i >= 0; i--) {\n var /** @type {?} */ ns = this._namespaceList[i];\n ns.drainQueuedTransitions(microtaskId).forEach(function (entry) {\n var /** @type {?} */ player = entry.player;\n allPlayers.push(player);\n var /** @type {?} */ element = entry.element;\n if (!bodyNode || !_this.driver.containsElement(bodyNode, element)) {\n player.destroy();\n return;\n }\n var /** @type {?} */ instruction = ((_this._buildInstruction(entry, subTimelines)));\n if (instruction.errors && instruction.errors.length) {\n erroneousTransitions.push(instruction);\n return;\n }\n // if a unmatched transition is queued to go then it SHOULD NOT render\n // an animation and cancel the previously running animations.\n if (entry.isFallbackTransition) {\n player.onStart(function () { return eraseStyles(element, instruction.fromStyles); });\n player.onDestroy(function () { return setStyles(element, instruction.toStyles); });\n skippedPlayers.push(player);\n return;\n }\n // this means that if a parent animation uses this animation as a sub trigger\n // then it will instruct the timeline builder to not add a player delay, but\n // instead stretch the first keyframe gap up until the animation starts. The\n // reason this is important is to prevent extra initialization styles from being\n // required by the user in the animation.\n instruction.timelines.forEach(function (tl) { return tl.stretchStartingKeyframe = true; });\n subTimelines.append(element, instruction.timelines);\n var /** @type {?} */ tuple = { instruction: instruction, player: player, element: element };\n queuedInstructions.push(tuple);\n instruction.queriedElements.forEach(function (element) { return getOrSetAsInMap(queriedElements, element, []).push(player); });\n instruction.preStyleProps.forEach(function (stringMap, element) {\n var /** @type {?} */ props = Object.keys(stringMap);\n if (props.length) {\n var /** @type {?} */ setVal_1 = ((allPreStyleElements.get(element)));\n if (!setVal_1) {\n allPreStyleElements.set(element, setVal_1 = new Set());\n }\n props.forEach(function (prop) { return setVal_1.add(prop); });\n }\n });\n instruction.postStyleProps.forEach(function (stringMap, element) {\n var /** @type {?} */ props = Object.keys(stringMap);\n var /** @type {?} */ setVal = ((allPostStyleElements.get(element)));\n if (!setVal) {\n allPostStyleElements.set(element, setVal = new Set());\n }\n props.forEach(function (prop) { return setVal.add(prop); });\n });\n });\n }\n if (erroneousTransitions.length) {\n var /** @type {?} */ errors_1 = [];\n erroneousTransitions.forEach(function (instruction) {\n errors_1.push(\"@\" + instruction.triggerName + \" has failed due to:\\n\"); /** @type {?} */\n ((instruction.errors)).forEach(function (error) { return errors_1.push(\"- \" + error + \"\\n\"); });\n });\n allPlayers.forEach(function (player) { return player.destroy(); });\n this.reportError(errors_1);\n }\n // these can only be detected here since we have a map of all the elements\n // that have animations attached to them... We use a set here in the event\n // multiple enter captures on the same element were caught in different\n // renderer namespaces (e.g. when a @trigger was on a host binding that had *ngIf)\n var /** @type {?} */ enterNodesWithoutAnimations = new Set();\n for (var /** @type {?} */ i = 0; i < allEnterNodes.length; i++) {\n var /** @type {?} */ element = allEnterNodes[i];\n if (!subTimelines.has(element)) {\n enterNodesWithoutAnimations.add(element);\n }\n }\n var /** @type {?} */ allPreviousPlayersMap = new Map();\n var /** @type {?} */ sortedParentElements = [];\n queuedInstructions.forEach(function (entry) {\n var /** @type {?} */ element = entry.element;\n if (subTimelines.has(element)) {\n sortedParentElements.unshift(element);\n _this._beforeAnimationBuild(entry.player.namespaceId, entry.instruction, allPreviousPlayersMap);\n }\n });\n skippedPlayers.forEach(function (player) {\n var /** @type {?} */ element = player.element;\n var /** @type {?} */ previousPlayers = _this._getPreviousPlayers(element, false, player.namespaceId, player.triggerName, null);\n previousPlayers.forEach(function (prevPlayer) {\n getOrSetAsInMap(allPreviousPlayersMap, element, []).push(prevPlayer);\n prevPlayer.destroy();\n });\n });\n // this is a special case for nodes that will be removed (either by)\n // having their own leave animations or by being queried in a container\n // that will be removed once a parent animation is complete. The idea\n // here is that * styles must be identical to ! styles because of\n // backwards compatibility (* is also filled in by default in many places).\n // Otherwise * styles will return an empty value or auto since the element\n // that is being getComputedStyle'd will not be visible (since * = destination)\n var /** @type {?} */ replaceNodes = allLeaveNodes.filter(function (node) {\n return replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements);\n });\n // POST STAGE: fill the * styles\n var _a = cloakAndComputeStyles(this.driver, leaveNodesWithoutAnimations, allPostStyleElements, AUTO_STYLE), postStylesMap = _a[0], allLeaveQueriedNodes = _a[1];\n allLeaveQueriedNodes.forEach(function (node) {\n if (replacePostStylesAsPre(node, allPreStyleElements, allPostStyleElements)) {\n replaceNodes.push(node);\n }\n });\n // PRE STAGE: fill the ! styles\n var preStylesMap = (allPreStyleElements.size ?\n cloakAndComputeStyles(this.driver, enterNodesWithoutAnimations, allPreStyleElements, ɵPRE_STYLE) :\n [new Map()])[0];\n replaceNodes.forEach(function (node) {\n var /** @type {?} */ post = postStylesMap.get(node);\n var /** @type {?} */ pre = preStylesMap.get(node);\n postStylesMap.set(node, /** @type {?} */ (Object.assign({}, post, pre)));\n });\n var /** @type {?} */ rootPlayers = [];\n var /** @type {?} */ subPlayers = [];\n queuedInstructions.forEach(function (entry) {\n var element = entry.element, player = entry.player, instruction = entry.instruction;\n // this means that it was never consumed by a parent animation which\n // means that it is independent and therefore should be set for animation\n if (subTimelines.has(element)) {\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n return;\n }\n var /** @type {?} */ innerPlayer = _this._buildAnimation(player.namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap);\n player.setRealPlayer(innerPlayer);\n var /** @type {?} */ parentHasPriority = null;\n for (var /** @type {?} */ i = 0; i < sortedParentElements.length; i++) {\n var /** @type {?} */ parent = sortedParentElements[i];\n if (parent === element)\n break;\n if (_this.driver.containsElement(parent, element)) {\n parentHasPriority = parent;\n break;\n }\n }\n if (parentHasPriority) {\n var /** @type {?} */ parentPlayers = _this.playersByElement.get(parentHasPriority);\n if (parentPlayers && parentPlayers.length) {\n player.parentPlayer = optimizeGroupPlayer(parentPlayers);\n }\n skippedPlayers.push(player);\n }\n else {\n rootPlayers.push(player);\n }\n }\n else {\n eraseStyles(element, instruction.fromStyles);\n player.onDestroy(function () { return setStyles(element, instruction.toStyles); });\n // there still might be a ancestor player animating this\n // element therefore we will still add it as a sub player\n // even if its animation may be disabled\n subPlayers.push(player);\n if (disabledElementsSet.has(element)) {\n skippedPlayers.push(player);\n }\n }\n });\n // find all of the sub players' corresponding inner animation player\n subPlayers.forEach(function (player) {\n // even if any players are not found for a sub animation then it\n // will still complete itself after the next tick since it's Noop\n var /** @type {?} */ playersForElement = skippedPlayersMap.get(player.element);\n if (playersForElement && playersForElement.length) {\n var /** @type {?} */ innerPlayer = optimizeGroupPlayer(playersForElement);\n player.setRealPlayer(innerPlayer);\n }\n });\n // the reason why we don't actually play the animation is\n // because all that a skipped player is designed to do is to\n // fire the start/done transition callback events\n skippedPlayers.forEach(function (player) {\n if (player.parentPlayer) {\n player.parentPlayer.onDestroy(function () { return player.destroy(); });\n }\n else {\n player.destroy();\n }\n });\n // run through all of the queued removals and see if they\n // were picked up by a query. If not then perform the removal\n // operation right away unless a parent animation is ongoing.\n for (var /** @type {?} */ i = 0; i < allLeaveNodes.length; i++) {\n var /** @type {?} */ element = allLeaveNodes[i];\n var /** @type {?} */ details = (element[REMOVAL_FLAG]);\n removeClass(element, LEAVE_CLASSNAME);\n // this means the element has a removal animation that is being\n // taken care of and therefore the inner elements will hang around\n // until that animation is over (or the parent queried animation)\n if (details && details.hasAnimation)\n continue;\n var /** @type {?} */ players = [];\n // if this element is queried or if it contains queried children\n // then we want for the element not to be removed from the page\n // until the queried animations have finished\n if (queriedElements.size) {\n var /** @type {?} */ queriedPlayerResults = queriedElements.get(element);\n if (queriedPlayerResults && queriedPlayerResults.length) {\n players.push.apply(players, queriedPlayerResults);\n }\n var /** @type {?} */ queriedInnerElements = this.driver.query(element, NG_ANIMATING_SELECTOR, true);\n for (var /** @type {?} */ j = 0; j < queriedInnerElements.length; j++) {\n var /** @type {?} */ queriedPlayers = queriedElements.get(queriedInnerElements[j]);\n if (queriedPlayers && queriedPlayers.length) {\n players.push.apply(players, queriedPlayers);\n }\n }\n }\n var /** @type {?} */ activePlayers = players.filter(function (p) { return !p.destroyed; });\n if (activePlayers.length) {\n removeNodesAfterAnimationDone(this, element, activePlayers);\n }\n else {\n this.processLeaveNode(element);\n }\n }\n // this is required so the cleanup method doesn't remove them\n allLeaveNodes.length = 0;\n rootPlayers.forEach(function (player) {\n _this.players.push(player);\n player.onDone(function () {\n player.destroy();\n var /** @type {?} */ index = _this.players.indexOf(player);\n _this.players.splice(index, 1);\n });\n player.play();\n });\n return rootPlayers;\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @return {?}\n */\n TransitionAnimationEngine.prototype.elementContainsData = function (namespaceId, element) {\n var /** @type {?} */ containsData = false;\n var /** @type {?} */ details = (element[REMOVAL_FLAG]);\n if (details && details.setForRemoval)\n containsData = true;\n if (this.playersByElement.has(element))\n containsData = true;\n if (this.playersByQueriedElement.has(element))\n containsData = true;\n if (this.statesByElement.has(element))\n containsData = true;\n return this._fetchNamespace(namespaceId).elementContainsData(element) || containsData;\n };\n /**\n * @param {?} callback\n * @return {?}\n */\n TransitionAnimationEngine.prototype.afterFlush = function (callback) { this._flushFns.push(callback); };\n /**\n * @param {?} callback\n * @return {?}\n */\n TransitionAnimationEngine.prototype.afterFlushAnimationsDone = function (callback) { this._whenQuietFns.push(callback); };\n /**\n * @param {?} element\n * @param {?} isQueriedElement\n * @param {?=} namespaceId\n * @param {?=} triggerName\n * @param {?=} toStateValue\n * @return {?}\n */\n TransitionAnimationEngine.prototype._getPreviousPlayers = function (element, isQueriedElement, namespaceId, triggerName, toStateValue) {\n var /** @type {?} */ players = [];\n if (isQueriedElement) {\n var /** @type {?} */ queriedElementPlayers = this.playersByQueriedElement.get(element);\n if (queriedElementPlayers) {\n players = queriedElementPlayers;\n }\n }\n else {\n var /** @type {?} */ elementPlayers = this.playersByElement.get(element);\n if (elementPlayers) {\n var /** @type {?} */ isRemovalAnimation_1 = !toStateValue || toStateValue == VOID_VALUE;\n elementPlayers.forEach(function (player) {\n if (player.queued)\n return;\n if (!isRemovalAnimation_1 && player.triggerName != triggerName)\n return;\n players.push(player);\n });\n }\n }\n if (namespaceId || triggerName) {\n players = players.filter(function (player) {\n if (namespaceId && namespaceId != player.namespaceId)\n return false;\n if (triggerName && triggerName != player.triggerName)\n return false;\n return true;\n });\n }\n return players;\n };\n /**\n * @param {?} namespaceId\n * @param {?} instruction\n * @param {?} allPreviousPlayersMap\n * @return {?}\n */\n TransitionAnimationEngine.prototype._beforeAnimationBuild = function (namespaceId, instruction, allPreviousPlayersMap) {\n var _this = this;\n var /** @type {?} */ triggerName = instruction.triggerName;\n var /** @type {?} */ rootElement = instruction.element;\n // when a removal animation occurs, ALL previous players are collected\n // and destroyed (even if they are outside of the current namespace)\n var /** @type {?} */ targetNameSpaceId = instruction.isRemovalTransition ? undefined : namespaceId;\n var /** @type {?} */ targetTriggerName = instruction.isRemovalTransition ? undefined : triggerName;\n instruction.timelines.map(function (timelineInstruction) {\n var /** @type {?} */ element = timelineInstruction.element;\n var /** @type {?} */ isQueriedElement = element !== rootElement;\n var /** @type {?} */ players = getOrSetAsInMap(allPreviousPlayersMap, element, []);\n var /** @type {?} */ previousPlayers = _this._getPreviousPlayers(element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);\n previousPlayers.forEach(function (player) {\n var /** @type {?} */ realPlayer = (player.getRealPlayer());\n if (realPlayer.beforeDestroy) {\n realPlayer.beforeDestroy();\n }\n player.destroy();\n players.push(player);\n });\n });\n // this needs to be done so that the PRE/POST styles can be\n // computed properly without interfering with the previous animation\n eraseStyles(rootElement, instruction.fromStyles);\n };\n /**\n * @param {?} namespaceId\n * @param {?} instruction\n * @param {?} allPreviousPlayersMap\n * @param {?} skippedPlayersMap\n * @param {?} preStylesMap\n * @param {?} postStylesMap\n * @return {?}\n */\n TransitionAnimationEngine.prototype._buildAnimation = function (namespaceId, instruction, allPreviousPlayersMap, skippedPlayersMap, preStylesMap, postStylesMap) {\n var _this = this;\n var /** @type {?} */ triggerName = instruction.triggerName;\n var /** @type {?} */ rootElement = instruction.element;\n // we first run this so that the previous animation player\n // data can be passed into the successive animation players\n var /** @type {?} */ allQueriedPlayers = [];\n var /** @type {?} */ allConsumedElements = new Set();\n var /** @type {?} */ allSubElements = new Set();\n var /** @type {?} */ allNewPlayers = instruction.timelines.map(function (timelineInstruction) {\n var /** @type {?} */ element = timelineInstruction.element;\n allConsumedElements.add(element);\n // FIXME (matsko): make sure to-be-removed animations are removed properly\n var /** @type {?} */ details = element[REMOVAL_FLAG];\n if (details && details.removedBeforeQueried)\n return new NoopAnimationPlayer();\n var /** @type {?} */ isQueriedElement = element !== rootElement;\n var /** @type {?} */ previousPlayers = flattenGroupPlayers((allPreviousPlayersMap.get(element) || EMPTY_PLAYER_ARRAY)\n .map(function (p) { return p.getRealPlayer(); }))\n .filter(function (p) {\n // the `element` is not apart of the AnimationPlayer definition, but\n // Mock/WebAnimations\n // use the element within their implementation. This will be added in Angular5 to\n // AnimationPlayer\n var /** @type {?} */ pp = (p);\n return pp.element ? pp.element === element : false;\n });\n var /** @type {?} */ preStyles = preStylesMap.get(element);\n var /** @type {?} */ postStyles = postStylesMap.get(element);\n var /** @type {?} */ keyframes = normalizeKeyframes(_this.driver, _this._normalizer, element, timelineInstruction.keyframes, preStyles, postStyles);\n var /** @type {?} */ player = _this._buildPlayer(timelineInstruction, keyframes, previousPlayers);\n // this means that this particular player belongs to a sub trigger. It is\n // important that we match this player up with the corresponding (@trigger.listener)\n if (timelineInstruction.subTimeline && skippedPlayersMap) {\n allSubElements.add(element);\n }\n if (isQueriedElement) {\n var /** @type {?} */ wrappedPlayer = new TransitionAnimationPlayer(namespaceId, triggerName, element);\n wrappedPlayer.setRealPlayer(player);\n allQueriedPlayers.push(wrappedPlayer);\n }\n return player;\n });\n allQueriedPlayers.forEach(function (player) {\n getOrSetAsInMap(_this.playersByQueriedElement, player.element, []).push(player);\n player.onDone(function () { return deleteOrUnsetInMap(_this.playersByQueriedElement, player.element, player); });\n });\n allConsumedElements.forEach(function (element) { return addClass(element, NG_ANIMATING_CLASSNAME); });\n var /** @type {?} */ player = optimizeGroupPlayer(allNewPlayers);\n player.onDestroy(function () {\n allConsumedElements.forEach(function (element) { return removeClass(element, NG_ANIMATING_CLASSNAME); });\n setStyles(rootElement, instruction.toStyles);\n });\n // this basically makes all of the callbacks for sub element animations\n // be dependent on the upper players for when they finish\n allSubElements.forEach(function (element) { getOrSetAsInMap(skippedPlayersMap, element, []).push(player); });\n return player;\n };\n /**\n * @param {?} instruction\n * @param {?} keyframes\n * @param {?} previousPlayers\n * @return {?}\n */\n TransitionAnimationEngine.prototype._buildPlayer = function (instruction, keyframes, previousPlayers) {\n if (keyframes.length > 0) {\n return this.driver.animate(instruction.element, keyframes, instruction.duration, instruction.delay, instruction.easing, previousPlayers);\n }\n // special case for when an empty transition|definition is provided\n // ... there is no point in rendering an empty animation\n return new NoopAnimationPlayer();\n };\n return TransitionAnimationEngine;\n}());\nvar TransitionAnimationPlayer = (function () {\n /**\n * @param {?} namespaceId\n * @param {?} triggerName\n * @param {?} element\n */\n function TransitionAnimationPlayer(namespaceId, triggerName, element) {\n this.namespaceId = namespaceId;\n this.triggerName = triggerName;\n this.element = element;\n this._player = new NoopAnimationPlayer();\n this._containsRealPlayer = false;\n this._queuedCallbacks = {};\n this._destroyed = false;\n this.markedForDestroy = false;\n }\n Object.defineProperty(TransitionAnimationPlayer.prototype, \"queued\", {\n /**\n * @return {?}\n */\n get: function () { return this._containsRealPlayer == false; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TransitionAnimationPlayer.prototype, \"destroyed\", {\n /**\n * @return {?}\n */\n get: function () { return this._destroyed; },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} player\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.setRealPlayer = function (player) {\n var _this = this;\n if (this._containsRealPlayer)\n return;\n this._player = player;\n Object.keys(this._queuedCallbacks).forEach(function (phase) {\n _this._queuedCallbacks[phase].forEach(function (callback) { return listenOnPlayer(player, phase, undefined, callback); });\n });\n this._queuedCallbacks = {};\n this._containsRealPlayer = true;\n };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.getRealPlayer = function () { return this._player; };\n /**\n * @param {?} name\n * @param {?} callback\n * @return {?}\n */\n TransitionAnimationPlayer.prototype._queueEvent = function (name, callback) {\n getOrSetAsInMap(this._queuedCallbacks, name, []).push(callback);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.onDone = function (fn) {\n if (this.queued) {\n this._queueEvent('done', fn);\n }\n this._player.onDone(fn);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.onStart = function (fn) {\n if (this.queued) {\n this._queueEvent('start', fn);\n }\n this._player.onStart(fn);\n };\n /**\n * @param {?} fn\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.onDestroy = function (fn) {\n if (this.queued) {\n this._queueEvent('destroy', fn);\n }\n this._player.onDestroy(fn);\n };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.init = function () { this._player.init(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.hasStarted = function () { return this.queued ? false : this._player.hasStarted(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.play = function () { !this.queued && this._player.play(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.pause = function () { !this.queued && this._player.pause(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.restart = function () { !this.queued && this._player.restart(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.finish = function () { this._player.finish(); };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.destroy = function () {\n this._destroyed = true;\n this._player.destroy();\n };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.reset = function () { !this.queued && this._player.reset(); };\n /**\n * @param {?} p\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.setPosition = function (p) {\n if (!this.queued) {\n this._player.setPosition(p);\n }\n };\n /**\n * @return {?}\n */\n TransitionAnimationPlayer.prototype.getPosition = function () { return this.queued ? 0 : this._player.getPosition(); };\n Object.defineProperty(TransitionAnimationPlayer.prototype, \"totalTime\", {\n /**\n * @return {?}\n */\n get: function () { return this._player.totalTime; },\n enumerable: true,\n configurable: true\n });\n return TransitionAnimationPlayer;\n}());\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} value\n * @return {?}\n */\nfunction deleteOrUnsetInMap(map, key, value) {\n var /** @type {?} */ currentValues;\n if (map instanceof Map) {\n currentValues = map.get(key);\n if (currentValues) {\n if (currentValues.length) {\n var /** @type {?} */ index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n map.delete(key);\n }\n }\n }\n else {\n currentValues = map[key];\n if (currentValues) {\n if (currentValues.length) {\n var /** @type {?} */ index = currentValues.indexOf(value);\n currentValues.splice(index, 1);\n }\n if (currentValues.length == 0) {\n delete map[key];\n }\n }\n }\n return currentValues;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction normalizeTriggerValue(value) {\n // we use `!= null` here because it's the most simple\n // way to test against a \"falsy\" value without mixing\n // in empty strings or a zero value. DO NOT OPTIMIZE.\n return value != null ? value : null;\n}\n/**\n * @param {?} node\n * @return {?}\n */\nfunction isElementNode(node) {\n return node && node['nodeType'] === 1;\n}\n/**\n * @param {?} eventName\n * @return {?}\n */\nfunction isTriggerEventValid(eventName) {\n return eventName == 'start' || eventName == 'done';\n}\n/**\n * @param {?} element\n * @param {?=} value\n * @return {?}\n */\nfunction cloakElement(element, value) {\n var /** @type {?} */ oldValue = element.style.display;\n element.style.display = value != null ? value : 'none';\n return oldValue;\n}\n/**\n * @param {?} driver\n * @param {?} elements\n * @param {?} elementPropsMap\n * @param {?} defaultStyle\n * @return {?}\n */\nfunction cloakAndComputeStyles(driver, elements, elementPropsMap, defaultStyle) {\n var /** @type {?} */ cloakVals = [];\n elements.forEach(function (element) { return cloakVals.push(cloakElement(element)); });\n var /** @type {?} */ valuesMap = new Map();\n var /** @type {?} */ failedElements = [];\n elementPropsMap.forEach(function (props, element) {\n var /** @type {?} */ styles = {};\n props.forEach(function (prop) {\n var /** @type {?} */ value = styles[prop] = driver.computeStyle(element, prop, defaultStyle);\n // there is no easy way to detect this because a sub element could be removed\n // by a parent animation element being detached.\n if (!value || value.length == 0) {\n element[REMOVAL_FLAG] = NULL_REMOVED_QUERIED_STATE;\n failedElements.push(element);\n }\n });\n valuesMap.set(element, styles);\n });\n // we use a index variable here since Set.forEach(a, i) does not return\n // an index value for the closure (but instead just the value)\n var /** @type {?} */ i = 0;\n elements.forEach(function (element) { return cloakElement(element, cloakVals[i++]); });\n return [valuesMap, failedElements];\n}\n/**\n * @param {?} nodes\n * @return {?}\n */\nfunction createIsRootFilterFn(nodes) {\n var /** @type {?} */ nodeSet = new Set(nodes);\n var /** @type {?} */ knownRootContainer = new Set();\n var /** @type {?} */ isRoot;\n isRoot = function (node) {\n if (!node)\n return true;\n if (nodeSet.has(node.parentNode))\n return false;\n if (knownRootContainer.has(node.parentNode))\n return true;\n if (isRoot(node.parentNode)) {\n knownRootContainer.add(node);\n return true;\n }\n return false;\n };\n return isRoot;\n}\nvar CLASSES_CACHE_KEY = '$$classes';\n/**\n * @param {?} element\n * @param {?} className\n * @return {?}\n */\nfunction containsClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n }\n else {\n var /** @type {?} */ classes = element[CLASSES_CACHE_KEY];\n return classes && classes[className];\n }\n}\n/**\n * @param {?} element\n * @param {?} className\n * @return {?}\n */\nfunction addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n }\n else {\n var /** @type {?} */ classes = element[CLASSES_CACHE_KEY];\n if (!classes) {\n classes = element[CLASSES_CACHE_KEY] = {};\n }\n classes[className] = true;\n }\n}\n/**\n * @param {?} element\n * @param {?} className\n * @return {?}\n */\nfunction removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n }\n else {\n var /** @type {?} */ classes = element[CLASSES_CACHE_KEY];\n if (classes) {\n delete classes[className];\n }\n }\n}\n/**\n * @return {?}\n */\nfunction getBodyNode() {\n if (typeof document != 'undefined') {\n return document.body;\n }\n return null;\n}\n/**\n * @param {?} engine\n * @param {?} element\n * @param {?} players\n * @return {?}\n */\nfunction removeNodesAfterAnimationDone(engine, element, players) {\n optimizeGroupPlayer(players).onDone(function () { return engine.processLeaveNode(element); });\n}\n/**\n * @param {?} players\n * @return {?}\n */\nfunction flattenGroupPlayers(players) {\n var /** @type {?} */ finalPlayers = [];\n _flattenGroupPlayersRecur(players, finalPlayers);\n return finalPlayers;\n}\n/**\n * @param {?} players\n * @param {?} finalPlayers\n * @return {?}\n */\nfunction _flattenGroupPlayersRecur(players, finalPlayers) {\n for (var /** @type {?} */ i = 0; i < players.length; i++) {\n var /** @type {?} */ player = players[i];\n if (player instanceof ɵAnimationGroupPlayer) {\n _flattenGroupPlayersRecur(player.players, finalPlayers);\n }\n else {\n finalPlayers.push(/** @type {?} */ (player));\n }\n }\n}\n/**\n * @param {?} a\n * @param {?} b\n * @return {?}\n */\nfunction objEquals(a, b) {\n var /** @type {?} */ k1 = Object.keys(a);\n var /** @type {?} */ k2 = Object.keys(b);\n if (k1.length != k2.length)\n return false;\n for (var /** @type {?} */ i = 0; i < k1.length; i++) {\n var /** @type {?} */ prop = k1[i];\n if (!b.hasOwnProperty(prop) || a[prop] !== b[prop])\n return false;\n }\n return true;\n}\n/**\n * @param {?} element\n * @param {?} allPreStyleElements\n * @param {?} allPostStyleElements\n * @return {?}\n */\nfunction replacePostStylesAsPre(element, allPreStyleElements, allPostStyleElements) {\n var /** @type {?} */ postEntry = allPostStyleElements.get(element);\n if (!postEntry)\n return false;\n var /** @type {?} */ preEntry = allPreStyleElements.get(element);\n if (preEntry) {\n postEntry.forEach(function (data) { return ((preEntry)).add(data); });\n }\n else {\n allPreStyleElements.set(element, postEntry);\n }\n allPostStyleElements.delete(element);\n return true;\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar AnimationEngine = (function () {\n /**\n * @param {?} driver\n * @param {?} normalizer\n */\n function AnimationEngine(driver, normalizer) {\n var _this = this;\n this._triggerCache = {};\n this.onRemovalComplete = function (element, context) { };\n this._transitionEngine = new TransitionAnimationEngine(driver, normalizer);\n this._timelineEngine = new TimelineAnimationEngine(driver, normalizer);\n this._transitionEngine.onRemovalComplete = function (element, context) { return _this.onRemovalComplete(element, context); };\n }\n /**\n * @param {?} componentId\n * @param {?} namespaceId\n * @param {?} hostElement\n * @param {?} name\n * @param {?} metadata\n * @return {?}\n */\n AnimationEngine.prototype.registerTrigger = function (componentId, namespaceId, hostElement, name, metadata) {\n var /** @type {?} */ cacheKey = componentId + '-' + name;\n var /** @type {?} */ trigger = this._triggerCache[cacheKey];\n if (!trigger) {\n var /** @type {?} */ errors = [];\n var /** @type {?} */ ast = (buildAnimationAst(/** @type {?} */ (metadata), errors));\n if (errors.length) {\n throw new Error(\"The animation trigger \\\"\" + name + \"\\\" has failed to build due to the following errors:\\n - \" + errors.join(\"\\n - \"));\n }\n trigger = buildTrigger(name, ast);\n this._triggerCache[cacheKey] = trigger;\n }\n this._transitionEngine.registerTrigger(namespaceId, name, trigger);\n };\n /**\n * @param {?} namespaceId\n * @param {?} hostElement\n * @return {?}\n */\n AnimationEngine.prototype.register = function (namespaceId, hostElement) {\n this._transitionEngine.register(namespaceId, hostElement);\n };\n /**\n * @param {?} namespaceId\n * @param {?} context\n * @return {?}\n */\n AnimationEngine.prototype.destroy = function (namespaceId, context) {\n this._transitionEngine.destroy(namespaceId, context);\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} parent\n * @param {?} insertBefore\n * @return {?}\n */\n AnimationEngine.prototype.onInsert = function (namespaceId, element, parent, insertBefore) {\n this._transitionEngine.insertNode(namespaceId, element, parent, insertBefore);\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} context\n * @return {?}\n */\n AnimationEngine.prototype.onRemove = function (namespaceId, element, context) {\n this._transitionEngine.removeNode(namespaceId, element, context);\n };\n /**\n * @param {?} element\n * @param {?} disable\n * @return {?}\n */\n AnimationEngine.prototype.disableAnimations = function (element, disable) {\n this._transitionEngine.markElementAsDisabled(element, disable);\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} property\n * @param {?} value\n * @return {?}\n */\n AnimationEngine.prototype.process = function (namespaceId, element, property, value) {\n if (property.charAt(0) == '@') {\n var _a = parseTimelineCommand(property), id = _a[0], action = _a[1];\n var /** @type {?} */ args = (value);\n this._timelineEngine.command(id, element, action, args);\n }\n else {\n this._transitionEngine.trigger(namespaceId, element, property, value);\n }\n };\n /**\n * @param {?} namespaceId\n * @param {?} element\n * @param {?} eventName\n * @param {?} eventPhase\n * @param {?} callback\n * @return {?}\n */\n AnimationEngine.prototype.listen = function (namespaceId, element, eventName, eventPhase, callback) {\n // @@listen\n if (eventName.charAt(0) == '@') {\n var _a = parseTimelineCommand(eventName), id = _a[0], action = _a[1];\n return this._timelineEngine.listen(id, element, action, callback);\n }\n return this._transitionEngine.listen(namespaceId, element, eventName, eventPhase, callback);\n };\n /**\n * @param {?=} microtaskId\n * @return {?}\n */\n AnimationEngine.prototype.flush = function (microtaskId) {\n if (microtaskId === void 0) { microtaskId = -1; }\n this._transitionEngine.flush(microtaskId);\n };\n Object.defineProperty(AnimationEngine.prototype, \"players\", {\n /**\n * @return {?}\n */\n get: function () {\n return ((this._transitionEngine.players))\n .concat(/** @type {?} */ (this._timelineEngine.players));\n },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n AnimationEngine.prototype.whenRenderingDone = function () { return this._transitionEngine.whenRenderingDone(); };\n return AnimationEngine;\n}());\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar WebAnimationsPlayer = (function () {\n /**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} options\n * @param {?=} previousPlayers\n */\n function WebAnimationsPlayer(element, keyframes, options, previousPlayers) {\n if (previousPlayers === void 0) { previousPlayers = []; }\n var _this = this;\n this.element = element;\n this.keyframes = keyframes;\n this.options = options;\n this.previousPlayers = previousPlayers;\n this._onDoneFns = [];\n this._onStartFns = [];\n this._onDestroyFns = [];\n this._initialized = false;\n this._finished = false;\n this._started = false;\n this._destroyed = false;\n this.time = 0;\n this.parentPlayer = null;\n this.previousStyles = {};\n this.currentSnapshot = {};\n this._duration = options['duration'];\n this._delay = options['delay'] || 0;\n this.time = this._duration + this._delay;\n if (allowPreviousPlayerStylesMerge(this._duration, this._delay)) {\n previousPlayers.forEach(function (player) {\n var styles = player.currentSnapshot;\n Object.keys(styles).forEach(function (prop) { return _this.previousStyles[prop] = styles[prop]; });\n });\n }\n }\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype._onFinish = function () {\n if (!this._finished) {\n this._finished = true;\n this._onDoneFns.forEach(function (fn) { return fn(); });\n this._onDoneFns = [];\n }\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.init = function () {\n this._buildPlayer();\n this._preparePlayerBeforeStart();\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype._buildPlayer = function () {\n var _this = this;\n if (this._initialized)\n return;\n this._initialized = true;\n var /** @type {?} */ keyframes = this.keyframes.map(function (styles) { return copyStyles(styles, false); });\n var /** @type {?} */ previousStyleProps = Object.keys(this.previousStyles);\n if (previousStyleProps.length) {\n var /** @type {?} */ startingKeyframe_1 = keyframes[0];\n var /** @type {?} */ missingStyleProps_1 = [];\n previousStyleProps.forEach(function (prop) {\n if (!startingKeyframe_1.hasOwnProperty(prop)) {\n missingStyleProps_1.push(prop);\n }\n startingKeyframe_1[prop] = _this.previousStyles[prop];\n });\n if (missingStyleProps_1.length) {\n var /** @type {?} */ self_1 = this;\n var _loop_1 = function () {\n var /** @type {?} */ kf = keyframes[i];\n missingStyleProps_1.forEach(function (prop) {\n kf[prop] = _computeStyle(self_1.element, prop);\n });\n };\n // tslint:disable-next-line\n for (var /** @type {?} */ i = 1; i < keyframes.length; i++) {\n _loop_1();\n }\n }\n }\n this._player = this._triggerWebAnimation(this.element, keyframes, this.options);\n this._finalKeyframe = keyframes.length ? keyframes[keyframes.length - 1] : {};\n this._player.addEventListener('finish', function () { return _this._onFinish(); });\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype._preparePlayerBeforeStart = function () {\n // this is required so that the player doesn't start to animate right away\n if (this._delay) {\n this._resetDomPlayerState();\n }\n else {\n this._player.pause();\n }\n };\n /**\n * \\@internal\n * @param {?} element\n * @param {?} keyframes\n * @param {?} options\n * @return {?}\n */\n WebAnimationsPlayer.prototype._triggerWebAnimation = function (element, keyframes, options) {\n // jscompiler doesn't seem to know animate is a native property because it's not fully\n // supported yet across common browsers (we polyfill it for Edge/Safari) [CL #143630929]\n return (element['animate'](keyframes, options));\n };\n Object.defineProperty(WebAnimationsPlayer.prototype, \"domPlayer\", {\n /**\n * @return {?}\n */\n get: function () { return this._player; },\n enumerable: true,\n configurable: true\n });\n /**\n * @param {?} fn\n * @return {?}\n */\n WebAnimationsPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n WebAnimationsPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };\n /**\n * @param {?} fn\n * @return {?}\n */\n WebAnimationsPlayer.prototype.onDestroy = function (fn) { this._onDestroyFns.push(fn); };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.play = function () {\n this._buildPlayer();\n if (!this.hasStarted()) {\n this._onStartFns.forEach(function (fn) { return fn(); });\n this._onStartFns = [];\n this._started = true;\n }\n this._player.play();\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.pause = function () {\n this.init();\n this._player.pause();\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.finish = function () {\n this.init();\n this._onFinish();\n this._player.finish();\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.reset = function () {\n this._resetDomPlayerState();\n this._destroyed = false;\n this._finished = false;\n this._started = false;\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype._resetDomPlayerState = function () {\n if (this._player) {\n this._player.cancel();\n }\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.restart = function () {\n this.reset();\n this.play();\n };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.hasStarted = function () { return this._started; };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.destroy = function () {\n if (!this._destroyed) {\n this._destroyed = true;\n this._resetDomPlayerState();\n this._onFinish();\n this._onDestroyFns.forEach(function (fn) { return fn(); });\n this._onDestroyFns = [];\n }\n };\n /**\n * @param {?} p\n * @return {?}\n */\n WebAnimationsPlayer.prototype.setPosition = function (p) { this._player.currentTime = p * this.time; };\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.getPosition = function () { return this._player.currentTime / this.time; };\n Object.defineProperty(WebAnimationsPlayer.prototype, \"totalTime\", {\n /**\n * @return {?}\n */\n get: function () { return this._delay + this._duration; },\n enumerable: true,\n configurable: true\n });\n /**\n * @return {?}\n */\n WebAnimationsPlayer.prototype.beforeDestroy = function () {\n var _this = this;\n var /** @type {?} */ styles = {};\n if (this.hasStarted()) {\n Object.keys(this._finalKeyframe).forEach(function (prop) {\n if (prop != 'offset') {\n styles[prop] =\n _this._finished ? _this._finalKeyframe[prop] : _computeStyle(_this.element, prop);\n }\n });\n }\n this.currentSnapshot = styles;\n };\n return WebAnimationsPlayer;\n}());\n/**\n * @param {?} element\n * @param {?} prop\n * @return {?}\n */\nfunction _computeStyle(element, prop) {\n return ((window.getComputedStyle(element)))[prop];\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar WebAnimationsDriver = (function () {\n function WebAnimationsDriver() {\n }\n /**\n * @param {?} element\n * @param {?} selector\n * @return {?}\n */\n WebAnimationsDriver.prototype.matchesElement = function (element, selector) {\n return matchesElement(element, selector);\n };\n /**\n * @param {?} elm1\n * @param {?} elm2\n * @return {?}\n */\n WebAnimationsDriver.prototype.containsElement = function (elm1, elm2) { return containsElement(elm1, elm2); };\n /**\n * @param {?} element\n * @param {?} selector\n * @param {?} multi\n * @return {?}\n */\n WebAnimationsDriver.prototype.query = function (element, selector, multi) {\n return invokeQuery(element, selector, multi);\n };\n /**\n * @param {?} element\n * @param {?} prop\n * @param {?=} defaultValue\n * @return {?}\n */\n WebAnimationsDriver.prototype.computeStyle = function (element, prop, defaultValue) {\n return (((window.getComputedStyle(element)))[prop]);\n };\n /**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} duration\n * @param {?} delay\n * @param {?} easing\n * @param {?=} previousPlayers\n * @return {?}\n */\n WebAnimationsDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) {\n if (previousPlayers === void 0) { previousPlayers = []; }\n var /** @type {?} */ fill = delay == 0 ? 'both' : 'forwards';\n var /** @type {?} */ playerOptions = { duration: duration, delay: delay, fill: fill };\n // we check for this to avoid having a null|undefined value be present\n // for the easing (which results in an error for certain browsers #9752)\n if (easing) {\n playerOptions['easing'] = easing;\n }\n var /** @type {?} */ previousWebAnimationPlayers = (previousPlayers.filter(function (player) { return player instanceof WebAnimationsPlayer; }));\n return new WebAnimationsPlayer(element, keyframes, playerOptions, previousWebAnimationPlayers);\n };\n return WebAnimationsDriver;\n}());\n/**\n * @return {?}\n */\nfunction supportsWebAnimations() {\n return typeof Element !== 'undefined' && typeof ((Element)).prototype['animate'] === 'function';\n}\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all animation APIs of the animation browser package.\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of the animation package.\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { AnimationDriver, Animation as ɵAnimation, AnimationStyleNormalizer as ɵAnimationStyleNormalizer, NoopAnimationStyleNormalizer as ɵNoopAnimationStyleNormalizer, WebAnimationsStyleNormalizer as ɵWebAnimationsStyleNormalizer, NoopAnimationDriver as ɵNoopAnimationDriver, AnimationEngine as ɵAnimationEngine, WebAnimationsDriver as ɵWebAnimationsDriver, supportsWebAnimations as ɵsupportsWebAnimations, WebAnimationsPlayer as ɵWebAnimationsPlayer };\n//# sourceMappingURL=browser.es5.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@angular/animations/@angular/animations/browser.es5.js\n// module id = 562\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Root component of the app.\n */\n\nimport { Component, ElementRef } from '@angular/core';\n\nimport { ConfigService } from './core/config.service';\nimport { Station } from './shared/models/station.model';\n\nimport '../style/main.scss';\n\n@Component({\n selector: 'htf-app',\n template: require('./app.component.html'),\n styles: [require('./app.component.scss')],\n})\nexport class AppComponent {\n selectedStation: Station|null = null;\n\n constructor(configService: ConfigService, ref: ElementRef) {\n // We can't access the config as an Angular input property because it is on\n // the root element, so access it as an attribute instead.\n const configString = ref.nativeElement.getAttribute('config');\n\n let config: {};\n try {\n config = JSON.parse(configString);\n } catch (e) {\n // This is expected to occur when running off of the devserver.\n console.debug('Could not parse config, falling back to defaults.');\n configService.initialize({});\n return;\n }\n\n configService.initialize(config);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/app.component.ts","module.exports = \"\\n\\n\\n\\n
\\n
\\n

OpenHTF

\\n

Hardware Testing Framework.

\\n
\\n
\\n\\n
\\n \\n \\n\\n \\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 565\n// module chunks = 1","module.exports = \"h1{color:#323232;font-size:20px;margin:0}h2{color:#949a9f;font-size:12px;margin-left:5px}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.scss\n// module id = 566\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Contains classes used exactly once application-wide, used by the root module.\n *\n * See https://angular.io/docs/ts/latest/guide/ngmodule.html for more info\n * about modules in Angular.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Optional, SkipSelf } from '@angular/core';\n\nimport { ConfigService } from './config.service';\nimport { FlashMessageService } from './flash-message.service';\nimport { FlashMessagesComponent, FlashMessageTypeToClass } from './flash-messages.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n FlashMessagesComponent,\n FlashMessageTypeToClass,\n ],\n providers: [\n ConfigService,\n FlashMessageService,\n ],\n exports: [CommonModule, FlashMessagesComponent],\n})\nexport class CoreModule {\n // Prevent re-import of the CoreModule.\n // From:\n // https://angular.io/docs/ts/latest/guide/ngmodule.html#prevent-reimport\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n if (parentModule) {\n throw new Error(\n 'CoreModule is already loaded. Import it in the AppModule only');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/core/core.module.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Component displaying messages created by the FlashMessageService.\n */\n\nimport { Component, Pipe, PipeTransform } from '@angular/core';\n\nimport { FlashMessage, FlashMessageType } from './flash-message.model';\nimport { FlashMessageService } from './flash-message.service';\n\n// We use the ng- prefix to indicate CSS classes that are added dynamically.\nconst typeToCssClass = {\n [FlashMessageType.error]: 'ng-flash-message-error',\n [FlashMessageType.warn]: 'ng-flash-message-warn',\n};\n\n@Pipe({name: 'flashMessageTypeToClass'})\nexport class FlashMessageTypeToClass implements PipeTransform {\n transform(type: FlashMessageType): string {\n return typeToCssClass[type];\n }\n}\n\n@Component({\n selector: 'htf-flash-messages',\n template: require('./flash-messages.component.html'),\n styles: [require('./flash-messages.component.scss')],\n})\nexport class FlashMessagesComponent {\n constructor(private flashMessage: FlashMessageService) {}\n\n get message() {\n if (this.flashMessage.messages.length > 0) {\n return this.flashMessage.messages[0];\n }\n }\n\n dismiss() {\n this.flashMessage.dismissEarly();\n }\n\n onMouseEnter(message: FlashMessage) {\n this.flashMessage.cancelDismissal();\n message.showTooltip = message.hasTooltip;\n }\n\n onMouseExit(message: FlashMessage) {\n this.flashMessage.startDismissal();\n message.showTooltip = false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/core/flash-messages.component.ts","module.exports = \"\\n\\n
\\n \\n \\n X\\n \\n {{ message.content }}\\n
\\n\\n \\n {{ message.tooltip }}\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/flash-messages.component.html\n// module id = 569\n// module chunks = 1","module.exports = \"@keyframes flash-message-enter{0%{top:-32px}100%{top:0}}@keyframes flash-message-exit{0%{top:0}100%{top:-32px}}.flash-message{animation:flash-message-enter 400ms forwards;border-bottom-left-radius:10px;border-bottom-right-radius:10px;height:32px;left:50%;line-height:31px;min-width:400px;opacity:.9;padding:0 20px;position:fixed;text-align:center;top:0;transform:translateX(-50%);white-space:nowrap;z-index:2}.flash-message.flash-message--has-tooltip{cursor:pointer}.flash-message.flash-message--is-dismissed{animation:flash-message-exit 400ms forwards}.flash-message.ng-flash-message-error{background:#ff5d4e;color:#fff}.flash-message.ng-flash-message-warn{background:#ffe54d;color:#323232}.flash-message-tooltip{background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:12px;left:50%;line-height:initial;max-width:500px;opacity:0;padding:10px;position:fixed;text-align:left;top:40px;transform:translateX(-50%);transition:200ms ease opacity;white-space:pre-wrap;word-wrap:break-word;z-index:2}.flash-message-tooltip.flash-message-tooltip--is-visible{opacity:1}.flash-message-dismissal-button{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.flash-message-dismissal-button:focus,.flash-message-dismissal-button:active{outline:none}.flash-message-dismissal-button{border-radius:50%;border:1px solid #fff;color:inherit;display:inline-block;float:left;font-size:11px;height:18px;left:-6px;padding-left:1px;position:relative;top:6px;width:18px}.flash-message.ng-flash-message-warn .flash-message-dismissal-button{border-color:#323232}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/core/flash-messages.component.scss\n// module id = 570\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Displays the elapsed time since the start of a test or phase.\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\nimport { Phase } from './models/phase.model';\nimport { TestState } from './models/test-state.model';\nimport { TimeService } from './time.service';\n\n@Pipe({\n name: 'elapsedTime',\n pure: false,\n})\nexport class ElapsedTimePipe implements PipeTransform {\n constructor(private time: TimeService) {}\n\n transform(obj: Phase|TestState, format = '%s'): string {\n return format.replace('%s', this.getElapsedTimeString(obj));\n }\n\n getElapsedTimeString(obj: Phase|TestState) {\n if (this.time.last === null) {\n return '0s';\n }\n const endTimeMs = obj.endTimeMillis || this.time.last;\n const elapsedSeconds = Math.round((endTimeMs - obj.startTimeMillis) / 1000);\n const elapsedMinutes = Math.floor(elapsedSeconds / 60);\n if (elapsedMinutes === 0) {\n return `${elapsedSeconds}s`;\n }\n const seconds = elapsedSeconds - 60 * elapsedMinutes;\n const elapsedHours = Math.floor(elapsedMinutes / 60);\n if (elapsedHours === 0) {\n return `${elapsedMinutes}m ${seconds}s`;\n }\n const minutes = elapsedMinutes - 60 * elapsedHours;\n return `${elapsedHours}h ${minutes}m ${seconds}s`;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/elapsed-time.pipe.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\n@Directive({\n selector: '[htfFocus]',\n})\nexport class FocusDirective implements OnChanges {\n @Input('htfFocus') focusOn: boolean;\n\n constructor(private ref: ElementRef) {}\n\n ngOnChanges() {\n if (this.focusOn) {\n this.ref.nativeElement.focus();\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/focus.directive.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Recursive component representing a node in a genealogy tree.\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { GenealogyTreeNode } from './genealogy.model';\n\n@Component({\n selector: 'htf-genealogy-node',\n template: require('./genealogy-node.component.html'),\n styles: [require('./genealogy-node.component.scss')],\n})\nexport class GenealogyNodeComponent implements OnInit {\n @Input() isFirst: boolean;\n @Input() isRoot: boolean;\n @Input() node: GenealogyTreeNode;\n @Input() maxDepth: number|null;\n childMaxDepth: number|null;\n\n ngOnInit() {\n if (this.maxDepth === null) {\n this.childMaxDepth = null;\n } else {\n this.childMaxDepth = this.maxDepth - 1;\n }\n\n // Assume isRoot is true unless specified false.\n if (typeof this.isRoot === 'undefined') {\n this.isRoot = true;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/genealogy-node.component.ts","module.exports = \"\\n\\n
\\n {{ node.component.serial }}\\n {{ node.component.instance_name }}\\n ({{ node.component.part_number }})\\n
\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/genealogy-node.component.html\n// module id = 574\n// module chunks = 1","module.exports = \".component-info{border:1px solid #323232;display:inline-block;margin-bottom:10px;padding:5px;position:relative}.component-info:not(.is-root)::before{border-bottom:1px solid #323232;border-left:1px solid #323232;content:\\\"\\\";height:calc(100% + 11px);left:-21px;position:absolute;top:calc(-50% - 11px);width:20px}.component-info:not(.is-root).is-first::before{height:calc(50% + 11px);top:-11px}ul{list-style:none;margin:0;padding:0;padding-left:40px}.serial-number{font-weight:bold}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/genealogy-node.component.scss\n// module id = 575\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { logLevels } from './models/log-record.model';\n\n@Pipe({name: 'logLevelToClass'})\nexport class LogLevelToClassPipe implements PipeTransform {\n transform(level: number): string {\n if (!level) {\n return;\n }\n if (level <= logLevels.debug) {\n return 'ng-log-level-debug';\n }\n if (level <= logLevels.info) {\n return 'ng-log-level-info';\n }\n if (level <= logLevels.warning) {\n return 'ng-log-level-warning';\n }\n if (level <= logLevels.error) {\n return 'ng-log-level-error';\n }\n return 'ng-log-level-critical';\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/log-level-to-class.pipe.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Pipe which returns the values of an object, sorted by key.\n *\n * This helps us to iterate over objects in templates using ngFor.\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'objectToSortedValues',\n // Marking this pipe impure means it will be called on every change detection\n // cycle. Be careful about using this with anything other than small objects.\n pure: false,\n})\nexport class ObjectToSortedValuesPipe implements PipeTransform {\n transform(object: {}, sortBy: string|null = null) {\n const asArray = [];\n const keys = Object.keys(object);\n // Sort by key if sortBy is not defined.\n if (sortBy === null) {\n keys.sort();\n }\n for (const key of keys) {\n asArray.push(object[key]);\n }\n // Sort the values by sortBy if it is defined.\n if (sortBy !== null) {\n asArray.sort((a, b) => {\n if (a[sortBy] < b[sortBy]) {\n return -1;\n } else if (a[sortBy] > b[sortBy]) {\n return 1;\n }\n return 0;\n });\n }\n return asArray;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/object-to-sorted-values.pipe.ts","module.exports = \"\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/progress-bar.component.html\n// module id = 578\n// module chunks = 1","module.exports = \".outer{height:100%;width:100%;background:#e5e5e5;border-radius:3px;overflow:hidden}.outer.is-complete{animation:htf-progress-bar-pulse 2s infinite}.inner-wrapper{height:100%;left:-10px;position:relative;width:calc(100% + 20px)}.inner{background:rgba(0,119,255,.8);height:100%;transition:width .4s ease;transform:skewX(-30deg)}.stripes{transform:skewX(45deg);height:100%;width:100%;background-image:linear-gradient(-45deg, rgba(255, 255, 255, 0.08) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.08) 75%, transparent 75%, transparent);background-size:50px 50px;animation:move 4s linear infinite}@keyframes htf-progress-bar-pulse{0%{box-shadow:0 0 0 0 rgba(0,119,255,.25)}70%{box-shadow:0 0 0 8px rgba(0,119,255,0)}100%{box-shadow:0 0 0 0 rgba(0,119,255,0)}}@keyframes move{0%{background-position:0 0}100%{background-position:50px 50px}}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/progress-bar.component.scss\n// module id = 579\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Tools for rendering test and phase status information.\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\nimport { MeasurementStatus } from './models/measurement.model';\nimport { PhaseStatus } from './models/phase.model';\nimport { StationStatus } from './models/station.model';\nimport { TestStatus } from './models/test-state.model';\n\nenum StatusCategory {\n fail,\n online,\n pass,\n pending,\n running,\n unreachable,\n warning,\n}\n\n// We use the ng- prefix to indicate CSS classes that are added dynamically.\nconst categoryToCssClass = {\n [StatusCategory.fail]: 'ng-status-fail',\n [StatusCategory.online]: 'ng-status-online',\n [StatusCategory.pass]: 'ng-status-pass',\n [StatusCategory.pending]: 'ng-status-pending',\n [StatusCategory.running]: 'ng-status-running',\n [StatusCategory.unreachable]: 'ng-status-unreachable',\n [StatusCategory.warning]: 'ng-status-warning',\n};\n\nconst unknownStatus = Symbol('unknownStatus');\n\nexport type AnyStatus =\n MeasurementStatus | PhaseStatus | StationStatus | TestStatus;\n\nconst statusToCategory = {\n [MeasurementStatus.unset]: StatusCategory.pending,\n [MeasurementStatus.pass]: StatusCategory.pass,\n [MeasurementStatus.fail]: StatusCategory.fail,\n [PhaseStatus.waiting]: StatusCategory.pending,\n [PhaseStatus.running]: StatusCategory.running,\n [PhaseStatus.pass]: StatusCategory.pass,\n [PhaseStatus.fail]: StatusCategory.fail,\n [PhaseStatus.skip]: StatusCategory.unreachable,\n [PhaseStatus.error]: StatusCategory.warning,\n [StationStatus.online]: StatusCategory.online,\n [StationStatus.unreachable]: StatusCategory.unreachable,\n [TestStatus.waiting]: StatusCategory.pending,\n [TestStatus.running]: StatusCategory.running,\n [TestStatus.pass]: StatusCategory.pass,\n [TestStatus.fail]: StatusCategory.fail,\n [TestStatus.error]: StatusCategory.warning,\n [TestStatus.timeout]: StatusCategory.warning,\n [TestStatus.aborted]: StatusCategory.warning,\n [unknownStatus]: StatusCategory.warning,\n};\n\nconst statusToText = {\n [MeasurementStatus.unset]: 'Unset',\n [MeasurementStatus.pass]: 'Pass',\n [MeasurementStatus.fail]: 'Fail',\n [PhaseStatus.waiting]: 'Waiting',\n [PhaseStatus.running]: 'Running',\n [PhaseStatus.pass]: 'Pass',\n [PhaseStatus.fail]: 'Fail',\n [PhaseStatus.skip]: 'Skip',\n [PhaseStatus.error]: 'Error',\n [StationStatus.online]: 'Online',\n [StationStatus.unreachable]: 'Unreachable',\n [TestStatus.waiting]: 'Waiting',\n [TestStatus.running]: 'Running',\n [TestStatus.pass]: 'Pass',\n [TestStatus.fail]: 'Fail',\n [TestStatus.error]: 'Error',\n [TestStatus.timeout]: 'Timeout',\n [TestStatus.aborted]: 'Aborted',\n [unknownStatus]: 'Unknown',\n};\n\n@Pipe({name: 'statusToClass'})\nexport class StatusToClassPipe implements PipeTransform {\n transform(input: AnyStatus): string {\n if (!(input in statusToCategory)) {\n console.error(`Unknown status \"${input}\".`);\n return categoryToCssClass[statusToCategory[unknownStatus]];\n }\n return categoryToCssClass[statusToCategory[input]];\n }\n}\n\n@Pipe({name: 'statusToText'})\nexport class StatusToTextPipe implements PipeTransform {\n transform(input: AnyStatus): string {\n if (!(input in statusToCategory)) {\n console.error(`Unknown status \"${input}\".`);\n return statusToText[unknownStatus];\n }\n return statusToText[input];\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/status-pipes.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Displays how long ago a given time was.\n */\n\nimport { Pipe, PipeTransform } from '@angular/core';\n\n// TODO(Kenadia): Find an open-source implementation of the `relative` function.\nconst relative = {\n format(_value: number) {\n return '—';\n }\n};\n\n@Pipe({\n name: 'timeAgo',\n pure: false,\n})\nexport class TimeAgoPipe implements PipeTransform {\n transform(value: number): string {\n return relative.format(value);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/time-ago.pipe.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[htfTooltip]',\n})\nexport class TooltipDirective implements OnInit {\n @Input('htfTooltip') text: string;\n\n private tooltipElement: HTMLDivElement;\n\n constructor(private ref: ElementRef) {}\n\n ngOnInit() {\n if (this.text.length === 0) {\n return;\n }\n this.tooltipElement = document.createElement('div');\n this.tooltipElement.innerHTML = this.text;\n this.tooltipElement.classList.add('ng-tooltip');\n const element = this.ref.nativeElement;\n element.classList.add('ng-tooltip-host');\n element.insertBefore(this.tooltipElement, element.firstChild);\n }\n\n @HostListener('mouseenter')\n onMouseEnter() {\n if (this.text.length > 0) {\n this.tooltipElement.classList.add('ng-tooltip--is-visible');\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave() {\n if (this.text.length > 0) {\n this.tooltipElement.classList.remove('ng-tooltip--is-visible');\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/tooltip.directive.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Text element whose length can be limited with expand/collapse functionality.\n */\n\nimport { Component, Input } from '@angular/core';\n\nconst ellipsis = '…';\nconst template = `\n {{ trimmedContent }}\n \n`;\n\n@Component({\n selector: 'htf-trimmed-text',\n template,\n})\nexport class TrimmedTextComponent {\n @Input() maxChars: number;\n @Input() content: string|null|undefined;\n\n private expanded = false;\n\n get buttonLabel() {\n if (!this.content || this.content.length <= this.maxChars) {\n return null;\n }\n return this.expanded ? 'collapse' : 'expand';\n }\n\n get trimmedContent() {\n if (!this.content || this.expanded ||\n this.content.length <= this.maxChars) {\n return this.content;\n }\n return this.content.slice(0, this.maxChars - ellipsis.length) + ellipsis;\n }\n\n onClick() {\n this.expanded = !this.expanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/trimmed-text.component.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Component representing the UserInput plug.\n */\n\nimport {trigger} from '@angular/animations';\nimport {Component, ElementRef} from '@angular/core';\nimport {Http} from '@angular/http';\n\nimport {ConfigService} from '../core/config.service';\nimport {FlashMessageService} from '../core/flash-message.service';\nimport {washIn} from '../shared/animations';\n\nimport {BasePlug} from './base-plug';\n\nconst PLUG_NAME = 'openhtf.plugs.user_input.UserInput';\n\n/**\n * @param default: the default prompt string for element.\n * @param error: the error message for element.\n * @param id: the identifier for the element.\n * @param message: the message to display to the operator.\n * @param text-input: the text input provided by the operator.\n * @param image-url: url to embedded image in the element.\n */\nexport declare interface UserInputPlugState {\n default?: string; // Used by ui_plugs.advanced_user_input.AdvancedUserInput.\n error?: string; // Used by ui_plugs.advanced_user_input.AdvancedUserInput.\n id: string;\n message: string;\n 'text-input': string;\n 'image-url': string;\n}\n\n/**\n * @param lastPromptId: identifier of last prompt.\n * @param lastPromptHtml: html contents of last prompt.\n */\n@Component({\n animations: [trigger('animateIn', washIn)],\n selector: 'htf-user-input-plug',\n template: require('./user-input-plug.component.html'),\n styles: [require('./user-input-plug.component.scss')],\n})\nexport class UserInputPlugComponent extends BasePlug {\n private lastPromptId: string;\n private lastPromptHtml: string;\n\n constructor(\n config: ConfigService, http: Http, flashMessage: FlashMessageService,\n private ref: ElementRef) {\n super(PLUG_NAME, config, http, flashMessage);\n }\n\n get error() {\n return this.getPlugState().error;\n }\n\n get prompt() {\n const state = this.getPlugState();\n // Run this when a new prompt is set.\n if (this.lastPromptId !== state.id) {\n this.lastPromptId = state.id;\n const convertedHtml =\n state.message.replace(/ /g, '
'); // Convert newlines.\n this.lastPromptHtml = convertedHtml;\n this.focusSelf();\n if (state.default) {\n this.setResponse(state.default);\n }\n }\n return this.lastPromptHtml;\n }\n\n hasTextInput() {\n return this.getPlugState()['text-input'];\n }\n\n hasImage() {\n return this.getPlugState()['image-url'];\n }\n\n get Image_URL() {\n return this.getPlugState()['image-url'];\n }\n\n sendResponse(input: HTMLInputElement) {\n const promptId = this.getPlugState().id;\n let response: string;\n if (this.hasTextInput()) {\n response = input.value;\n input.value = '';\n } else {\n response = '';\n }\n this.respond('respond', [promptId, response]);\n }\n\n protected getPlugState() {\n return super.getPlugState() as UserInputPlugState;\n }\n\n private focusSelf() {\n const input = this.ref.nativeElement.querySelector('input');\n if (input) {\n input.focus();\n }\n }\n\n private setResponse(response) {\n const input = this.ref.nativeElement.querySelector('input');\n if (input) {\n input.value = response;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/plugs/user-input-plug.component.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Base class for plug components.\n */\n\nimport { Input } from '@angular/core';\nimport { Headers, Http, RequestOptions, Response } from '@angular/http';\n\nimport { ConfigService } from '../core/config.service';\nimport { FlashMessageService } from '../core/flash-message.service';\nimport { TestState } from '../shared/models/test-state.model';\nimport { messageFromErrorResponse } from '../shared/util';\nimport { getTestBaseUrl } from '../shared/util';\n\nexport abstract class BasePlug {\n @Input() test: TestState;\n\n // The plug name is a class name, or, if the plug is a subclass of another\n // plug, a comma-separated list of class names.\n //\n // For example:\n // `openhtf.plugs.user_input.UserInput`\n // Or:\n // `openhtf.plugs.user_input.UserInput,\\\n // openhtf.plugs.user_input.AdvancedUserInput`\n private plugName: string;\n\n constructor(\n private className: string, protected config: ConfigService,\n protected http: Http, protected flashMessage: FlashMessageService) {}\n\n plugExists(): boolean {\n return Boolean(this.test && this.getPlugState());\n }\n\n protected respond(method: string, args: Array<{}>) {\n const headers = new Headers({'Content-Type': 'application/json'});\n const options = new RequestOptions({headers});\n const testBaseUrl = getTestBaseUrl(this.config.dashboardEnabled, this.test);\n const plugUrl = `${testBaseUrl}/plugs/${this.plugName}`;\n const payload = JSON.stringify({method, args});\n\n this.http.post(plugUrl, payload, options)\n .subscribe(() => {}, (error: Response) => {\n const tooltip = messageFromErrorResponse(error);\n this.flashMessage.error(\n `An error occurred trying to respond to ` +\n `plug ${this.plugName}.`,\n tooltip);\n });\n }\n\n protected getPlugState() {\n // If we previously found an active matching plug, use that plug as long\n // as it remains active (as long as the plug state is not null).\n if (this.plugName && this.test.plugStates[this.plugName]) {\n return this.test.plugStates[this.plugName];\n }\n\n // Find the first *active* plug (state is not null) whose MRO includes\n // this.className.\n for (const plugName of Object.keys(this.test.plugStates)) {\n if (this.test.plugStates[plugName] &&\n this.test.plugDescriptors[plugName].mro.indexOf(this.className) !==\n -1) {\n this.plugName = plugName;\n return this.test.plugStates[plugName];\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/plugs/base-plug.ts","module.exports = \"\\n\\n\\n\\n \\n
\\n\\n
\\n
Operator input
\\n
\\n\\n
\\n\\n \\\"user-input-image\\\"\\n\\n
\\n\\n \\n\\n
\\n {{ error }}\\n
\\n\\n
\\n \\n {{ hasTextInput() ? 'Submit' : 'Okay' }}\\n \\n
\\n\\n
\\n\\n
\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/plugs/user-input-plug.component.html\n// module id = 586\n// module chunks = 1","module.exports = \":host ::ng-deep ol,:host ::ng-deep ul{padding-left:25px;margin:0}.user-input-has-error{border-color:#ff5d4e}.user-input-has-error:focus{border-color:rgb(231,19.5762711864,0)}.user-input-error-text{color:#ff5d4e;font-size:12px}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/plugs/user-input-plug.component.scss\n// module id = 587\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Feature module for the main station views.\n *\n * See https://angular.io/docs/ts/latest/guide/ngmodule.html for more info\n * about modules in Angular.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { PlugsModule } from '../plugs/plugs.module';\nimport { SharedModule } from '../shared/shared.module';\n\nimport { DashboardService } from './station-list/dashboard.service';\nimport { StationListComponent } from './station-list/station-list.component';\nimport { AttachmentsComponent } from './station/attachments.component';\nimport { HistoryComponent } from './station/history.component';\nimport { HistoryService } from './station/history.service';\nimport { LogsComponent } from './station/logs.component';\nimport { PhaseListComponent } from './station/phase-list.component';\nimport { PhaseComponent } from './station/phase.component';\nimport { StationComponent } from './station/station.component';\nimport { StationService } from './station/station.service';\nimport { TestSummaryComponent } from './station/test-summary.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PlugsModule,\n SharedModule,\n ],\n declarations: [\n StationListComponent,\n AttachmentsComponent,\n HistoryComponent,\n LogsComponent,\n PhaseComponent,\n PhaseListComponent,\n StationComponent,\n TestSummaryComponent,\n ],\n providers: [\n DashboardService,\n HistoryService,\n StationService,\n ],\n exports: [\n CommonModule,\n StationComponent,\n StationListComponent,\n ],\n})\nexport class StationsModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/stations.module.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Component displaying a list of known test stations.\n */\n\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\nimport { ConfigService } from '../../core/config.service';\nimport { Station, StationStatus } from '../../shared/models/station.model';\nimport { TimeService } from '../../shared/time.service';\n\nimport { DashboardService } from './dashboard.service';\n\nconst subscriptionRetryMs = 200;\nconst subscriptionRetryBackoff = 1.5;\nconst subscriptionRetryMax = 1500;\n\n// Emitted by the component when a new selection is made.\nexport class StationSelectedEvent {\n constructor(public station: Station) {}\n}\n\n@Component({\n selector: 'htf-station-list',\n template: require('./station-list.component.html'),\n styles: [require('./station-list.component.scss')],\n})\nexport class StationListComponent implements OnDestroy, OnInit {\n @Input() selectedStation: Station|null;\n @Output() onSelectStation = new EventEmitter();\n\n readonly retryCountdown = this.time.observable.map(currentMillis => {\n const remainingMs = this.dashboard.retryTimeMs - currentMillis;\n const remainingS = Math.round(remainingMs / 1000);\n return `Retrying in ${remainingS}s.`;\n });\n readonly stations: {[hostPort: string]: Station};\n\n constructor(\n private dashboard: DashboardService, private time: TimeService,\n config: ConfigService) {\n this.stations = dashboard.stations;\n\n // If the dashboard is disabled, select the station automatically.\n if (!config.dashboardEnabled) {\n const subscription = dashboard.messages.subscribe(() => {\n for (const hostPort of Object.keys(this.stations)) {\n this.select(this.stations[hostPort]);\n // Cancel the subscription once a station has been seen.\n subscription.unsubscribe();\n break;\n }\n });\n }\n }\n\n get anyStationFound() {\n return Object.keys(this.stations).length > 0;\n }\n\n get hasError() {\n return this.dashboard.hasError;\n }\n\n get isLoading() {\n return this.dashboard.isSubscribing;\n }\n\n get stationCount() {\n return Object.keys(this.stations).length;\n }\n\n ngOnInit() {\n this.dashboard.subscribe(\n subscriptionRetryMs, subscriptionRetryBackoff, subscriptionRetryMax);\n }\n\n ngOnDestroy() {\n this.dashboard.unsubscribe();\n }\n\n isReachable(station: Station) {\n return station.status !== StationStatus.unreachable;\n }\n\n select(station: Station) {\n this.onSelectStation.emit(new StationSelectedEvent(station));\n }\n\n // After the stations have failed to load, force a retry.\n manualRetry() {\n this.dashboard.retryNow();\n }\n\n // After the stations have successfully loaded, force a refresh.\n manualReload() {\n this.dashboard.refresh();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station-list/station-list.component.ts","module.exports = \"\\n\\n
\\n \\n Loading…\\n \\n \\n Connected to server. No stations found.\\n \\n \\n Found {{ stationCount }} {{ stationCount === 1 ? 'station' : 'stations' }}.\\n \\n\\n
\\n\\n \\n Refresh station list\\n \\n
\\n\\n
    \\n
  • \\n \\n\\n
    \\n
    \\n {{ station.label }} ({{ station.status | statusToText }})\\n
    \\n
    \\n
    \\n {{ station.host }}:{{ station.port }}\\n
    \\n
    \\n
    \\n {{ station.testDescription }}\\n
    \\n\\n \\n
  • \\n
\\n\\n
\\n Could not connect to the server.\\n {{ (retryCountdown | async) || 'Retrying in…' }}\\n \\n Try again.\\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station-list/station-list.component.html\n// module id = 590\n// module chunks = 1","module.exports = \".nav-bar{color:#949a9f;display:-ms-flexbox;display:flex;font-size:12px;margin-bottom:14px}.station-list{list-style:none;margin:0;padding:0}.station-list li{background:#fff;border-radius:3px;border:1px solid #ccc;margin-bottom:14px}.station-list li button{-webkit-appearance:initial;background:rgba(0,0,0,0);border:0;padding:0}.station-list li button:focus,.station-list li button:active{outline:none}.station-list li button{box-shadow:inset 0 0 0 0 #07f;cursor:pointer;overflow:hidden;padding:15px 20px;text-overflow:ellipsis;transition:300ms ease box-shadow;white-space:nowrap;width:100%}.station-list li button:hover,.station-list li button:active{box-shadow:inset 0 -3px 0 0 #07f}.station-list li button:hover .station-label,.station-list li button:hover .station-description,.station-list li button:active .station-label,.station-list li button:active .station-description{color:#07f}.station-list li button:focus .station-label,.station-list li button:focus .station-description{color:#07f}.station-list li button.is-unreachable{color:#949a9f}.station-label{font-size:16px;transition:300ms ease color}.station-description{color:#949a9f;transition:300ms ease color}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station-list/station-list.component.scss\n// module id = 591\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying a test run's attachments.\n */\n\nimport { Component, Input } from '@angular/core';\n\nimport { ConfigService } from '../../core/config.service';\nimport { Attachment } from '../../shared/models/attachment.model';\nimport { TestState, TestStatus } from '../../shared/models/test-state.model';\nimport { getStationBaseUrl, getTestBaseUrl } from '../../shared/util';\n\n@Component({\n selector: 'htf-attachments',\n template: require('./attachments.component.html'),\n styles: [require('./attachments.component.scss')],\n})\nexport class AttachmentsComponent {\n @Input() test: TestState;\n\n expanded = false;\n\n constructor(private config: ConfigService) {}\n\n linkForAttachment(attachment: Attachment) {\n // Case 1: The test is currently running.\n if (this.test.testId !== null && this.test.status === TestStatus.running) {\n const testBaseUrl =\n getTestBaseUrl(this.config.dashboardEnabled, this.test);\n return (\n `${testBaseUrl}/phases/${attachment.phaseDescriptorId}/attachments/` +\n `${attachment.name}`);\n }\n\n // Case 2: We have a history record pointing to file on disk.\n else if (this.test.fileName !== null) {\n const stationBaseUrl =\n getStationBaseUrl(this.config.dashboardEnabled, this.test.station);\n return (\n `${stationBaseUrl}/history/${this.test.fileName}/attachments/` +\n `${attachment.name}?sha1=${attachment.sha1}`);\n }\n\n // Case 3: If the test is not running and we do not have a filename then we\n // have no way of accessing attachments.\n return null;\n }\n\n toggleExpanded() {\n this.expanded = !this.expanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/attachments.component.ts","module.exports = \"\\n\\n
\\n\\n
\\n
Attachments
\\n
\\n 0\\\"\\n type=\\\"button\\\"\\n class=\\\"htf-rounded-button-grey\\\"\\n (click)=\\\"toggleExpanded()\\\">\\n {{ expanded? 'Collapse' : 'Expand' }}\\n \\n
\\n\\n \\n There are no attachments yet.\\n
\\n\\n 0\\\"\\n class=\\\"htf-layout-widget-body htf-support-text\\\">\\n Expand to view\\n {{ test.attachments.length }}\\n {{ test.attachments.length === 1 ? 'attachment' : 'attachments' }}.\\n \\n\\n
    0\\\">\\n \\n {{ attachment.name }}\\n \\n {{ attachment.name }}\\n \\n  {{ attachment.mimeType }}\\n \\n From phase: {{ attachment.phaseName }}\\n \\n
\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/attachments.component.html\n// module id = 593\n// module chunks = 1","module.exports = \"ul{list-style:none;margin:0;padding:0}li{-ms-flex-align:baseline;align-items:baseline;display:-ms-flexbox;display:flex;padding:10px 15px;border-bottom:1px solid #e5e5e5}li:last-of-type{border-bottom:0}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/attachments.component.scss\n// module id = 594\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying previous test runs on a station.\n */\n\nimport { trigger } from '@angular/animations';\nimport { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\n\nimport { FlashMessageService } from '../../core/flash-message.service';\nimport { washAndExpandIn } from '../../shared/animations';\nimport { Station, StationStatus } from '../../shared/models/station.model';\nimport { TestState, TestStatus } from '../../shared/models/test-state.model';\nimport { messageFromErrorResponse } from '../../shared/util';\n\nimport { HistoryItem, HistoryItemStatus } from './history-item.model';\nimport { HistoryService } from './history.service';\n\n// Emitted by the component when a test is selected or deselected.\nexport class TestSelectedEvent {\n constructor(public test: TestState) {}\n}\n\nconst listItemHeight = 48;\n\n@Component({\n animations: [trigger('animateIn', washAndExpandIn(listItemHeight))],\n selector: 'htf-history',\n template: require('./history.component.html'),\n styles: [require('./history.component.scss')],\n})\nexport class HistoryComponent implements OnChanges {\n @Input() selectedTest: TestState|null;\n @Input() station: Station;\n @Output() onSelectTest = new EventEmitter();\n\n readonly collapsedNumTests = 5;\n HistoryItemStatus = HistoryItemStatus;\n TestStatus = TestStatus;\n expanded = false;\n hasError = false;\n history: HistoryItem[] = [];\n historyFromDiskEnabled = false;\n isLoading = false;\n\n private lastClickedItem: HistoryItem|null = null;\n\n constructor(\n private historyService: HistoryService,\n private flashMessage: FlashMessageService) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if ('station' in changes) {\n if (this.station.status === StationStatus.online) {\n // TODO(kenadia): The current behavior is that this only triggers when\n // the station page first loads. To better handle edge cases, the\n // history list should be refreshed when a new connection to a station\n // is established, for example if the user clicks on the refresh station\n // button, or if a station that was offline comes online.\n // I think that we can best accomplish this by making station objects\n // immutable. This will be done as part of a future refactor.\n this.loadHistory();\n this.history = this.historyService.getHistory(this.station);\n }\n }\n }\n\n isSelected(historyItem: HistoryItem) {\n return (\n historyItem.status === HistoryItemStatus.loaded &&\n historyItem.testState === this.selectedTest);\n }\n\n onClick(historyItem: HistoryItem) {\n this.lastClickedItem = historyItem;\n\n if (historyItem.status === HistoryItemStatus.loading) {\n return;\n }\n\n // If the test state has been loaded already, select/deselect it.\n if (historyItem.status === HistoryItemStatus.loaded) {\n this.selectTest(historyItem.testState);\n\n if (historyItem.testState === this.selectedTest) {\n // The fileName will be null if the history item was created from a test\n // record/state retrieved by the StationService. We are unable to access\n // attachments until we know the file name, so try to retrieve it now.\n if (historyItem.testState.fileName === null) {\n this.historyService.retrieveFileName(this.station, historyItem)\n .catch(() => {\n if (this.historyFromDiskEnabled) {\n this.flashMessage.warn(\n 'Could not retrieve history from disk, so attachments ' +\n 'are not available. You may try again later.');\n }\n });\n }\n }\n return;\n }\n\n this.historyService.loadItem(this.station, historyItem)\n .then((testState: TestState) => {\n if (this.lastClickedItem === historyItem) {\n this.selectTest(testState);\n }\n })\n .catch(error => {\n console.error(error.stack);\n const tooltip = messageFromErrorResponse(error);\n this.flashMessage.error('Error loading history item.', tooltip);\n });\n }\n\n toggleExpanded() {\n this.expanded = !this.expanded;\n }\n\n private loadHistory() {\n this.hasError = false;\n this.isLoading = true;\n this.historyFromDiskEnabled = false;\n\n this.historyService.refreshList(this.station)\n .then(() => {\n this.isLoading = false;\n this.historyFromDiskEnabled = true;\n })\n .catch(error => {\n this.isLoading = false;\n this.hasError = true;\n this.historyFromDiskEnabled = error.status !== 404;\n });\n }\n\n private selectTest(test: TestState) {\n if (test === this.selectedTest) {\n this.selectedTest = null;\n } else {\n this.selectedTest = test;\n }\n this.onSelectTest.emit(new TestSelectedEvent(this.selectedTest));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/history.component.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Info about a file attached to a test.\n */\n\nexport class Attachment {\n mimeType: string;\n name: string;\n phaseDescriptorId: number;\n phaseName: string;\n sha1: string;\n\n // Using the class as the interface for its own constructor allows us to call\n // the constructor in named-argument style.\n constructor(params: Attachment) {\n Object.assign(this, params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/models/attachment.model.ts","module.exports = \"\\n\\n
\\n\\n
\\n
History
\\n
\\n collapsedNumTests\\\"\\n type=\\\"button\\\"\\n class=\\\"htf-rounded-button-grey\\\"\\n (click)=\\\"toggleExpanded()\\\">\\n {{ expanded? 'Collapse' : 'Expand' }}\\n \\n
\\n\\n
    \\n \\n \\n\\n \\n
    \\n
    \\n
    \\n {{ historyItem.dutId || historyItem.fileName }}\\n
    \\n
    \\n Started {{ historyItem.startTimeMillis | timeAgo }}\\n
    \\n
    \\n
    \\n Click to load.\\n
    \\n
    \\n Loading...\\n
    \\n
    \\n An error occurred.\\n
    \\n \\n {{ historyItem.testState.status | statusToText }}\\n
    \\n
\\n \\n \\n
  • collapsedNumTests\\\" class=\\\"status-text\\\">\\n Not showing {{ history.length - collapsedNumTests }} additional test\\n {{ history.length - collapsedNumTests === 1? 'run' : 'runs'}}.\\n
  • \\n
  • \\n There are no known completed test runs.\\n
  • \\n
  • \\n Loading history from the server...\\n
  • \\n
  • \\n History from disk is disabled.\\n
  • \\n
  • \\n \\n Could not retrieve test history from the server.\\n \\n
  • \\n \\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/history.component.html\n// module id = 597\n// module chunks = 1","module.exports = \".history-item-container{cursor:pointer;overflow:hidden}.history-item-container.is-selected{background:rgba(0,119,255,.2);border:2px solid rgba(0,119,255,.8)}.history-item{height:48px;line-height:47px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.history-item-name-container{-ms-flex-positive:1;flex-grow:1;line-height:initial;min-width:0}.history-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-status{color:#949a9f;font-size:12px;padding:10px 0;text-align:center;margin-left:15px;margin-right:-15px;min-width:100px}.status-text{color:#949a9f;font-size:12px;padding:10px 0;text-align:center}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/history.component.scss\n// module id = 598\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying a test run's logs.\n */\n\nimport { Component, Input } from '@angular/core';\n\nimport { logLevels } from '../../shared/models/log-record.model';\nimport { TestState } from '../../shared/models/test-state.model';\n\n@Component({\n selector: 'htf-logs',\n template: require('./logs.component.html'),\n styles: [require('./logs.component.scss')],\n})\nexport class LogsComponent {\n @Input() test: TestState;\n\n expanded = false;\n\n get collapsedErrorCount() {\n // Count the number of log errors, excluding the most recent log line, which\n // is always visible.\n let count = 0;\n for (const log of this.test.logs) {\n if (log.level > logLevels.warning) {\n count += 1;\n }\n }\n if (this.test.logs[0].level > logLevels.warning) {\n count -= 1;\n }\n return count;\n }\n\n toggleExpanded() {\n this.expanded = !this.expanded;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/logs.component.ts","module.exports = \"\\n\\n
    \\n\\n
    \\n
    Logs
    \\n
    \\n 0\\\"\\n type=\\\"button\\\"\\n class=\\\"htf-rounded-button-grey\\\"\\n (click)=\\\"toggleExpanded()\\\">\\n {{ expanded? 'Collapse' : 'Expand' }}\\n \\n
    \\n\\n \\n There are no logs yet.\\n
    \\n\\n
      0\\\">\\n
    • \\n\\n
      \\n {{ test.logs[0].timestampMillis | date:'mediumTime' }}\\n
      {{ test.logs[0].loggerName }}
      \\n
      \\n\\n
      {{ test.logs[0].message }}
      \\n\\n
    • \\n 1\\\"\\n class=\\\"htf-support-text\\\">\\n Not showing {{ test.logs.length - 1 }} additional log\\n {{ test.logs.length - 1 === 1? 'message' : 'messages'}}. \\n 0\\\" class=\\\"u-text-color-error\\\">\\n {{ collapsedErrorCount }} additional\\n {{ collapsedErrorCount === 1? 'error' : 'errors' }}.\\n \\n \\n
    \\n\\n
      0\\\">\\n \\n\\n
      \\n {{ log.timestampMillis | date:'mediumTime' }}\\n
      {{ log.loggerName }}
      \\n
      \\n\\n
      {{ log.message }}
      \\n\\n \\n
    \\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/logs.component.html\n// module id = 600\n// module chunks = 1","module.exports = \"ul{list-style:none;margin:0;padding:0;font-size:12px}li{display:-ms-flexbox;display:flex;padding:10px 15px;border-bottom:1px solid #e5e5e5}li:last-of-type{border-bottom:0}.log-message{font-family:monospace,serif}.timestamp-column{font-size:10px;margin-right:10px;max-width:170px;min-width:170px}.logger-name{color:#949a9f}.log-message-content{white-space:pre-wrap;word-break:break-all}.ng-log-level-warning{background:rgba(255,229,77,.2)}.ng-log-level-error{background:rgba(255,93,78,.25)}.ng-log-level-critical{background:rgba(255,93,78,.45)}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/logs.component.scss\n// module id = 601\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying the phases of a test.\n */\n\nimport { Component, Input } from '@angular/core';\n\nimport { TestState } from '../../shared/models/test-state.model';\n\n@Component({\n selector: 'htf-phase-list',\n template: require('./phase-list.component.html'),\n})\nexport class PhaseListComponent {\n @Input() test: TestState;\n\n showMeasurements = false;\n\n toggleMeasurements() {\n this.showMeasurements = !this.showMeasurements;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/phase-list.component.ts","module.exports = \"\\n\\n
    \\n\\n
    \\n
    Phases
    \\n
    \\n \\n {{ showMeasurements ? 'Collapse' : 'Expand' }} all\\n \\n
    \\n\\n
      \\n
    • \\n \\n \\n
    • \\n
    \\n\\n
    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/phase-list.component.html\n// module id = 603\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying the phases of a test.\n */\n\nimport { Component, Input } from '@angular/core';\n\nimport { MeasurementStatus } from '../../shared/models/measurement.model';\nimport { Phase, PhaseStatus } from '../../shared/models/phase.model';\n\n@Component({\n selector: 'htf-phase',\n template: require('./phase.component.html'),\n styles: [require('./phase.component.scss')],\n})\nexport class PhaseComponent {\n @Input() phase: Phase;\n @Input() expand: boolean;\n\n MeasurementStatus = MeasurementStatus;\n PhaseStatus = PhaseStatus;\n\n get showMeasurements() {\n return this.expand && this.phase.measurements.length > 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/phase.component.ts","module.exports = \"\\n\\n
    \\n \\n {{ phase.name }}\\n \\n  {{ phase | elapsedTime:'(%s)' }}\\n \\n \\n\\n
    \\n \\n {{ phase.status | statusToText }}\\n
    \\n\\n\\n\\n \\n Measurement name\\n Value\\n Validators\\n Result\\n \\n \\n \\n {{ measurement.name }}\\n \\n \\n \\n \\n {{ measurement.validators }}\\n \\n Pass\\n Fail\\n \\n \\n \\n \\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/phase.component.html\n// module id = 605\n// module chunks = 1","module.exports = \".header-with-measurements{border-bottom:1px solid #e5e5e5}.measurement-list{border-collapse:separate;border-right:100px solid rgba(50,50,50,.1);border-spacing:0 3px;font-size:12px;padding:10px 15px;width:100%}.measurement-list.ng-status-fail{border-right-color:rgba(255,93,78,.1)}.measurement-list.ng-status-pass{border-right-color:rgba(0,232,157,.1)}.measurement-list.ng-status-running{border-right-color:rgba(0,119,255,.1)}.measurement-list thead{text-decoration:underline}.measurement-list tbody{vertical-align:top}.measurement-list td{padding:0}.measurement-list .measurement-column-name{width:30%;padding-right:5px}.measurement-list .measurement-column-value{width:30%;padding-right:5px}.measurement-list .measurement-column-validators{width:30%;padding-right:5px}.measurement-list .measurement-column-result{text-align:right}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/phase.component.scss\n// module id = 606\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Component representing a station.\n */\n\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\nimport { ConfigService } from '../../core/config.service';\nimport { Station } from '../../shared/models/station.model';\nimport { TestState } from '../../shared/models/test-state.model';\n\nimport { StationService } from './station.service';\n\nexport class StationDeselectedEvent {}\n\nconst subscriptionRetryMs = 200;\nconst subscriptionRetryBackoff = 1.08;\nconst subscriptionRetryMax = 1500;\n\n@Component({\n selector: 'htf-station',\n template: require('./station.component.html'),\n styles: [require('./station.component.scss')],\n})\nexport class StationComponent implements OnDestroy, OnInit {\n @Input() selectedStation: Station;\n @Output() onDeselectStation = new EventEmitter();\n\n selectedTest: TestState|null = null; // Selected in the history.\n\n constructor(\n private stationService: StationService, private config: ConfigService) {}\n\n get activeTest(): TestState|null {\n if (this.selectedTest !== null) {\n return this.selectedTest;\n }\n return this.stationService.getTest(this.selectedStation);\n }\n\n get dashboardEnabled() {\n return this.config.dashboardEnabled;\n }\n\n get hasError() {\n return this.stationService.hasError;\n }\n\n get isLoading() {\n return this.stationService.isSubscribing;\n }\n\n get isOnline() {\n return !(this.hasError || this.isLoading);\n }\n\n ngOnInit() {\n this.stationService.subscribe(\n this.selectedStation, subscriptionRetryMs, subscriptionRetryBackoff,\n subscriptionRetryMax);\n }\n\n ngOnDestroy() {\n this.stationService.unsubscribe();\n }\n\n goBack() {\n this.onDeselectStation.emit(new StationDeselectedEvent());\n }\n\n manualReload() {\n this.stationService.refresh();\n }\n\n onSelectTest(test: TestState) {\n this.selectedTest = test;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/station.component.ts","module.exports = \"\\n\\n
    \\n\\n
    \\n \\n ‹ Return to station selection\\n \\n
    \\n \\n Refresh station\\n \\n
    \\n\\n
    \\n
    \\n
    {{ selectedStation.label }}
    \\n
    \\n Status: Connected\\n Status: Offline\\n
    \\n
    \\n {{ selectedStation.testDescription }}\\n
    \\n {{ selectedStation.host }}:{{ selectedStation.port }}\\n
    \\n
    \\n\\n
    \\n
    \\n \\n
    \\n\\n
    \\n
    \\n \\n
    \\n
    Displaying test record for a previous test run
    \\n  ({{ selectedTest.startTimeMillis | timeAgo }})\\n
    \\n \\n Return to current test\\n \\n
    \\n
    \\n\\n \\n \\n \\n \\n
    \\n\\n
    \\n \\n \\n
    \\n
    \\n\\n
    \\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/station.component.html\n// module id = 608\n// module chunks = 1","module.exports = \".nav-bar{display:-ms-flexbox;display:flex;font-size:12px;margin-bottom:12px}.status-bar{margin-bottom:16px}.status-bar-row{-ms-flex-align:baseline;align-items:baseline;display:-ms-flexbox;display:flex}.past-test-warning{color:#ff5d4e}.past-test-warning .htf-layout-widget-header{border:0}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/station.component.scss\n// module id = 609\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Widget displaying summary information about a test.\n */\n\nimport { Component, Input, OnChanges, SimpleChanges, ViewChild } from '@angular/core';\n\nimport { Phase, PhaseStatus } from '../../shared/models/phase.model';\nimport { TestState, TestStatus } from '../../shared/models/test-state.model';\nimport { ProgressBarComponent } from '../../shared/progress-bar.component';\n\n@Component({\n selector: 'htf-test-summary',\n template: require('./test-summary.component.html'),\n styles: [require('./test-summary.component.scss')],\n})\nexport class TestSummaryComponent implements OnChanges {\n @Input() test: TestState;\n @ViewChild(ProgressBarComponent) progressBar: ProgressBarComponent;\n\n ngOnChanges(changes: SimpleChanges) {\n // When we get a new test, animate the progress bar from zero.\n if ('test' in changes && this.progressBar) {\n this.progressBar.reset();\n }\n }\n\n get completedPhaseCount() {\n if (this.test.status === TestStatus.waiting) {\n return 0;\n } else if (this.test.status === TestStatus.pass) {\n return this.test.phases.length;\n }\n\n let completedPhases = 0;\n for (const phase of this.test.phases) {\n if (phase.status === PhaseStatus.running ||\n phase.status === PhaseStatus.fail) {\n break;\n }\n completedPhases++;\n }\n return completedPhases;\n }\n\n get progressValue() {\n return this.completedPhaseCount / this.test.phases.length;\n }\n\n get runningPhase(): Phase|null {\n if (this.test.status === TestStatus.running) {\n for (const phase of this.test.phases) {\n if (phase.status === PhaseStatus.running) {\n return phase;\n }\n }\n }\n return null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/test-summary.component.ts","module.exports = \"\\n\\n
    \\n\\n
    \\n
    Current test: {{ test.name }}
    \\n
    \\n  {{ test | elapsedTime:'(%s)' }}\\n
    \\n
    \\n \\n {{ test.status | statusToText }}\\n
    \\n
    \\n\\n
    \\n
    \\n
    \\n DUT: {{ test.dutId === null ? '—' : test.dutId }}\\n
    \\n
    \\n
    \\n Started: {{ test.startTimeMillis ? (test.startTimeMillis | date:'medium') : '—' }}\\n
    \\n
    \\n
    \\n\\n
    \\n
    \\n Ran {{ completedPhaseCount }} of {{ this.test.phases.length }}\\n {{ completedPhaseCount === 1? 'phase' : 'phases' }}\\n
    \\n \\n
    \\n\\n
    \\n \\n
    \\n\\n\\n\\n
    \\n
    \\n
    Test: —
    \\n
    \\n
    \\n
    \\n No test information to display\\n
    \\n
    \\n
    \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/test-summary.component.html\n// module id = 611\n// module chunks = 1","module.exports = \".htf-status-indicator{line-height:53px}.progress-bar-container{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;font-size:12px;white-space:nowrap}htf-progress-bar{display:block;-ms-flex-positive:1;flex-grow:1;height:22px;margin-left:15px;width:100%}.phase-container{padding:0}:host ::ng-deep htf-phase .phase-name{font-weight:bold}:host ::ng-deep htf-phase .phase-name::before{content:\\\"Current phase: \\\"}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/stations/station/test-summary.component.scss\n// module id = 612\n// module chunks = 1","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A phase of a test.\n *\n * May combine both PhaseDescriptor and PhaseState information from the backend.\n */\n\nimport { Attachment } from './attachment.model';\nimport { Measurement } from './measurement.model';\n\n// Enum values must not overlap between any of the status enums.\n// See status-pipes.ts.\nexport enum PhaseStatus {\n waiting = 3,\n running,\n pass,\n fail,\n skip,\n error,\n}\n\nexport class Phase {\n attachments: Attachment[];\n descriptorId: number;\n endTimeMillis: number|null;\n name: string;\n measurements: Measurement[];\n status: PhaseStatus;\n startTimeMillis: number|null; // Should only be null if phase is waiting.\n\n // Using the class as the interface for its own constructor allows us to call\n // the constructor in named-argument style.\n constructor(params: Phase) {\n Object.assign(this, params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/models/phase.model.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Contains classes that are re-used across the features modules.\n *\n * See https://angular.io/docs/ts/latest/guide/ngmodule.html for more info\n * about modules in Angular.\n */\n\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { HttpModule } from '@angular/http';\n\nimport { ElapsedTimePipe } from './elapsed-time.pipe';\nimport { FocusDirective } from './focus.directive';\nimport { GenealogyNodeComponent } from './genealogy-node.component';\nimport { LogLevelToClassPipe } from './log-level-to-class.pipe';\nimport { ObjectToSortedValuesPipe } from './object-to-sorted-values.pipe';\nimport { ProgressBarComponent } from './progress-bar.component';\nimport { SockJsService } from './sock-js.service';\nimport { StatusToClassPipe, StatusToTextPipe } from './status-pipes';\nimport { TimeAgoPipe } from './time-ago.pipe';\nimport { TimeService } from './time.service';\nimport { TooltipDirective } from './tooltip.directive';\nimport { TrimmedTextComponent } from './trimmed-text.component';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpModule,\n ],\n declarations: [\n ElapsedTimePipe,\n FocusDirective,\n GenealogyNodeComponent,\n LogLevelToClassPipe,\n ObjectToSortedValuesPipe,\n ProgressBarComponent,\n StatusToClassPipe,\n StatusToTextPipe,\n TimeAgoPipe,\n TrimmedTextComponent,\n TooltipDirective,\n ],\n providers: [\n SockJsService,\n TimeService,\n ],\n exports: [\n CommonModule,\n ElapsedTimePipe,\n FocusDirective,\n GenealogyNodeComponent,\n LogLevelToClassPipe,\n ObjectToSortedValuesPipe,\n ProgressBarComponent,\n StatusToClassPipe,\n StatusToTextPipe,\n TimeAgoPipe,\n TrimmedTextComponent,\n TooltipDirective,\n ],\n})\nexport class SharedModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/shared.module.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Service which provides the current time in milliseconds.\n */\n\nimport 'rxjs/add/observable/interval';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/publish';\n\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\n\nconst UPDATE_INTERVAL_MS = 100;\n\n@Injectable()\nexport class TimeService {\n readonly observable = Observable.interval(UPDATE_INTERVAL_MS)\n .map(() => {\n this.last = Date.now();\n return this.last;\n })\n .publish();\n last: number|null = null;\n\n constructor() {\n this.observable.connect();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/time.service.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A log record of a test.\n */\n\nexport const logLevels = {\n debug: 10,\n info: 20,\n warning: 30,\n error: 40,\n critical: 50,\n};\n\nexport class LogRecord {\n level: number;\n lineNumber: number;\n loggerName: string;\n message: string;\n source: string;\n timestampMillis: number;\n\n // Using the class as the interface for its own constructor allows us to call\n // the constructor in named-argument style.\n constructor(params: LogRecord) {\n Object.assign(this, params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/models/log-record.model.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Provider for SockJS.\n *\n * This allows us to mock socket communication in unit tests.\n */\n\nimport { Injectable } from '@angular/core';\n\n// Global provided by the sockjs_client library.\ndeclare const SockJS: new (url: string) => SockJsObject;\n\nexport interface SockJsObject {\n close: () => void;\n onclose: {};\n onmessage: {};\n onopen: {};\n}\n\nexport interface SockJsMessage { data: string; }\n\n@Injectable()\nexport class SockJsService {\n sockJs = SockJS;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/sock-js.service.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * A measurement in a phase of a test.\n */\n\n// Enum values must not overlap between any of the status enums.\n// See status-pipes.ts.\nexport enum MeasurementStatus {\n unset,\n pass,\n fail,\n}\n\nexport class Measurement {\n name: string;\n validators: {}|null;\n measuredValue: string|null;\n status: MeasurementStatus;\n\n // Using the class as the interface for its own constructor allows us to call\n // the constructor in named-argument style.\n constructor(params: Measurement) {\n Object.assign(this, params);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/shared/models/measurement.model.ts","/**\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Makes requests for past test run history.\n */\n\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\n\nimport { ConfigService } from '../../core/config.service';\nimport { FlashMessageService } from '../../core/flash-message.service';\nimport { Station } from '../../shared/models/station.model';\nimport { TestState } from '../../shared/models/test-state.model';\nimport { getStationBaseUrl, messageFromHttpClientErrorResponse, sortByProperty } from '../../shared/util';\n\nimport { HistoryItem, HistoryItemStatus } from './history-item.model';\nimport { RawTestState, makeTest } from './station-data';\n\nexport interface TestStateCache { [historyItemId: string]: TestState; }\n\ninterface RawHistoryItemList {\n data: RawHistoryItem[];\n}\n\ninterface RawHistoryItem {\n dut_id: string;\n file_name: string;\n start_time_millis: number;\n}\n\n@Injectable()\nexport class HistoryService {\n private readonly cache: {[stationHostPort: string]: TestStateCache} = {};\n private readonly history: {[stationHostPort: string]: HistoryItem[]} = {};\n\n constructor(\n private config: ConfigService, private http: HttpClient,\n private flashMessage: FlashMessageService) {}\n\n getCache(station: Station) {\n if (!(station.hostPort in this.cache)) {\n this.cache[station.hostPort] = {};\n }\n return this.cache[station.hostPort];\n }\n\n getHistory(station: Station) {\n if (!(station.hostPort in this.history)) {\n this.history[station.hostPort] = [];\n }\n return this.history[station.hostPort];\n }\n\n loadItem(station: Station, historyItem: HistoryItem): Promise {\n if (historyItem.status === HistoryItemStatus.loading ||\n historyItem.status === HistoryItemStatus.loaded) {\n throw new Error(\n 'Cannot load a history item that is loading or has loaded.');\n }\n\n const baseUrl = getStationBaseUrl(this.config.dashboardEnabled, station);\n const url = `${baseUrl}/history/${historyItem.fileName}`;\n historyItem.status = HistoryItemStatus.loading;\n\n return this.http.get(url)\n .toPromise()\n .then(rawTestState => {\n const fileName = historyItem.fileName;\n const testState = makeTest(rawTestState, null, fileName, station);\n this.getCache(station)[historyItem.uniqueId] = testState;\n historyItem.status = HistoryItemStatus.loaded;\n historyItem.testState = testState;\n return testState;\n })\n .catch(error => {\n historyItem.status = HistoryItemStatus.error;\n return Promise.reject(error);\n });\n }\n\n // We prepend new items under the assumption that the startTimeMillis of the\n // new item is greater than every item in the history.\n prependItemFromTestState(station: Station, testState: TestState) {\n const historyItem = new HistoryItem({\n drawAttention: true,\n dutId: testState.dutId,\n fileName: null,\n startTimeMillis: testState.startTimeMillis,\n status: HistoryItemStatus.loaded,\n testState,\n });\n this.getCache(station)[historyItem.uniqueId] = testState;\n // Note: In your typical Javascript implementation this will take O(n) time.\n // It seems this may start to be an issue if we have ~50,000 history items.\n this.getHistory(station).unshift(historyItem);\n }\n\n refreshList(station: Station): Promise {\n const baseUrl = getStationBaseUrl(this.config.dashboardEnabled, station);\n const url = `${baseUrl}/history`;\n\n return this.http.get(url)\n .toPromise()\n .then(response => {\n const rawHistoryItems = response.data;\n this.getHistory(station).length = 0;\n const stationHistory = rawHistoryItems.map(rawItem => {\n const historyItem = new HistoryItem({\n drawAttention: false,\n dutId: rawItem.dut_id,\n fileName: rawItem.file_name,\n startTimeMillis: rawItem.start_time_millis,\n status: HistoryItemStatus.unloaded,\n testState: null,\n });\n if (historyItem.uniqueId in this.getCache(station)) {\n const testState =\n this.getCache(station)[historyItem.uniqueId];\n historyItem.status = HistoryItemStatus.loaded,\n historyItem.testState = testState;\n }\n return historyItem;\n });\n sortByProperty(stationHistory, 'startTimeMillis', true);\n this.history[station.hostPort].push(...stationHistory);\n })\n .catch((error: HttpErrorResponse) => {\n if (error.status === 404) {\n console.info('History from disk appears to be disabled.');\n } else {\n const tooltip = messageFromHttpClientErrorResponse(error);\n this.flashMessage.error(\n 'HTTP request for history failed.', tooltip);\n }\n return Promise.reject(error);\n }) as any;\n }\n\n // The filename of a history item is unknown if the history item was created\n // from via prependItemFromTestState. To open attachments on that test, the\n // filename must be retrieved after the test record is written to disk.\n retrieveFileName(station: Station, historyItem: HistoryItem) {\n if (historyItem.status !== HistoryItemStatus.loaded) {\n throw new Error(\n 'Cannot retrieve file name for a history item that is not loaded.');\n }\n\n const baseUrl = getStationBaseUrl(this.config.dashboardEnabled, station);\n const url =\n (`${baseUrl}/history?dutId=${historyItem.dutId}` +\n `&startTimeMillis=${historyItem.startTimeMillis}`);\n\n return this.http.get(url).toPromise().then(response => {\n const rawHistoryItems = response.data;\n if (rawHistoryItems.length === 0) {\n return Promise.reject(new Error('Server returned no history items.'));\n } else if (rawHistoryItems.length > 1) {\n return Promise.reject(\n new Error('Server returned more than one history item.'));\n }\n const rawHistoryItem = rawHistoryItems[0];\n\n historyItem.fileName = rawHistoryItem.file_name;\n historyItem.testState.fileName = rawHistoryItem.file_name;\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/angular2-template-loader!./node_modules/@angularclass/hmr-loader!./node_modules/tslint-loader!./src/app/stations/station/history.service.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/openhtf/output/web_gui/dist/js/polyfills.9e59157efdb2888f056b.js b/openhtf/output/web_gui/dist/js/polyfills.9e59157efdb2888f056b.js new file mode 100644 index 00000000..4ff68780 --- /dev/null +++ b/openhtf/output/web_gui/dist/js/polyfills.9e59157efdb2888f056b.js @@ -0,0 +1,98 @@ +!function(t){var e=window.webpackJsonp;window.webpackJsonp=function webpackJsonpCallback(n,o,i){for(var a,u,c,s=0,f=[];s0?o(r(t),9007199254740991):0}},function(t,e,n){var r=n(22);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(7),o=n(31);t.exports=n(6)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(2),o=n(11),i=n(14),a=n(32)("src"),u=Function.toString,c=(""+u).split("toString");n(28).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function toString(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(0),o=n(3),i=n(22),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(46),o=n(22);t.exports=function(t){return r(o(t))}},function(t,e,n){var r=n(47),o=n(31),i=n(15),a=n(21),u=n(14),c=n(90),s=Object.getOwnPropertyDescriptor;e.f=n(6)?s:function getOwnPropertyDescriptor(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(t){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(14),o=n(9),i=n(65)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},function(t,e,n){var r=n(10);t.exports=function(t,e,n){if(r(t),e===a)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(3);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(t==a)throw TypeError("Can't call method on "+t);return t}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(0),o=n(28),i=n(3);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(18),o=n(46),i=n(9),u=n(8),c=n(82);t.exports=function(t,e){var n=1==t,s=2==t,f=3==t,l=4==t,p=6==t,h=5==t||p,v=e||c;return function(e,c,d){for(var y,g,_=i(e),m=o(_),b=r(c,d,3),w=u(m.length),k=0,S=n?v(e,w):s?v(e,0):a;w>k;k++)if((h||k in m)&&(g=b(y=m[k],k,_),t))if(n)S[k]=g;else if(g)switch(t){case 3:return!0;case 5:return y;case 6:return k;case 2:S.push(y)}else if(l)return!1;return p?-1:f||l?l:S}}},function(t,e,n){if(n(6)){var r=n(33),o=n(2),i=n(3),u=n(0),c=n(59),s=n(88),f=n(18),l=n(39),p=n(31),h=n(11),v=n(41),d=n(23),y=n(8),g=n(117),_=n(35),m=n(21),b=n(14),w=n(48),k=n(4),S=n(9),T=n(79),O=n(36),P=n(17),E=n(37).f,M=n(81),x=n(32),I=n(5),j=n(25),F=n(50),A=n(57),D=n(84),C=n(44),R=n(54),Z=n(38),N=n(83),L=n(106),z=n(7),W=n(16),U=z.f,G=W.f,q=o.RangeError,B=o.TypeError,H=o.Uint8Array,V=Array.prototype,K=s.ArrayBuffer,X=s.DataView,J=j(0),Y=j(2),Q=j(3),$=j(4),tt=j(5),et=j(6),nt=F(!0),rt=F(!1),ot=D.values,it=D.keys,at=D.entries,ut=V.lastIndexOf,ct=V.reduce,st=V.reduceRight,ft=V.join,lt=V.sort,pt=V.slice,ht=V.toString,vt=V.toLocaleString,dt=I("iterator"),yt=I("toStringTag"),gt=x("typed_constructor"),_t=x("def_constructor"),mt=c.CONSTR,bt=c.TYPED,wt=c.VIEW,kt=j(1,function(t,e){return Et(A(t,t[_t]),e)}),St=i(function(){return 1===new H(new Uint16Array([1]).buffer)[0]}),Tt=!!H&&!!H.prototype.set&&i(function(){new H(1).set({})}),Ot=function(t,e){var n=d(t);if(n<0||n%e)throw q("Wrong offset!");return n},Pt=function(t){if(k(t)&&bt in t)return t;throw B(t+" is not a typed array!")},Et=function(t,e){if(!(k(t)&> in t))throw B("It is not a typed array constructor!");return new t(e)},Mt=function(t,e){return xt(A(t,t[_t]),e)},xt=function(t,e){for(var n=0,r=e.length,o=Et(t,r);r>n;)o[n]=e[n++];return o},It=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},jt=function from(t){var e,n,r,o,i,u,c=S(t),s=arguments.length,l=s>1?arguments[1]:a,p=l!==a,h=M(c);if(h!=a&&!T(h)){for(u=h.call(c),r=[],e=0;!(i=u.next()).done;e++)r.push(i.value);c=r}for(p&&s>2&&(l=f(l,arguments[2],2)),e=0,n=y(c.length),o=Et(this,n);n>e;e++)o[e]=p?l(c[e],e):c[e];return o},Ft=function of(){for(var t=0,e=arguments.length,n=Et(this,e);e>t;)n[t]=arguments[t++];return n},At=!!H&&i(function(){vt.call(new H(1))}),Dt=function toLocaleString(){return vt.apply(At?pt.call(Pt(this)):Pt(this),arguments)},Ct={copyWithin:function copyWithin(t,e){return L.call(Pt(this),t,e,arguments.length>2?arguments[2]:a)},every:function every(t){return $(Pt(this),t,arguments.length>1?arguments[1]:a)},fill:function fill(t){return N.apply(Pt(this),arguments)},filter:function filter(t){return Mt(this,Y(Pt(this),t,arguments.length>1?arguments[1]:a))},find:function find(t){return tt(Pt(this),t,arguments.length>1?arguments[1]:a)},findIndex:function findIndex(t){return et(Pt(this),t,arguments.length>1?arguments[1]:a)},forEach:function forEach(t){J(Pt(this),t,arguments.length>1?arguments[1]:a)},indexOf:function indexOf(t){return rt(Pt(this),t,arguments.length>1?arguments[1]:a)},includes:function includes(t){return nt(Pt(this),t,arguments.length>1?arguments[1]:a)},join:function join(t){return ft.apply(Pt(this),arguments)},lastIndexOf:function lastIndexOf(t){return ut.apply(Pt(this),arguments)},map:function map(t){return kt(Pt(this),t,arguments.length>1?arguments[1]:a)},reduce:function reduce(t){return ct.apply(Pt(this),arguments)},reduceRight:function reduceRight(t){return st.apply(Pt(this),arguments)},reverse:function reverse(){for(var t,e=Pt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:a)},sort:function sort(t){return lt.call(Pt(this),t)},subarray:function subarray(t,e){var n=Pt(this),r=n.length,o=_(t,r);return new(A(n,n[_t]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,y((e===a?r:_(e,r))-o))}},Rt=function slice(t,e){return Mt(this,pt.call(Pt(this),t,e))},Zt=function set(t){Pt(this);var e=Ot(arguments[1],1),n=this.length,r=S(t),o=y(r.length),i=0;if(o+e>n)throw q("Wrong length!");for(;i255?255:255&r),o.v[v](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};b?(d=n(function(t,n,r,o){l(t,d,f,"_d");var i,u,c,s,p=0,v=0;if(k(n)){if(!(n instanceof K||"ArrayBuffer"==(s=w(n))||"SharedArrayBuffer"==s))return bt in n?xt(d,n):jt.call(d,n);i=n,v=Ot(r,e);var _=n.byteLength;if(o===a){if(_%e)throw q("Wrong length!");if((u=_-v)<0)throw q("Wrong length!")}else if((u=y(o)*e)+v>_)throw q("Wrong length!");c=u/e}else c=g(n),i=new K(u=c*e);for(h(t,"_d",{b:i,o:v,l:u,e:c,v:new X(i)});pdocument.F=Object<\/script>"),t.close(),s=t.F;r--;)delete s.prototype[i[r]];return s()};t.exports=Object.create||function create(t,e){var n;return null!==t?(c.prototype=r(t),n=new c,c.prototype=null,n[u]=t):n=s(),e===a?n:o(n,e)}},function(t,e,n){var r=n(92),o=n(66).concat("length","prototype");e.f=Object.getOwnPropertyNames||function getOwnPropertyNames(t){return r(t,o)}},function(t,e,n){var r=n(2),o=n(7),i=n(6),a=n(5)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||r!==a&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(18),o=n(104),i=n(79),a=n(1),u=n(8),c=n(81),s={},f={};(e=t.exports=function(t,e,n,l,p){var h,v,d,y,g=p?function(){return t}:c(t),_=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(h=u(t.length);h>m;m++)if((y=e?_(a(v=t[m])[0],v[1]):_(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,_,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(12);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e,n){var r=n(7).f,o=n(14),i=n(5)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e,n){var r=n(0),o=n(22),i=n(3),a=n(70),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},function(t,e){t.exports={}},function(t,e,n){var r=n(4);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e,n){var r=n(19);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(19),o=n(5)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,u;return t===a?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),o))?n:i?r(e):"Object"==(u=r(e))&&"function"==typeof e.callee?"Arguments":u}},function(t,e,n){var r=n(2),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return o[t]||(o[t]={})}},function(t,e,n){var r=n(15),o=n(8),i=n(35);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(19);t.exports=Array.isArray||function isArray(t){return"Array"==r(t)}},function(t,e,n){var r=n(4),o=n(19),i=n(5)("match");t.exports=function(t){var e;return r(t)&&((e=t[i])!==a?!!e:"RegExp"==o(t))}},function(t,e,n){var r=n(5)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],a=i[r]();a.next=function(){return{done:n=!0}},i[r]=function(){return a},t(i)}catch(t){}return n}},function(t,e,n){var r=n(1);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(11),o=n(12),i=n(3),a=n(22),u=n(5);t.exports=function(t,e,n){var c=u(t),s=n(a,c,""[t]),f=s[0],l=s[1];i(function(){var e={};return e[c]=function(){return 7},7!=""[t](e)})&&(o(String.prototype,t,f),r(RegExp.prototype,c,2==e?function(t,e){return l.call(t,this,e)}:function(t){return l.call(t,this)}))}},function(t,e,n){var r=n(1),o=n(10),i=n(5)("species");t.exports=function(t,e){var n,u=r(t).constructor;return u===a||(n=r(u)[i])==a?e:o(n)}},function(t,e,n){var r=n(2),o=n(0),i=n(12),u=n(41),c=n(29),s=n(40),f=n(39),l=n(4),p=n(3),h=n(54),v=n(42),d=n(69);t.exports=function(t,e,n,y,g,_){var m=r[t],b=m,w=g?"set":"add",k=b&&b.prototype,S={},T=function(t){var e=k[t];i(k,t,"delete"==t?function(t){return!(_&&!l(t))&&e.call(this,0===t?0:t)}:"has"==t?function has(t){return!(_&&!l(t))&&e.call(this,0===t?0:t)}:"get"==t?function get(t){return _&&!l(t)?a:e.call(this,0===t?0:t)}:"add"==t?function add(t){return e.call(this,0===t?0:t),this}:function set(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof b&&(_||k.forEach&&!p(function(){(new b).entries().next()}))){var O=new b,P=O[w](_?{}:-0,1)!=O,E=p(function(){O.has(1)}),M=h(function(t){new b(t)}),x=!_&&p(function(){for(var t=new b,e=5;e--;)t[w](e,e);return!t.has(-0)});M||((b=e(function(e,n){f(e,b,t);var r=d(new m,e,b);return n!=a&&s(n,g,r[w],r),r})).prototype=k,k.constructor=b),(E||x)&&(T("delete"),T("has"),g&&T("get")),(x||P)&&T(w),_&&k.clear&&delete k.clear}else b=y.getConstructor(e,t,g,w),u(b.prototype,n),c.NEED=!0;return v(b,t),S[t]=b,o(o.G+o.W+o.F*(b!=m),S),_||y.setStrong(b,t,g),b}},function(t,e,n){for(var r,o=n(2),i=n(11),a=n(32),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,p="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[p[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},function(t,e,n){t.exports=n(33)||!n(3)(function(){var t=Math.random();__defineSetter__.call(null,t,function(){}),delete n(2)[t]})},function(t,e,n){var r=n(0);t.exports=function(t){r(r.S,t,{of:function of(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){var r=n(0),o=n(10),i=n(18),u=n(40);t.exports=function(t){r(r.S,t,{from:function from(t){var e,n,r,c,s=arguments[1];return o(this),(e=s!==a)&&o(s),t==a?new this:(n=[],e?(r=0,c=i(s,arguments[2],2),u(t,!1,function(t){n.push(c(t,r++))})):u(t,!1,n.push,n),new this(n))}})}},function(t,e,n){var r=n(4),o=n(2).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(2),o=n(28),i=n(33),a=n(91),u=n(7).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(49)("keys"),o=n(32);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(2).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(4),o=n(1),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(18)(Function.call,n(16).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function setPrototypeOf(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):a),check:i}},function(t,e,n){var r=n(4),o=n(68).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(23),o=n(22);t.exports=function repeat(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e){t.exports=Math.sign||function sign(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function expm1(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){var r=n(23),o=n(22);t.exports=function(t){return function(e,n){var i,u,c=String(o(e)),s=r(n),f=c.length;return s<0||s>=f?t?"":a:(i=c.charCodeAt(s))<55296||i>56319||s+1===f||(u=c.charCodeAt(s+1))<56320||u>57343?t?c.charAt(s):i:t?c.slice(s,s+2):u-56320+(i-55296<<10)+65536}}},function(t,e,n){var r=n(53),o=n(22);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(5)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(t){}}return!0}},function(t,e,n){var r=n(33),o=n(0),i=n(12),u=n(11),c=n(44),s=n(78),f=n(42),l=n(17),p=n(5)("iterator"),h=!([].keys&&"next"in[].keys()),v=function(){return this};t.exports=function(t,e,n,d,y,g,_){s(n,e,d);var m,b,w,k=function(t){if(!h&&t in P)return P[t];switch(t){case"keys":return function keys(){return new n(this,t)};case"values":return function values(){return new n(this,t)}}return function entries(){return new n(this,t)}},S=e+" Iterator",T="values"==y,O=!1,P=t.prototype,E=P[p]||P["@@iterator"]||y&&P[y],M=E||k(y),x=y?T?k("entries"):M:a,I="Array"==e&&P.entries||E;if(I&&(w=l(I.call(new t)))!==Object.prototype&&w.next&&(f(w,S,!0),r||"function"==typeof w[p]||u(w,p,v)),T&&E&&"values"!==E.name&&(O=!0,M=function values(){return E.call(this)}),r&&!_||!h&&!O&&P[p]||u(P,p,M),c[e]=M,c[S]=v,y)if(m={values:T?M:k("values"),keys:g?M:k("keys"),entries:x},_)for(b in m)b in P||i(P,b,m[b]);else o(o.P+o.F*(h||O),e,m);return m}},function(t,e,n){var r=n(36),o=n(31),i=n(42),a={};n(11)(a,n(5)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(44),o=n(5)("iterator"),i=Array.prototype;t.exports=function(t){return t!==a&&(r.Array===t||i[o]===t)}},function(t,e,n){var r=n(7),o=n(31);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){var r=n(48),o=n(5)("iterator"),i=n(44);t.exports=n(28).getIteratorMethod=function(t){if(t!=a)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(208);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(9),o=n(35),i=n(8);t.exports=function fill(t){for(var e=r(this),n=i(e.length),u=arguments.length,c=o(u>1?arguments[1]:a,n),s=u>2?arguments[2]:a,f=s===a?n:o(s,n);f>c;)e[c++]=t;return e}},function(t,e,n){var r=n(30),o=n(107),i=n(44),u=n(15);t.exports=n(77)(Array,"Array",function(t,e){this._t=u(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=a,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e,n){var r,o,i,a=n(18),u=n(97),c=n(67),s=n(63),f=n(2),l=f.process,p=f.setImmediate,h=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},_=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){_.call(t.data)};p&&h||(p=function setImmediate(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},h=function clearImmediate(t){delete g[t]},"process"==n(19)(l)?r=function(t){l.nextTick(a(_,t,1))}:d&&d.now?r=function(t){d.now(a(_,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),_.call(t)}}:function(t){setTimeout(a(_,t,1),0)}),t.exports={set:p,clear:h}},function(t,e,n){var r=n(2),o=n(85).set,i=r.MutationObserver||r.WebKitMutationObserver,u=r.process,c=r.Promise,s="process"==n(19)(u);t.exports=function(){var t,e,n,f=function(){var r,o;for(s&&(r=u.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(r){throw t?n():e=a,r}}e=a,r&&r.enter()};if(s)n=function(){u.nextTick(f)};else if(!i||r.navigator&&r.navigator.standalone)if(c&&c.resolve){var l=c.resolve();n=function(){l.then(f)}}else n=function(){o.call(r,f)};else{var p=!0,h=document.createTextNode("");new i(f).observe(h,{characterData:!0}),n=function(){h.data=p=!p}}return function(r){var o={fn:r,next:a};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){var r=n(10);function PromiseCapability(t){var e,n;this.promise=new t(function(t,r){if(e!==a||n!==a)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new PromiseCapability(t)}},function(t,e,n){var r=n(2),o=n(6),i=n(33),u=n(59),c=n(11),s=n(41),f=n(3),l=n(39),p=n(23),h=n(8),v=n(117),d=n(37).f,y=n(7).f,g=n(83),_=n(42),m="prototype",b="Wrong index!",w=r.ArrayBuffer,k=r.DataView,S=r.Math,T=r.RangeError,O=r.Infinity,P=w,E=S.abs,M=S.pow,x=S.floor,I=S.log,j=S.LN2,F=o?"_b":"buffer",A=o?"_l":"byteLength",D=o?"_o":"byteOffset";function packIEEE754(t,e,n){var r,o,i,a=new Array(n),u=8*n-e-1,c=(1<>1,f=23===e?M(2,-24)-M(2,-77):0,l=0,p=t<0||0===t&&1/t<0?1:0;for((t=E(t))!=t||t===O?(o=t!=t?1:0,r=c):(r=x(I(t)/j),t*(i=M(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*M(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*M(2,e),r+=s):(o=t*M(2,s-1)*M(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*p,a}function unpackIEEE754(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-O:O;r+=M(2,e),f-=a}return(s?-1:1)*r*M(2,f-e)}function unpackI32(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function packI8(t){return[255&t]}function packI16(t){return[255&t,t>>8&255]}function packI32(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function packF64(t){return packIEEE754(t,52,8)}function packF32(t){return packIEEE754(t,23,4)}function addGetter(t,e,n){y(t[m],e,{get:function(){return this[n]}})}function get(t,e,n,r){var o=v(+n);if(o+e>t[A])throw T(b);var i=t[F]._b,a=o+t[D],u=i.slice(a,a+e);return r?u:u.reverse()}function set(t,e,n,r,o,i){var a=v(+n);if(a+e>t[A])throw T(b);for(var u=t[F]._b,c=a+t[D],s=r(+o),f=0;fN;)(C=Z[N++])in w||c(w,C,P[C]);i||(R.constructor=w)}var L=new k(new w(2)),z=k[m].setInt8;L.setInt8(0,2147483648),L.setInt8(1,2147483649),!L.getInt8(0)&&L.getInt8(1)||s(k[m],{setInt8:function setInt8(t,e){z.call(this,t,e<<24>>24)},setUint8:function setUint8(t,e){z.call(this,t,e<<24>>24)}},!0)}else w=function ArrayBuffer(t){l(this,w,"ArrayBuffer");var e=v(t);this._b=g.call(new Array(e),0),this[A]=e},k=function DataView(t,e,n){l(this,k,"DataView"),l(t,w,"DataView");var r=t[A],o=p(e);if(o<0||o>r)throw T("Wrong offset!");if(o+(n=n===a?r-o:h(n))>r)throw T("Wrong length!");this[F]=t,this[D]=o,this[A]=n},o&&(addGetter(w,"byteLength","_l"),addGetter(k,"buffer","_b"),addGetter(k,"byteLength","_l"),addGetter(k,"byteOffset","_o")),s(k[m],{getInt8:function getInt8(t){return get(this,1,t)[0]<<24>>24},getUint8:function getUint8(t){return get(this,1,t)[0]},getInt16:function getInt16(t){var e=get(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function getUint16(t){var e=get(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function getInt32(t){return unpackI32(get(this,4,t,arguments[1]))},getUint32:function getUint32(t){return unpackI32(get(this,4,t,arguments[1]))>>>0},getFloat32:function getFloat32(t){return unpackIEEE754(get(this,4,t,arguments[1]),23,4)},getFloat64:function getFloat64(t){return unpackIEEE754(get(this,8,t,arguments[1]),52,8)},setInt8:function setInt8(t,e){set(this,1,t,packI8,e)},setUint8:function setUint8(t,e){set(this,1,t,packI8,e)},setInt16:function setInt16(t,e){set(this,2,t,packI16,e,arguments[2])},setUint16:function setUint16(t,e){set(this,2,t,packI16,e,arguments[2])},setInt32:function setInt32(t,e){set(this,4,t,packI32,e,arguments[2])},setUint32:function setUint32(t,e){set(this,4,t,packI32,e,arguments[2])},setFloat32:function setFloat32(t,e){set(this,4,t,packF32,e,arguments[2])},setFloat64:function setFloat64(t,e){set(this,8,t,packF64,e,arguments[2])}});_(w,"ArrayBuffer"),_(k,"DataView"),c(k[m],u.VIEW,!0),e.ArrayBuffer=w,e.DataView=k},function(t,e,n){var r=n(2).navigator;t.exports=r&&r.userAgent||""},function(t,e,n){t.exports=!n(6)&&!n(3)(function(){return 7!=Object.defineProperty(n(63)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(5)},function(t,e,n){var r=n(14),o=n(15),i=n(50)(!1),a=n(65)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(7),o=n(1),i=n(34);t.exports=n(6)?Object.defineProperties:function defineProperties(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(15),o=n(37).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function getOwnPropertyNames(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,e,n){var r=n(34),o=n(51),i=n(47),a=n(9),u=n(46),c=Object.assign;t.exports=!c||n(3)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function assign(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var p,h=u(arguments[s++]),v=f?r(h).concat(f(h)):r(h),d=v.length,y=0;d>y;)l.call(h,p=v[y++])&&(n[p]=h[p]);return n}:c},function(t,e,n){var r=n(10),o=n(4),i=n(97),a=[].slice,u={};t.exports=Function.bind||function bind(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e){t.exports=Math.log1p||function log1p(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(72),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function fround(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e,n){var r=n(1);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(e){var i=t.return;throw i!==a&&r(i.call(t)),e}}},function(t,e,n){var r=n(10),o=n(9),i=n(46),a=n(8);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),p=c?l-1:0,h=c?-1:1;if(n<2)for(;;){if(p in f){u=f[p],p+=h;break}if(p+=h,c?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;c?p>=0:l>p;p+=h)p in f&&(u=e(u,f[p],p,s));return u}},function(t,e,n){var r=n(9),o=n(35),i=n(8);t.exports=[].copyWithin||function copyWithin(t,e){var n=r(this),u=i(n.length),c=o(t,u),s=o(e,u),f=arguments.length>2?arguments[2]:a,l=Math.min((f===a?u:o(f,u))-s,u-c),p=1;for(s0;)s in n?n[c]=n[s]:delete n[c],c+=p,s+=p;return n}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){n(6)&&"g"!=/./g.flags&&n(7).f(RegExp.prototype,"flags",{configurable:!0,get:n(55)})},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,n){var r=n(1),o=n(4),i=n(87);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(112),o=n(45);t.exports=n(58)("Map",function(t){return function Map(){return t(this,arguments.length>0?arguments[0]:a)}},{get:function get(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function set(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){var r=n(7).f,o=n(36),i=n(41),u=n(18),c=n(39),s=n(40),f=n(77),l=n(107),p=n(38),h=n(6),v=n(29).fastKey,d=n(45),y=h?"_s":"size",g=function(t,e){var n,r=v(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,f){var l=t(function(t,r){c(t,l,e,"_i"),t._t=e,t._i=o(null),t._f=a,t._l=a,t[y]=0,r!=a&&s(r,n,t[f],t)});return i(l.prototype,{clear:function clear(){for(var t=d(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=a),delete n[r.i];t._f=t._l=a,t[y]=0},delete:function(t){var n=d(this,e),r=g(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[y]--}return!!r},forEach:function forEach(t){d(this,e);for(var n,r=u(t,arguments.length>1?arguments[1]:a,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function has(t){return!!g(d(this,e),t)}}),h&&r(l.prototype,"size",{get:function(){return d(this,e)[y]}}),l},def:function(t,e,n){var r,o,i=g(t,e);return i?i.v=n:(t._l=i={i:o=v(e,!0),k:e,v:n,p:r=t._l,n:a,r:!1},t._f||(t._f=i),r&&(r.n=i),t[y]++,"F"!==o&&(t._i[o]=i)),t},getEntry:g,setStrong:function(t,e,n){f(t,e,function(t,n){this._t=d(t,e),this._k=n,this._l=a},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?l(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=a,l(1))},n?"entries":"values",!n,!0),p(e)}}},function(t,e,n){var r=n(112),o=n(45);t.exports=n(58)("Set",function(t){return function Set(){return t(this,arguments.length>0?arguments[0]:a)}},{add:function add(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){var r,o=n(25)(0),i=n(12),u=n(29),c=n(95),s=n(115),f=n(4),l=n(3),p=n(45),h=u.getWeak,v=Object.isExtensible,d=s.ufstore,y={},g=function(t){return function WeakMap(){return t(this,arguments.length>0?arguments[0]:a)}},_={get:function get(t){if(f(t)){var e=h(t);return!0===e?d(p(this,"WeakMap")).get(t):e?e[this._i]:a}},set:function set(t,e){return s.def(p(this,"WeakMap"),t,e)}},m=t.exports=n(58)("WeakMap",g,_,s,!0,!0);l(function(){return 7!=(new m).set((Object.freeze||Object)(y),7).get(y)})&&(c((r=s.getConstructor(g,"WeakMap")).prototype,_),u.NEED=!0,o(["delete","has","get","set"],function(t){var e=m.prototype,n=e[t];i(e,t,function(e,o){if(f(e)&&!v(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){var r=n(41),o=n(29).getWeak,i=n(1),u=n(4),c=n(39),s=n(40),f=n(25),l=n(14),p=n(45),h=f(5),v=f(6),d=0,y=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},_=function(t,e){return h(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=_(this,t);if(e)return e[1]},has:function(t){return!!_(this,t)},set:function(t,e){var n=_(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=v(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var f=t(function(t,r){c(t,f,e,"_i"),t._t=e,t._i=d++,t._l=a,r!=a&&s(r,n,t[i],t)});return r(f.prototype,{delete:function(t){if(!u(t))return!1;var n=o(t);return!0===n?y(p(this,e)).delete(t):n&&l(n,this._i)&&delete n[this._i]},has:function has(t){if(!u(t))return!1;var n=o(t);return!0===n?y(p(this,e)).has(t):n&&l(n,this._i)}}),f},def:function(t,e,n){var r=o(i(e),!0);return!0===r?y(t).set(e,n):r[t._i]=n,t},ufstore:y}},function(t,e,n){var r=n(37),o=n(51),i=n(1),a=n(2).Reflect;t.exports=a&&a.ownKeys||function ownKeys(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},function(t,e,n){var r=n(23),o=n(8);t.exports=function(t){if(t===a)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(52),o=n(4),i=n(8),u=n(18),c=n(5)("isConcatSpreadable");t.exports=function flattenIntoArray(t,e,n,s,f,l,p,h){for(var v,d,y=f,g=0,_=!!p&&u(p,h,3);g0)y=flattenIntoArray(t,e,v,i(v.length),y,l-1)-1;else{if(y>=9007199254740991)throw TypeError();t[y]=v}y++}g++}return y}},function(t,e,n){var r=n(8),o=n(71),i=n(22);t.exports=function(t,e,n,u){var c=String(i(t)),s=c.length,f=n===a?" ":String(n),l=r(e);if(l<=s||""==f)return c;var p=l-s,h=o.call(f,Math.ceil(p/f.length));return h.length>p&&(h=h.slice(0,p)),u?h+c:c+h}},function(t,e,n){var r=n(34),o=n(15),i=n(47).f;t.exports=function(t){return function(e){for(var n,a=o(e),u=r(a),c=u.length,s=0,f=[];c>s;)i.call(a,n=u[s++])&&f.push(t?[n,a[n]]:a[n]);return f}}},function(t,e,n){var r=n(48),o=n(122);t.exports=function(t){return function toJSON(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return o(this)}}},function(t,e,n){var r=n(40);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e){t.exports=Math.scale||function scale(t,e,n,r,o){return 0===arguments.length||t!=t||e!=e||n!=n||r!=r||o!=o?NaN:t===1/0||t===-1/0?t:(t-e)*(o-r)/(n-e)+r}},function(t,e,n){n(125),n(127),n(128),n(129),n(130),n(131),n(132),n(133),n(134),n(135),n(136),n(137),n(138),n(139),n(140),n(141),n(143),n(144),n(145),n(146),n(147),n(148),n(149),n(150),n(151),n(152),n(153),n(154),n(155),n(156),n(157),n(158),n(159),n(160),n(161),n(162),n(163),n(164),n(165),n(166),n(167),n(168),n(169),n(170),n(171),n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(197),n(198),n(199),n(200),n(201),n(202),n(203),n(204),n(205),n(206),n(207),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(218),n(219),n(220),n(84),n(221),n(222),n(223),n(108),n(224),n(225),n(226),n(227),n(228),n(111),n(113),n(114),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(242),n(243),n(244),n(245),n(246),n(248),n(249),n(251),n(252),n(253),n(254),n(255),n(256),n(257),n(258),n(259),n(260),n(261),n(262),n(263),n(264),n(265),n(266),n(267),n(268),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(292),n(293),n(294),n(295),n(296),n(297),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),t.exports=n(320)},function(t,e,n){var r=n(2),o=n(14),i=n(6),u=n(0),c=n(12),s=n(29).KEY,f=n(3),l=n(49),p=n(42),h=n(32),v=n(5),d=n(91),y=n(64),g=n(126),_=n(52),m=n(1),b=n(4),w=n(15),k=n(21),S=n(31),T=n(36),O=n(94),P=n(16),E=n(7),M=n(34),x=P.f,I=E.f,j=O.f,F=r.Symbol,A=r.JSON,D=A&&A.stringify,C=v("_hidden"),R=v("toPrimitive"),Z={}.propertyIsEnumerable,N=l("symbol-registry"),L=l("symbols"),z=l("op-symbols"),W=Object.prototype,U="function"==typeof F,G=r.QObject,q=!G||!G.prototype||!G.prototype.findChild,B=i&&f(function(){return 7!=T(I({},"a",{get:function(){return I(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=x(W,e);r&&delete W[e],I(t,e,n),r&&t!==W&&I(W,e,r)}:I,H=function(t){var e=L[t]=T(F.prototype);return e._k=t,e},V=U&&"symbol"==typeof F.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof F},K=function defineProperty(t,e,n){return t===W&&K(z,e,n),m(t),e=k(e,!0),m(n),o(L,e)?(n.enumerable?(o(t,C)&&t[C][e]&&(t[C][e]=!1),n=T(n,{enumerable:S(0,!1)})):(o(t,C)||I(t,C,S(1,{})),t[C][e]=!0),B(t,e,n)):I(t,e,n)},X=function defineProperties(t,e){m(t);for(var n,r=g(e=w(e)),o=0,i=r.length;i>o;)K(t,n=r[o++],e[n]);return t},J=function propertyIsEnumerable(t){var e=Z.call(this,t=k(t,!0));return!(this===W&&o(L,t)&&!o(z,t))&&(!(e||!o(this,t)||!o(L,t)||o(this,C)&&this[C][t])||e)},Y=function getOwnPropertyDescriptor(t,e){if(t=w(t),e=k(e,!0),t!==W||!o(L,e)||o(z,e)){var n=x(t,e);return!n||!o(L,e)||o(t,C)&&t[C][e]||(n.enumerable=!0),n}},Q=function getOwnPropertyNames(t){for(var e,n=j(w(t)),r=[],i=0;n.length>i;)o(L,e=n[i++])||e==C||e==s||r.push(e);return r},$=function getOwnPropertySymbols(t){for(var e,n=t===W,r=j(n?z:w(t)),i=[],a=0;r.length>a;)!o(L,e=r[a++])||n&&!o(W,e)||i.push(L[e]);return i};U||(c((F=function Symbol(){if(this instanceof F)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:a),e=function(n){this===W&&e.call(z,n),o(this,C)&&o(this[C],t)&&(this[C][t]=!1),B(this,t,S(1,n))};return i&&q&&B(W,t,{configurable:!0,set:e}),H(t)}).prototype,"toString",function toString(){return this._k}),P.f=Y,E.f=K,n(37).f=O.f=Q,n(47).f=J,n(51).f=$,i&&!n(33)&&c(W,"propertyIsEnumerable",J,!0),d.f=function(t){return H(v(t))}),u(u.G+u.W+u.F*!U,{Symbol:F});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)v(tt[et++]);for(var nt=M(v.store),rt=0;nt.length>rt;)y(nt[rt++]);u(u.S+u.F*!U,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=F(t)},keyFor:function keyFor(t){if(!V(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){q=!0},useSimple:function(){q=!1}}),u(u.S+u.F*!U,"Object",{create:function create(t,e){return e===a?T(t):X(T(t),e)},defineProperty:K,defineProperties:X,getOwnPropertyDescriptor:Y,getOwnPropertyNames:Q,getOwnPropertySymbols:$}),A&&u(u.S+u.F*(!U||f(function(){var t=F();return"[null]"!=D([t])||"{}"!=D({a:t})||"{}"!=D(Object(t))})),"JSON",{stringify:function stringify(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(b(e)||t!==a)&&!V(t))return _(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!V(e))return e}),r[1]=e,D.apply(A,r)}}),F.prototype[R]||n(11)(F.prototype,R,F.prototype.valueOf),p(F,"Symbol"),p(Math,"Math",!0),p(r.JSON,"JSON",!0)},function(t,e,n){var r=n(34),o=n(51),i=n(47);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(0);r(r.S+r.F*!n(6),"Object",{defineProperty:n(7).f})},function(t,e,n){var r=n(0);r(r.S+r.F*!n(6),"Object",{defineProperties:n(93)})},function(t,e,n){var r=n(15),o=n(16).f;n(24)("getOwnPropertyDescriptor",function(){return function getOwnPropertyDescriptor(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(0);r(r.S,"Object",{create:n(36)})},function(t,e,n){var r=n(9),o=n(17);n(24)("getPrototypeOf",function(){return function getPrototypeOf(t){return o(r(t))}})},function(t,e,n){var r=n(9),o=n(34);n(24)("keys",function(){return function keys(t){return o(r(t))}})},function(t,e,n){n(24)("getOwnPropertyNames",function(){return n(94).f})},function(t,e,n){var r=n(4),o=n(29).onFreeze;n(24)("freeze",function(t){return function freeze(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4),o=n(29).onFreeze;n(24)("seal",function(t){return function seal(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4),o=n(29).onFreeze;n(24)("preventExtensions",function(t){return function preventExtensions(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(4);n(24)("isFrozen",function(t){return function isFrozen(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(4);n(24)("isSealed",function(t){return function isSealed(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(4);n(24)("isExtensible",function(t){return function isExtensible(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(0);r(r.S+r.F,"Object",{assign:n(95)})},function(t,e,n){var r=n(0);r(r.S,"Object",{is:n(142)})},function(t,e){t.exports=Object.is||function is(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){var r=n(0);r(r.S,"Object",{setPrototypeOf:n(68).set})},function(t,e,n){var r=n(48),o={};o[n(5)("toStringTag")]="z",o+""!="[object z]"&&n(12)(Object.prototype,"toString",function toString(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(0);r(r.P,"Function",{bind:n(96)})},function(t,e,n){var r=n(7).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(6)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){var r=n(4),o=n(17),i=n(5)("hasInstance"),a=Function.prototype;i in a||n(7).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(14),i=n(19),a=n(69),u=n(21),c=n(3),s=n(37).f,f=n(16).f,l=n(7).f,p=n(43).trim,h=r.Number,v=h,d=h.prototype,y="Number"==i(n(36)(d)),g="trim"in String.prototype,_=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():p(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function Number(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(_(e)),n,h):_(e)};for(var m,b=n(6)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;b.length>w;w++)o(v,m=b[w])&&!o(h,m)&&l(h,m,f(v,m));h.prototype=d,d.constructor=h,n(12)(r,"Number",h)}},function(t,e,n){var r=n(0),o=n(23),i=n(98),a=n(71),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},p=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},h=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(3)(function(){u.call({})})),"Number",{toFixed:function toFixed(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)p(1<<23),r-=23;p(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){var r=n(0),o=n(3),i=n(98),u=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==u.call(1,a)})||!o(function(){u.call({})})),"Number",{toPrecision:function toPrecision(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return t===a?u.call(e):u.call(e,t)}})},function(t,e,n){var r=n(0);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(0),o=n(2).isFinite;r(r.S,"Number",{isFinite:function isFinite(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(0);r(r.S,"Number",{isInteger:n(99)})},function(t,e,n){var r=n(0);r(r.S,"Number",{isNaN:function isNaN(t){return t!=t}})},function(t,e,n){var r=n(0),o=n(99),i=Math.abs;r(r.S,"Number",{isSafeInteger:function isSafeInteger(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(0);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(0);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(0),o=n(100);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(0),o=n(101);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(0),o=n(101);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(0),o=n(100);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){var r=n(0),o=n(102),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function acosh(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(0),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function asinh(t){return isFinite(t=+t)&&0!=t?t<0?-asinh(-t):Math.log(t+Math.sqrt(t*t+1)):t}})},function(t,e,n){var r=n(0),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function atanh(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(0),o=n(72);r(r.S,"Math",{cbrt:function cbrt(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{clz32:function clz32(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(0),o=Math.exp;r(r.S,"Math",{cosh:function cosh(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(0),o=n(73);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(0);r(r.S,"Math",{fround:n(103)})},function(t,e,n){var r=n(0),o=Math.abs;r(r.S,"Math",{hypot:function hypot(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(0),o=Math.imul;r(r.S+r.F*n(3)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function imul(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{log10:function log10(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(0);r(r.S,"Math",{log1p:n(102)})},function(t,e,n){var r=n(0);r(r.S,"Math",{log2:function log2(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(0);r(r.S,"Math",{sign:n(72)})},function(t,e,n){var r=n(0),o=n(73),i=Math.exp;r(r.S+r.F*n(3)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function sinh(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(0),o=n(73),i=Math.exp;r(r.S,"Math",{tanh:function tanh(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{trunc:function trunc(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(0),o=n(35),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function fromCodePoint(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(0),o=n(15),i=n(8);r(r.S,"String",{raw:function raw(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u1?arguments[1]:a,r=o(e.length),c=n===a?r:Math.min(o(n),r),s=String(t);return u?u.call(e,s,c):e.slice(c-s.length,c)===s}})},function(t,e,n){var r=n(0),o=n(75);r(r.P+r.F*n(76)("includes"),"String",{includes:function includes(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:a)}})},function(t,e,n){var r=n(0);r(r.P,"String",{repeat:n(71)})},function(t,e,n){var r=n(0),o=n(8),i=n(75),u="".startsWith;r(r.P+r.F*n(76)("startsWith"),"String",{startsWith:function startsWith(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:a,e.length)),r=String(t);return u?u.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){var r=n(74)(!0);n(77)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:a,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){n(13)("anchor",function(t){return function anchor(e){return t(this,"a","name",e)}})},function(t,e,n){n(13)("big",function(t){return function big(){return t(this,"big","","")}})},function(t,e,n){n(13)("blink",function(t){return function blink(){return t(this,"blink","","")}})},function(t,e,n){n(13)("bold",function(t){return function bold(){return t(this,"b","","")}})},function(t,e,n){n(13)("fixed",function(t){return function fixed(){return t(this,"tt","","")}})},function(t,e,n){n(13)("fontcolor",function(t){return function fontcolor(e){return t(this,"font","color",e)}})},function(t,e,n){n(13)("fontsize",function(t){return function fontsize(e){return t(this,"font","size",e)}})},function(t,e,n){n(13)("italics",function(t){return function italics(){return t(this,"i","","")}})},function(t,e,n){n(13)("link",function(t){return function link(e){return t(this,"a","href",e)}})},function(t,e,n){n(13)("small",function(t){return function small(){return t(this,"small","","")}})},function(t,e,n){n(13)("strike",function(t){return function strike(){return t(this,"strike","","")}})},function(t,e,n){n(13)("sub",function(t){return function sub(){return t(this,"sub","","")}})},function(t,e,n){n(13)("sup",function(t){return function sup(){return t(this,"sup","","")}})},function(t,e,n){var r=n(0);r(r.S,"Array",{isArray:n(52)})},function(t,e,n){var r=n(18),o=n(0),i=n(9),u=n(104),c=n(79),s=n(8),f=n(80),l=n(81);o(o.S+o.F*!n(54)(function(t){Array.from(t)}),"Array",{from:function from(t){var e,n,o,p,h=i(t),v="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:a,g=y!==a,_=0,m=l(h);if(g&&(y=r(y,d>2?arguments[2]:a,2)),m==a||v==Array&&c(m))for(n=new v(e=s(h.length));e>_;_++)f(n,_,g?y(h[_],_):h[_]);else for(p=m.call(h),n=new v;!(o=p.next()).done;_++)f(n,_,g?u(p,y,[o.value,_],!0):o.value);return n.length=_,n}})},function(t,e,n){var r=n(0),o=n(80);r(r.S+r.F*n(3)(function(){function F(){}return!(Array.of.call(F)instanceof F)}),"Array",{of:function of(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){var r=n(0),o=n(15),i=[].join;r(r.P+r.F*(n(46)!=Object||!n(20)(i)),"Array",{join:function join(t){return i.call(o(this),t===a?",":t)}})},function(t,e,n){var r=n(0),o=n(67),i=n(19),u=n(35),c=n(8),s=[].slice;r(r.P+r.F*n(3)(function(){o&&s.call(o)}),"Array",{slice:function slice(t,e){var n=c(this.length),r=i(this);if(e=e===a?n:e,"Array"==r)return s.call(this,t,e);for(var o=u(t,n),f=u(e,n),l=c(f-o),p=new Array(l),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(0);r(r.P,"Array",{copyWithin:n(106)}),n(30)("copyWithin")},function(t,e,n){var r=n(0);r(r.P,"Array",{fill:n(83)}),n(30)("fill")},function(t,e,n){var r=n(0),o=n(25)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function find(t){return o(this,t,arguments.length>1?arguments[1]:a)}}),n(30)("find")},function(t,e,n){var r=n(0),o=n(25)(6),i="findIndex",u=!0;i in[]&&Array(1)[i](function(){u=!1}),r(r.P+r.F*u,"Array",{findIndex:function findIndex(t){return o(this,t,arguments.length>1?arguments[1]:a)}}),n(30)(i)},function(t,e,n){n(38)("Array")},function(t,e,n){var r=n(2),o=n(69),i=n(7).f,u=n(37).f,c=n(53),s=n(55),f=r.RegExp,l=f,p=f.prototype,h=/a/g,v=/a/g,d=new f(h)!==h;if(n(6)&&(!d||n(3)(function(){return v[n(5)("match")]=!1,f(h)!=h||f(v)==v||"/a/i"!=f(h,"i")}))){f=function RegExp(t,e){var n=this instanceof f,r=c(t),i=e===a;return!n&&r&&t.constructor===f&&i?t:o(d?new l(r&&!i?t.source:t,e):l((r=t instanceof f)?t.source:t,r&&i?s.call(t):e),n?this:p,f)};for(var y=function(t){t in f||i(f,t,{configurable:!0,get:function(){return l[t]},set:function(e){l[t]=e}})},g=u(l),_=0;g.length>_;)y(g[_++]);p.constructor=f,f.prototype=p,n(12)(r,"RegExp",f)}n(38)("RegExp")},function(t,e,n){n(108);var r=n(1),o=n(55),i=n(6),u=/./.toString,c=function(t){n(12)(RegExp.prototype,"toString",t,!0)};n(3)(function(){return"/a/b"!=u.call({source:"a",flags:"b"})})?c(function toString(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):a)}):"toString"!=u.name&&c(function toString(){return u.call(this)})},function(t,e,n){n(56)("match",1,function(t,e,n){return[function match(n){var r=t(this),o=n==a?a:n[e];return o!==a?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(56)("replace",2,function(t,e,n){return[function replace(r,o){var i=t(this),u=r==a?a:r[e];return u!==a?u.call(r,i,o):n.call(String(i),r,o)},n]})},function(t,e,n){n(56)("search",1,function(t,e,n){return[function search(n){var r=t(this),o=n==a?a:n[e];return o!==a?o.call(n,r):new RegExp(n)[e](String(r))},n]})},function(t,e,n){n(56)("split",2,function(t,e,r){var o=n(53),i=r,u=[].push;if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length){var c=/()??/.exec("")[1]===a;r=function(t,e){var n=String(this);if(t===a&&0===e)return[];if(!o(t))return i.call(n,t,e);var r,s,f,l,p,h=[],v=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),d=0,y=e===a?4294967295:e>>>0,g=new RegExp(t.source,v+"g");for(c||(r=new RegExp("^"+g.source+"$(?!\\s)",v));(s=g.exec(n))&&!((f=s.index+s[0].length)>d&&(h.push(n.slice(d,s.index)),!c&&s.length>1&&s[0].replace(r,function(){for(p=1;p1&&s.index=y));)g.lastIndex===s.index&&g.lastIndex++;return d===n.length?!l&&g.test("")||h.push(""):h.push(n.slice(d)),h.length>y?h.slice(0,y):h}}else"0".split(a,0).length&&(r=function(t,e){return t===a&&0===e?[]:i.call(this,t,e)});return[function split(n,o){var i=t(this),u=n==a?a:n[e];return u!==a?u.call(n,i,o):r.call(String(i),n,o)},r]})},function(t,e,n){var r,o,i,u,c=n(33),s=n(2),f=n(18),l=n(48),p=n(0),h=n(4),v=n(10),d=n(39),y=n(40),g=n(57),_=n(85).set,m=n(86)(),b=n(87),w=n(109),k=n(110),S=s.TypeError,T=s.process,O=s.Promise,P="process"==l(T),E=function(){},M=o=b.f,x=!!function(){try{var t=O.resolve(1),e=(t.constructor={})[n(5)("species")]=function(t){t(E,E)};return(P||"function"==typeof PromiseRejectionEvent)&&t.then(E)instanceof e}catch(t){}}(),I=function(t){var e;return!(!h(t)||"function"!=typeof(e=t.then))&&e},j=function(t,e){if(!t._n){t._n=!0;var n=t._c;m(function(){for(var r=t._v,o=1==t._s,i=0,a=function(e){var n,i,a,u=o?e.ok:e.fail,c=e.resolve,s=e.reject,f=e.domain;try{u?(o||(2==t._h&&D(t),t._h=1),!0===u?n=r:(f&&f.enter(),n=u(r),f&&(f.exit(),a=!0)),n===e.promise?s(S("Promise-chain cycle")):(i=I(n))?i.call(n,c,s):c(n)):s(r)}catch(t){f&&!a&&f.exit(),s(t)}};n.length>i;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&F(t)})}},F=function(t){_.call(s,function(){var e,n,r,o=t._v,i=A(t);if(i&&(e=w(function(){P?T.emit("unhandledRejection",o,t):(n=s.onunhandledrejection)?n({promise:t,reason:o}):(r=s.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=P||A(t)?2:1),t._a=a,i&&e.e)throw e.v})},A=function(t){return 1!==t._h&&0===(t._a||t._c).length},D=function(t){_.call(s,function(){var e;P?T.emit("rejectionHandled",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},C=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),j(e,!0))},R=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw S("Promise can't be resolved itself");(e=I(t))?m(function(){var r={_w:n,_d:!1};try{e.call(t,f(R,r,1),f(C,r,1))}catch(t){C.call(r,t)}}):(n._v=t,n._s=1,j(n,!1))}catch(t){C.call({_w:n,_d:!1},t)}}};x||(O=function Promise(t){d(this,O,"Promise","_h"),v(t),r.call(this);try{t(f(R,this,1),f(C,this,1))}catch(t){C.call(this,t)}},(r=function Promise(t){this._c=[],this._a=a,this._s=0,this._d=!1,this._v=a,this._h=0,this._n=!1}).prototype=n(41)(O.prototype,{then:function then(t,e){var n=M(g(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?T.domain:a,this._c.push(n),this._a&&this._a.push(n),this._s&&j(this,!1),n.promise},catch:function(t){return this.then(a,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=f(R,t,1),this.reject=f(C,t,1)},b.f=M=function(t){return t===O||t===u?new i(t):o(t)}),p(p.G+p.W+p.F*!x,{Promise:O}),n(42)(O,"Promise"),n(38)("Promise"),u=n(28).Promise,p(p.S+p.F*!x,"Promise",{reject:function reject(t){var e=M(this);return(0,e.reject)(t),e.promise}}),p(p.S+p.F*(c||!x),"Promise",{resolve:function resolve(t){return k(c&&this===u?O:this,t)}}),p(p.S+p.F*!(x&&n(54)(function(t){O.all(t).catch(E)})),"Promise",{all:function all(t){var e=this,n=M(e),r=n.resolve,o=n.reject,i=w(function(){var n=[],i=0,u=1;y(t,!1,function(t){var c=i++,s=!1;n.push(a),u++,e.resolve(t).then(function(t){s||(s=!0,n[c]=t,--u||r(n))},o)}),--u||r(n)});return i.e&&o(i.v),n.promise},race:function race(t){var e=this,n=M(e),r=n.reject,o=w(function(){y(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){var r=n(115),o=n(45);n(58)("WeakSet",function(t){return function WeakSet(){return t(this,arguments.length>0?arguments[0]:a)}},{add:function add(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){var r=n(0),o=n(10),i=n(1),a=(n(2).Reflect||{}).apply,u=Function.apply;r(r.S+r.F*!n(3)(function(){a(function(){})}),"Reflect",{apply:function apply(t,e,n){var r=o(t),c=i(n);return a?a(r,e,c):u.call(r,e,c)}})},function(t,e,n){var r=n(0),o=n(36),i=n(10),a=n(1),u=n(4),c=n(3),s=n(96),f=(n(2).Reflect||{}).construct,l=c(function(){function F(){}return!(f(function(){},[],F)instanceof F)}),p=!c(function(){f(function(){})});r(r.S+r.F*(l||p),"Reflect",{construct:function construct(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(p&&!l)return f(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(s.apply(t,r))}var c=n.prototype,h=o(u(c)?c:Object.prototype),v=Function.apply.call(t,h,e);return u(v)?v:h}})},function(t,e,n){var r=n(7),o=n(0),i=n(1),a=n(21);o(o.S+o.F*n(3)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function defineProperty(t,e,n){i(t),e=a(e,!0),i(n);try{return r.f(t,e,n),!0}catch(t){return!1}}})},function(t,e,n){var r=n(0),o=n(16).f,i=n(1);r(r.S,"Reflect",{deleteProperty:function deleteProperty(t,e){var n=o(i(t),e);return!(n&&!n.configurable)&&delete t[e]}})},function(t,e,n){var r=n(0),o=n(1),i=function(t){this._t=o(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)};n(78)(i,"Object",function(){var t,e=this._k;do{if(this._i>=e.length)return{value:a,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function enumerate(t){return new i(t)}})},function(t,e,n){var r=n(16),o=n(17),i=n(14),u=n(0),c=n(4),s=n(1);u(u.S,"Reflect",{get:function get(t,e){var n,u,f=arguments.length<3?t:arguments[2];return s(t)===f?t[e]:(n=r.f(t,e))?i(n,"value")?n.value:n.get!==a?n.get.call(f):a:c(u=o(t))?get(u,e,f):void 0}})},function(t,e,n){var r=n(16),o=n(0),i=n(1);o(o.S,"Reflect",{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(0),o=n(17),i=n(1);r(r.S,"Reflect",{getPrototypeOf:function getPrototypeOf(t){return o(i(t))}})},function(t,e,n){var r=n(0);r(r.S,"Reflect",{has:function has(t,e){return e in t}})},function(t,e,n){var r=n(0),o=n(1),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function isExtensible(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(0);r(r.S,"Reflect",{ownKeys:n(116)})},function(t,e,n){var r=n(0),o=n(1),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function preventExtensions(t){o(t);try{return i&&i(t),!0}catch(t){return!1}}})},function(t,e,n){var r=n(7),o=n(16),i=n(17),u=n(14),c=n(0),s=n(31),f=n(1),l=n(4);c(c.S,"Reflect",{set:function set(t,e,n){var c,p,h=arguments.length<4?t:arguments[3],v=o.f(f(t),e);if(!v){if(l(p=i(t)))return set(p,e,n,h);v=s(0)}if(u(v,"value")){if(!1===v.writable||!l(h))return!1;if(c=o.f(h,e)){if(c.get||c.set||!1===c.writable)return!1;c.value=n,r.f(h,e,c)}else r.f(h,e,s(0,n));return!0}return v.set!==a&&(v.set.call(h,n),!0)}})},function(t,e,n){var r=n(0),o=n(68);o&&r(r.S,"Reflect",{setPrototypeOf:function setPrototypeOf(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(t){return!1}}})},function(t,e,n){var r=n(0);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){var r=n(0),o=n(9),i=n(21);r(r.P+r.F*n(3)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function toJSON(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(0),o=n(247);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){var r=n(3),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function toISOString(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(12)(r,"toString",function toString(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(5)("toPrimitive"),o=Date.prototype;r in o||n(11)(o,r,n(250))},function(t,e,n){var r=n(1),o=n(21);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(0),o=n(59),i=n(88),u=n(1),c=n(35),s=n(8),f=n(4),l=n(2).ArrayBuffer,p=n(57),h=i.ArrayBuffer,v=i.DataView,d=o.ABV&&l.isView,y=h.prototype.slice,g=o.VIEW;r(r.G+r.W+r.F*(l!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function isView(t){return d&&d(t)||f(t)&&g in t}}),r(r.P+r.U+r.F*n(3)(function(){return!new h(2).slice(1,a).byteLength}),"ArrayBuffer",{slice:function slice(t,e){if(y!==a&&e===a)return y.call(u(this),t);for(var n=u(this).byteLength,r=c(t,n),o=c(e===a?n:e,n),i=new(p(this,h))(s(o-r)),f=new v(this),l=new v(i),d=0;r1?arguments[1]:a)}}),n(30)("includes")},function(t,e,n){var r=n(0),o=n(118),i=n(9),a=n(8),u=n(10),c=n(82);r(r.P,"Array",{flatMap:function flatMap(t){var e,n,r=i(this);return u(t),e=a(r.length),n=c(r,0),o(n,r,r,e,0,1,t,arguments[1]),n}}),n(30)("flatMap")},function(t,e,n){var r=n(0),o=n(118),i=n(9),u=n(8),c=n(23),s=n(82);r(r.P,"Array",{flatten:function flatten(){var t=arguments[0],e=i(this),n=u(e.length),r=s(e,0);return o(r,e,e,n,0,t===a?1:c(t)),r}}),n(30)("flatten")},function(t,e,n){var r=n(0),o=n(74)(!0);r(r.P,"String",{at:function at(t){return o(this,t)}})},function(t,e,n){var r=n(0),o=n(119),i=n(89);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(i),"String",{padStart:function padStart(t){return o(this,t,arguments.length>1?arguments[1]:a,!0)}})},function(t,e,n){var r=n(0),o=n(119),i=n(89);r(r.P+r.F*/Version\/10\.\d+(\.\d+)? Safari\//.test(i),"String",{padEnd:function padEnd(t){return o(this,t,arguments.length>1?arguments[1]:a,!1)}})},function(t,e,n){n(43)("trimLeft",function(t){return function trimLeft(){return t(this,1)}},"trimStart")},function(t,e,n){n(43)("trimRight",function(t){return function trimRight(){return t(this,2)}},"trimEnd")},function(t,e,n){var r=n(0),o=n(22),i=n(8),a=n(53),u=n(55),c=RegExp.prototype,s=function(t,e){this._r=t,this._s=e};n(78)(s,"RegExp String",function next(){var t=this._r.exec(this._s);return{value:t,done:null===t}}),r(r.P,"String",{matchAll:function matchAll(t){if(o(this),!a(t))throw TypeError(t+" is not a regexp!");var e=String(this),n="flags"in c?String(t.flags):u.call(t),r=new RegExp(t.source,~n.indexOf("g")?n:"g"+n);return r.lastIndex=i(t.lastIndex),new s(r,e)}})},function(t,e,n){n(64)("asyncIterator")},function(t,e,n){n(64)("observable")},function(t,e,n){var r=n(0),o=n(116),i=n(15),u=n(16),c=n(80);r(r.S,"Object",{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(t){for(var e,n,r=i(t),s=u.f,f=o(r),l={},p=0;f.length>p;)(n=s(r,e=f[p++]))!==a&&c(l,e,n);return l}})},function(t,e,n){var r=n(0),o=n(120)(!1);r(r.S,"Object",{values:function values(t){return o(t)}})},function(t,e,n){var r=n(0),o=n(120)(!0);r(r.S,"Object",{entries:function entries(t){return o(t)}})},function(t,e,n){var r=n(0),o=n(9),i=n(10),a=n(7);n(6)&&r(r.P+n(60),"Object",{__defineGetter__:function __defineGetter__(t,e){a.f(o(this),t,{get:i(e),enumerable:!0,configurable:!0})}})},function(t,e,n){var r=n(0),o=n(9),i=n(10),a=n(7);n(6)&&r(r.P+n(60),"Object",{__defineSetter__:function __defineSetter__(t,e){a.f(o(this),t,{set:i(e),enumerable:!0,configurable:!0})}})},function(t,e,n){var r=n(0),o=n(9),i=n(21),a=n(17),u=n(16).f;n(6)&&r(r.P+n(60),"Object",{__lookupGetter__:function __lookupGetter__(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.get}while(n=a(n))}})},function(t,e,n){var r=n(0),o=n(9),i=n(21),a=n(17),u=n(16).f;n(6)&&r(r.P+n(60),"Object",{__lookupSetter__:function __lookupSetter__(t){var e,n=o(this),r=i(t,!0);do{if(e=u(n,r))return e.set}while(n=a(n))}})},function(t,e,n){var r=n(0);r(r.P+r.R,"Map",{toJSON:n(121)("Map")})},function(t,e,n){var r=n(0);r(r.P+r.R,"Set",{toJSON:n(121)("Set")})},function(t,e,n){n(61)("Map")},function(t,e,n){n(61)("Set")},function(t,e,n){n(61)("WeakMap")},function(t,e,n){n(61)("WeakSet")},function(t,e,n){n(62)("Map")},function(t,e,n){n(62)("Set")},function(t,e,n){n(62)("WeakMap")},function(t,e,n){n(62)("WeakSet")},function(t,e,n){var r=n(0);r(r.G,{global:n(2)})},function(t,e,n){var r=n(0);r(r.S,"System",{global:n(2)})},function(t,e,n){var r=n(0),o=n(19);r(r.S,"Error",{isError:function isError(t){return"Error"===o(t)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{clamp:function clamp(t,e,n){return Math.min(n,Math.max(e,t))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{DEG_PER_RAD:Math.PI/180})},function(t,e,n){var r=n(0),o=180/Math.PI;r(r.S,"Math",{degrees:function degrees(t){return t*o}})},function(t,e,n){var r=n(0),o=n(123),i=n(103);r(r.S,"Math",{fscale:function fscale(t,e,n,r,a){return i(o(t,e,n,r,a))}})},function(t,e,n){var r=n(0);r(r.S,"Math",{iaddh:function iaddh(t,e,n,r){var o=t>>>0,i=n>>>0;return(e>>>0)+(r>>>0)+((o&i|(o|i)&~(o+i>>>0))>>>31)|0}})},function(t,e,n){var r=n(0);r(r.S,"Math",{isubh:function isubh(t,e,n,r){var o=t>>>0,i=n>>>0;return(e>>>0)-(r>>>0)-((~o&i|~(o^i)&o-i>>>0)>>>31)|0}})},function(t,e,n){var r=n(0);r(r.S,"Math",{imulh:function imulh(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>16,u=r>>16,c=(a*i>>>0)+(o*i>>>16);return a*u+(c>>16)+((o*u>>>0)+(65535&c)>>16)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{RAD_PER_DEG:180/Math.PI})},function(t,e,n){var r=n(0),o=Math.PI/180;r(r.S,"Math",{radians:function radians(t){return t*o}})},function(t,e,n){var r=n(0);r(r.S,"Math",{scale:n(123)})},function(t,e,n){var r=n(0);r(r.S,"Math",{umulh:function umulh(t,e){var n=+t,r=+e,o=65535&n,i=65535&r,a=n>>>16,u=r>>>16,c=(a*i>>>0)+(o*i>>>16);return a*u+(c>>>16)+((o*u>>>0)+(65535&c)>>>16)}})},function(t,e,n){var r=n(0);r(r.S,"Math",{signbit:function signbit(t){return(t=+t)!=t?t:0==t?1/t==1/0:t>0}})},function(t,e,n){var r=n(0),o=n(28),i=n(2),a=n(57),u=n(110);r(r.P+r.R,"Promise",{finally:function(t){var e=a(this,o.Promise||i.Promise),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then(function(){return n})}:t,n?function(n){return u(e,t()).then(function(){throw n})}:t)}})},function(t,e,n){var r=n(0),o=n(87),i=n(109);r(r.S,"Promise",{try:function(t){var e=o.f(this),n=i(t);return(n.e?e.reject:e.resolve)(n.v),e.promise}})},function(t,e,n){var r=n(27),o=n(1),i=r.key,a=r.set;r.exp({defineMetadata:function defineMetadata(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(27),o=n(1),i=r.key,u=r.map,c=r.store;r.exp({deleteMetadata:function deleteMetadata(t,e){var n=arguments.length<3?a:i(arguments[2]),r=u(o(e),n,!1);if(r===a||!r.delete(t))return!1;if(r.size)return!0;var s=c.get(e);return s.delete(n),!!s.size||c.delete(e)}})},function(t,e,n){var r=n(27),o=n(1),i=n(17),u=r.has,c=r.get,s=r.key,f=function(t,e,n){if(u(t,e,n))return c(t,e,n);var r=i(e);return null!==r?f(t,r,n):a};r.exp({getMetadata:function getMetadata(t,e){return f(t,o(e),arguments.length<3?a:s(arguments[2]))}})},function(t,e,n){var r=n(113),o=n(122),i=n(27),u=n(1),c=n(17),s=i.keys,f=i.key,l=function(t,e){var n=s(t,e),i=c(t);if(null===i)return n;var a=l(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function getMetadataKeys(t){return l(u(t),arguments.length<2?a:f(arguments[1]))}})},function(t,e,n){var r=n(27),o=n(1),i=r.get,u=r.key;r.exp({getOwnMetadata:function getOwnMetadata(t,e){return i(t,o(e),arguments.length<3?a:u(arguments[2]))}})},function(t,e,n){var r=n(27),o=n(1),i=r.keys,u=r.key;r.exp({getOwnMetadataKeys:function getOwnMetadataKeys(t){return i(o(t),arguments.length<2?a:u(arguments[1]))}})},function(t,e,n){var r=n(27),o=n(1),i=n(17),u=r.has,c=r.key,s=function(t,e,n){if(u(t,e,n))return!0;var r=i(e);return null!==r&&s(t,r,n)};r.exp({hasMetadata:function hasMetadata(t,e){return s(t,o(e),arguments.length<3?a:c(arguments[2]))}})},function(t,e,n){var r=n(27),o=n(1),i=r.has,u=r.key;r.exp({hasOwnMetadata:function hasOwnMetadata(t,e){return i(t,o(e),arguments.length<3?a:u(arguments[2]))}})},function(t,e,n){var r=n(27),o=n(1),i=n(10),u=r.key,c=r.set;r.exp({metadata:function metadata(t,e){return function decorator(n,r){c(t,e,(r!==a?o:i)(n),u(r))}}})},function(t,e,n){var r=n(0),o=n(86)(),i=n(2).process,a="process"==n(19)(i);r(r.G,{asap:function asap(t){var e=a&&i.domain;o(e?e.bind(t):t)}})},function(t,e,n){var r=n(0),o=n(2),i=n(28),u=n(86)(),c=n(5)("observable"),s=n(10),f=n(1),l=n(39),p=n(41),h=n(11),v=n(40),d=v.RETURN,y=function(t){return null==t?a:s(t)},g=function(t){var e=t._c;e&&(t._c=a,e())},_=function(t){return t._o===a},m=function(t){_(t)||(t._o=a,g(t))},b=function(t,e){f(t),this._c=a,this._o=t,t=new w(this);try{var n=e(t),r=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:s(n),this._c=n)}catch(e){return void t.error(e)}_(this)&&g(this)};b.prototype=p({},{unsubscribe:function unsubscribe(){m(this)}});var w=function(t){this._s=t};w.prototype=p({},{next:function next(t){var e=this._s;if(!_(e)){var n=e._o;try{var r=y(n.next);if(r)return r.call(n,t)}catch(t){try{m(e)}finally{throw t}}}},error:function error(t){var e=this._s;if(_(e))throw t;var n=e._o;e._o=a;try{var r=y(n.error);if(!r)throw t;t=r.call(n,t)}catch(t){try{g(e)}finally{throw t}}return g(e),t},complete:function complete(t){var e=this._s;if(!_(e)){var n=e._o;e._o=a;try{var r=y(n.complete);t=r?r.call(n,t):a}catch(t){try{g(e)}finally{throw t}}return g(e),t}}});var k=function Observable(t){l(this,k,"Observable","_f")._f=s(t)};p(k.prototype,{subscribe:function subscribe(t){return new b(t,this._f)},forEach:function forEach(t){var e=this;return new(i.Promise||o.Promise)(function(n,r){s(t);var o=e.subscribe({next:function(e){try{return t(e)}catch(t){r(t),o.unsubscribe()}},error:r,complete:n})})}}),p(k,{from:function from(t){var e="function"==typeof this?this:k,n=y(f(t)[c]);if(n){var r=f(n.call(t));return r.constructor===e?r:new e(function(t){return r.subscribe(t)})}return new e(function(e){var n=!1;return u(function(){if(!n){try{if(v(t,!1,function(t){if(e.next(t),n)return d})===d)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function of(){for(var t=0,e=arguments.length,n=new Array(e);t2,o=!!r&&a.call(arguments,2);return t(r?function(){("function"==typeof e?e:Function(e)).apply(this,o)}:e,n)}};o(o.G+o.B+o.F*u,{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})}]),void 0!==t&&t.exports?t.exports=o:(r=function(){return o}.call(e,n,e,t))===a||(t.exports=r)}(1,1)},246:function(t,e,n){(function(t,e){ +/*! ***************************************************************************** +Copyright (C) Microsoft. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ +var n;!function(n){!function(r){var o="object"==typeof e?e:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),i=makeExporter(n);function makeExporter(t,e){return function(n,r){"function"!=typeof t[n]&&Object.defineProperty(t,n,{configurable:!0,writable:!0,value:r}),e&&e(n,r)}}void 0===o.Reflect?o.Reflect=n:i=makeExporter(o.Reflect,i),function(e){var n=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,o=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",i=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",a="function"==typeof Object.create,u={__proto__:[]}instanceof Array,c=!a&&!u,s={create:a?function(){return MakeDictionary(Object.create(null))}:u?function(){return MakeDictionary({__proto__:null})}:function(){return MakeDictionary({})},has:c?function(t,e){return n.call(t,e)}:function(t,e){return e in t},get:c?function(t,e){return n.call(t,e)?t[e]:void 0}:function(t,e){return t[e]}},f=Object.getPrototypeOf(Function),l="object"==typeof t&&Object({ENV:"build"})&&"true"===Object({ENV:"build"}).REFLECT_METADATA_USE_MAP_POLYFILL,p=l||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?function CreateMapPolyfill(){var t={},e=[],n=function(){function MapIterator(t,e,n){this._index=0,this._keys=t,this._values=e,this._selector=n}return MapIterator.prototype["@@iterator"]=function(){return this},MapIterator.prototype[i]=function(){return this},MapIterator.prototype.next=function(){var t=this._index;if(t>=0&&t=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},MapIterator.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},MapIterator.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},MapIterator}();return function(){function Map(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(Map.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),Map.prototype.has=function(t){return this._find(t,!1)>=0},Map.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},Map.prototype.set=function(t,e){var n=this._find(t,!0);return this._values[n]=e,this},Map.prototype.delete=function(e){var n=this._find(e,!1);if(n>=0){for(var r=this._keys.length,o=n+1;o=0;--n){var r=t[n],o=r(e);if(!IsUndefined(o)&&!IsNull(o)){if(!IsConstructor(o))throw new TypeError;e=o}}return e}(t,e)}if(!IsArray(t))throw new TypeError;if(!IsObject(e))throw new TypeError;if(!IsObject(r)&&!IsUndefined(r)&&!IsNull(r))throw new TypeError;return IsNull(r)&&(r=void 0),n=ToPropertyKey(n),function DecorateProperty(t,e,n,r){for(var o=t.length-1;o>=0;--o){var i=t[o],a=i(e,n,r);if(!IsUndefined(a)&&!IsNull(a)){if(!IsObject(a))throw new TypeError;r=a}}return r}(t,e,n,r)}),e("metadata",function metadata(t,e){return function decorator(n,r){if(!IsObject(n))throw new TypeError;if(!IsUndefined(r)&&!function IsPropertyKey(t){switch(Type(t)){case 3:case 4:return!0;default:return!1}}(r))throw new TypeError;OrdinaryDefineOwnMetadata(t,e,n,r)}}),e("defineMetadata",function defineMetadata(t,e,n,r){if(!IsObject(n))throw new TypeError;IsUndefined(r)||(r=ToPropertyKey(r));return OrdinaryDefineOwnMetadata(t,e,n,r)}),e("hasMetadata",function hasMetadata(t,e,n){if(!IsObject(e))throw new TypeError;IsUndefined(n)||(n=ToPropertyKey(n));return function OrdinaryHasMetadata(t,e,n){var r=OrdinaryHasOwnMetadata(t,e,n);if(r)return!0;var o=OrdinaryGetPrototypeOf(e);if(!IsNull(o))return OrdinaryHasMetadata(t,o,n);return!1}(t,e,n)}),e("hasOwnMetadata",function hasOwnMetadata(t,e,n){if(!IsObject(e))throw new TypeError;IsUndefined(n)||(n=ToPropertyKey(n));return OrdinaryHasOwnMetadata(t,e,n)}),e("getMetadata",function getMetadata(t,e,n){if(!IsObject(e))throw new TypeError;IsUndefined(n)||(n=ToPropertyKey(n));return function OrdinaryGetMetadata(t,e,n){var r=OrdinaryHasOwnMetadata(t,e,n);if(r)return OrdinaryGetOwnMetadata(t,e,n);var o=OrdinaryGetPrototypeOf(e);if(!IsNull(o))return OrdinaryGetMetadata(t,o,n);return}(t,e,n)}),e("getOwnMetadata",function getOwnMetadata(t,e,n){if(!IsObject(e))throw new TypeError;IsUndefined(n)||(n=ToPropertyKey(n));return OrdinaryGetOwnMetadata(t,e,n)}),e("getMetadataKeys",function getMetadataKeys(t,e){if(!IsObject(t))throw new TypeError;IsUndefined(e)||(e=ToPropertyKey(e));return function OrdinaryMetadataKeys(t,e){var n=OrdinaryOwnMetadataKeys(t,e);var r=OrdinaryGetPrototypeOf(t);if(null===r)return n;var o=OrdinaryMetadataKeys(r,e);if(o.length<=0)return n;if(n.length<=0)return o;var i=new h;var a=[];for(var u=0,c=n;u0)return!0;var o=v.get(e);return o.delete(n),o.size>0||(v.delete(e),!0)})}(i)}()}(n||(n={}))}).call(e,n(67),n(6))},247:function(t,e,n){(function(t){(function(){"use strict"; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){var e=t.performance;function mark(t){e&&e.mark&&e.mark(t)}function performanceMeasure(t,n){e&&e.measure&&e.measure(t,n)}if(mark("Zone"),t.Zone)throw new Error("Zone already loaded.");var n,r=function(){function Zone(t,e){this._properties=null,this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new i(this,this._parent&&this._parent._zoneDelegate,e)}return Zone.assertZonePatched=function(){if(t.Promise!==k.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(Zone,"root",{get:function(){for(var t=Zone.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(Zone,"current",{get:function(){return T.zone},enumerable:!0,configurable:!0}),Object.defineProperty(Zone,"currentTask",{get:function(){return O},enumerable:!0,configurable:!0}),Zone.__load_patch=function(e,n){if(k.hasOwnProperty(e))throw Error("Already loaded patch: "+e);if(!t["__Zone_disable_"+e]){var r="Zone:"+e;mark(r),k[e]=n(t,Zone,S),performanceMeasure(r,r)}},Object.defineProperty(Zone.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(Zone.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),Zone.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},Zone.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},Zone.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},Zone.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},Zone.prototype.run=function(t,e,n,r){void 0===e&&(e=void 0),void 0===n&&(n=null),void 0===r&&(r=null),T={parent:T,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{T=T.parent}},Zone.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),void 0===n&&(n=null),void 0===r&&(r=null),T={parent:T,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(t){if(this._zoneDelegate.handleError(this,t))throw t}}finally{T=T.parent}},Zone.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||p).name+"; Execution: "+this.name+")");if(!(t.state===h)||t.type!==w){var r=t.state!=y;r&&t._transitionTo(y,d),t.runCount++;var o=O;O=t,T={parent:T,zone:this};try{t.type==b&&t.data&&!t.data.isPeriodic&&(t.cancelFn=null);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(t){if(this._zoneDelegate.handleError(this,t))throw t}}finally{t.state!==h&&t.state!==_&&(t.type==w||t.data&&t.data.isPeriodic?r&&t._transitionTo(d,y):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(h,y,h))),T=T.parent,O=o}}},Zone.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(v,h);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(e){throw t._transitionTo(_,v,h),this._zoneDelegate.handleError(this,e),e}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==v&&t._transitionTo(d,v),t},Zone.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new a(m,t,e,n,r,null))},Zone.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new a(b,t,e,n,r,o))},Zone.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new a(w,t,e,n,r,o))},Zone.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||p).name+"; Execution: "+this.name+")");t._transitionTo(g,d,y);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(_,g),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(h,g),t.runCount=0,t},Zone.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},ZoneDelegate}(),a=function(){function ZoneTask(e,n,r,o,i,a){this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=e,this.source=n,this.data=o,this.scheduleFn=i,this.cancelFn=a,this.callback=r;var u=this;e===w&&o&&o.useG?this.invoke=ZoneTask.invokeTask:this.invoke=function(){return ZoneTask.invokeTask.call(t,u,this,arguments)}}return ZoneTask.invokeTask=function(t,e,n){t||(t=this),P++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==P&&drainMicroTaskQueue(),P--}},Object.defineProperty(ZoneTask.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(ZoneTask.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),ZoneTask.prototype.cancelScheduleRequest=function(){this._transitionTo(h,v)},ZoneTask.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==h&&(this._zoneDelegates=null)},ZoneTask.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId:Object.prototype.toString.call(this)},ZoneTask.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},ZoneTask}(),u=__symbol__("setTimeout"),c=__symbol__("Promise"),s=__symbol__("then"),f=[],l=!1;function scheduleMicroTask(e){0===P&&0===f.length&&(n||t[c]&&(n=t[c].resolve(0)),n?n[s](drainMicroTaskQueue):t[u](drainMicroTaskQueue,0)),e&&f.push(e)}function drainMicroTaskQueue(){if(!l){for(l=!0;f.length;){var t=f;f=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=wrapWithCurrentZone(t[n],e+"_"+n));return t}function isPropertyWritable(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var m="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,b=!("nw"in y)&&void 0!==y.process&&"[object process]"==={}.toString.call(y.process),w=!b&&!m&&!(!v||!d.HTMLElement),k=void 0!==y.process&&"[object process]"==={}.toString.call(y.process)&&!m&&!(!v||!d.HTMLElement),S={},T=function(t){if(t=t||y.event){var e=S[t.type];e||(e=S[t.type]=h("ON_PROPERTY"+t.type));var n=(this||t.target||y)[e],r=n&&n.apply(this,arguments);return null==r||r||t.preventDefault(),r}};function patchProperty(t,r,o){var i=e(t,r);!i&&o&&(e(o,r)&&(i={enumerable:!0,configurable:!0}));if(i&&i.configurable){delete i.writable,delete i.value;var a=i.get,u=i.set,c=r.substr(2),s=S[c];s||(s=S[c]=h("ON_PROPERTY"+c)),i.set=function(e){var n=this;(n||t!==y||(n=y),n)&&(n[s]&&n.removeEventListener(c,T),u&&u.apply(n,_),"function"==typeof e?(n[s]=e,n.addEventListener(c,T,!1)):n[s]=null)},i.get=function(){var e=this;if(e||t!==y||(e=y),!e)return null;var n=e[s];if(n)return n;if(a){var o=a&&a.call(this);if(o)return i.set.call(this,o),"function"==typeof e[g]&&e.removeAttribute(r),o}return null},n(t,r,i)}}function patchOnProperties(t,e,n){if(e)for(var r=0;r1?new r(t,n):new r(t),l=e(f,"onmessage");return l&&!1===l.configurable?(c=o(f),s=f,[a,u,"send","close"].forEach(function(t){c[t]=function(){var e=i.call(arguments);if(t===a||t===u){var n=e.length>0?e[0]:void 0;if(n){var r=Zone.__symbol__("ON_PROPERTY"+n);f[r]=c[r]}}return f[t].apply(f,e)}})):c=f,patchOnProperties(c,["close","error","message","open"],s),c};var c=n.WebSocket;for(var s in r)c[s]=r[s]}(0,c)}}var K=h("unbound");function patchEvent(t,e){!function patchEventPrototype(t,e){var n=t.Event;n&&n.prototype&&e.patchMethod(n.prototype,"stopImmediatePropagation",function(t){return function(e,n){e[F]=!0,t&&t.apply(e,n)}})}(t,e)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function registerElementPatch(t){if((w||k)&&"registerElement"in t.document){var n=document.registerElement,r=["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"];document.registerElement=function(t,o){return o&&o.prototype&&r.forEach(function(t){var n="Document.registerElement::"+t,r=o.prototype;if(r.hasOwnProperty(t)){var i=e(r,t);i&&i.value?(i.value=wrapWithCurrentZone(i.value,n),function _redefineProperty(t,e,n){var r=n.configurable;return _tryDefineProperty(t,e,n=rewriteDescriptor(t,e,n),r)}(o.prototype,t,i)):r[t]=wrapWithCurrentZone(r[t],n)}else r[t]&&(r[t]=wrapWithCurrentZone(r[t],n))}),n.call(document,t,o)},attachOriginToPatched(document.registerElement,n)}} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Zone.__load_patch("util",function(t,e,n){n.patchOnProperties=patchOnProperties,n.patchMethod=patchMethod,n.bindArguments=bindArguments}),Zone.__load_patch("timers",function(t){patchTimer(t,"set","clear","Timeout"),patchTimer(t,"set","clear","Interval"),patchTimer(t,"set","clear","Immediate")}),Zone.__load_patch("requestAnimationFrame",function(t){patchTimer(t,"request","cancel","AnimationFrame"),patchTimer(t,"mozRequest","mozCancel","AnimationFrame"),patchTimer(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",function(t,e){for(var n=["alert","prompt","confirm"],r=0;r=0&&"function"==typeof r[o.cbIdx]?scheduleMacroTaskWithCurrentZone(o.name,r[o.cbIdx],o,scheduleTask,null):t.apply(e,r)}})}(e.prototype,"toBlob",function(t,e){return{name:"HTMLCanvasElement.toBlob",target:t,cbIdx:0,args:e}})}),Zone.__load_patch("XHR",function(t,e){!function patchXHR(t){var e=XMLHttpRequest.prototype;var u=e[c],f=e[s];if(!u){var l=t.XMLHttpRequestEventTarget;if(l){var p=l.prototype;u=p[c],f=p[s]}}var h="readystatechange",v="scheduled";function scheduleTask(t){XMLHttpRequest[i]=!1;var e=t.data,r=e.target,a=r[o];u||(u=r[c],f=r[s]),a&&f.call(r,h,a);var l=r[o]=function(){r.readyState===r.DONE&&!e.aborted&&XMLHttpRequest[i]&&t.state===v&&t.invoke()};u.call(r,h,l);var p=r[n];return p||(r[n]=t),y.apply(r,e.args),XMLHttpRequest[i]=!0,t}function placeholderCallback(){}function clearTask(t){var e=t.data;return e.aborted=!0,g.apply(e.target,e.args)}var d=patchMethod(e,"open",function(){return function(t,e){return t[r]=0==e[2],t[a]=e[1],d.apply(t,e)}}),y=patchMethod(e,"send",function(){return function(t,e){if(t[r])return y.apply(t,e);var n={target:t,url:t[a],isPeriodic:!1,delay:null,args:e,aborted:!1};return scheduleMacroTaskWithCurrentZone("XMLHttpRequest.send",placeholderCallback,n,scheduleTask,clearTask)}}),g=patchMethod(e,"abort",function(){return function(t){var e=function findPendingTask(t){return t[n]}(t);if(e&&"string"==typeof e.type){if(null==e.cancelFn||e.data&&e.data.aborted)return;e.zone.cancelTask(e)}}})}(t);var n=h("xhrTask"),r=h("xhrSync"),o=h("xhrListener"),i=h("xhrScheduled"),a=h("xhrURL")}),Zone.__load_patch("geolocation",function(t){t.navigator&&t.navigator.geolocation&&function patchPrototype(t,n){for(var r=t.constructor.name,o=function(o){var i=n[o],a=t[i];if(a){if(!isPropertyWritable(e(t,i)))return"continue";t[i]=function(t){var e=function(){return t.apply(this,bindArguments(arguments,r+"."+i))};return attachOriginToPatched(e,t),e}(a)}},i=0;i=0;u--)(o=t[u])&&(a=(i<3?o(a):i>3?o(e,n,a):o(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}function __metadataFn(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function __paramFn(t,e){return function(n,r){e(n,r,t)}}function __awaiterFn(t,e,n,r){return new(n||(n=Promise))(function(o,i){function fulfilled(t){try{step(r.next(t))}catch(t){i(t)}}function rejected(t){try{step(r.throw(t))}catch(t){i(t)}}function step(t){t.done?o(t.value):new n(function(e){e(t.value)}).then(fulfilled,rejected)}step((r=r.apply(t,e)).next())})}var e;(e="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope?self:void 0!==t?t:Function("return this;")()).__assign=e&&e.__assign||Object.assign||__assignFn,e.__extends=e&&e.__extends||__extendsFn,e.__decorate=e&&e.__decorate||__decorateFn,e.__metadata=e&&e.__metadata||__metadataFn,e.__param=e&&e.__param||__paramFn,e.__awaiter=e&&e.__awaiter||__awaiterFn}).call(e,n(6))},6:function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},67:function(t,e){var n,r,o=t.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(t){if(n===setTimeout)return setTimeout(t,0);if((n===defaultSetTimout||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(t){n=defaultSetTimout}try{r="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(t){r=defaultClearTimeout}}();var i,a=[],u=!1,c=-1;function cleanUpNextTick(){u&&i&&(u=!1,i.length?a=i.concat(a):c=-1,a.length&&drainQueue())}function drainQueue(){if(!u){var t=runTimeout(cleanUpNextTick);u=!0;for(var e=a.length;e;){for(i=a,a=[];++c1)for(var n=1;n 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(22);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar createDesc = __webpack_require__(31);\nmodule.exports = __webpack_require__(6) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(11);\nvar has = __webpack_require__(14);\nvar SRC = __webpack_require__(32)('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(28).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(22);\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(46);\nvar defined = __webpack_require__(22);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(47);\nvar createDesc = __webpack_require__(31);\nvar toIObject = __webpack_require__(15);\nvar toPrimitive = __webpack_require__(21);\nvar has = __webpack_require__(14);\nvar IE8_DOM_DEFINE = __webpack_require__(90);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(6) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(14);\nvar toObject = __webpack_require__(9);\nvar IE_PROTO = __webpack_require__(65)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(10);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(3);\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(4);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(0);\nvar core = __webpack_require__(28);\nvar fails = __webpack_require__(3);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(18);\nvar IObject = __webpack_require__(46);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(8);\nvar asc = __webpack_require__(82);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nif (__webpack_require__(6)) {\n var LIBRARY = __webpack_require__(33);\n var global = __webpack_require__(2);\n var fails = __webpack_require__(3);\n var $export = __webpack_require__(0);\n var $typed = __webpack_require__(59);\n var $buffer = __webpack_require__(88);\n var ctx = __webpack_require__(18);\n var anInstance = __webpack_require__(39);\n var propertyDesc = __webpack_require__(31);\n var hide = __webpack_require__(11);\n var redefineAll = __webpack_require__(41);\n var toInteger = __webpack_require__(23);\n var toLength = __webpack_require__(8);\n var toIndex = __webpack_require__(117);\n var toAbsoluteIndex = __webpack_require__(35);\n var toPrimitive = __webpack_require__(21);\n var has = __webpack_require__(14);\n var classof = __webpack_require__(48);\n var isObject = __webpack_require__(4);\n var toObject = __webpack_require__(9);\n var isArrayIter = __webpack_require__(79);\n var create = __webpack_require__(36);\n var getPrototypeOf = __webpack_require__(17);\n var gOPN = __webpack_require__(37).f;\n var getIterFn = __webpack_require__(81);\n var uid = __webpack_require__(32);\n var wks = __webpack_require__(5);\n var createArrayMethod = __webpack_require__(25);\n var createArrayIncludes = __webpack_require__(50);\n var speciesConstructor = __webpack_require__(57);\n var ArrayIterators = __webpack_require__(84);\n var Iterators = __webpack_require__(44);\n var $iterDetect = __webpack_require__(54);\n var setSpecies = __webpack_require__(38);\n var arrayFill = __webpack_require__(83);\n var arrayCopyWithin = __webpack_require__(106);\n var $DP = __webpack_require__(7);\n var $GOPD = __webpack_require__(16);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Map = __webpack_require__(111);\nvar $export = __webpack_require__(0);\nvar shared = __webpack_require__(49)('metadata');\nvar store = shared.store || (shared.store = new (__webpack_require__(114))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(32)('meta');\nvar isObject = __webpack_require__(4);\nvar has = __webpack_require__(14);\nvar setDesc = __webpack_require__(7).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(3)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(5)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(11)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(92);\nvar enumBugKeys = __webpack_require__(66);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(1);\nvar dPs = __webpack_require__(93);\nvar enumBugKeys = __webpack_require__(66);\nvar IE_PROTO = __webpack_require__(65)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(63)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(67).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(92);\nvar hiddenKeys = __webpack_require__(66).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar dP = __webpack_require__(7);\nvar DESCRIPTORS = __webpack_require__(6);\nvar SPECIES = __webpack_require__(5)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(18);\nvar call = __webpack_require__(104);\nvar isArrayIter = __webpack_require__(79);\nvar anObject = __webpack_require__(1);\nvar toLength = __webpack_require__(8);\nvar getIterFn = __webpack_require__(81);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(12);\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(7).f;\nvar has = __webpack_require__(14);\nvar TAG = __webpack_require__(5)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar defined = __webpack_require__(22);\nvar fails = __webpack_require__(3);\nvar spaces = __webpack_require__(70);\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(19);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(19);\nvar TAG = __webpack_require__(5)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(15);\nvar toLength = __webpack_require__(8);\nvar toAbsoluteIndex = __webpack_require__(35);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(19);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(4);\nvar cof = __webpack_require__(19);\nvar MATCH = __webpack_require__(5)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(1);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar hide = __webpack_require__(11);\nvar redefine = __webpack_require__(12);\nvar fails = __webpack_require__(3);\nvar defined = __webpack_require__(22);\nvar wks = __webpack_require__(5);\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(1);\nvar aFunction = __webpack_require__(10);\nvar SPECIES = __webpack_require__(5)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(12);\nvar redefineAll = __webpack_require__(41);\nvar meta = __webpack_require__(29);\nvar forOf = __webpack_require__(40);\nvar anInstance = __webpack_require__(39);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar $iterDetect = __webpack_require__(54);\nvar setToStringTag = __webpack_require__(42);\nvar inheritIfRequired = __webpack_require__(69);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(11);\nvar uid = __webpack_require__(32);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Forced replacement prototype accessors methods\nmodule.exports = __webpack_require__(33) || !__webpack_require__(3)(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete __webpack_require__(2)[K];\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar ctx = __webpack_require__(18);\nvar forOf = __webpack_require__(40);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar document = __webpack_require__(2).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(28);\nvar LIBRARY = __webpack_require__(33);\nvar wksExt = __webpack_require__(91);\nvar defineProperty = __webpack_require__(7).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(49)('keys');\nvar uid = __webpack_require__(32);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(2).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(4);\nvar anObject = __webpack_require__(1);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(18)(Function.call, __webpack_require__(16).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar setPrototypeOf = __webpack_require__(68).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports) {\n\nmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toInteger = __webpack_require__(23);\nvar defined = __webpack_require__(22);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\n// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(23);\nvar defined = __webpack_require__(22);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(53);\nvar defined = __webpack_require__(22);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(5)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(33);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(12);\nvar hide = __webpack_require__(11);\nvar Iterators = __webpack_require__(44);\nvar $iterCreate = __webpack_require__(78);\nvar setToStringTag = __webpack_require__(42);\nvar getPrototypeOf = __webpack_require__(17);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(36);\nvar descriptor = __webpack_require__(31);\nvar setToStringTag = __webpack_require__(42);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(11)(IteratorPrototype, __webpack_require__(5)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(44);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(7);\nvar createDesc = __webpack_require__(31);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(48);\nvar ITERATOR = __webpack_require__(5)('iterator');\nvar Iterators = __webpack_require__(44);\nmodule.exports = __webpack_require__(28).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(208);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\nvar toObject = __webpack_require__(9);\nvar toAbsoluteIndex = __webpack_require__(35);\nvar toLength = __webpack_require__(8);\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(30);\nvar step = __webpack_require__(107);\nvar Iterators = __webpack_require__(44);\nvar toIObject = __webpack_require__(15);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(77)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(18);\nvar invoke = __webpack_require__(97);\nvar html = __webpack_require__(67);\nvar cel = __webpack_require__(63);\nvar global = __webpack_require__(2);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(19)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar macrotask = __webpack_require__(85).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(19)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(10);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar DESCRIPTORS = __webpack_require__(6);\nvar LIBRARY = __webpack_require__(33);\nvar $typed = __webpack_require__(59);\nvar hide = __webpack_require__(11);\nvar redefineAll = __webpack_require__(41);\nvar fails = __webpack_require__(3);\nvar anInstance = __webpack_require__(39);\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(8);\nvar toIndex = __webpack_require__(117);\nvar gOPN = __webpack_require__(37).f;\nvar dP = __webpack_require__(7).f;\nvar arrayFill = __webpack_require__(83);\nvar setToStringTag = __webpack_require__(42);\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(6) && !__webpack_require__(3)(function () {\n return Object.defineProperty(__webpack_require__(63)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(5);\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(14);\nvar toIObject = __webpack_require__(15);\nvar arrayIndexOf = __webpack_require__(50)(false);\nvar IE_PROTO = __webpack_require__(65)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7);\nvar anObject = __webpack_require__(1);\nvar getKeys = __webpack_require__(34);\n\nmodule.exports = __webpack_require__(6) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(15);\nvar gOPN = __webpack_require__(37).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = __webpack_require__(34);\nvar gOPS = __webpack_require__(51);\nvar pIE = __webpack_require__(47);\nvar toObject = __webpack_require__(9);\nvar IObject = __webpack_require__(46);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(3)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(10);\nvar isObject = __webpack_require__(4);\nvar invoke = __webpack_require__(97);\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cof = __webpack_require__(19);\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(4);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseFloat = __webpack_require__(2).parseFloat;\nvar $trim = __webpack_require__(43).trim;\n\nmodule.exports = 1 / $parseFloat(__webpack_require__(70) + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseInt = __webpack_require__(2).parseInt;\nvar $trim = __webpack_require__(43).trim;\nvar ws = __webpack_require__(70);\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\n// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar sign = __webpack_require__(72);\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(1);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(10);\nvar toObject = __webpack_require__(9);\nvar IObject = __webpack_require__(46);\nvar toLength = __webpack_require__(8);\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\nvar toObject = __webpack_require__(9);\nvar toAbsoluteIndex = __webpack_require__(35);\nvar toLength = __webpack_require__(8);\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 21.2.5.3 get RegExp.prototype.flags()\nif (__webpack_require__(6) && /./g.flags != 'g') __webpack_require__(7).f(RegExp.prototype, 'flags', {\n configurable: true,\n get: __webpack_require__(55)\n});\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar newPromiseCapability = __webpack_require__(87);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(112);\nvar validate = __webpack_require__(45);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(58)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(7).f;\nvar create = __webpack_require__(36);\nvar redefineAll = __webpack_require__(41);\nvar ctx = __webpack_require__(18);\nvar anInstance = __webpack_require__(39);\nvar forOf = __webpack_require__(40);\nvar $iterDefine = __webpack_require__(77);\nvar step = __webpack_require__(107);\nvar setSpecies = __webpack_require__(38);\nvar DESCRIPTORS = __webpack_require__(6);\nvar fastKey = __webpack_require__(29).fastKey;\nvar validate = __webpack_require__(45);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(112);\nvar validate = __webpack_require__(45);\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = __webpack_require__(58)(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar each = __webpack_require__(25)(0);\nvar redefine = __webpack_require__(12);\nvar meta = __webpack_require__(29);\nvar assign = __webpack_require__(95);\nvar weak = __webpack_require__(115);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar validate = __webpack_require__(45);\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = __webpack_require__(58)(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefineAll = __webpack_require__(41);\nvar getWeak = __webpack_require__(29).getWeak;\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar anInstance = __webpack_require__(39);\nvar forOf = __webpack_require__(40);\nvar createArrayMethod = __webpack_require__(25);\nvar $has = __webpack_require__(14);\nvar validate = __webpack_require__(45);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all object keys, includes non-enumerable and symbols\nvar gOPN = __webpack_require__(37);\nvar gOPS = __webpack_require__(51);\nvar anObject = __webpack_require__(1);\nvar Reflect = __webpack_require__(2).Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(8);\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = __webpack_require__(52);\nvar isObject = __webpack_require__(4);\nvar toLength = __webpack_require__(8);\nvar ctx = __webpack_require__(18);\nvar IS_CONCAT_SPREADABLE = __webpack_require__(5)('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = __webpack_require__(8);\nvar repeat = __webpack_require__(71);\nvar defined = __webpack_require__(22);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar getKeys = __webpack_require__(34);\nvar toIObject = __webpack_require__(15);\nvar isEnum = __webpack_require__(47).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(48);\nvar from = __webpack_require__(122);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(40);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(125);\n__webpack_require__(127);\n__webpack_require__(128);\n__webpack_require__(129);\n__webpack_require__(130);\n__webpack_require__(131);\n__webpack_require__(132);\n__webpack_require__(133);\n__webpack_require__(134);\n__webpack_require__(135);\n__webpack_require__(136);\n__webpack_require__(137);\n__webpack_require__(138);\n__webpack_require__(139);\n__webpack_require__(140);\n__webpack_require__(141);\n__webpack_require__(143);\n__webpack_require__(144);\n__webpack_require__(145);\n__webpack_require__(146);\n__webpack_require__(147);\n__webpack_require__(148);\n__webpack_require__(149);\n__webpack_require__(150);\n__webpack_require__(151);\n__webpack_require__(152);\n__webpack_require__(153);\n__webpack_require__(154);\n__webpack_require__(155);\n__webpack_require__(156);\n__webpack_require__(157);\n__webpack_require__(158);\n__webpack_require__(159);\n__webpack_require__(160);\n__webpack_require__(161);\n__webpack_require__(162);\n__webpack_require__(163);\n__webpack_require__(164);\n__webpack_require__(165);\n__webpack_require__(166);\n__webpack_require__(167);\n__webpack_require__(168);\n__webpack_require__(169);\n__webpack_require__(170);\n__webpack_require__(171);\n__webpack_require__(172);\n__webpack_require__(173);\n__webpack_require__(174);\n__webpack_require__(175);\n__webpack_require__(176);\n__webpack_require__(177);\n__webpack_require__(178);\n__webpack_require__(179);\n__webpack_require__(180);\n__webpack_require__(181);\n__webpack_require__(182);\n__webpack_require__(183);\n__webpack_require__(184);\n__webpack_require__(185);\n__webpack_require__(186);\n__webpack_require__(187);\n__webpack_require__(188);\n__webpack_require__(189);\n__webpack_require__(190);\n__webpack_require__(191);\n__webpack_require__(192);\n__webpack_require__(193);\n__webpack_require__(194);\n__webpack_require__(195);\n__webpack_require__(196);\n__webpack_require__(197);\n__webpack_require__(198);\n__webpack_require__(199);\n__webpack_require__(200);\n__webpack_require__(201);\n__webpack_require__(202);\n__webpack_require__(203);\n__webpack_require__(204);\n__webpack_require__(205);\n__webpack_require__(206);\n__webpack_require__(207);\n__webpack_require__(209);\n__webpack_require__(210);\n__webpack_require__(211);\n__webpack_require__(212);\n__webpack_require__(213);\n__webpack_require__(214);\n__webpack_require__(215);\n__webpack_require__(216);\n__webpack_require__(217);\n__webpack_require__(218);\n__webpack_require__(219);\n__webpack_require__(220);\n__webpack_require__(84);\n__webpack_require__(221);\n__webpack_require__(222);\n__webpack_require__(223);\n__webpack_require__(108);\n__webpack_require__(224);\n__webpack_require__(225);\n__webpack_require__(226);\n__webpack_require__(227);\n__webpack_require__(228);\n__webpack_require__(111);\n__webpack_require__(113);\n__webpack_require__(114);\n__webpack_require__(229);\n__webpack_require__(230);\n__webpack_require__(231);\n__webpack_require__(232);\n__webpack_require__(233);\n__webpack_require__(234);\n__webpack_require__(235);\n__webpack_require__(236);\n__webpack_require__(237);\n__webpack_require__(238);\n__webpack_require__(239);\n__webpack_require__(240);\n__webpack_require__(241);\n__webpack_require__(242);\n__webpack_require__(243);\n__webpack_require__(244);\n__webpack_require__(245);\n__webpack_require__(246);\n__webpack_require__(248);\n__webpack_require__(249);\n__webpack_require__(251);\n__webpack_require__(252);\n__webpack_require__(253);\n__webpack_require__(254);\n__webpack_require__(255);\n__webpack_require__(256);\n__webpack_require__(257);\n__webpack_require__(258);\n__webpack_require__(259);\n__webpack_require__(260);\n__webpack_require__(261);\n__webpack_require__(262);\n__webpack_require__(263);\n__webpack_require__(264);\n__webpack_require__(265);\n__webpack_require__(266);\n__webpack_require__(267);\n__webpack_require__(268);\n__webpack_require__(269);\n__webpack_require__(270);\n__webpack_require__(271);\n__webpack_require__(272);\n__webpack_require__(273);\n__webpack_require__(274);\n__webpack_require__(275);\n__webpack_require__(276);\n__webpack_require__(277);\n__webpack_require__(278);\n__webpack_require__(279);\n__webpack_require__(280);\n__webpack_require__(281);\n__webpack_require__(282);\n__webpack_require__(283);\n__webpack_require__(284);\n__webpack_require__(285);\n__webpack_require__(286);\n__webpack_require__(287);\n__webpack_require__(288);\n__webpack_require__(289);\n__webpack_require__(290);\n__webpack_require__(291);\n__webpack_require__(292);\n__webpack_require__(293);\n__webpack_require__(294);\n__webpack_require__(295);\n__webpack_require__(296);\n__webpack_require__(297);\n__webpack_require__(298);\n__webpack_require__(299);\n__webpack_require__(300);\n__webpack_require__(301);\n__webpack_require__(302);\n__webpack_require__(303);\n__webpack_require__(304);\n__webpack_require__(305);\n__webpack_require__(306);\n__webpack_require__(307);\n__webpack_require__(308);\n__webpack_require__(309);\n__webpack_require__(310);\n__webpack_require__(311);\n__webpack_require__(312);\n__webpack_require__(313);\n__webpack_require__(314);\n__webpack_require__(315);\n__webpack_require__(316);\n__webpack_require__(317);\n__webpack_require__(318);\n__webpack_require__(319);\nmodule.exports = __webpack_require__(320);\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(2);\nvar has = __webpack_require__(14);\nvar DESCRIPTORS = __webpack_require__(6);\nvar $export = __webpack_require__(0);\nvar redefine = __webpack_require__(12);\nvar META = __webpack_require__(29).KEY;\nvar $fails = __webpack_require__(3);\nvar shared = __webpack_require__(49);\nvar setToStringTag = __webpack_require__(42);\nvar uid = __webpack_require__(32);\nvar wks = __webpack_require__(5);\nvar wksExt = __webpack_require__(91);\nvar wksDefine = __webpack_require__(64);\nvar enumKeys = __webpack_require__(126);\nvar isArray = __webpack_require__(52);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar toIObject = __webpack_require__(15);\nvar toPrimitive = __webpack_require__(21);\nvar createDesc = __webpack_require__(31);\nvar _create = __webpack_require__(36);\nvar gOPNExt = __webpack_require__(94);\nvar $GOPD = __webpack_require__(16);\nvar $DP = __webpack_require__(7);\nvar $keys = __webpack_require__(34);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(37).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(47).f = $propertyIsEnumerable;\n __webpack_require__(51).f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(33)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(11)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(34);\nvar gOPS = __webpack_require__(51);\nvar pIE = __webpack_require__(47);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperty: __webpack_require__(7).f });\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(6), 'Object', { defineProperties: __webpack_require__(93) });\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(15);\nvar $getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n__webpack_require__(24)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(36) });\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(9);\nvar $getPrototypeOf = __webpack_require__(17);\n\n__webpack_require__(24)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(9);\nvar $keys = __webpack_require__(34);\n\n__webpack_require__(24)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(24)('getOwnPropertyNames', function () {\n return __webpack_require__(94).f;\n});\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(29).onFreeze;\n\n__webpack_require__(24)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.17 Object.seal(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(29).onFreeze;\n\n__webpack_require__(24)('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = __webpack_require__(4);\nvar meta = __webpack_require__(29).onFreeze;\n\n__webpack_require__(24)('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.12 Object.isFrozen(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(24)('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.13 Object.isSealed(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(24)('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.11 Object.isExtensible(O)\nvar isObject = __webpack_require__(4);\n\n__webpack_require__(24)('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(0);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(95) });\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.10 Object.is(value1, value2)\nvar $export = __webpack_require__(0);\n$export($export.S, 'Object', { is: __webpack_require__(142) });\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports) {\n\n// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(0);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(68).set });\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.3.6 Object.prototype.toString()\nvar classof = __webpack_require__(48);\nvar test = {};\ntest[__webpack_require__(5)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __webpack_require__(12)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Function', { bind: __webpack_require__(96) });\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(7).f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(6) && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(4);\nvar getPrototypeOf = __webpack_require__(17);\nvar HAS_INSTANCE = __webpack_require__(5)('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(7).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(2);\nvar has = __webpack_require__(14);\nvar cof = __webpack_require__(19);\nvar inheritIfRequired = __webpack_require__(69);\nvar toPrimitive = __webpack_require__(21);\nvar fails = __webpack_require__(3);\nvar gOPN = __webpack_require__(37).f;\nvar gOPD = __webpack_require__(16).f;\nvar dP = __webpack_require__(7).f;\nvar $trim = __webpack_require__(43).trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(__webpack_require__(36)(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = __webpack_require__(6) ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n __webpack_require__(12)(global, NUMBER, $Number);\n}\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toInteger = __webpack_require__(23);\nvar aNumberValue = __webpack_require__(98);\nvar repeat = __webpack_require__(71);\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !__webpack_require__(3)(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $fails = __webpack_require__(3);\nvar aNumberValue = __webpack_require__(98);\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(0);\nvar _isFinite = __webpack_require__(2).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(99) });\n\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(0);\nvar isInteger = __webpack_require__(99);\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseFloat = __webpack_require__(100);\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseInt = __webpack_require__(101);\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseInt = __webpack_require__(101);\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $parseFloat = __webpack_require__(100);\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.3 Math.acosh(x)\nvar $export = __webpack_require__(0);\nvar log1p = __webpack_require__(102);\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.5 Math.asinh(x)\nvar $export = __webpack_require__(0);\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.7 Math.atanh(x)\nvar $export = __webpack_require__(0);\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.9 Math.cbrt(x)\nvar $export = __webpack_require__(0);\nvar sign = __webpack_require__(72);\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.11 Math.clz32(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.12 Math.cosh(x)\nvar $export = __webpack_require__(0);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $export = __webpack_require__(0);\nvar $expm1 = __webpack_require__(73);\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { fround: __webpack_require__(103) });\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = __webpack_require__(0);\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.18 Math.imul(x, y)\nvar $export = __webpack_require__(0);\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.21 Math.log10(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.20 Math.log1p(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { log1p: __webpack_require__(102) });\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.22 Math.log2(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { sign: __webpack_require__(72) });\n\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.30 Math.sinh(x)\nvar $export = __webpack_require__(0);\nvar expm1 = __webpack_require__(73);\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.33 Math.tanh(x)\nvar $export = __webpack_require__(0);\nvar expm1 = __webpack_require__(73);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.34 Math.trunc(x)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar toAbsoluteIndex = __webpack_require__(35);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(15);\nvar toLength = __webpack_require__(8);\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.1.3.25 String.prototype.trim()\n__webpack_require__(43)('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $at = __webpack_require__(74)(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\nvar $export = __webpack_require__(0);\nvar toLength = __webpack_require__(8);\nvar context = __webpack_require__(75);\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(76)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(0);\nvar context = __webpack_require__(75);\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(76)(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: __webpack_require__(71)\n});\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(0);\nvar toLength = __webpack_require__(8);\nvar context = __webpack_require__(75);\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(76)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(74)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(77)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.2 String.prototype.anchor(name)\n__webpack_require__(13)('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.3 String.prototype.big()\n__webpack_require__(13)('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.4 String.prototype.blink()\n__webpack_require__(13)('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.5 String.prototype.bold()\n__webpack_require__(13)('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.6 String.prototype.fixed()\n__webpack_require__(13)('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.7 String.prototype.fontcolor(color)\n__webpack_require__(13)('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.8 String.prototype.fontsize(size)\n__webpack_require__(13)('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.9 String.prototype.italics()\n__webpack_require__(13)('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.10 String.prototype.link(url)\n__webpack_require__(13)('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.11 String.prototype.small()\n__webpack_require__(13)('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.12 String.prototype.strike()\n__webpack_require__(13)('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.13 String.prototype.sub()\n__webpack_require__(13)('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.14 String.prototype.sup()\n__webpack_require__(13)('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Array', { isArray: __webpack_require__(52) });\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(18);\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar call = __webpack_require__(104);\nvar isArrayIter = __webpack_require__(79);\nvar toLength = __webpack_require__(8);\nvar createProperty = __webpack_require__(80);\nvar getIterFn = __webpack_require__(81);\n\n$export($export.S + $export.F * !__webpack_require__(54)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar createProperty = __webpack_require__(80);\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(15);\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (__webpack_require__(46) != Object || !__webpack_require__(20)(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar html = __webpack_require__(67);\nvar cof = __webpack_require__(19);\nvar toAbsoluteIndex = __webpack_require__(35);\nvar toLength = __webpack_require__(8);\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * __webpack_require__(3)(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar toObject = __webpack_require__(9);\nvar fails = __webpack_require__(3);\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !__webpack_require__(20)($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $forEach = __webpack_require__(25)(0);\nvar STRICT = __webpack_require__(20)([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(4);\nvar isArray = __webpack_require__(52);\nvar SPECIES = __webpack_require__(5)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $map = __webpack_require__(25)(1);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $filter = __webpack_require__(25)(2);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $some = __webpack_require__(25)(3);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $every = __webpack_require__(25)(4);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $reduce = __webpack_require__(105);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $reduce = __webpack_require__(105);\n\n$export($export.P + $export.F * !__webpack_require__(20)([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $indexOf = __webpack_require__(50)(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(20)($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toIObject = __webpack_require__(15);\nvar toInteger = __webpack_require__(23);\nvar toLength = __webpack_require__(8);\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(20)($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Array', { copyWithin: __webpack_require__(106) });\n\n__webpack_require__(30)('copyWithin');\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = __webpack_require__(0);\n\n$export($export.P, 'Array', { fill: __webpack_require__(83) });\n\n__webpack_require__(30)('fill');\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(0);\nvar $find = __webpack_require__(25)(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(30)(KEY);\n\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(0);\nvar $find = __webpack_require__(25)(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(30)(KEY);\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(38)('Array');\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(2);\nvar inheritIfRequired = __webpack_require__(69);\nvar dP = __webpack_require__(7).f;\nvar gOPN = __webpack_require__(37).f;\nvar isRegExp = __webpack_require__(53);\nvar $flags = __webpack_require__(55);\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (__webpack_require__(6) && (!CORRECT_NEW || __webpack_require__(3)(function () {\n re2[__webpack_require__(5)('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n __webpack_require__(12)(global, 'RegExp', $RegExp);\n}\n\n__webpack_require__(38)('RegExp');\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(108);\nvar anObject = __webpack_require__(1);\nvar $flags = __webpack_require__(55);\nvar DESCRIPTORS = __webpack_require__(6);\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n __webpack_require__(12)(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (__webpack_require__(3)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// @@match logic\n__webpack_require__(56)('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// @@replace logic\n__webpack_require__(56)('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// @@search logic\n__webpack_require__(56)('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// @@split logic\n__webpack_require__(56)('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = __webpack_require__(53);\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(33);\nvar global = __webpack_require__(2);\nvar ctx = __webpack_require__(18);\nvar classof = __webpack_require__(48);\nvar $export = __webpack_require__(0);\nvar isObject = __webpack_require__(4);\nvar aFunction = __webpack_require__(10);\nvar anInstance = __webpack_require__(39);\nvar forOf = __webpack_require__(40);\nvar speciesConstructor = __webpack_require__(57);\nvar task = __webpack_require__(85).set;\nvar microtask = __webpack_require__(86)();\nvar newPromiseCapabilityModule = __webpack_require__(87);\nvar perform = __webpack_require__(109);\nvar promiseResolve = __webpack_require__(110);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(5)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(41)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(42)($Promise, PROMISE);\n__webpack_require__(38)(PROMISE);\nWrapper = __webpack_require__(28)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(54)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar weak = __webpack_require__(115);\nvar validate = __webpack_require__(45);\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\n__webpack_require__(58)(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = __webpack_require__(0);\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar rApply = (__webpack_require__(2).Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !__webpack_require__(3)(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = __webpack_require__(0);\nvar create = __webpack_require__(36);\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\nvar fails = __webpack_require__(3);\nvar bind = __webpack_require__(96);\nvar rConstruct = (__webpack_require__(2).Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = __webpack_require__(7);\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar toPrimitive = __webpack_require__(21);\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * __webpack_require__(3)(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = __webpack_require__(0);\nvar gOPD = __webpack_require__(16).f;\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 26.1.5 Reflect.enumerate(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\n__webpack_require__(78)(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = __webpack_require__(16);\nvar getPrototypeOf = __webpack_require__(17);\nvar has = __webpack_require__(14);\nvar $export = __webpack_require__(0);\nvar isObject = __webpack_require__(4);\nvar anObject = __webpack_require__(1);\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = __webpack_require__(16);\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = __webpack_require__(0);\nvar getProto = __webpack_require__(17);\nvar anObject = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.10 Reflect.isExtensible(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.11 Reflect.ownKeys(target)\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Reflect', { ownKeys: __webpack_require__(116) });\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.12 Reflect.preventExtensions(target)\nvar $export = __webpack_require__(0);\nvar anObject = __webpack_require__(1);\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = __webpack_require__(7);\nvar gOPD = __webpack_require__(16);\nvar getPrototypeOf = __webpack_require__(17);\nvar has = __webpack_require__(14);\nvar $export = __webpack_require__(0);\nvar createDesc = __webpack_require__(31);\nvar anObject = __webpack_require__(1);\nvar isObject = __webpack_require__(4);\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = __webpack_require__(0);\nvar setProto = __webpack_require__(68);\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(21);\n\n$export($export.P + $export.F * __webpack_require__(3)(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = __webpack_require__(0);\nvar toISOString = __webpack_require__(247);\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = __webpack_require__(3);\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n __webpack_require__(12)(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_PRIMITIVE = __webpack_require__(5)('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) __webpack_require__(11)(proto, TO_PRIMITIVE, __webpack_require__(250));\n\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(1);\nvar toPrimitive = __webpack_require__(21);\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar $typed = __webpack_require__(59);\nvar buffer = __webpack_require__(88);\nvar anObject = __webpack_require__(1);\nvar toAbsoluteIndex = __webpack_require__(35);\nvar toLength = __webpack_require__(8);\nvar isObject = __webpack_require__(4);\nvar ArrayBuffer = __webpack_require__(2).ArrayBuffer;\nvar speciesConstructor = __webpack_require__(57);\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * __webpack_require__(3)(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var final = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < final) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\n__webpack_require__(38)(ARRAY_BUFFER);\n\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\n$export($export.G + $export.W + $export.F * !__webpack_require__(59).ABV, {\n DataView: __webpack_require__(88).DataView\n});\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(26)('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(0);\nvar $includes = __webpack_require__(50)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(30)('includes');\n\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = __webpack_require__(0);\nvar flattenIntoArray = __webpack_require__(118);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(8);\nvar aFunction = __webpack_require__(10);\nvar arraySpeciesCreate = __webpack_require__(82);\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\n__webpack_require__(30)('flatMap');\n\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = __webpack_require__(0);\nvar flattenIntoArray = __webpack_require__(118);\nvar toObject = __webpack_require__(9);\nvar toLength = __webpack_require__(8);\nvar toInteger = __webpack_require__(23);\nvar arraySpeciesCreate = __webpack_require__(82);\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\n__webpack_require__(30)('flatten');\n\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = __webpack_require__(0);\nvar $at = __webpack_require__(74)(true);\n\n$export($export.P, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(0);\nvar $pad = __webpack_require__(119);\nvar userAgent = __webpack_require__(89);\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(0);\nvar $pad = __webpack_require__(119);\nvar userAgent = __webpack_require__(89);\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(43)('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(43)('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = __webpack_require__(0);\nvar defined = __webpack_require__(22);\nvar toLength = __webpack_require__(8);\nvar isRegExp = __webpack_require__(53);\nvar getFlags = __webpack_require__(55);\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\n__webpack_require__(78)($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(64)('asyncIterator');\n\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(64)('observable');\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = __webpack_require__(0);\nvar ownKeys = __webpack_require__(116);\nvar toIObject = __webpack_require__(15);\nvar gOPD = __webpack_require__(16);\nvar createProperty = __webpack_require__(80);\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(0);\nvar $values = __webpack_require__(120)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(0);\nvar $entries = __webpack_require__(120)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar aFunction = __webpack_require__(10);\nvar $defineProperty = __webpack_require__(7);\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n__webpack_require__(6) && $export($export.P + __webpack_require__(60), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar aFunction = __webpack_require__(10);\nvar $defineProperty = __webpack_require__(7);\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n__webpack_require__(6) && $export($export.P + __webpack_require__(60), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(21);\nvar getPrototypeOf = __webpack_require__(17);\nvar getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\n__webpack_require__(6) && $export($export.P + __webpack_require__(60), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(0);\nvar toObject = __webpack_require__(9);\nvar toPrimitive = __webpack_require__(21);\nvar getPrototypeOf = __webpack_require__(17);\nvar getOwnPropertyDescriptor = __webpack_require__(16).f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\n__webpack_require__(6) && $export($export.P + __webpack_require__(60), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(0);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(121)('Map') });\n\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(0);\n\n$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(121)('Set') });\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(61)('Map');\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n__webpack_require__(61)('Set');\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n__webpack_require__(61)('WeakMap');\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n__webpack_require__(61)('WeakSet');\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(62)('Map');\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n__webpack_require__(62)('Set');\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n__webpack_require__(62)('WeakMap');\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n__webpack_require__(62)('WeakSet');\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(0);\n\n$export($export.G, { global: __webpack_require__(2) });\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'System', { global: __webpack_require__(2) });\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/ljharb/proposal-is-error\nvar $export = __webpack_require__(0);\nvar cof = __webpack_require__(19);\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar scale = __webpack_require__(123);\nvar fround = __webpack_require__(103);\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { scale: __webpack_require__(123) });\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = __webpack_require__(0);\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(0);\nvar core = __webpack_require__(28);\nvar global = __webpack_require__(2);\nvar speciesConstructor = __webpack_require__(57);\nvar promiseResolve = __webpack_require__(110);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(0);\nvar newPromiseCapability = __webpack_require__(87);\nvar perform = __webpack_require__(109);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Set = __webpack_require__(113);\nvar from = __webpack_require__(122);\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar getPrototypeOf = __webpack_require__(17);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $metadata = __webpack_require__(27);\nvar anObject = __webpack_require__(1);\nvar aFunction = __webpack_require__(10);\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = __webpack_require__(0);\nvar microtask = __webpack_require__(86)();\nvar process = __webpack_require__(2).process;\nvar isNode = __webpack_require__(19)(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/zenparsing/es-observable\nvar $export = __webpack_require__(0);\nvar global = __webpack_require__(2);\nvar core = __webpack_require__(28);\nvar microtask = __webpack_require__(86)();\nvar OBSERVABLE = __webpack_require__(5)('observable');\nvar aFunction = __webpack_require__(10);\nvar anObject = __webpack_require__(1);\nvar anInstance = __webpack_require__(39);\nvar redefineAll = __webpack_require__(41);\nvar hide = __webpack_require__(11);\nvar forOf = __webpack_require__(40);\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\n__webpack_require__(38)('Observable');\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(0);\nvar $task = __webpack_require__(85);\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(84);\nvar getKeys = __webpack_require__(34);\nvar redefine = __webpack_require__(12);\nvar global = __webpack_require__(2);\nvar hide = __webpack_require__(11);\nvar Iterators = __webpack_require__(44);\nvar wks = __webpack_require__(5);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// ie9- setTimeout & setInterval additional parameters fix\nvar global = __webpack_require__(2);\nvar $export = __webpack_require__(0);\nvar userAgent = __webpack_require__(89);\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n/***/ })\n/******/ ]);\n// CommonJS export\nif (typeof module != 'undefined' && module.exports) module.exports = __e;\n// RequireJS export\nelse if (typeof define == 'function' && define.amd) define(function () { return __e; });\n// Export to global object\nelse __g.core = __e;\n}(1, 1);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/client/shim.js\n// module id = 245\n// module chunks = 2","/*! *****************************************************************************\r\nCopyright (C) Microsoft. 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\nvar Reflect;\r\n(function (Reflect) {\r\n // Metadata Proposal\r\n // https://rbuckton.github.io/reflect-metadata/\r\n (function (factory) {\r\n var root = typeof global === \"object\" ? global :\r\n typeof self === \"object\" ? self :\r\n typeof this === \"object\" ? this :\r\n Function(\"return this;\")();\r\n var exporter = makeExporter(Reflect);\r\n if (typeof root.Reflect === \"undefined\") {\r\n root.Reflect = Reflect;\r\n }\r\n else {\r\n exporter = makeExporter(root.Reflect, exporter);\r\n }\r\n factory(exporter);\r\n function makeExporter(target, previous) {\r\n return function (key, value) {\r\n if (typeof target[key] !== \"function\") {\r\n Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\r\n }\r\n if (previous)\r\n previous(key, value);\r\n };\r\n }\r\n })(function (exporter) {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n // feature test for Symbol support\r\n var supportsSymbol = typeof Symbol === \"function\";\r\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\r\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\r\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\r\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\r\n var downLevel = !supportsCreate && !supportsProto;\r\n var HashMap = {\r\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\r\n create: supportsCreate\r\n ? function () { return MakeDictionary(Object.create(null)); }\r\n : supportsProto\r\n ? function () { return MakeDictionary({ __proto__: null }); }\r\n : function () { return MakeDictionary({}); },\r\n has: downLevel\r\n ? function (map, key) { return hasOwn.call(map, key); }\r\n : function (map, key) { return key in map; },\r\n get: downLevel\r\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\r\n : function (map, key) { return map[key]; },\r\n };\r\n // Load global or shim versions of Map, Set, and WeakMap\r\n var functionPrototype = Object.getPrototypeOf(Function);\r\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\r\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\r\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\r\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\r\n // [[Metadata]] internal slot\r\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\r\n var Metadata = new _WeakMap();\r\n /**\r\n * Applies a set of decorators to a property of a target object.\r\n * @param decorators An array of decorators.\r\n * @param target The target object.\r\n * @param propertyKey (Optional) The property key to decorate.\r\n * @param attributes (Optional) The property descriptor for the target key.\r\n * @remarks Decorators are applied in reverse order.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Example = Reflect.decorate(decoratorsArray, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Object.defineProperty(Example, \"staticMethod\",\r\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\r\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\r\n *\r\n * // method (on prototype)\r\n * Object.defineProperty(Example.prototype, \"method\",\r\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\r\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\r\n *\r\n */\r\n function decorate(decorators, target, propertyKey, attributes) {\r\n if (!IsUndefined(propertyKey)) {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\r\n throw new TypeError();\r\n if (IsNull(attributes))\r\n attributes = undefined;\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return DecorateProperty(decorators, target, propertyKey, attributes);\r\n }\r\n else {\r\n if (!IsArray(decorators))\r\n throw new TypeError();\r\n if (!IsConstructor(target))\r\n throw new TypeError();\r\n return DecorateConstructor(decorators, target);\r\n }\r\n }\r\n exporter(\"decorate\", decorate);\r\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\r\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\r\n /**\r\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\r\n * @param metadataKey The key for the metadata entry.\r\n * @param metadataValue The value for the metadata entry.\r\n * @returns A decorator function.\r\n * @remarks\r\n * If `metadataKey` is already defined for the target and target key, the\r\n * metadataValue for that key will be overwritten.\r\n * @example\r\n *\r\n * // constructor\r\n * @Reflect.metadata(key, value)\r\n * class Example {\r\n * }\r\n *\r\n * // property (on constructor, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticProperty;\r\n * }\r\n *\r\n * // property (on prototype, TypeScript only)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * property;\r\n * }\r\n *\r\n * // method (on constructor)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * static staticMethod() { }\r\n * }\r\n *\r\n * // method (on prototype)\r\n * class Example {\r\n * @Reflect.metadata(key, value)\r\n * method() { }\r\n * }\r\n *\r\n */\r\n function metadata(metadataKey, metadataValue) {\r\n function decorator(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\r\n throw new TypeError();\r\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n return decorator;\r\n }\r\n exporter(\"metadata\", metadata);\r\n /**\r\n * Define a unique metadata entry on the target.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param metadataValue A value that contains attached metadata.\r\n * @param target The target object on which to define metadata.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\r\n *\r\n * // property (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\r\n *\r\n * // decorator factory as metadata-producing annotation.\r\n * function MyAnnotation(options): Decorator {\r\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\r\n * }\r\n *\r\n */\r\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\r\n }\r\n exporter(\"defineMetadata\", defineMetadata);\r\n /**\r\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"hasMetadata\", hasMetadata);\r\n /**\r\n * Gets a value indicating whether the target object has the provided metadata key defined.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function hasOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"hasOwnMetadata\", hasOwnMetadata);\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"getMetadata\", getMetadata);\r\n /**\r\n * Gets the metadata value for the provided metadata key on the target object.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\r\n }\r\n exporter(\"getOwnMetadata\", getOwnMetadata);\r\n /**\r\n * Gets the metadata keys defined on the target object or its prototype chain.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryMetadataKeys(target, propertyKey);\r\n }\r\n exporter(\"getMetadataKeys\", getMetadataKeys);\r\n /**\r\n * Gets the unique metadata keys defined on the target object.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns An array of unique metadata keys.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.getOwnMetadataKeys(Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\r\n *\r\n */\r\n function getOwnMetadataKeys(target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n return OrdinaryOwnMetadataKeys(target, propertyKey);\r\n }\r\n exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\r\n /**\r\n * Deletes the metadata entry from the target object with the provided key.\r\n * @param metadataKey A key used to store and retrieve metadata.\r\n * @param target The target object on which the metadata is defined.\r\n * @param propertyKey (Optional) The property key for the target.\r\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\r\n * @example\r\n *\r\n * class Example {\r\n * // property declarations are not part of ES6, though they are valid in TypeScript:\r\n * // static staticProperty;\r\n * // property;\r\n *\r\n * constructor(p) { }\r\n * static staticMethod(p) { }\r\n * method(p) { }\r\n * }\r\n *\r\n * // constructor\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\r\n *\r\n * // property (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\r\n *\r\n * // property (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\r\n *\r\n * // method (on constructor)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\r\n *\r\n * // method (on prototype)\r\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\r\n *\r\n */\r\n function deleteMetadata(metadataKey, target, propertyKey) {\r\n if (!IsObject(target))\r\n throw new TypeError();\r\n if (!IsUndefined(propertyKey))\r\n propertyKey = ToPropertyKey(propertyKey);\r\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n if (!metadataMap.delete(metadataKey))\r\n return false;\r\n if (metadataMap.size > 0)\r\n return true;\r\n var targetMetadata = Metadata.get(target);\r\n targetMetadata.delete(propertyKey);\r\n if (targetMetadata.size > 0)\r\n return true;\r\n Metadata.delete(target);\r\n return true;\r\n }\r\n exporter(\"deleteMetadata\", deleteMetadata);\r\n function DecorateConstructor(decorators, target) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsConstructor(decorated))\r\n throw new TypeError();\r\n target = decorated;\r\n }\r\n }\r\n return target;\r\n }\r\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\r\n for (var i = decorators.length - 1; i >= 0; --i) {\r\n var decorator = decorators[i];\r\n var decorated = decorator(target, propertyKey, descriptor);\r\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\r\n if (!IsObject(decorated))\r\n throw new TypeError();\r\n descriptor = decorated;\r\n }\r\n }\r\n return descriptor;\r\n }\r\n function GetOrCreateMetadataMap(O, P, Create) {\r\n var targetMetadata = Metadata.get(O);\r\n if (IsUndefined(targetMetadata)) {\r\n if (!Create)\r\n return undefined;\r\n targetMetadata = new _Map();\r\n Metadata.set(O, targetMetadata);\r\n }\r\n var metadataMap = targetMetadata.get(P);\r\n if (IsUndefined(metadataMap)) {\r\n if (!Create)\r\n return undefined;\r\n metadataMap = new _Map();\r\n targetMetadata.set(P, metadataMap);\r\n }\r\n return metadataMap;\r\n }\r\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\r\n function OrdinaryHasMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return true;\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryHasMetadata(MetadataKey, parent, P);\r\n return false;\r\n }\r\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\r\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return false;\r\n return ToBoolean(metadataMap.has(MetadataKey));\r\n }\r\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\r\n function OrdinaryGetMetadata(MetadataKey, O, P) {\r\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\r\n if (hasOwn)\r\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (!IsNull(parent))\r\n return OrdinaryGetMetadata(MetadataKey, parent, P);\r\n return undefined;\r\n }\r\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\r\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return undefined;\r\n return metadataMap.get(MetadataKey);\r\n }\r\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\r\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\r\n metadataMap.set(MetadataKey, MetadataValue);\r\n }\r\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\r\n function OrdinaryMetadataKeys(O, P) {\r\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\r\n var parent = OrdinaryGetPrototypeOf(O);\r\n if (parent === null)\r\n return ownKeys;\r\n var parentKeys = OrdinaryMetadataKeys(parent, P);\r\n if (parentKeys.length <= 0)\r\n return ownKeys;\r\n if (ownKeys.length <= 0)\r\n return parentKeys;\r\n var set = new _Set();\r\n var keys = [];\r\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\r\n var key = ownKeys_1[_i];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\r\n var key = parentKeys_1[_a];\r\n var hasKey = set.has(key);\r\n if (!hasKey) {\r\n set.add(key);\r\n keys.push(key);\r\n }\r\n }\r\n return keys;\r\n }\r\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\r\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\r\n function OrdinaryOwnMetadataKeys(O, P) {\r\n var keys = [];\r\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\r\n if (IsUndefined(metadataMap))\r\n return keys;\r\n var keysObj = metadataMap.keys();\r\n var iterator = GetIterator(keysObj);\r\n var k = 0;\r\n while (true) {\r\n var next = IteratorStep(iterator);\r\n if (!next) {\r\n keys.length = k;\r\n return keys;\r\n }\r\n var nextValue = IteratorValue(next);\r\n try {\r\n keys[k] = nextValue;\r\n }\r\n catch (e) {\r\n try {\r\n IteratorClose(iterator);\r\n }\r\n finally {\r\n throw e;\r\n }\r\n }\r\n k++;\r\n }\r\n }\r\n // 6 ECMAScript Data Typ0es and Values\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\r\n function Type(x) {\r\n if (x === null)\r\n return 1 /* Null */;\r\n switch (typeof x) {\r\n case \"undefined\": return 0 /* Undefined */;\r\n case \"boolean\": return 2 /* Boolean */;\r\n case \"string\": return 3 /* String */;\r\n case \"symbol\": return 4 /* Symbol */;\r\n case \"number\": return 5 /* Number */;\r\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\r\n default: return 6 /* Object */;\r\n }\r\n }\r\n // 6.1.1 The Undefined Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\r\n function IsUndefined(x) {\r\n return x === undefined;\r\n }\r\n // 6.1.2 The Null Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\r\n function IsNull(x) {\r\n return x === null;\r\n }\r\n // 6.1.5 The Symbol Type\r\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\r\n function IsSymbol(x) {\r\n return typeof x === \"symbol\";\r\n }\r\n // 6.1.7 The Object Type\r\n // https://tc39.github.io/ecma262/#sec-object-type\r\n function IsObject(x) {\r\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\r\n }\r\n // 7.1 Type Conversion\r\n // https://tc39.github.io/ecma262/#sec-type-conversion\r\n // 7.1.1 ToPrimitive(input [, PreferredType])\r\n // https://tc39.github.io/ecma262/#sec-toprimitive\r\n function ToPrimitive(input, PreferredType) {\r\n switch (Type(input)) {\r\n case 0 /* Undefined */: return input;\r\n case 1 /* Null */: return input;\r\n case 2 /* Boolean */: return input;\r\n case 3 /* String */: return input;\r\n case 4 /* Symbol */: return input;\r\n case 5 /* Number */: return input;\r\n }\r\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\r\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\r\n if (exoticToPrim !== undefined) {\r\n var result = exoticToPrim.call(input, hint);\r\n if (IsObject(result))\r\n throw new TypeError();\r\n return result;\r\n }\r\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\r\n }\r\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\r\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\r\n function OrdinaryToPrimitive(O, hint) {\r\n if (hint === \"string\") {\r\n var toString_1 = O.toString;\r\n if (IsCallable(toString_1)) {\r\n var result = toString_1.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n else {\r\n var valueOf = O.valueOf;\r\n if (IsCallable(valueOf)) {\r\n var result = valueOf.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n var toString_2 = O.toString;\r\n if (IsCallable(toString_2)) {\r\n var result = toString_2.call(O);\r\n if (!IsObject(result))\r\n return result;\r\n }\r\n }\r\n throw new TypeError();\r\n }\r\n // 7.1.2 ToBoolean(argument)\r\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\r\n function ToBoolean(argument) {\r\n return !!argument;\r\n }\r\n // 7.1.12 ToString(argument)\r\n // https://tc39.github.io/ecma262/#sec-tostring\r\n function ToString(argument) {\r\n return \"\" + argument;\r\n }\r\n // 7.1.14 ToPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-topropertykey\r\n function ToPropertyKey(argument) {\r\n var key = ToPrimitive(argument, 3 /* String */);\r\n if (IsSymbol(key))\r\n return key;\r\n return ToString(key);\r\n }\r\n // 7.2 Testing and Comparison Operations\r\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\r\n // 7.2.2 IsArray(argument)\r\n // https://tc39.github.io/ecma262/#sec-isarray\r\n function IsArray(argument) {\r\n return Array.isArray\r\n ? Array.isArray(argument)\r\n : argument instanceof Object\r\n ? argument instanceof Array\r\n : Object.prototype.toString.call(argument) === \"[object Array]\";\r\n }\r\n // 7.2.3 IsCallable(argument)\r\n // https://tc39.github.io/ecma262/#sec-iscallable\r\n function IsCallable(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.4 IsConstructor(argument)\r\n // https://tc39.github.io/ecma262/#sec-isconstructor\r\n function IsConstructor(argument) {\r\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\r\n return typeof argument === \"function\";\r\n }\r\n // 7.2.7 IsPropertyKey(argument)\r\n // https://tc39.github.io/ecma262/#sec-ispropertykey\r\n function IsPropertyKey(argument) {\r\n switch (Type(argument)) {\r\n case 3 /* String */: return true;\r\n case 4 /* Symbol */: return true;\r\n default: return false;\r\n }\r\n }\r\n // 7.3 Operations on Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\r\n // 7.3.9 GetMethod(V, P)\r\n // https://tc39.github.io/ecma262/#sec-getmethod\r\n function GetMethod(V, P) {\r\n var func = V[P];\r\n if (func === undefined || func === null)\r\n return undefined;\r\n if (!IsCallable(func))\r\n throw new TypeError();\r\n return func;\r\n }\r\n // 7.4 Operations on Iterator Objects\r\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\r\n function GetIterator(obj) {\r\n var method = GetMethod(obj, iteratorSymbol);\r\n if (!IsCallable(method))\r\n throw new TypeError(); // from Call\r\n var iterator = method.call(obj);\r\n if (!IsObject(iterator))\r\n throw new TypeError();\r\n return iterator;\r\n }\r\n // 7.4.4 IteratorValue(iterResult)\r\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\r\n function IteratorValue(iterResult) {\r\n return iterResult.value;\r\n }\r\n // 7.4.5 IteratorStep(iterator)\r\n // https://tc39.github.io/ecma262/#sec-iteratorstep\r\n function IteratorStep(iterator) {\r\n var result = iterator.next();\r\n return result.done ? false : result;\r\n }\r\n // 7.4.6 IteratorClose(iterator, completion)\r\n // https://tc39.github.io/ecma262/#sec-iteratorclose\r\n function IteratorClose(iterator) {\r\n var f = iterator[\"return\"];\r\n if (f)\r\n f.call(iterator);\r\n }\r\n // 9.1 Ordinary Object Internal Methods and Internal Slots\r\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\r\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\r\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\r\n function OrdinaryGetPrototypeOf(O) {\r\n var proto = Object.getPrototypeOf(O);\r\n if (typeof O !== \"function\" || O === functionPrototype)\r\n return proto;\r\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\r\n // Try to determine the superclass constructor. Compatible implementations\r\n // must either set __proto__ on a subclass constructor to the superclass constructor,\r\n // or ensure each class has a valid `constructor` property on its prototype that\r\n // points back to the constructor.\r\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\r\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\r\n if (proto !== functionPrototype)\r\n return proto;\r\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\r\n var prototype = O.prototype;\r\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\r\n if (prototypeProto == null || prototypeProto === Object.prototype)\r\n return proto;\r\n // If the constructor was not a function, then we cannot determine the heritage.\r\n var constructor = prototypeProto.constructor;\r\n if (typeof constructor !== \"function\")\r\n return proto;\r\n // If we have some kind of self-reference, then we cannot determine the heritage.\r\n if (constructor === O)\r\n return proto;\r\n // we have a pretty good guess at the heritage.\r\n return constructor;\r\n }\r\n // naive Map shim\r\n function CreateMapPolyfill() {\r\n var cacheSentinel = {};\r\n var arraySentinel = [];\r\n var MapIterator = (function () {\r\n function MapIterator(keys, values, selector) {\r\n this._index = 0;\r\n this._keys = keys;\r\n this._values = values;\r\n this._selector = selector;\r\n }\r\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\r\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\r\n MapIterator.prototype.next = function () {\r\n var index = this._index;\r\n if (index >= 0 && index < this._keys.length) {\r\n var result = this._selector(this._keys[index], this._values[index]);\r\n if (index + 1 >= this._keys.length) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n else {\r\n this._index++;\r\n }\r\n return { value: result, done: false };\r\n }\r\n return { value: undefined, done: true };\r\n };\r\n MapIterator.prototype.throw = function (error) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n throw error;\r\n };\r\n MapIterator.prototype.return = function (value) {\r\n if (this._index >= 0) {\r\n this._index = -1;\r\n this._keys = arraySentinel;\r\n this._values = arraySentinel;\r\n }\r\n return { value: value, done: true };\r\n };\r\n return MapIterator;\r\n }());\r\n return (function () {\r\n function Map() {\r\n this._keys = [];\r\n this._values = [];\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n Object.defineProperty(Map.prototype, \"size\", {\r\n get: function () { return this._keys.length; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\r\n Map.prototype.get = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n return index >= 0 ? this._values[index] : undefined;\r\n };\r\n Map.prototype.set = function (key, value) {\r\n var index = this._find(key, /*insert*/ true);\r\n this._values[index] = value;\r\n return this;\r\n };\r\n Map.prototype.delete = function (key) {\r\n var index = this._find(key, /*insert*/ false);\r\n if (index >= 0) {\r\n var size = this._keys.length;\r\n for (var i = index + 1; i < size; i++) {\r\n this._keys[i - 1] = this._keys[i];\r\n this._values[i - 1] = this._values[i];\r\n }\r\n this._keys.length--;\r\n this._values.length--;\r\n if (key === this._cacheKey) {\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Map.prototype.clear = function () {\r\n this._keys.length = 0;\r\n this._values.length = 0;\r\n this._cacheKey = cacheSentinel;\r\n this._cacheIndex = -2;\r\n };\r\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\r\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\r\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\r\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\r\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\r\n Map.prototype._find = function (key, insert) {\r\n if (this._cacheKey !== key) {\r\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\r\n }\r\n if (this._cacheIndex < 0 && insert) {\r\n this._cacheIndex = this._keys.length;\r\n this._keys.push(key);\r\n this._values.push(undefined);\r\n }\r\n return this._cacheIndex;\r\n };\r\n return Map;\r\n }());\r\n function getKey(key, _) {\r\n return key;\r\n }\r\n function getValue(_, value) {\r\n return value;\r\n }\r\n function getEntry(key, value) {\r\n return [key, value];\r\n }\r\n }\r\n // naive Set shim\r\n function CreateSetPolyfill() {\r\n return (function () {\r\n function Set() {\r\n this._map = new _Map();\r\n }\r\n Object.defineProperty(Set.prototype, \"size\", {\r\n get: function () { return this._map.size; },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Set.prototype.has = function (value) { return this._map.has(value); };\r\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\r\n Set.prototype.delete = function (value) { return this._map.delete(value); };\r\n Set.prototype.clear = function () { this._map.clear(); };\r\n Set.prototype.keys = function () { return this._map.keys(); };\r\n Set.prototype.values = function () { return this._map.values(); };\r\n Set.prototype.entries = function () { return this._map.entries(); };\r\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\r\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\r\n return Set;\r\n }());\r\n }\r\n // naive WeakMap shim\r\n function CreateWeakMapPolyfill() {\r\n var UUID_SIZE = 16;\r\n var keys = HashMap.create();\r\n var rootKey = CreateUniqueKey();\r\n return (function () {\r\n function WeakMap() {\r\n this._key = CreateUniqueKey();\r\n }\r\n WeakMap.prototype.has = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.has(table, this._key) : false;\r\n };\r\n WeakMap.prototype.get = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\r\n };\r\n WeakMap.prototype.set = function (target, value) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\r\n table[this._key] = value;\r\n return this;\r\n };\r\n WeakMap.prototype.delete = function (target) {\r\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\r\n return table !== undefined ? delete table[this._key] : false;\r\n };\r\n WeakMap.prototype.clear = function () {\r\n // NOTE: not a real clear, just makes the previous data unreachable\r\n this._key = CreateUniqueKey();\r\n };\r\n return WeakMap;\r\n }());\r\n function CreateUniqueKey() {\r\n var key;\r\n do\r\n key = \"@@WeakMap@@\" + CreateUUID();\r\n while (HashMap.has(keys, key));\r\n keys[key] = true;\r\n return key;\r\n }\r\n function GetOrCreateWeakMapTable(target, create) {\r\n if (!hasOwn.call(target, rootKey)) {\r\n if (!create)\r\n return undefined;\r\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\r\n }\r\n return target[rootKey];\r\n }\r\n function FillRandomBytes(buffer, size) {\r\n for (var i = 0; i < size; ++i)\r\n buffer[i] = Math.random() * 0xff | 0;\r\n return buffer;\r\n }\r\n function GenRandomBytes(size) {\r\n if (typeof Uint8Array === \"function\") {\r\n if (typeof crypto !== \"undefined\")\r\n return crypto.getRandomValues(new Uint8Array(size));\r\n if (typeof msCrypto !== \"undefined\")\r\n return msCrypto.getRandomValues(new Uint8Array(size));\r\n return FillRandomBytes(new Uint8Array(size), size);\r\n }\r\n return FillRandomBytes(new Array(size), size);\r\n }\r\n function CreateUUID() {\r\n var data = GenRandomBytes(UUID_SIZE);\r\n // mark as random - RFC 4122 § 4.4\r\n data[6] = data[6] & 0x4f | 0x40;\r\n data[8] = data[8] & 0xbf | 0x80;\r\n var result = \"\";\r\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\r\n var byte = data[offset];\r\n if (offset === 4 || offset === 6 || offset === 8)\r\n result += \"-\";\r\n if (byte < 16)\r\n result += \"0\";\r\n result += byte.toString(16).toLowerCase();\r\n }\r\n return result;\r\n }\r\n }\r\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\r\n function MakeDictionary(obj) {\r\n obj.__ = undefined;\r\n delete obj.__;\r\n return obj;\r\n }\r\n });\r\n})(Reflect || (Reflect = {}));\r\n//# sourceMappingURL=Reflect.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/reflect-metadata/Reflect.js\n// module id = 246\n// module chunks = 2","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(factory());\n}(this, (function () { 'use strict';\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar Zone$1 = (function (global) {\n var FUNCTION = 'function';\n var performance = global['performance'];\n function mark(name) {\n performance && performance['mark'] && performance['mark'](name);\n }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n if (global['Zone']) {\n throw new Error('Zone already loaded.');\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._properties = null;\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () {\n return _currentZoneFrame.zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () {\n return _currentTask;\n },\n enumerable: true,\n configurable: true\n });\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n throw Error('Already loaded patch: ' + name);\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () {\n return this._parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () {\n return this._name;\n },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== FUNCTION) {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = undefined; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n // we have to define an variable here, if not\n // typescript compiler will complain below\n var isNotScheduled = task.state === notScheduled;\n if (isNotScheduled && task.type === eventTask) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = null;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this\n .name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, null));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) {\n return delegate.hasTask(target, hasTaskState);\n },\n onScheduleTask: function (delegate, _, target, task) {\n return delegate.scheduleTask(target, task);\n },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) {\n return delegate.cancelTask(target, task);\n }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone = zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate.zone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate.zone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone = zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate.zone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt =\n zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate.zone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt =\n zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone =\n zoneSpec && (zoneSpec.onScheduleTask ? this.zone : parentDelegate.zone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate.zone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate.zone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n return this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n this._zone = null;\n this.runCount = 0;\n this._zoneDelegates = null;\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () {\n return this._zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () {\n return this._state;\n },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () {\n this._transitionTo(notScheduled, scheduling);\n };\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ?\n ' or \\'' + fromState2 + '\\'' :\n '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId;\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n nativeMicroTaskQueuePromise[symbolThen](drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return null; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === FUNCTION) {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n function __symbol__(name) {\n return '__zone_symbol__' + name;\n }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n})(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n\nZone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () {\n throw uncaughtPromiseError;\n });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (handler && typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) {\n return value;\n }\n function forwardRejection(rejection) {\n return ZoneAwarePromise.reject(rejection);\n }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () {\n resolvePromise(promise, false, err);\n })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally \n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n // try to print more readable error log\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n var error_1 = err;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () {\n return ZONE_AWARE_PROMISE_TO_STRING;\n };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) {\n promise && (promise = null || resolve(value));\n }\n function onReject(error) {\n promise && (promise = null || reject(error));\n }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var count = 0;\n var resolvedValues = [];\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then((function (index) { return function (value) {\n resolvedValues[index] = value;\n count--;\n if (!count) {\n resolve(resolvedValues);\n }\n }; })(count), reject);\n count++;\n }\n if (!count)\n resolve(resolvedValues);\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var chainPromise = new this.constructor(null);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) {\n originalThen.call(_this, resolve, reject);\n });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n// issue #989, to reduce bundle size, use short name\n/** Object.getOwnPropertyDescriptor */\nvar ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n/** Object.defineProperty */\nvar ObjectDefineProperty = Object.defineProperty;\n/** Object.getPrototypeOf */\nvar ObjectGetPrototypeOf = Object.getPrototypeOf;\n/** Object.create */\nvar ObjectCreate = Object.create;\n/** Array.prototype.slice */\nvar ArraySlice = Array.prototype.slice;\n/** addEventListener string const */\nvar ADD_EVENT_LISTENER_STR = 'addEventListener';\n/** removeEventListener string const */\nvar REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n/** zoneSymbol addEventListener */\nvar ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n/** zoneSymbol removeEventListener */\nvar ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n/** true string const */\nvar TRUE_STR = 'true';\n/** false string const */\nvar FALSE_STR = 'false';\n/** __zone_symbol__ string const */\nvar ZONE_SYMBOL_PREFIX = '__zone_symbol__';\nfunction wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n}\nfunction scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n}\nvar zoneSymbol = Zone.__symbol__;\nvar isWindowExists = typeof window !== 'undefined';\nvar internalWindow = isWindowExists ? window : undefined;\nvar _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\nvar REMOVE_ATTRIBUTE = 'removeAttribute';\nvar NULL_ON_PROP_VALUE = [null];\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n}\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\nfunction isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n}\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n// we are in electron of nw, so we are both browser and nodejs\n// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n// this code.\nvar isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\nvar zoneSymbolEventNames = {};\nvar wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n return result;\n};\nfunction patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n}\nfunction patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n}\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () {\n return patchDelegate_1(this, arguments);\n };\n attachOriginToPatched(proto[name], delegate);\n }\n }\n return delegate;\n}\n// TODO: @JiaLiPassion, support cancel task later if necessary\nfunction patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () {\n task.invoke.apply(this, arguments);\n };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask, null);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n}\n\nfunction attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n}\nvar isDetectedIEOrEdge = false;\nvar ieOrEdge = false;\nfunction isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n return ieOrEdge;\n }\n catch (error) {\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// override Function.prototype.toString to make zone.js patched function\n// look like native function\nZone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.apply(nativePromise, arguments);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.apply(nativeError, arguments);\n }\n }\n }\n return originalFunctionToString.apply(this, arguments);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.apply(this, arguments);\n };\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\n// an identifier to tell ZoneTask do not create a new invoke closure\nvar OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n};\nvar zoneSymbolEventNames$1 = {};\nvar globalSources = {};\nvar EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\\w+)(true|false)$/;\nvar IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped');\nfunction patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n var customScheduleGlobal = function () {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var eventName = arguments[0];\n var options = arguments[2];\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n var capture;\n var once = false;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n once = options ? !!options.once : false;\n }\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (!symbolEventNames) {\n // the code is duplicate, but I just want to get some better performance\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n symbolEventName = capture ? symbolCapture : symbol;\n }\n else {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource + eventName;\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : null;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n task.options = options;\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var options = arguments[2];\n var capture;\n if (options === undefined) {\n capture = false;\n }\n else if (options === true) {\n capture = true;\n }\n else if (options === false) {\n capture = false;\n }\n else {\n capture = options ? !!options.capture : false;\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n var listeners = [];\n var tasks = findEventTasks(target, eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n}\nfunction findEventTasks(target, eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n}\nfunction patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nvar taskSymbol = zoneSymbol('zoneTask');\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n handleId: null,\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// we have to patch the instance since the proto is non-configurable\nfunction apply(api, _global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {globalThis}\n */\nvar globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n];\nvar documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange'\n];\nvar windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplyconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n];\nvar htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n];\nvar mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\nvar ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n];\nvar webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\nvar formEventNames = ['autocomplete', 'autocompleteerror'];\nvar detailEventNames = ['toggle'];\nvar frameEventNames = ['load'];\nvar frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\nvar marqueeEventNames = ['bounce', 'finish', 'start'];\nvar XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n];\nvar IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\nvar websocketEventNames = ['close', 'error', 'open', 'message'];\nvar workerEventNames = ['error', 'message'];\nvar eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\nfunction filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n}\nfunction patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n}\nfunction propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n var ignoreProperties = _global.__Zone_ignore_on_properties;\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow = window;\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties, ObjectGetPrototypeOf(internalWindow));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake');\n ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () {\n return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1];\n },\n set: function (value) {\n this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value;\n }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n}\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction eventTargetPatch(_global, api) {\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext });\n api.patchEventTarget = patchEventTarget;\n return true;\n}\nfunction patchEvent(global, api) {\n patchEventPrototype(global, api);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nfunction registerElementPatch(_global) {\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var _registerElement = document.registerElement;\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n document.registerElement = function (name, opts) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = 'Document.registerElement::' + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = wrapWithCurrentZone(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return _registerElement.call(document, name, opts);\n };\n attachOriginToPatched(document.registerElement, _registerElement);\n}\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @fileoverview\n * @suppress {missingRequire}\n */\nZone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n});\nZone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n});\nZone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n});\nZone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_1 = blockingMethods[i];\n patchMethod(global, name_1, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n});\nZone.__load_patch('EventTarget', function (global, Zone, api) {\n // load blackListEvents from global\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n});\nZone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n propertyPatch();\n registerElementPatch(global);\n});\nZone.__load_patch('canvas', function (global) {\n var HTMLCanvasElement = global['HTMLCanvasElement'];\n if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype &&\n HTMLCanvasElement.prototype.toBlob) {\n patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) {\n return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args };\n });\n }\n});\nZone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n function patchXHR(window) {\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) {\n return target[XHR_TASK];\n }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n XMLHttpRequest[XHR_SCHEDULED] = false;\n var data = task.data;\n var target = data.target;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && task.state === SCHEDULED) {\n task.invoke();\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n XMLHttpRequest[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = {\n target: self,\n url: self[XHR_URL],\n isPeriodic: false,\n delay: null,\n args: args,\n aborted: false\n };\n return scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n});\nZone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n});\nZone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n});\n\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n})));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/zone.js/dist/zone.js\n// module id = 247\n// module chunks = 2","function __assignFn(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n}\nfunction __extendsFn(d, b) {\n for (var p in b)\n if (b.hasOwnProperty(p))\n d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\nfunction __decorateFn(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\nfunction __metadataFn(k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\n return Reflect.metadata(k, v);\n}\nfunction __paramFn(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n}\nfunction __awaiterFn(thisArg, _arguments, P, generator) {\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try {\n step(generator.next(value));\n }\n catch (e) {\n reject(e);\n } }\n function rejected(value) { try {\n step(generator.throw(value));\n }\n catch (e) {\n reject(e);\n } }\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments)).next());\n });\n}\n// hook global helpers\n(function (__global) {\n __global.__assign = (__global && __global.__assign) || Object.assign || __assignFn;\n __global.__extends = (__global && __global.__extends) || __extendsFn;\n __global.__decorate = (__global && __global.__decorate) || __decorateFn;\n __global.__metadata = (__global && __global.__metadata) || __metadataFn;\n __global.__param = (__global && __global.__param) || __paramFn;\n __global.__awaiter = (__global && __global.__awaiter) || __awaiterFn;\n})(typeof window !== \"undefined\" ? window :\n typeof WorkerGlobalScope !== \"undefined\" ? self :\n typeof global !== \"undefined\" ? global :\n Function(\"return this;\")());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/ts-helpers/index.js\n// module id = 248\n// module chunks = 2","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 6\n// module chunks = 2","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = 67\n// module chunks = 2"],"sourceRoot":""} \ No newline at end of file diff --git a/openhtf/output/web_gui/dist/js/vendor.9e59157efdb2888f056b.js b/openhtf/output/web_gui/dist/js/vendor.9e59157efdb2888f056b.js new file mode 100644 index 00000000..3b9b6d24 --- /dev/null +++ b/openhtf/output/web_gui/dist/js/vendor.9e59157efdb2888f056b.js @@ -0,0 +1,1584 @@ +webpackJsonp([0],[function(e,t,r){"use strict";var n=r(13),i=r(250),o=r(52),s=r(68),a=function(){function Observable(e){this._isScalar=!1,e&&(this._subscribe=e)}return Observable.prototype.lift=function(e){var t=new Observable;return t.source=this,t.operator=e,t},Observable.prototype.subscribe=function(e,t,r){var n=this.operator,o=i.toSubscriber(e,t,r);if(n?n.call(o,this.source):o.add(this.source||!o.syncErrorThrowable?this._subscribe(o):this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},Observable.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.syncErrorThrown=!0,e.syncErrorValue=t,e.error(t)}},Observable.prototype.forEach=function(e,t){var r=this;if(t||(n.root.Rx&&n.root.Rx.config&&n.root.Rx.config.Promise?t=n.root.Rx.config.Promise:n.root.Promise&&(t=n.root.Promise)),!t)throw new Error("no Promise impl found");return new t(function(t,n){var i;i=r.subscribe(function(t){if(i)try{e(t)}catch(e){n(e),i.unsubscribe()}else e(t)},n,t)})},Observable.prototype._subscribe=function(e){return this.source.subscribe(e)},Observable.prototype[o.observable]=function(){return this},Observable.prototype.pipe=function(){for(var e=[],t=0;t1?" ("+ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function findFirstClosedCycle(e){for(var t=[],r=0;r-1)return t.push(e[r]),t;t.push(e[r])}return t}(e.slice().reverse()).map(function(e){return stringify(e.token)}).join(" -> ")+")":""}function injectionError(e,t,r,n){var i=[t],o=r(i),s=n?function wrappedError(e,t){var r=e+" caused by: "+(t instanceof Error?t.message:t),n=Error(r);return n[Q]=t,n}(o,n):Error(o);return s.addKey=addKey,s.keys=i,s.injectors=[e],s.constructResolvingMessage=r,s[Q]=n,s}function addKey(e,t){this.injectors.push(e),this.keys.push(t),this.message=this.constructResolvingMessage(this.keys)}function noAnnotationError(e,t){for(var r=[],n=0,i=t.length;n=this._providers.length)throw function outOfBoundsError(e){return Error("Index "+e+" is out-of-bounds.")}(e);return this._providers[e]},ReflectiveInjector_.prototype._new=function(e){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw function cyclicDependencyError(e,t){return injectionError(e,t,function(e){return"Cannot instantiate cyclic dependency!"+constructResolvingPath(e)})}(this,e.key);return this._instantiateProvider(e)},ReflectiveInjector_.prototype._getMaxNumberOfObjects=function(){return this.objs.length},ReflectiveInjector_.prototype._instantiateProvider=function(e){if(e.multiProvider){for(var t=new Array(e.resolvedFactories.length),r=0;r0)e._bootstrapComponents.forEach(function(e){return t.bootstrap(e)});else{if(!e.instance.ngDoBootstrap)throw new Error("The module "+stringify(e.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');e.instance.ngDoBootstrap(t)}this._modules.push(e)},PlatformRef_}(et);tt.decorators=[{type:U}],tt.ctorParameters=function(){return[{type:X}]};var rt=function(){function ApplicationRef(){}return ApplicationRef.prototype.bootstrap=function(e,t){},ApplicationRef.prototype.tick=function(){},ApplicationRef.prototype.componentTypes=function(){},ApplicationRef.prototype.components=function(){},ApplicationRef.prototype.attachView=function(e){},ApplicationRef.prototype.detachView=function(e){},ApplicationRef.prototype.viewCount=function(){},ApplicationRef.prototype.isStable=function(){},ApplicationRef}(),nt=function(e){function ApplicationRef_(t,r,n,a,u,c){var l=e.call(this)||this;l._zone=t,l._console=r,l._injector=n,l._exceptionHandler=a,l._componentFactoryResolver=u,l._initStatus=c,l._bootstrapListeners=[],l._rootComponents=[],l._rootComponentTypes=[],l._views=[],l._runningTick=!1,l._enforceNoNewChanges=!1,l._stable=!0,l._enforceNoNewChanges=isDevMode(),l._zone.onMicrotaskEmpty.subscribe({next:function(){l._zone.run(function(){l.tick()})}});var p=new i.Observable(function(e){l._stable=l._zone.isStable&&!l._zone.hasPendingMacrotasks&&!l._zone.hasPendingMicrotasks,l._zone.runOutsideAngular(function(){e.next(l._stable),e.complete()})}),h=new i.Observable(function(e){var t;l._zone.runOutsideAngular(function(){t=l._zone.onStable.subscribe(function(){qe.assertNotInAngularZone(),scheduleMicroTask(function(){l._stable||l._zone.hasPendingMacrotasks||l._zone.hasPendingMicrotasks||(l._stable=!0,e.next(!0))})})});var r=l._zone.onUnstable.subscribe(function(){qe.assertInAngularZone(),l._stable&&(l._stable=!1,l._zone.runOutsideAngular(function(){e.next(!1)}))});return function(){t.unsubscribe(),r.unsubscribe()}});return l._isStable=Object(o.merge)(p,s.share.call(h)),l}return n.a(ApplicationRef_,e),ApplicationRef_.prototype.attachView=function(e){var t=e;this._views.push(t),t.attachToAppRef(this)},ApplicationRef_.prototype.detachView=function(e){var t=e;remove(this._views,t),t.detachFromAppRef()},ApplicationRef_.prototype.bootstrap=function(e,t){var r,n=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");r=e instanceof Re?e:this._componentFactoryResolver.resolveComponentFactory(e),this._rootComponentTypes.push(r.componentType);var i=r instanceof Ve?null:this._injector.get(je),o=t||r.selector,s=r.create(X.NULL,[],o,i);s.onDestroy(function(){n._unloadComponent(s)});var a=s.injector.get(Ge,null);return a&&s.injector.get(Je).registerApplication(s.location.nativeElement,a),this._loadComponent(s),isDevMode()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),s},ApplicationRef_.prototype._loadComponent=function(e){this.attachView(e.hostView),this.tick(),this._rootComponents.push(e),this._injector.get(Se,[]).concat(this._bootstrapListeners).forEach(function(t){return t(e)})},ApplicationRef_.prototype._unloadComponent=function(e){this.detachView(e.hostView),remove(this._rootComponents,e)},ApplicationRef_.prototype.tick=function(){var e=this;if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var t=ApplicationRef_._tickScope();try{this._runningTick=!0,this._views.forEach(function(e){return e.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(e){return e.checkNoChanges()})}catch(t){this._zone.runOutsideAngular(function(){return e._exceptionHandler.handleError(t)})}finally{this._runningTick=!1,Ue(t)}},ApplicationRef_.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(e){return e.destroy()})},Object.defineProperty(ApplicationRef_.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),Object.defineProperty(ApplicationRef_.prototype,"componentTypes",{get:function(){return this._rootComponentTypes},enumerable:!0,configurable:!0}),Object.defineProperty(ApplicationRef_.prototype,"components",{get:function(){return this._rootComponents},enumerable:!0,configurable:!0}),Object.defineProperty(ApplicationRef_.prototype,"isStable",{get:function(){return this._isStable},enumerable:!0,configurable:!0}),ApplicationRef_}(rt);function remove(e,t){var r=e.indexOf(t);r>-1&&e.splice(r,1)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */nt._tickScope=Be("ApplicationRef#tick()"),nt.decorators=[{type:U}],nt.ctorParameters=function(){return[{type:qe},{type:Ee},{type:X},{type:Y},{type:Ie},{type:ve}]};var it=function(){return function RenderComponentType(e,t,r,n,i,o){this.id=e,this.templateUrl=t,this.slotCount=r,this.encapsulation=n,this.styles=i,this.animations=o}}(),ot=function(){function RenderDebugInfo(){}return RenderDebugInfo.prototype.injector=function(){},RenderDebugInfo.prototype.component=function(){},RenderDebugInfo.prototype.providerTokens=function(){},RenderDebugInfo.prototype.references=function(){},RenderDebugInfo.prototype.context=function(){},RenderDebugInfo.prototype.source=function(){},RenderDebugInfo}(),st=function(){function Renderer(){}return Renderer.prototype.selectRootElement=function(e,t){},Renderer.prototype.createElement=function(e,t,r){},Renderer.prototype.createViewRoot=function(e){},Renderer.prototype.createTemplateAnchor=function(e,t){},Renderer.prototype.createText=function(e,t,r){},Renderer.prototype.projectNodes=function(e,t){},Renderer.prototype.attachViewAfter=function(e,t){},Renderer.prototype.detachView=function(e){},Renderer.prototype.destroyView=function(e,t){},Renderer.prototype.listen=function(e,t,r){},Renderer.prototype.listenGlobal=function(e,t,r){},Renderer.prototype.setElementProperty=function(e,t,r){},Renderer.prototype.setElementAttribute=function(e,t,r){},Renderer.prototype.setBindingDebugInfo=function(e,t,r){},Renderer.prototype.setElementClass=function(e,t,r){},Renderer.prototype.setElementStyle=function(e,t,r){},Renderer.prototype.invokeElementMethod=function(e,t,r){},Renderer.prototype.setText=function(e,t){},Renderer.prototype.animate=function(e,t,r,n,i,o,s){},Renderer}(),at=(new c("Renderer2Interceptor"),function(){function RootRenderer(){}return RootRenderer.prototype.renderComponent=function(e){},RootRenderer}()),ut=function(){function RendererFactory2(){}return RendererFactory2.prototype.createRenderer=function(e,t){},RendererFactory2.prototype.begin=function(){},RendererFactory2.prototype.end=function(){},RendererFactory2.prototype.whenRenderingDone=function(){},RendererFactory2}(),ct={Important:1,DashCase:2};ct[ct.Important]="Important",ct[ct.DashCase]="DashCase";var lt=function(){function Renderer2(){}return Renderer2.prototype.data=function(){},Renderer2.prototype.destroy=function(){},Renderer2.prototype.createElement=function(e,t){},Renderer2.prototype.createComment=function(e){},Renderer2.prototype.createText=function(e){},Renderer2.prototype.appendChild=function(e,t){},Renderer2.prototype.insertBefore=function(e,t,r){},Renderer2.prototype.removeChild=function(e,t){},Renderer2.prototype.selectRootElement=function(e){},Renderer2.prototype.parentNode=function(e){},Renderer2.prototype.nextSibling=function(e){},Renderer2.prototype.setAttribute=function(e,t,r,n){},Renderer2.prototype.removeAttribute=function(e,t,r){},Renderer2.prototype.addClass=function(e,t){},Renderer2.prototype.removeClass=function(e,t){},Renderer2.prototype.setStyle=function(e,t,r,n){},Renderer2.prototype.removeStyle=function(e,t,r){},Renderer2.prototype.setProperty=function(e,t,r){},Renderer2.prototype.setValue=function(e,t){},Renderer2.prototype.listen=function(e,t,r){},Renderer2}(),pt=function(){return function ElementRef(e){this.nativeElement=e}}(),ht=function(){function NgModuleFactoryLoader(){}return NgModuleFactoryLoader.prototype.load=function(e){},NgModuleFactoryLoader}(),ft=new Map; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function registerModuleFactory(e,t){var r=ft.get(e);if(r)throw new Error("Duplicate module registered for "+e+" - "+r.moduleType.name+" vs "+t.moduleType.name);ft.set(e,t)}function getModuleFactory(e){var t=ft.get(e);if(!t)throw new Error("No module with ID "+e+" loaded");return t} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var dt=function(){function QueryList(){this._dirty=!0,this._results=[],this._emitter=new ze}return Object.defineProperty(QueryList.prototype,"changes",{get:function(){return this._emitter},enumerable:!0,configurable:!0}),Object.defineProperty(QueryList.prototype,"length",{get:function(){return this._results.length},enumerable:!0,configurable:!0}),Object.defineProperty(QueryList.prototype,"first",{get:function(){return this._results[0]},enumerable:!0,configurable:!0}),Object.defineProperty(QueryList.prototype,"last",{get:function(){return this._results[this.length-1]},enumerable:!0,configurable:!0}),QueryList.prototype.map=function(e){return this._results.map(e)},QueryList.prototype.filter=function(e){return this._results.filter(e)},QueryList.prototype.find=function(e){return this._results.find(e)},QueryList.prototype.reduce=function(e,t){return this._results.reduce(e,t)},QueryList.prototype.forEach=function(e){this._results.forEach(e)},QueryList.prototype.some=function(e){return this._results.some(e)},QueryList.prototype.toArray=function(){return this._results.slice()},QueryList.prototype[getSymbolIterator()]=function(){return this._results[getSymbolIterator()]()},QueryList.prototype.toString=function(){return this._results.toString()},QueryList.prototype.reset=function(e){this._results=function flatten(e){return e.reduce(function(e,t){var r=Array.isArray(t)?flatten(t):t;return e.concat(r)},[])} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(e),this._dirty=!1},QueryList.prototype.notifyOnChanges=function(){this._emitter.emit(this)},QueryList.prototype.setDirty=function(){this._dirty=!0},Object.defineProperty(QueryList.prototype,"dirty",{get:function(){return this._dirty},enumerable:!0,configurable:!0}),QueryList.prototype.destroy=function(){this._emitter.complete(),this._emitter.unsubscribe()},QueryList}();var mt=function(){return function SystemJsNgModuleLoaderConfig(){}}(),vt={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},yt=function(){function SystemJsNgModuleLoader(e,t){this._compiler=e,this._config=t||vt}return SystemJsNgModuleLoader.prototype.load=function(e){return this._compiler instanceof xe?this.loadFactory(e):this.loadAndCompile(e)},SystemJsNgModuleLoader.prototype.loadAndCompile=function(e){var t=this,n=e.split("#"),i=n[0],o=n[1];return void 0===o&&(o="default"),r(110)(i).then(function(e){return e[o]}).then(function(e){return checkNotEmpty(e,i,o)}).then(function(e){return t._compiler.compileModuleAsync(e)})},SystemJsNgModuleLoader.prototype.loadFactory=function(e){var t=e.split("#"),n=t[0],i=t[1],o="NgFactory";return void 0===i&&(i="default",o=""),r(110)(this._config.factoryPathPrefix+n+this._config.factoryPathSuffix).then(function(e){return e[i+o]}).then(function(e){return checkNotEmpty(e,n,i)})},SystemJsNgModuleLoader}();function checkNotEmpty(e,t,r){if(!e)throw new Error("Cannot find '"+r+"' in '"+t+"'");return e} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */yt.decorators=[{type:U}],yt.ctorParameters=function(){return[{type:xe},{type:mt,decorators:[{type:B}]}]};var bt=function(){function TemplateRef(){}return TemplateRef.prototype.elementRef=function(){},TemplateRef.prototype.createEmbeddedView=function(e){},TemplateRef}(),gt=function(){function ViewContainerRef(){}return ViewContainerRef.prototype.element=function(){},ViewContainerRef.prototype.injector=function(){},ViewContainerRef.prototype.parentInjector=function(){},ViewContainerRef.prototype.clear=function(){},ViewContainerRef.prototype.get=function(e){},ViewContainerRef.prototype.length=function(){},ViewContainerRef.prototype.createEmbeddedView=function(e,t,r){},ViewContainerRef.prototype.createComponent=function(e,t,r,n,i){},ViewContainerRef.prototype.insert=function(e,t){},ViewContainerRef.prototype.move=function(e,t){},ViewContainerRef.prototype.indexOf=function(e){},ViewContainerRef.prototype.remove=function(e){},ViewContainerRef.prototype.detach=function(e){},ViewContainerRef}(),_t=function(){function ChangeDetectorRef(){}return ChangeDetectorRef.prototype.markForCheck=function(){},ChangeDetectorRef.prototype.detach=function(){},ChangeDetectorRef.prototype.detectChanges=function(){},ChangeDetectorRef.prototype.checkNoChanges=function(){},ChangeDetectorRef.prototype.reattach=function(){},ChangeDetectorRef}(),St=function(e){function ViewRef(){return null!==e&&e.apply(this,arguments)||this}return n.a(ViewRef,e),ViewRef.prototype.destroy=function(){},ViewRef.prototype.destroyed=function(){},ViewRef.prototype.onDestroy=function(e){},ViewRef}(_t),wt=function(e){function EmbeddedViewRef(){return null!==e&&e.apply(this,arguments)||this}return n.a(EmbeddedViewRef,e),EmbeddedViewRef.prototype.context=function(){},EmbeddedViewRef.prototype.rootNodes=function(){},EmbeddedViewRef}(St),Et=function(){return function EventListener(e,t){this.name=e,this.callback=t}}(),Ct=function(){function DebugNode(e,t,r){this._debugContext=r,this.nativeNode=e,t&&t instanceof xt?t.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(DebugNode.prototype,"injector",{get:function(){return this._debugContext.injector},enumerable:!0,configurable:!0}),Object.defineProperty(DebugNode.prototype,"componentInstance",{get:function(){return this._debugContext.component},enumerable:!0,configurable:!0}),Object.defineProperty(DebugNode.prototype,"context",{get:function(){return this._debugContext.context},enumerable:!0,configurable:!0}),Object.defineProperty(DebugNode.prototype,"references",{get:function(){return this._debugContext.references},enumerable:!0,configurable:!0}),Object.defineProperty(DebugNode.prototype,"providerTokens",{get:function(){return this._debugContext.providerTokens},enumerable:!0,configurable:!0}),Object.defineProperty(DebugNode.prototype,"source",{get:function(){return"Deprecated since v4"},enumerable:!0,configurable:!0}),DebugNode}(),xt=function(e){function DebugElement(t,r,n){var i=e.call(this,t,r,n)||this;return i.properties={},i.attributes={},i.classes={},i.styles={},i.childNodes=[],i.nativeElement=t,i}return n.a(DebugElement,e),DebugElement.prototype.addChild=function(e){e&&(this.childNodes.push(e),e.parent=this)},DebugElement.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);-1!==t&&(e.parent=null,this.childNodes.splice(t,1))},DebugElement.prototype.insertChildrenAfter=function(e,t){var r,n=this,i=this.childNodes.indexOf(e);-1!==i&&((r=this.childNodes).splice.apply(r,[i+1,0].concat(t)),t.forEach(function(e){e.parent&&e.parent.removeChild(e),e.parent=n}))},DebugElement.prototype.insertBefore=function(e,t){var r=this.childNodes.indexOf(e);-1===r?this.addChild(t):(t.parent&&t.parent.removeChild(t),t.parent=this,this.childNodes.splice(r,0,t))},DebugElement.prototype.query=function(e){return this.queryAll(e)[0]||null},DebugElement.prototype.queryAll=function(e){var t=[];return _queryElementChildren(this,e,t),t},DebugElement.prototype.queryAllNodes=function(e){var t=[];return _queryNodeChildren(this,e,t),t},Object.defineProperty(DebugElement.prototype,"children",{get:function(){return this.childNodes.filter(function(e){return e instanceof DebugElement})},enumerable:!0,configurable:!0}),DebugElement.prototype.triggerEventHandler=function(e,t){this.listeners.forEach(function(r){r.name==e&&r.callback(t)})},DebugElement}(Ct); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function asNativeElements(e){return e.map(function(e){return e.nativeElement})}function _queryElementChildren(e,t,r){e.childNodes.forEach(function(e){e instanceof xt&&(t(e)&&r.push(e),_queryElementChildren(e,t,r))})}function _queryNodeChildren(e,t,r){e instanceof xt&&e.childNodes.forEach(function(e){t(e)&&r.push(e),e instanceof xt&&_queryNodeChildren(e,t,r)})}var Tt=new Map;function getDebugNode(e){return Tt.get(e)||null}function indexDebugNode(e){Tt.set(e.nativeNode,e)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function devModeEqual(e,t){var r=isListLikeIterable(e),n=isListLikeIterable(t);return r&&n?function areIterablesEqual(e,t,r){var n=e[getSymbolIterator()](),i=t[getSymbolIterator()]();for(;;){var o=n.next(),s=i.next();if(o.done&&s.done)return!0;if(o.done||s.done)return!1;if(!r(o.value,s.value))return!1}}(e,t,devModeEqual):!(r||!(e&&("object"==typeof e||"function"==typeof e))||n||!(t&&("object"==typeof t||"function"==typeof t)))||looseIdentical(e,t)}var At=function(){function WrappedValue(e){this.wrapped=e}return WrappedValue.wrap=function(e){return new WrappedValue(e)},WrappedValue}(),Ot=function(){function ValueUnwrapper(){this.hasWrappedValue=!1}return ValueUnwrapper.prototype.unwrap=function(e){return e instanceof At?(this.hasWrappedValue=!0,e.wrapped):e},ValueUnwrapper.prototype.reset=function(){this.hasWrappedValue=!1},ValueUnwrapper}(),Rt=function(){function SimpleChange(e,t,r){this.previousValue=e,this.currentValue=t,this.firstChange=r}return SimpleChange.prototype.isFirstChange=function(){return this.firstChange},SimpleChange}();function isListLikeIterable(e){return!!isJsObject(e)&&(Array.isArray(e)||!(e instanceof Map)&&getSymbolIterator()in e)}function isJsObject(e){return null!==e&&("function"==typeof e||"object"==typeof e)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var Pt=function(){function DefaultIterableDifferFactory(){}return DefaultIterableDifferFactory.prototype.supports=function(e){return isListLikeIterable(e)},DefaultIterableDifferFactory.prototype.create=function(e,t){return new It(t||e)},DefaultIterableDifferFactory}(),Nt=function(e,t){return t},It=function(){function DefaultIterableDiffer(e){this._length=0,this._collection=null,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||Nt}return Object.defineProperty(DefaultIterableDiffer.prototype,"collection",{get:function(){return this._collection},enumerable:!0,configurable:!0}),Object.defineProperty(DefaultIterableDiffer.prototype,"length",{get:function(){return this._length},enumerable:!0,configurable:!0}),DefaultIterableDiffer.prototype.forEachItem=function(e){var t;for(t=this._itHead;null!==t;t=t._next)e(t)},DefaultIterableDiffer.prototype.forEachOperation=function(e){for(var t=this._itHead,r=this._removalsHead,n=0,i=null;t||r;){var o=!r||t&&t.currentIndex"+stringify(this.currentIndex)+"]"},IterableChangeRecord_}(),Mt=function(){function _DuplicateItemRecordList(){this._head=null,this._tail=null}return _DuplicateItemRecordList.prototype.add=function(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)},_DuplicateItemRecordList.prototype.get=function(e,t){var r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&looseIdentical(r.trackById,e))return r;return null},_DuplicateItemRecordList.prototype.remove=function(e){var t=e._prevDup,r=e._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head},_DuplicateItemRecordList}(),kt=function(){function _DuplicateMap(){this.map=new Map}return _DuplicateMap.prototype.put=function(e){var t=e.trackById,r=this.map.get(t);r||(r=new Mt,this.map.set(t,r)),r.add(e)},_DuplicateMap.prototype.get=function(e,t){var r=e,n=this.map.get(r);return n?n.get(e,t):null},_DuplicateMap.prototype.remove=function(e){var t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e},Object.defineProperty(_DuplicateMap.prototype,"isEmpty",{get:function(){return 0===this.map.size},enumerable:!0,configurable:!0}),_DuplicateMap.prototype.clear=function(){this.map.clear()},_DuplicateMap.prototype.toString=function(){return"_DuplicateMap("+stringify(this.map)+")"},_DuplicateMap}();function getPreviousIndex(e,t,r){var n=e.previousIndex;if(null===n)return n;var i=0;return r&&n0?i[r-1]:null,n)}function detachEmbeddedView(e,t){var r=e.viewContainer._embeddedViews;if((null==t||t>=r.length)&&(t=r.length-1),t<0)return null;var n=r[t];return n.viewContainerParent=null,removeFromArray(r,t),er.dirtyParentQueries(n),renderDetachView(n),n}function renderAttachEmbeddedView(e,t,r){var n=t?renderNode(t,t.def.lastRenderRootNode):e.renderElement,i=r.renderer.parentNode(n),o=r.renderer.nextSibling(n);visitRootRenderNodes(r,2,i,o,void 0)}function renderDetachView(e){visitRootRenderNodes(e,3,null,null,void 0)}function addToArray(e,t,r){t>=e.length?e.push(r):e.splice(t,0,r)}function removeFromArray(e,t){t>=e.length-1?e.pop():e.splice(t,1)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var fr=new Object;function createComponentFactory(e,t,r,n,i,o){return new dr(e,t,r,n,i,o)}function getComponentViewDefinitionFactory(e){return e.viewDefFactory}var dr=function(e){function ComponentFactory_(t,r,n,i,o,s){var a=e.call(this)||this;return a.selector=t,a.componentType=r,a._inputs=i,a._outputs=o,a.ngContentSelectors=s,a.viewDefFactory=n,a}return n.a(ComponentFactory_,e),Object.defineProperty(ComponentFactory_.prototype,"inputs",{get:function(){var e=[],t=this._inputs;for(var r in t){var n=t[r];e.push({propName:r,templateName:n})}return e},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentFactory_.prototype,"outputs",{get:function(){var e=[];for(var t in this._outputs){var r=this._outputs[t];e.push({propName:t,templateName:r})}return e},enumerable:!0,configurable:!0}),ComponentFactory_.prototype.create=function(e,t,r,n){if(!n)throw new Error("ngModule should be provided");var i=resolveDefinition(this.viewDefFactory),o=i.nodes[0].element.componentProvider.nodeIndex,s=er.createRootView(e,t||[],r,i,n,fr),a=asProviderData(s,o).instance;return r&&s.renderer.setAttribute(asElementData(s,0).renderElement,"ng-version",F.full),new mr(s,new yr(s),a)},ComponentFactory_}(Re),mr=function(e){function ComponentRef_(t,r,n){var i=e.call(this)||this;return i._view=t,i._viewRef=r,i._component=n,i._elDef=i._view.def.nodes[0],i}return n.a(ComponentRef_,e),Object.defineProperty(ComponentRef_.prototype,"location",{get:function(){return new pt(asElementData(this._view,this._elDef.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentRef_.prototype,"injector",{get:function(){return new gr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentRef_.prototype,"instance",{get:function(){return this._component},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentRef_.prototype,"hostView",{get:function(){return this._viewRef},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentRef_.prototype,"changeDetectorRef",{get:function(){return this._viewRef},enumerable:!0,configurable:!0}),Object.defineProperty(ComponentRef_.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),ComponentRef_.prototype.destroy=function(){this._viewRef.destroy()},ComponentRef_.prototype.onDestroy=function(e){this._viewRef.onDestroy(e)},ComponentRef_}(Oe);function createViewContainerData(e,t,r){return new vr(e,t,r)}var vr=function(){function ViewContainerRef_(e,t,r){this._view=e,this._elDef=t,this._data=r,this._embeddedViews=[]}return Object.defineProperty(ViewContainerRef_.prototype,"element",{get:function(){return new pt(this._data.renderElement)},enumerable:!0,configurable:!0}),Object.defineProperty(ViewContainerRef_.prototype,"injector",{get:function(){return new gr(this._view,this._elDef)},enumerable:!0,configurable:!0}),Object.defineProperty(ViewContainerRef_.prototype,"parentInjector",{get:function(){for(var e=this._view,t=this._elDef.parent;!t&&e;)t=viewParentEl(e),e=e.parent;return e?new gr(e,t):new gr(this._view,null)},enumerable:!0,configurable:!0}),ViewContainerRef_.prototype.clear=function(){for(var e=this._embeddedViews.length-1;e>=0;e--){var t=detachEmbeddedView(this._data,e);er.destroyView(t)}},ViewContainerRef_.prototype.get=function(e){var t=this._embeddedViews[e];if(t){var r=new yr(t);return r.attachToViewContainerRef(this),r}return null},Object.defineProperty(ViewContainerRef_.prototype,"length",{get:function(){return this._embeddedViews.length},enumerable:!0,configurable:!0}),ViewContainerRef_.prototype.createEmbeddedView=function(e,t,r){var n=e.createEmbeddedView(t||{});return this.insert(n,r),n},ViewContainerRef_.prototype.createComponent=function(e,t,r,n,i){var o=r||this.parentInjector;i||e instanceof Ve||(i=o.get(je));var s=e.create(o,n,void 0,i);return this.insert(s.hostView,t),s},ViewContainerRef_.prototype.insert=function(e,t){if(e.destroyed)throw new Error("Cannot insert a destroyed View in a ViewContainer!");var r=e,n=r._view;return attachEmbeddedView(this._view,this._data,t,n),r.attachToViewContainerRef(this),e},ViewContainerRef_.prototype.move=function(e,t){if(e.destroyed)throw new Error("Cannot move a destroyed View in a ViewContainer!");var r=this._embeddedViews.indexOf(e._view);return function moveEmbeddedView(e,t,r){var n=e.viewContainer._embeddedViews,i=n[t];return removeFromArray(n,t),null==r&&(r=n.length),addToArray(n,r,i),er.dirtyParentQueries(i),renderDetachView(i),renderAttachEmbeddedView(e,r>0?n[r-1]:null,i),i}(this._data,r,t),e},ViewContainerRef_.prototype.indexOf=function(e){return this._embeddedViews.indexOf(e._view)},ViewContainerRef_.prototype.remove=function(e){var t=detachEmbeddedView(this._data,e);t&&er.destroyView(t)},ViewContainerRef_.prototype.detach=function(e){var t=detachEmbeddedView(this._data,e);return t?new yr(t):null},ViewContainerRef_}();function createChangeDetectorRef(e){return new yr(e)}var yr=function(){function ViewRef_(e){this._view=e,this._viewContainerRef=null,this._appRef=null}return Object.defineProperty(ViewRef_.prototype,"rootNodes",{get:function(){return function rootRenderNodes(e){var t=[];return visitRootRenderNodes(e,0,void 0,void 0,t),t}(this._view)},enumerable:!0,configurable:!0}),Object.defineProperty(ViewRef_.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(ViewRef_.prototype,"destroyed",{get:function(){return 0!=(128&this._view.state)},enumerable:!0,configurable:!0}),ViewRef_.prototype.markForCheck=function(){markParentViewsForCheck(this._view)},ViewRef_.prototype.detach=function(){this._view.state&=-5},ViewRef_.prototype.detectChanges=function(){var e=this._view.root.rendererFactory;e.begin&&e.begin(),er.checkAndUpdateView(this._view),e.end&&e.end()},ViewRef_.prototype.checkNoChanges=function(){er.checkNoChangesView(this._view)},ViewRef_.prototype.reattach=function(){this._view.state|=4},ViewRef_.prototype.onDestroy=function(e){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(e)},ViewRef_.prototype.destroy=function(){this._appRef?this._appRef.detachView(this):this._viewContainerRef&&this._viewContainerRef.detach(this._viewContainerRef.indexOf(this)),er.destroyView(this._view)},ViewRef_.prototype.detachFromAppRef=function(){this._appRef=null,renderDetachView(this._view),er.dirtyParentQueries(this._view)},ViewRef_.prototype.attachToAppRef=function(e){if(this._viewContainerRef)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e},ViewRef_.prototype.attachToViewContainerRef=function(e){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._viewContainerRef=e},ViewRef_}();function createTemplateData(e,t){return new br(e,t)}var br=function(e){function TemplateRef_(t,r){var n=e.call(this)||this;return n._parentView=t,n._def=r,n}return n.a(TemplateRef_,e),TemplateRef_.prototype.createEmbeddedView=function(e){return new yr(er.createEmbeddedView(this._parentView,this._def,this._def.element.template,e))},Object.defineProperty(TemplateRef_.prototype,"elementRef",{get:function(){return new pt(asElementData(this._parentView,this._def.nodeIndex).renderElement)},enumerable:!0,configurable:!0}),TemplateRef_}(bt);function createInjector(e,t){return new gr(e,t)}var gr=function(){function Injector_(e,t){this.view=e,this.elDef=t}return Injector_.prototype.get=function(e,t){void 0===t&&(t=X.THROW_IF_NOT_FOUND);var r=!!this.elDef&&0!=(33554432&this.elDef.flags);return er.resolveDep(this.view,this.elDef,r,{flags:0,token:e,tokenKey:tokenKey(e)},t)},Injector_}();function nodeValue(e,t){var r=e.def.nodes[t];if(1&r.flags){var n=asElementData(e,r.nodeIndex);return r.element.template?n.template:n.renderElement}if(2&r.flags)return asTextData(e,r.nodeIndex).renderText;if(20240&r.flags)return asProviderData(e,r.nodeIndex).instance;throw new Error("Illegal state: read nodeValue for node index "+t)}function createRendererV1(e){return new _r(e.renderer)}var _r=function(){function RendererAdapter(e){this.delegate=e}return RendererAdapter.prototype.selectRootElement=function(e){return this.delegate.selectRootElement(e)},RendererAdapter.prototype.createElement=function(e,t){var r=splitNamespace(t),n=r[0],i=r[1],o=this.delegate.createElement(i,n);return e&&this.delegate.appendChild(e,o),o},RendererAdapter.prototype.createViewRoot=function(e){return e},RendererAdapter.prototype.createTemplateAnchor=function(e){var t=this.delegate.createComment("");return e&&this.delegate.appendChild(e,t),t},RendererAdapter.prototype.createText=function(e,t){var r=this.delegate.createText(t);return e&&this.delegate.appendChild(e,r),r},RendererAdapter.prototype.projectNodes=function(e,t){for(var r=0;r0,n=createClass(e,t.parent,r,t.provider.value,t.provider.deps);if(t.outputs.length)for(var i=0;i0,n=t.provider;switch(201347067&t.flags){case 512:return createClass(e,t.parent,r,n.value,n.deps);case 1024:return function callFactory(e,t,r,n,i){var o=i.length;switch(o){case 0:return n();case 1:return n(resolveDep(e,t,r,i[0]));case 2:return n(resolveDep(e,t,r,i[0]),resolveDep(e,t,r,i[1]));case 3:return n(resolveDep(e,t,r,i[0]),resolveDep(e,t,r,i[1]),resolveDep(e,t,r,i[2]));default:for(var s=Array(o),a=0;a0)c=m,isNgContainer(m)||(l=m);else for(;c&&d===c.nodeIndex+c.childCount;){var g=c.parent;g&&(g.childFlags|=c.childFlags,g.childMatchedQueries|=c.childMatchedQueries),l=(c=g)&&isNgContainer(c)?c.renderParent:c}}return{factory:null,nodeFlags:s,rootNodeFlags:a,nodeMatchedQueries:u,flags:e,nodes:t,updateDirectives:r||tr,updateRenderer:n||tr,handleEvent:function(e,r,n,i){return t[r].element.handleEvent(e,n,i)},bindingCount:i,outputCount:o,lastRenderRootNode:f}}function isNgContainer(e){return 0!=(1&e.flags)&&null===e.element.name}function validateNode(e,t,r){var n=t.element&&t.element.template;if(n){if(!n.lastRenderRootNode)throw new Error("Illegal State: Embedded templates without nodes are not allowed!");if(n.lastRenderRootNode&&16777216&n.lastRenderRootNode.flags)throw new Error("Illegal State: Last root node of a template can't have embedded views, at index "+t.nodeIndex+"!")}if(20224&t.flags&&0==(1&(e?e.flags:0)))throw new Error("Illegal State: StaticProvider/Directive nodes need to be children of elements or anchors, at index "+t.nodeIndex+"!");if(t.query){if(67108864&t.flags&&(!e||0==(16384&e.flags)))throw new Error("Illegal State: Content Query nodes need to be children of directives, at index "+t.nodeIndex+"!");if(134217728&t.flags&&e)throw new Error("Illegal State: View Query nodes have to be top level nodes, at index "+t.nodeIndex+"!")}if(t.childCount){var i=e?e.nodeIndex+e.childCount:r-1;if(t.nodeIndex<=i&&t.nodeIndex+t.childCount>i)throw new Error("Illegal State: childCount of node leads outside of parent, at index "+t.nodeIndex+"!")}}function createEmbeddedView(e,t,r,n){var i=createView(e.root,e.renderer,e,t,r);return initView(i,e.component,n),createViewNodes(i),i}function createRootView(e,t,r){var n=createView(e,e.renderer,null,null,t);return initView(n,r,r),createViewNodes(n),n}function createComponentView(e,t,r,n){var i,o=t.element.componentRendererType;return i=o?e.root.rendererFactory.createRenderer(n,o):e.root.renderer,createView(e.root,i,e,t.element.componentProvider,r)}function createView(e,t,r,n,i){var o=new Array(i.nodes.length),s=i.outputCount?new Array(i.outputCount):null;return{def:i,parent:r,viewContainerParent:null,parentNodeDef:n,context:null,component:null,nodes:o,state:13,root:e,renderer:t,oldValues:new Array(i.bindingCount),disposables:s}}function initView(e,t,r){e.component=t,e.context=r}function createViewNodes(e){var t;if(isComponentView(e)){var r=e.parentNodeDef;t=asElementData(e.parent,r.parent.nodeIndex).renderElement}for(var n=e.def,i=e.nodes,o=0;o0&&checkAndUpdateElementValue(e,t,0,r)&&(f=!0),h>1&&checkAndUpdateElementValue(e,t,1,n)&&(f=!0),h>2&&checkAndUpdateElementValue(e,t,2,i)&&(f=!0),h>3&&checkAndUpdateElementValue(e,t,3,o)&&(f=!0),h>4&&checkAndUpdateElementValue(e,t,4,s)&&(f=!0),h>5&&checkAndUpdateElementValue(e,t,5,a)&&(f=!0),h>6&&checkAndUpdateElementValue(e,t,6,u)&&(f=!0),h>7&&checkAndUpdateElementValue(e,t,7,c)&&(f=!0),h>8&&checkAndUpdateElementValue(e,t,8,l)&&(f=!0),h>9&&checkAndUpdateElementValue(e,t,9,p)&&(f=!0),f}(e,t,r,n,i,o,s,a,u,c,l,p);case 2:return function checkAndUpdateTextInline(e,t,r,n,i,o,s,a,u,c,l,p){var h=!1,f=t.bindings,d=f.length;if(d>0&&checkAndUpdateBinding(e,t,0,r)&&(h=!0),d>1&&checkAndUpdateBinding(e,t,1,n)&&(h=!0),d>2&&checkAndUpdateBinding(e,t,2,i)&&(h=!0),d>3&&checkAndUpdateBinding(e,t,3,o)&&(h=!0),d>4&&checkAndUpdateBinding(e,t,4,s)&&(h=!0),d>5&&checkAndUpdateBinding(e,t,5,a)&&(h=!0),d>6&&checkAndUpdateBinding(e,t,6,u)&&(h=!0),d>7&&checkAndUpdateBinding(e,t,7,c)&&(h=!0),d>8&&checkAndUpdateBinding(e,t,8,l)&&(h=!0),d>9&&checkAndUpdateBinding(e,t,9,p)&&(h=!0),h){var m=t.text.prefix;d>0&&(m+=_addInterpolationPart(r,f[0])),d>1&&(m+=_addInterpolationPart(n,f[1])),d>2&&(m+=_addInterpolationPart(i,f[2])),d>3&&(m+=_addInterpolationPart(o,f[3])),d>4&&(m+=_addInterpolationPart(s,f[4])),d>5&&(m+=_addInterpolationPart(a,f[5])),d>6&&(m+=_addInterpolationPart(u,f[6])),d>7&&(m+=_addInterpolationPart(c,f[7])),d>8&&(m+=_addInterpolationPart(l,f[8])),d>9&&(m+=_addInterpolationPart(p,f[9]));var v=asTextData(e,t.nodeIndex).renderText;e.renderer.setValue(v,m)}return h}(e,t,r,n,i,o,s,a,u,c,l,p);case 16384:return function checkAndUpdateDirectiveInline(e,t,r,n,i,o,s,a,u,c,l,p){var h=asProviderData(e,t.nodeIndex),f=h.instance,d=!1,m=void 0,v=t.bindings.length;return v>0&&checkBinding(e,t,0,r)&&(d=!0,m=updateProp(e,h,t,0,r,m)),v>1&&checkBinding(e,t,1,n)&&(d=!0,m=updateProp(e,h,t,1,n,m)),v>2&&checkBinding(e,t,2,i)&&(d=!0,m=updateProp(e,h,t,2,i,m)),v>3&&checkBinding(e,t,3,o)&&(d=!0,m=updateProp(e,h,t,3,o,m)),v>4&&checkBinding(e,t,4,s)&&(d=!0,m=updateProp(e,h,t,4,s,m)),v>5&&checkBinding(e,t,5,a)&&(d=!0,m=updateProp(e,h,t,5,a,m)),v>6&&checkBinding(e,t,6,u)&&(d=!0,m=updateProp(e,h,t,6,u,m)),v>7&&checkBinding(e,t,7,c)&&(d=!0,m=updateProp(e,h,t,7,c,m)),v>8&&checkBinding(e,t,8,l)&&(d=!0,m=updateProp(e,h,t,8,l,m)),v>9&&checkBinding(e,t,9,p)&&(d=!0,m=updateProp(e,h,t,9,p,m)),m&&f.ngOnChanges(m),2&e.state&&65536&t.flags&&f.ngOnInit(),262144&t.flags&&f.ngDoCheck(),d}(e,t,r,n,i,o,s,a,u,c,l,p);case 32:case 64:case 128:return function checkAndUpdatePureExpressionInline(e,t,r,n,i,o,s,a,u,c,l,p){var h=t.bindings,f=!1,d=h.length;if(d>0&&checkAndUpdateBinding(e,t,0,r)&&(f=!0),d>1&&checkAndUpdateBinding(e,t,1,n)&&(f=!0),d>2&&checkAndUpdateBinding(e,t,2,i)&&(f=!0),d>3&&checkAndUpdateBinding(e,t,3,o)&&(f=!0),d>4&&checkAndUpdateBinding(e,t,4,s)&&(f=!0),d>5&&checkAndUpdateBinding(e,t,5,a)&&(f=!0),d>6&&checkAndUpdateBinding(e,t,6,u)&&(f=!0),d>7&&checkAndUpdateBinding(e,t,7,c)&&(f=!0),d>8&&checkAndUpdateBinding(e,t,8,l)&&(f=!0),d>9&&checkAndUpdateBinding(e,t,9,p)&&(f=!0),f){var m=asPureExpressionData(e,t.nodeIndex),v=void 0;switch(201347067&t.flags){case 32:v=new Array(h.length),d>0&&(v[0]=r),d>1&&(v[1]=n),d>2&&(v[2]=i),d>3&&(v[3]=o),d>4&&(v[4]=s),d>5&&(v[5]=a),d>6&&(v[6]=u),d>7&&(v[7]=c),d>8&&(v[8]=l),d>9&&(v[9]=p);break;case 64:v={},d>0&&(v[h[0].name]=r),d>1&&(v[h[1].name]=n),d>2&&(v[h[2].name]=i),d>3&&(v[h[3].name]=o),d>4&&(v[h[4].name]=s),d>5&&(v[h[5].name]=a),d>6&&(v[h[6].name]=u),d>7&&(v[h[7].name]=c),d>8&&(v[h[8].name]=l),d>9&&(v[h[9].name]=p);break;case 128:var y=r;switch(d){case 1:v=y.transform(r);break;case 2:v=y.transform(n);break;case 3:v=y.transform(n,i);break;case 4:v=y.transform(n,i,o);break;case 5:v=y.transform(n,i,o,s);break;case 6:v=y.transform(n,i,o,s,a);break;case 7:v=y.transform(n,i,o,s,a,u);break;case 8:v=y.transform(n,i,o,s,a,u,c);break;case 9:v=y.transform(n,i,o,s,a,u,c,l);break;case 10:v=y.transform(n,i,o,s,a,u,c,l,p)}}m.value=v}return f}(e,t,r,n,i,o,s,a,u,c,l,p);default:throw"unreachable"}}(e,t,n,i,o,s,a,u,c,l,p,h):function checkAndUpdateNodeDynamic(e,t,r){switch(201347067&t.flags){case 1:return function checkAndUpdateElementDynamic(e,t,r){for(var n=!1,i=0;i0&&checkBindingNoChanges(e,t,0,r);h>1&&checkBindingNoChanges(e,t,1,n);h>2&&checkBindingNoChanges(e,t,2,i);h>3&&checkBindingNoChanges(e,t,3,o);h>4&&checkBindingNoChanges(e,t,4,s);h>5&&checkBindingNoChanges(e,t,5,a);h>6&&checkBindingNoChanges(e,t,6,u);h>7&&checkBindingNoChanges(e,t,7,c);h>8&&checkBindingNoChanges(e,t,8,l);h>9&&checkBindingNoChanges(e,t,9,p)}(e,t,n,i,o,s,a,u,c,l,p,h):function checkNoChangesNodeDynamic(e,t,r){for(var n=0;n=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function localstorage(){try{return window.localStorage}catch(e){}}(),t.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],t.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}},t.enable(load())}).call(t,r(67))},function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=r(0),o=r(1),s=r(10),a=r(54),u=r(109),c=r(51),l=function(e){function SubjectSubscriber(t){e.call(this,t),this.destination=t}return n(SubjectSubscriber,e),SubjectSubscriber}(o.Subscriber);t.SubjectSubscriber=l;var p=function(e){function Subject(){e.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return n(Subject,e),Subject.prototype[c.rxSubscriber]=function(){return new l(this)},Subject.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},Subject.prototype.next=function(e){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,r=t.length,n=t.slice(),i=0;i0?t.substring(1):t},HashLocationStrategy.prototype.prepareExternalUrl=function(e){var t=c.joinWithSlash(this._baseHref,e);return t.length>0?"#"+t:t},HashLocationStrategy.prototype.pushState=function(e,t,r,n){var i=this.prepareExternalUrl(r+c.normalizeQueryParams(n));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(e,t,i)},HashLocationStrategy.prototype.replaceState=function(e,t,r,n){var i=this.prepareExternalUrl(r+c.normalizeQueryParams(n));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(e,t,i)},HashLocationStrategy.prototype.forward=function(){this._platformLocation.forward()},HashLocationStrategy.prototype.back=function(){this._platformLocation.back()},HashLocationStrategy}(a);l.decorators=[{type:i.Injectable}],l.ctorParameters=function(){return[{type:o},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[u]}]}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var p=function(e){function PathLocationStrategy(t,r){var n=e.call(this)||this;if(n._platformLocation=t,null==r&&(r=n._platformLocation.getBaseHrefFromDOM()),null==r)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");return n._baseHref=r,n}return n.a(PathLocationStrategy,e),PathLocationStrategy.prototype.onPopState=function(e){this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e)},PathLocationStrategy.prototype.getBaseHref=function(){return this._baseHref},PathLocationStrategy.prototype.prepareExternalUrl=function(e){return c.joinWithSlash(this._baseHref,e)},PathLocationStrategy.prototype.path=function(e){void 0===e&&(e=!1);var t=this._platformLocation.pathname+c.normalizeQueryParams(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?""+t+r:t},PathLocationStrategy.prototype.pushState=function(e,t,r,n){var i=this.prepareExternalUrl(r+c.normalizeQueryParams(n));this._platformLocation.pushState(e,t,i)},PathLocationStrategy.prototype.replaceState=function(e,t,r,n){var i=this.prepareExternalUrl(r+c.normalizeQueryParams(n));this._platformLocation.replaceState(e,t,i)},PathLocationStrategy.prototype.forward=function(){this._platformLocation.forward()},PathLocationStrategy.prototype.back=function(){this._platformLocation.back()},PathLocationStrategy}(a);p.decorators=[{type:i.Injectable}],p.ctorParameters=function(){return[{type:o},{type:void 0,decorators:[{type:i.Optional},{type:i.Inject,args:[u]}]}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var h=function(){function NgLocalization(){}return NgLocalization.prototype.getPluralCategory=function(e){},NgLocalization}();function getPluralCategory(e,t,r){var n="="+e;if(t.indexOf(n)>-1)return n;if(n=r.getPluralCategory(e),t.indexOf(n)>-1)return n;if(t.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+e+'"')}var f=function(e){function NgLocaleLocalization(t){var r=e.call(this)||this;return r.locale=t,r}return n.a(NgLocaleLocalization,e),NgLocaleLocalization.prototype.getPluralCategory=function(e){switch(function getPluralCase(e,t){"string"==typeof t&&(t=parseInt(t,10));var r=t,n=r.toString().replace(/^[^.]*\.?/,""),i=Math.floor(Math.abs(r)),o=n.length,s=parseInt(n,10),a=parseInt(r.toString().replace(/^[^.]*\.?|0+$/g,""),10)||0;switch(e.split("-")[0].toLowerCase()){case"af":case"asa":case"az":case"bem":case"bez":case"bg":case"brx":case"ce":case"cgg":case"chr":case"ckb":case"ee":case"el":case"eo":case"es":case"eu":case"fo":case"fur":case"gsw":case"ha":case"haw":case"hu":case"jgo":case"jmc":case"ka":case"kk":case"kkj":case"kl":case"ks":case"ksb":case"ky":case"lb":case"lg":case"mas":case"mgo":case"ml":case"mn":case"nb":case"nd":case"ne":case"nn":case"nnh":case"nyn":case"om":case"or":case"os":case"ps":case"rm":case"rof":case"rwk":case"saq":case"seh":case"sn":case"so":case"sq":case"ta":case"te":case"teo":case"tk":case"tr":case"ug":case"uz":case"vo":case"vun":case"wae":case"xog":return 1===r?d.One:d.Other;case"ak":case"ln":case"mg":case"pa":case"ti":return r===Math.floor(r)&&r>=0&&r<=1?d.One:d.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===r?d.One:d.Other;case"ar":return 0===r?d.Zero:1===r?d.One:2===r?d.Two:r%100===Math.floor(r%100)&&r%100>=3&&r%100<=10?d.Few:r%100===Math.floor(r%100)&&r%100>=11&&r%100<=99?d.Many:d.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?d.One:d.Other;case"be":return r%10==1&&r%100!=11?d.One:r%10===Math.floor(r%10)&&r%10>=2&&r%10<=4&&!(r%100>=12&&r%100<=14)?d.Few:r%10==0||r%10===Math.floor(r%10)&&r%10>=5&&r%10<=9||r%100===Math.floor(r%100)&&r%100>=11&&r%100<=14?d.Many:d.Other;case"br":return r%10==1&&r%100!=11&&r%100!=71&&r%100!=91?d.One:r%10==2&&r%100!=12&&r%100!=72&&r%100!=92?d.Two:r%10===Math.floor(r%10)&&(r%10>=3&&r%10<=4||r%10==9)&&!(r%100>=10&&r%100<=19||r%100>=70&&r%100<=79||r%100>=90&&r%100<=99)?d.Few:0!==r&&r%1e6==0?d.Many:d.Other;case"bs":case"hr":case"sr":return 0===o&&i%10==1&&i%100!=11||s%10==1&&s%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)||s%10===Math.floor(s%10)&&s%10>=2&&s%10<=4&&!(s%100>=12&&s%100<=14)?d.Few:d.Other;case"cs":case"sk":return 1===i&&0===o?d.One:i===Math.floor(i)&&i>=2&&i<=4&&0===o?d.Few:0!==o?d.Many:d.Other;case"cy":return 0===r?d.Zero:1===r?d.One:2===r?d.Two:3===r?d.Few:6===r?d.Many:d.Other;case"da":return 1===r||0!==a&&(0===i||1===i)?d.One:d.Other;case"dsb":case"hsb":return 0===o&&i%100==1||s%100==1?d.One:0===o&&i%100==2||s%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||s%100===Math.floor(s%100)&&s%100>=3&&s%100<=4?d.Few:d.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?d.One:d.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!=4&&i%10!=6&&i%10!=9||0!==o&&s%10!=4&&s%10!=6&&s%10!=9?d.One:d.Other;case"ga":return 1===r?d.One:2===r?d.Two:r===Math.floor(r)&&r>=3&&r<=6?d.Few:r===Math.floor(r)&&r>=7&&r<=10?d.Many:d.Other;case"gd":return 1===r||11===r?d.One:2===r||12===r?d.Two:r===Math.floor(r)&&(r>=3&&r<=10||r>=13&&r<=19)?d.Few:d.Other;case"gv":return 0===o&&i%10==1?d.One:0===o&&i%10==2?d.Two:0!==o||i%100!=0&&i%100!=20&&i%100!=40&&i%100!=60&&i%100!=80?0!==o?d.Many:d.Other:d.Few;case"he":return 1===i&&0===o?d.One:2===i&&0===o?d.Two:0!==o||r>=0&&r<=10||r%10!=0?d.Other:d.Many;case"is":return 0===a&&i%10==1&&i%100!=11||0!==a?d.One:d.Other;case"ksh":return 0===r?d.Zero:1===r?d.One:d.Other;case"kw":case"naq":case"se":case"smn":return 1===r?d.One:2===r?d.Two:d.Other;case"lag":return 0===r?d.Zero:0!==i&&1!==i||0===r?d.Other:d.One;case"lt":return r%10!=1||r%100>=11&&r%100<=19?r%10===Math.floor(r%10)&&r%10>=2&&r%10<=9&&!(r%100>=11&&r%100<=19)?d.Few:0!==s?d.Many:d.Other:d.One;case"lv":case"prg":return r%10==0||r%100===Math.floor(r%100)&&r%100>=11&&r%100<=19||2===o&&s%100===Math.floor(s%100)&&s%100>=11&&s%100<=19?d.Zero:r%10==1&&r%100!=11||2===o&&s%10==1&&s%100!=11||2!==o&&s%10==1?d.One:d.Other;case"mk":return 0===o&&i%10==1||s%10==1?d.One:d.Other;case"mt":return 1===r?d.One:0===r||r%100===Math.floor(r%100)&&r%100>=2&&r%100<=10?d.Few:r%100===Math.floor(r%100)&&r%100>=11&&r%100<=19?d.Many:d.Other;case"pl":return 1===i&&0===o?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&i%10<=1||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&i%100<=14?d.Many:d.Other;case"pt":return r===Math.floor(r)&&r>=0&&r<=2&&2!==r?d.One:d.Other;case"ro":return 1===i&&0===o?d.One:0!==o||0===r||1!==r&&r%100===Math.floor(r%100)&&r%100>=1&&r%100<=19?d.Few:d.Other;case"ru":case"uk":return 0===o&&i%10==1&&i%100!=11?d.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&i%10<=4&&!(i%100>=12&&i%100<=14)?d.Few:0===o&&i%10==0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&i%10<=9||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&i%100<=14?d.Many:d.Other;case"shi":return 0===i||1===r?d.One:r===Math.floor(r)&&r>=2&&r<=10?d.Few:d.Other;case"si":return 0===r||1===r||0===i&&1===s?d.One:d.Other;case"sl":return 0===o&&i%100==1?d.One:0===o&&i%100==2?d.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&i%100<=4||0!==o?d.Few:d.Other;case"tzm":return r===Math.floor(r)&&r>=0&&r<=1||r===Math.floor(r)&&r>=11&&r<=99?d.One:d.Other;default:return d.Other}} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + * @param {?} cookieStr + * @param {?} name + * @return {?} + */(this.locale,e)){case d.Zero:return"zero";case d.One:return"one";case d.Two:return"two";case d.Few:return"few";case d.Many:return"many";default:return"other"}},NgLocaleLocalization}(h);f.decorators=[{type:i.Injectable}],f.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[i.LOCALE_ID]}]}]};var d={};function parseCookieValue(e,t){t=encodeURIComponent(t);for(var r=0,n=e.split(";");r1?"short":"narrow":"long",r}function combine(e){return e.reduce(function(e,t){return Object.assign({},e,t)},{})}function datePartGetterFactory(e){return function(t,r){return intlDateFormat(t,r,e)}}var z=new Map;var q=function(){function DateFormatter(){}return DateFormatter.format=function(e,t,r){return function dateFormatter(e,t,r){var n=H[e];if(n)return n(t,r);var i=e,o=z.get(i);if(!o){o=[];var s=void 0;U.exec(e);for(var a=e;a;)(s=U.exec(a))?a=(o=o.concat(s.slice(1))).pop():(o.push(a),a=null);z.set(i,o)}return o.reduce(function(e,n){var i=W[n];return e+(i?i(t,r):function partToTime(e){return"''"===e?"'":e.replace(/(^'|'$)/g,"").replace(/''/g,"'")}(n))},"")}(r,e,t)},DateFormatter}(),G=/^(\d+)?\.((\d+)(-(\d+))?)?$/; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function formatNumber(e,t,r,n,i,o,s){if(void 0===o&&(o=null),void 0===s&&(s=!1),null==r)return null;if("number"!=typeof(r="string"==typeof r&&isNumeric(r)?+r:r))throw invalidPipeArgumentError(e,r);var a=void 0,u=void 0,c=void 0;if(n!==L.Currency&&(a=1,u=0,c=3),i){var l=i.match(G);if(null===l)throw new Error(i+" is not a valid digit info for number pipes");null!=l[1]&&(a=parseIntAutoRadix(l[1])),null!=l[3]&&(u=parseIntAutoRadix(l[3])),null!=l[5]&&(c=parseIntAutoRadix(l[5]))}return B.format(r,t,n,{minimumIntegerDigits:a,minimumFractionDigits:u,maximumFractionDigits:c,currency:o,currencyAsSymbol:s})}var J=function(){function DecimalPipe(e){this._locale=e}return DecimalPipe.prototype.transform=function(e,t){return formatNumber(DecimalPipe,this._locale,e,L.Decimal,t)},DecimalPipe}();J.decorators=[{type:i.Pipe,args:[{name:"number"}]}],J.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[i.LOCALE_ID]}]}]};var X=function(){function PercentPipe(e){this._locale=e}return PercentPipe.prototype.transform=function(e,t){return formatNumber(PercentPipe,this._locale,e,L.Percent,t)},PercentPipe}();X.decorators=[{type:i.Pipe,args:[{name:"percent"}]}],X.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[i.LOCALE_ID]}]}]};var $=function(){function CurrencyPipe(e){this._locale=e}return CurrencyPipe.prototype.transform=function(e,t,r,n){return void 0===t&&(t="USD"),void 0===r&&(r=!1),formatNumber(CurrencyPipe,this._locale,e,L.Currency,n,t,r)},CurrencyPipe}();function parseIntAutoRadix(e){var t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}function isNumeric(e){return!isNaN(e-parseFloat(e))} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */$.decorators=[{type:i.Pipe,args:[{name:"currency"}]}],$.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[i.LOCALE_ID]}]}]};var K=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Q=function(){function DatePipe(e){this._locale=e}return DatePipe.prototype.transform=function(e,t){var r;if(void 0===t&&(t="mediumDate"),function isBlank(e){return null==e||""===e}(e)||e!=e)return null;if("string"==typeof e&&(e=e.trim()),isDate(e))r=e;else if(isNumeric(e))r=new Date(parseFloat(e));else if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var n=e.split("-").map(function(e){return parseInt(e,10)}),i=n[0],o=n[1],s=n[2];r=new Date(i,o-1,s)}else r=new Date(e);if(!isDate(r)){var a=void 0;if("string"!=typeof e||!(a=e.match(K)))throw invalidPipeArgumentError(DatePipe,e);r=function isoStringToDate(e){var t=new Date(0),r=0,n=0,i=e[8]?t.setUTCFullYear:t.setFullYear,o=e[8]?t.setUTCHours:t.setHours;e[9]&&(r=toInt(e[9]+e[10]),n=toInt(e[9]+e[11]));i.call(t,toInt(e[1]),toInt(e[2])-1,toInt(e[3]));var s=toInt(e[4]||"0")-r,a=toInt(e[5]||"0")-n,u=toInt(e[6]||"0"),c=Math.round(1e3*parseFloat("0."+(e[7]||0)));return o.call(t,s,a,u,c),t}(a)}return q.format(r,this._locale,DatePipe._ALIASES[t]||t)},DatePipe}();function isDate(e){return e instanceof Date&&!isNaN(e.valueOf())}function toInt(e){return parseInt(e,10)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Q._ALIASES={medium:"yMMMdjms",short:"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},Q.decorators=[{type:i.Pipe,args:[{name:"date",pure:!0}]}],Q.ctorParameters=function(){return[{type:void 0,decorators:[{type:i.Inject,args:[i.LOCALE_ID]}]}]};var Z=/#/g,Y=function(){function I18nPluralPipe(e){this._localization=e}return I18nPluralPipe.prototype.transform=function(e,t){if(null==e)return"";if("object"!=typeof t||null===t)throw invalidPipeArgumentError(I18nPluralPipe,t);return t[getPluralCategory(e,Object.keys(t),this._localization)].replace(Z,e.toString())},I18nPluralPipe}();Y.decorators=[{type:i.Pipe,args:[{name:"i18nPlural",pure:!0}]}],Y.ctorParameters=function(){return[{type:h}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var ee=function(){function I18nSelectPipe(){}return I18nSelectPipe.prototype.transform=function(e,t){if(null==e)return"";if("object"!=typeof t||"string"!=typeof e)throw invalidPipeArgumentError(I18nSelectPipe,t);return t.hasOwnProperty(e)?t[e]:t.hasOwnProperty("other")?t.other:""},I18nSelectPipe}();ee.decorators=[{type:i.Pipe,args:[{name:"i18nSelect",pure:!0}]}],ee.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var te=function(){function JsonPipe(){}return JsonPipe.prototype.transform=function(e){return JSON.stringify(e,null,2)},JsonPipe}();te.decorators=[{type:i.Pipe,args:[{name:"json",pure:!1}]}],te.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var re=function(){function SlicePipe(){}return SlicePipe.prototype.transform=function(e,t,r){if(null==e)return e;if(!this.supports(e))throw invalidPipeArgumentError(SlicePipe,e);return e.slice(t,r)},SlicePipe.prototype.supports=function(e){return"string"==typeof e||Array.isArray(e)},SlicePipe}();re.decorators=[{type:i.Pipe,args:[{name:"slice",pure:!1}]}],re.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var ne=[k,F,V,te,re,J,X,j,$,Q,Y,ee],ie=function(){return function CommonModule(){}}(); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ie.decorators=[{type:i.NgModule,args:[{declarations:[N,ne],exports:[N,ne],providers:[{provide:h,useClass:f}]}]}],ie.ctorParameters=function(){return[]};var oe=function(){return function DeprecatedI18NPipesModule(){}}();oe.decorators=[{type:i.NgModule,args:[{declarations:[],exports:[]}]}],oe.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var se=new i.InjectionToken("DocumentToken"),ae="browser",ue="server",ce="browserWorkerApp",le="browserWorkerUi"; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function isPlatformBrowser(e){return e===ae}function isPlatformServer(e){return e===ue}function isPlatformWorkerApp(e){return e===ce}function isPlatformWorkerUi(e){return e===le} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */var pe=new i.Version("4.4.6"); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */},function(e,t,r){(function(e,n){var i;/*! JSON v3.3.2 | http://bestiejs.github.io/json3 | Copyright 2012-2014, Kit Cambridge | http://kit.mit-license.org */(function(){var o=r(541),s={function:!0,object:!0},a=s[typeof t]&&t&&!t.nodeType&&t,u=s[typeof window]&&window||this,c=a&&s[typeof e]&&e&&!e.nodeType&&"object"==typeof n&&n;function runInContext(e,t){e||(e=u.Object()),t||(t=u.Object());var r=e.Number||u.Number,n=e.String||u.String,i=e.Object||u.Object,o=e.Date||u.Date,a=e.SyntaxError||u.SyntaxError,c=e.TypeError||u.TypeError,l=e.Math||u.Math,p=e.JSON||u.JSON;"object"==typeof p&&p&&(t.stringify=p.stringify,t.parse=p.parse);var h,f,d,m=i.prototype,v=m.toString,y=new o(-0xc782b5b800cec);try{y=-109252==y.getUTCFullYear()&&0===y.getUTCMonth()&&1===y.getUTCDate()&&10==y.getUTCHours()&&37==y.getUTCMinutes()&&6==y.getUTCSeconds()&&708==y.getUTCMilliseconds()}catch(e){}function has(e){if(has[e]!==d)return has[e];var i;if("bug-string-char-index"==e)i="a"!="a"[0];else if("json"==e)i=has("json-stringify")&&has("json-parse");else{var s,a='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==e){var u=t.stringify,c="function"==typeof u&&y;if(c){(s=function(){return 1}).toJSON=s;try{c="0"===u(0)&&"0"===u(new r)&&'""'==u(new n)&&u(v)===d&&u(d)===d&&u()===d&&"1"===u(s)&&"[1]"==u([s])&&"[null]"==u([d])&&"null"==u(null)&&"[null,null,null]"==u([d,v,null])&&u({a:[s,!0,!1,null,"\0\b\n\f\r\t"]})==a&&"1"===u(null,s)&&"[\n 1,\n 2\n]"==u([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==u(new o(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==u(new o(864e13))&&'"-000001-01-01T00:00:00.000Z"'==u(new o(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==u(new o(-1))}catch(e){c=!1}}i=c}if("json-parse"==e){var l=t.parse;if("function"==typeof l)try{if(0===l("0")&&!l(!1)){var p=5==(s=l(a)).a.length&&1===s.a[0];if(p){try{p=!l('"\t"')}catch(e){}if(p)try{p=1!==l("01")}catch(e){}if(p)try{p=1!==l("1.")}catch(e){}}}}catch(e){p=!1}i=p}}return has[e]=!!i}if(!has("json")){var b=has("bug-string-char-index");if(!y)var g=l.floor,_=[0,31,59,90,120,151,181,212,243,273,304,334],S=function(e,t){return _[t]+365*(e-1970)+g((e-1969+(t=+(t>1)))/4)-g((e-1901+t)/100)+g((e-1601+t)/400)};if((h=m.hasOwnProperty)||(h=function(e){var t,r={};return(r.__proto__=null,r.__proto__={toString:1},r).toString!=v?h=function(e){var t=this.__proto__,r=e in(this.__proto__=null,this);return this.__proto__=t,r}:(t=r.constructor,h=function(e){var r=(this.constructor||t).prototype;return e in this&&!(e in r&&this[e]===r[e])}),r=null,h.call(this,e)}),f=function(e,t){var r,n,i,o=0;for(i in(r=function(){this.valueOf=0}).prototype.valueOf=0,n=new r)h.call(n,i)&&o++;return r=n=null,o?f=2==o?function(e,t){var r,n={},i="[object Function]"==v.call(e);for(r in e)i&&"prototype"==r||h.call(n,r)||!(n[r]=1)||!h.call(e,r)||t(r)}:function(e,t){var r,n,i="[object Function]"==v.call(e);for(r in e)i&&"prototype"==r||!h.call(e,r)||(n="constructor"===r)||t(r);(n||h.call(e,r="constructor"))&&t(r)}:(n=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],f=function(e,t){var r,i,o="[object Function]"==v.call(e),a=!o&&"function"!=typeof e.constructor&&s[typeof e.hasOwnProperty]&&e.hasOwnProperty||h;for(r in e)o&&"prototype"==r||!a.call(e,r)||t(r);for(i=n.length;r=n[--i];a.call(e,r)&&t(r));}),f(e,t)},!has("json-stringify")){var w={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},E=function(e,t){return("000000"+(t||0)).slice(-e)},C=function(e){for(var t='"',r=0,n=e.length,i=!b||n>10,o=i&&(b?e.split(""):e);r-1/0&&a<1/0){if(S){for(m=g(a/864e5),l=g(m/365.2425)+1970-1;S(l+1,0)<=m;l++);for(p=g((m-S(l,0))/30.42);S(l,p+1)<=m;p++);m=1+m-S(l,p),b=g((y=(a%864e5+864e5)%864e5)/36e5)%24,_=g(y/6e4)%60,w=g(y/1e3)%60,T=y%1e3}else l=a.getUTCFullYear(),p=a.getUTCMonth(),m=a.getUTCDate(),b=a.getUTCHours(),_=a.getUTCMinutes(),w=a.getUTCSeconds(),T=a.getUTCMilliseconds();a=(l<=0||l>=1e4?(l<0?"-":"+")+E(6,l<0?-l:l):E(4,l))+"-"+E(2,p+1)+"-"+E(2,m)+"T"+E(2,b)+":"+E(2,_)+":"+E(2,w)+"."+E(3,T)+"Z"}else a=null;if(r&&(a=r.call(t,e,a)),null===a)return"null";if("[object Boolean]"==(u=v.call(a)))return""+a;if("[object Number]"==u)return a>-1/0&&a<1/0?""+a:"null";if("[object String]"==u)return C(""+a);if("object"==typeof a){for(P=s.length;P--;)if(s[P]===a)throw c();if(s.push(a),A=[],N=o,o+=i,"[object Array]"==u){for(R=0,P=a.length;R0)for(n="",r>10&&(r=10);n.length=48&&i<=57||i>=97&&i<=102||i>=65&&i<=70||P();e+=O("0x"+o.slice(t,T));break;default:P()}else{if(34==i)break;for(i=o.charCodeAt(T),t=T;i>=32&&92!=i&&34!=i;)i=o.charCodeAt(++T);e+=o.slice(t,T)}if(34==o.charCodeAt(T))return T++,e;P();default:if(t=T,45==i&&(n=!0,i=o.charCodeAt(++T)),i>=48&&i<=57){for(48==i&&((i=o.charCodeAt(T+1))>=48&&i<=57)&&P(),n=!1;T=48&&i<=57);T++);if(46==o.charCodeAt(T)){for(r=++T;r=48&&i<=57);r++);r==T&&P(),T=r}if(101==(i=o.charCodeAt(T))||69==i){for(43!=(i=o.charCodeAt(++T))&&45!=i||T++,r=T;r=48&&i<=57);r++);r==T&&P(),T=r}return+o.slice(t,T)}if(n&&P(),"true"==o.slice(T,T+4))return T+=4,!0;if("false"==o.slice(T,T+5))return T+=5,!1;if("null"==o.slice(T,T+4))return T+=4,null;P()}return"$"},I=function(e){var t,r;if("$"==e&&P(),"string"==typeof e){if("@"==(b?e.charAt(0):e[0]))return e.slice(1);if("["==e){for(t=[];"]"!=(e=N());r||(r=!0))r&&(","==e?"]"==(e=N())&&P():P()),","==e&&P(),t.push(I(e));return t}if("{"==e){for(t={};"}"!=(e=N());r||(r=!0))r&&(","==e?"}"==(e=N())&&P():P()),","!=e&&"string"==typeof e&&"@"==(b?e.charAt(0):e[0])&&":"==N()||P(),t[e.slice(1)]=I(N());return t}P()}return e},D=function(e,t,r){var n=M(e,t,r);n===d?delete e[t]:e[t]=n},M=function(e,t,r){var n,i=e[t];if("object"==typeof i&&i)if("[object Array]"==v.call(i))for(n=i.length;n--;)D(i,n,r);else f(i,function(e){D(i,e,r)});return r.call(e,t,i)};t.parse=function(e,t){var r,n;return T=0,A=""+e,r=I(N()),"$"!=N()&&P(),T=A=null,t&&"[object Function]"==v.call(t)?M(((n={})[""]=r,n),"",t):r}}}return t.runInContext=runInContext,t}if(!c||c.global!==c&&c.window!==c&&c.self!==c||(u=c),a&&!o)runInContext(u,a);else{var l=u.JSON,p=u.JSON3,h=!1,f=runInContext(u,u.JSON3={noConflict:function(){return h||(h=!0,u.JSON=l,u.JSON3=p,l=p=null),f}});u.JSON={parse:f.parse,stringify:f.stringify}}o&&(void 0===(i=function(){return f}.call(t,r,t,e))||(e.exports=i))}).call(this)}).call(t,r(540)(e),r(6))},,function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=r(0),o=r(70),s=r(23),a=r(17),u=function(e){function ArrayObservable(t,r){e.call(this),this.array=t,this.scheduler=r,r||1!==t.length||(this._isScalar=!0,this.value=t[0])}return n(ArrayObservable,e),ArrayObservable.create=function(e,t){return new ArrayObservable(e,t)},ArrayObservable.of=function(){for(var e=[],t=0;t1?new ArrayObservable(e,r):1===n?new o.ScalarObservable(e[0],r):new s.EmptyObservable(r)},ArrayObservable.dispatch=function(e){var t=e.array,r=e.index,n=e.count,i=e.subscriber;r>=n?i.complete():(i.next(t[r]),i.closed||(e.index=r+1,this.schedule(e)))},ArrayObservable.prototype._subscribe=function(e){var t=this.array,r=t.length,n=this.scheduler;if(n)return n.schedule(ArrayObservable.dispatch,0,{array:t,index:0,count:r,subscriber:e});for(var i=0;i0},BrowserDomAdapter.prototype.tagName=function(e){return e.tagName},BrowserDomAdapter.prototype.attributeMap=function(e){for(var t=new Map,r=e.attributes,n=0;n-1},HammerGesturesPlugin}(N);J.decorators=[{type:o.Injectable}],J.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[v]}]},{type:G,decorators:[{type:o.Inject,args:[q]}]}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var X=["alt","control","meta","shift"],$={alt:function(e){return e.altKey},control:function(e){return e.ctrlKey},meta:function(e){return e.metaKey},shift:function(e){return e.shiftKey}},K=function(e){function KeyEventsPlugin(t){return e.call(this,t)||this}return n.a(KeyEventsPlugin,e),KeyEventsPlugin.prototype.supports=function(e){return null!=KeyEventsPlugin.parseEventName(e)},KeyEventsPlugin.prototype.addEventListener=function(e,t,r){var n=KeyEventsPlugin.parseEventName(t),i=KeyEventsPlugin.eventCallback(n.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return getDOM().onAndCancel(e,n.domEventName,i)})},KeyEventsPlugin.parseEventName=function(e){var t=e.toLowerCase().split("."),r=t.shift();if(0===t.length||"keydown"!==r&&"keyup"!==r)return null;var n=KeyEventsPlugin._normalizeKey(t.pop()),i="";if(X.forEach(function(e){var r=t.indexOf(e);r>-1&&(t.splice(r,1),i+=e+".")}),i+=n,0!=t.length||0===n.length)return null;var o={};return o.domEventName=r,o.fullKey=i,o},KeyEventsPlugin.getEventFullKey=function(e){var t="",r=getDOM().getEventKey(e);return" "===(r=r.toLowerCase())?r="space":"."===r&&(r="dot"),X.forEach(function(n){n!=r&&((0,$[n])(e)&&(t+=n+"."))}),t+=r},KeyEventsPlugin.eventCallback=function(e,t,r){return function(n){KeyEventsPlugin.getEventFullKey(n)===e&&r.runGuarded(function(){return t(n)})}},KeyEventsPlugin._normalizeKey=function(e){switch(e){case"esc":return"escape";default:return e}},KeyEventsPlugin}(N);K.decorators=[{type:o.Injectable}],K.ctorParameters=function(){return[{type:void 0,decorators:[{type:o.Inject,args:[v]}]}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Q=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,Z=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function sanitizeUrl(e){return(e=String(e)).match(Q)||e.match(Z)?e:(Object(o.isDevMode)()&&getDOM().log("WARNING: sanitizing unsafe URL value "+e+" (see http://g.co/ng/security#xss)"),"unsafe:"+e)} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var Y=null,ee=null;function tagSet(e){for(var t={},r=0,n=e.split(",");r")):this.sanitizedSomething=!0},SanitizingHtmlSerializer.prototype.endElement=function(e){var t=ee.nodeName(e).toLowerCase();ae.hasOwnProperty(t)&&!te.hasOwnProperty(t)&&(this.buf.push(""))},SanitizingHtmlSerializer.prototype.chars=function(e){this.buf.push(encodeEntities(e))},SanitizingHtmlSerializer}();function checkClobberedElement(e,t){if(t&&ee.contains(e,t))throw new Error("Failed to sanitize html because the element is clobbered: "+ee.getOuterHTML(e));return t}var fe=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,de=/([^\#-~ |!])/g;function encodeEntities(e){return e.replace(/&/g,"&").replace(fe,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(de,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(//g,">")}function stripCustomNsAttrs(e){ee.attributeMap(e).forEach(function(t,r){"xmlns:ns1"!==r&&0!==r.indexOf("ns1:")||ee.removeAttribute(e,r)});for(var t=0,r=ee.childNodesAsList(e);t0){var n=e.slice(0,r),i=e.slice(r+1).trim();t.set(n,i)}}),t},Headers.prototype.append=function(e,t){var r=this.getAll(e);null===r?this.set(e,t):r.push(t)},Headers.prototype.delete=function(e){var t=e.toLowerCase();this._normalizedNames.delete(t),this._headers.delete(t)},Headers.prototype.forEach=function(e){var t=this;this._headers.forEach(function(r,n){return e(r,t._normalizedNames.get(n),t._headers)})},Headers.prototype.get=function(e){var t=this.getAll(e);return null===t?null:t.length>0?t[0]:null},Headers.prototype.has=function(e){return this._headers.has(e.toLowerCase())},Headers.prototype.keys=function(){return Array.from(this._normalizedNames.values())},Headers.prototype.set=function(e,t){Array.isArray(t)?t.length&&this._headers.set(e.toLowerCase(),[t.join(",")]):this._headers.set(e.toLowerCase(),[t]),this.mayBeSetNormalizedName(e)},Headers.prototype.values=function(){return Array.from(this._headers.values())},Headers.prototype.toJSON=function(){var e=this,t={};return this._headers.forEach(function(r,n){var i=[];r.forEach(function(e){return i.push.apply(i,e.split(","))}),t[e._normalizedNames.get(n)]=i}),t},Headers.prototype.getAll=function(e){return this.has(e)&&this._headers.get(e.toLowerCase())||null},Headers.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},Headers.prototype.mayBeSetNormalizedName=function(e){var t=e.toLowerCase();this._normalizedNames.has(t)||this._normalizedNames.set(t,e)},Headers}(),d=function(){function ResponseOptions(e){void 0===e&&(e={});var t=e.body,r=e.status,n=e.headers,i=e.statusText,o=e.type,s=e.url;this.body=null!=t?t:null,this.status=null!=r?r:null,this.headers=null!=n?n:null,this.statusText=null!=i?i:null,this.type=null!=o?o:null,this.url=null!=s?s:null}return ResponseOptions.prototype.merge=function(e){return new ResponseOptions({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},ResponseOptions}(),m=function(e){function BaseResponseOptions(){return e.call(this,{status:200,statusText:"Ok",type:l.Default,headers:new f})||this}return n.a(BaseResponseOptions,e),BaseResponseOptions}(d); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */m.decorators=[{type:i.Injectable}],m.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var v=function(){function ConnectionBackend(){}return ConnectionBackend.prototype.createConnection=function(e){},ConnectionBackend}(),y=function(){return function Connection(){}}(),b=function(){function XSRFStrategy(){}return XSRFStrategy.prototype.configureRequest=function(e){},XSRFStrategy}(); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function normalizeMethodName(e){if("string"!=typeof e)return e;switch(e.toUpperCase()){case"GET":return u.Get;case"POST":return u.Post;case"PUT":return u.Put;case"DELETE":return u.Delete;case"OPTIONS":return u.Options;case"HEAD":return u.Head;case"PATCH":return u.Patch}throw new Error('Invalid request method. The method "'+e+'" is not supported.')}var g=function(e){return e>=200&&e<300};var _=function(){function QueryEncoder(){}return QueryEncoder.prototype.encodeKey=function(e){return standardEncoding(e)},QueryEncoder.prototype.encodeValue=function(e){return standardEncoding(e)},QueryEncoder}();function standardEncoding(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}var S=function(){function URLSearchParams(e,t){void 0===e&&(e=""),void 0===t&&(t=new _),this.rawParams=e,this.queryEncoder=t,this.paramsMap= +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + * @param {?=} rawParams + * @return {?} + */ +function paramParser(e){void 0===e&&(e="");var t=new Map;return e.length>0&&e.split("&").forEach(function(e){var r=e.indexOf("="),n=-1==r?[e,""]:[e.slice(0,r),e.slice(r+1)],i=n[0],o=n[1],s=t.get(i)||[];s.push(o),t.set(i,s)}),t}(e)}return URLSearchParams.prototype.clone=function(){var e=new URLSearchParams("",this.queryEncoder);return e.appendAll(this),e},URLSearchParams.prototype.has=function(e){return this.paramsMap.has(e)},URLSearchParams.prototype.get=function(e){var t=this.paramsMap.get(e);return Array.isArray(t)?t[0]:null},URLSearchParams.prototype.getAll=function(e){return this.paramsMap.get(e)||[]},URLSearchParams.prototype.set=function(e,t){if(null!=t){var r=this.paramsMap.get(e)||[];r.length=0,r.push(t),this.paramsMap.set(e,r)}else this.delete(e)},URLSearchParams.prototype.setAll=function(e){var t=this;e.paramsMap.forEach(function(e,r){var n=t.paramsMap.get(r)||[];n.length=0,n.push(e[0]),t.paramsMap.set(r,n)})},URLSearchParams.prototype.append=function(e,t){if(null!=t){var r=this.paramsMap.get(e)||[];r.push(t),this.paramsMap.set(e,r)}},URLSearchParams.prototype.appendAll=function(e){var t=this;e.paramsMap.forEach(function(e,r){for(var n=t.paramsMap.get(r)||[],i=0;i=200&&r.status<=299,r.statusText=t.statusText,r.headers=t.headers,r.type=t.type,r.url=t.url,r}return n.a(Response,e),Response.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},Response}(w),C=0,x="__ng_jsonp__",T=null; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */function _getJsonpConnections(){var e="object"==typeof window?window:{};return null===T&&(T=e[x]={}),T}var A=function(){function BrowserJsonp(){}return BrowserJsonp.prototype.build=function(e){var t=document.createElement("script");return t.src=e,t},BrowserJsonp.prototype.nextRequestID=function(){return"__req"+C++},BrowserJsonp.prototype.requestCallback=function(e){return x+"."+e+".finished"},BrowserJsonp.prototype.exposeConnection=function(e,t){_getJsonpConnections()[e]=t},BrowserJsonp.prototype.removeConnection=function(e){_getJsonpConnections()[e]=null},BrowserJsonp.prototype.send=function(e){document.body.appendChild(e)},BrowserJsonp.prototype.cleanup=function(e){e.parentNode&&e.parentNode.removeChild(e)},BrowserJsonp}();A.decorators=[{type:i.Injectable}],A.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var O="JSONP injected script did not invoke callback.",R="JSONP requests must use GET request method.",P=function(){function JSONPConnection(){}return JSONPConnection.prototype.finished=function(e){},JSONPConnection}(),N=function(e){function JSONPConnection_(t,r,n){var i=e.call(this)||this;if(i._dom=r,i.baseResponseOptions=n,i._finished=!1,t.method!==u.Get)throw new TypeError(R);return i.request=t,i.response=new o.Observable(function(e){i.readyState=c.Loading;var o=i._id=r.nextRequestID();r.exposeConnection(o,i);var s=r.requestCallback(i._id),a=t.url;a.indexOf("=JSONP_CALLBACK&")>-1?a=a.replace("=JSONP_CALLBACK&","="+s+"&"):a.lastIndexOf("=JSONP_CALLBACK")===a.length-"=JSONP_CALLBACK".length&&(a=a.substring(0,a.length-"=JSONP_CALLBACK".length)+"="+s);var u=i._script=r.build(a),p=function(t){if(i.readyState!==c.Cancelled){if(i.readyState=c.Done,r.cleanup(u),!i._finished){var o=new d({body:O,type:l.Error,url:a});return n&&(o=n.merge(o)),void e.error(new E(o))}var s=new d({body:i._responseData,url:a});i.baseResponseOptions&&(s=i.baseResponseOptions.merge(s)),e.next(new E(s)),e.complete()}},h=function(t){if(i.readyState!==c.Cancelled){i.readyState=c.Done,r.cleanup(u);var o=new d({body:t.message,type:l.Error});n&&(o=n.merge(o)),e.error(new E(o))}};return u.addEventListener("load",p),u.addEventListener("error",h),r.send(u),function(){i.readyState=c.Cancelled,u.removeEventListener("load",p),u.removeEventListener("error",h),i._dom.cleanup(u)}}),i}return n.a(JSONPConnection_,e),JSONPConnection_.prototype.finished=function(e){this._finished=!0,this._dom.removeConnection(this._id),this.readyState!==c.Cancelled&&(this._responseData=e)},JSONPConnection_}(P),I=function(e){function JSONPBackend(){return null!==e&&e.apply(this,arguments)||this}return n.a(JSONPBackend,e),JSONPBackend}(v),D=function(e){function JSONPBackend_(t,r){var n=e.call(this)||this;return n._browserJSONP=t,n._baseResponseOptions=r,n}return n.a(JSONPBackend_,e),JSONPBackend_.prototype.createConnection=function(e){return new N(e,this._browserJSONP,this._baseResponseOptions)},JSONPBackend_}(I);D.decorators=[{type:i.Injectable}],D.ctorParameters=function(){return[{type:A},{type:d}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var M=/^\)\]\}',?\n/,k=function(){function XHRConnection(e,t,r){var n=this;this.request=e,this.response=new o.Observable(function(i){var o=t.build();o.open(u[e.method].toUpperCase(),e.url),null!=e.withCredentials&&(o.withCredentials=e.withCredentials);var s=function(){var t=1223===o.status?204:o.status,n=null;204!==t&&"string"==typeof(n=void 0===o.response?o.responseText:o.response)&&(n=n.replace(M,"")),0===t&&(t=n?200:0);var s=f.fromResponseHeaderString(o.getAllResponseHeaders()),a=function getResponseURL(e){return"responseURL"in e?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(o)||e.url,u=o.statusText||"OK",c=new d({body:n,status:t,headers:s,statusText:u,url:a});null!=r&&(c=r.merge(c));var l=new E(c);if(l.ok=g(t),l.ok)return i.next(l),void i.complete();i.error(l)},a=function(e){var t=new d({body:e,type:l.Error,status:o.status,statusText:o.statusText});null!=r&&(t=r.merge(t)),i.error(new E(t))};if(n.setDetectedContentType(e,o),null==e.headers&&(e.headers=new f),e.headers.has("Accept")||e.headers.append("Accept","application/json, text/plain, */*"),e.headers.forEach(function(e,t){return o.setRequestHeader(t,e.join(","))}),null!=e.responseType&&null!=o.responseType)switch(e.responseType){case h.ArrayBuffer:o.responseType="arraybuffer";break;case h.Json:o.responseType="json";break;case h.Text:o.responseType="text";break;case h.Blob:o.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return o.addEventListener("load",s),o.addEventListener("error",a),o.send(n.request.getBody()),function(){o.removeEventListener("load",s),o.removeEventListener("error",a),o.abort()}})}return XHRConnection.prototype.setDetectedContentType=function(e,t){if(null==e.headers||null==e.headers.get("Content-Type"))switch(e.contentType){case p.NONE:break;case p.JSON:t.setRequestHeader("content-type","application/json");break;case p.FORM:t.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case p.TEXT:t.setRequestHeader("content-type","text/plain");break;case p.BLOB:var r=e.blob();r.type&&t.setRequestHeader("content-type",r.type)}},XHRConnection}(),V=function(){function CookieXSRFStrategy(e,t){void 0===e&&(e="XSRF-TOKEN"),void 0===t&&(t="X-XSRF-TOKEN"),this._cookieName=e,this._headerName=t}return CookieXSRFStrategy.prototype.configureRequest=function(e){var t=Object(s["ɵgetDOM"])().getCookie(this._cookieName);t&&e.headers.set(this._headerName,t)},CookieXSRFStrategy}(),j=function(){function XHRBackend(e,t,r){this._browserXHR=e,this._baseResponseOptions=t,this._xsrfStrategy=r}return XHRBackend.prototype.createConnection=function(e){return this._xsrfStrategy.configureRequest(e),new k(e,this._browserXHR,this._baseResponseOptions)},XHRBackend}();j.decorators=[{type:i.Injectable}],j.ctorParameters=function(){return[{type:a},{type:d},{type:b}]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var F=function(){function RequestOptions(e){void 0===e&&(e={});var t=e.method,r=e.headers,n=e.body,i=e.url,o=e.search,s=e.params,a=e.withCredentials,u=e.responseType;this.method=null!=t?normalizeMethodName(t):null,this.headers=null!=r?r:null,this.body=null!=n?n:null,this.url=null!=i?i:null,this.params=this._mergeSearchParams(s||o),this.withCredentials=null!=a?a:null,this.responseType=null!=u?u:null}return Object.defineProperty(RequestOptions.prototype,"search",{get:function(){return this.params},set:function(e){this.params=e},enumerable:!0,configurable:!0}),RequestOptions.prototype.merge=function(e){return new RequestOptions({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new f(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,params:e&&this._mergeSearchParams(e.params||e.search),withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},RequestOptions.prototype._mergeSearchParams=function(e){return e?e instanceof S?e.clone():"string"==typeof e?new S(e):this._parseParams(e):this.params},RequestOptions.prototype._parseParams=function(e){var t=this;void 0===e&&(e={});var r=new S;return Object.keys(e).forEach(function(n){var i=e[n];Array.isArray(i)?i.forEach(function(e){return t._appendParam(n,e,r)}):t._appendParam(n,i,r)}),r},RequestOptions.prototype._appendParam=function(e,t,r){"string"!=typeof t&&(t=JSON.stringify(t)),r.append(e,t)},RequestOptions}(),L=function(e){function BaseRequestOptions(){return e.call(this,{method:u.Get,headers:new f})||this}return n.a(BaseRequestOptions,e),BaseRequestOptions}(F);L.decorators=[{type:i.Injectable}],L.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var B=function(e){function Request(t){var r=e.call(this)||this,n=t.url;r.url=t.url;var i=t.params||t.search;if(i){var o=void 0;if((o="object"!=typeof i||i instanceof S?i.toString():function urlEncodeParams(e){var t=new S;return Object.keys(e).forEach(function(r){var n=e[r];n&&Array.isArray(n)?n.forEach(function(e){return t.append(r,e.toString())}):t.append(r,n.toString())}),t}(i).toString()).length>0){var s="?";-1!=r.url.indexOf("?")&&(s="&"==r.url[r.url.length-1]?"":"&"),r.url=n+s+o}}return r._body=t.body,r.method=normalizeMethodName(t.method),r.headers=new f(t.headers),r.contentType=r.detectContentType(),r.withCredentials=t.withCredentials,r.responseType=t.responseType,r}return n.a(Request,e),Request.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return p.JSON;case"application/x-www-form-urlencoded":return p.FORM;case"multipart/form-data":return p.FORM_DATA;case"text/plain":case"text/html":return p.TEXT;case"application/octet-stream":return this._body instanceof q?p.ARRAY_BUFFER:p.BLOB;default:return this.detectContentTypeFromBody()}},Request.prototype.detectContentTypeFromBody=function(){return null==this._body?p.NONE:this._body instanceof S?p.FORM:this._body instanceof W?p.FORM_DATA:this._body instanceof z?p.BLOB:this._body instanceof q?p.ARRAY_BUFFER:this._body&&"object"==typeof this._body?p.JSON:p.TEXT},Request.prototype.getBody=function(){switch(this.contentType){case p.JSON:case p.FORM:return this.text();case p.FORM_DATA:return this._body;case p.TEXT:return this.text();case p.BLOB:return this.blob();case p.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},Request}(w);var U=function(){},H="object"==typeof window?window:U,W=H.FormData||U,z=H.Blob||U,q=H.ArrayBuffer||U; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function httpRequest(e,t){return e.createConnection(t).response}function mergeOptions(e,t,r,n){var i=e;return t?i.merge(new F({method:t.method||r,url:t.url||n,search:t.search,params:t.params,headers:t.headers,body:t.body,withCredentials:t.withCredentials,responseType:t.responseType})):i.merge(new F({method:r,url:n}))}var G=function(){function Http(e,t){this._backend=e,this._defaultOptions=t}return Http.prototype.request=function(e,t){var r;if("string"==typeof e)r=httpRequest(this._backend,new B(mergeOptions(this._defaultOptions,t,u.Get,e)));else{if(!(e instanceof B))throw new Error("First argument must be a url string or Request instance.");r=httpRequest(this._backend,e)}return r},Http.prototype.get=function(e,t){return this.request(new B(mergeOptions(this._defaultOptions,t,u.Get,e)))},Http.prototype.post=function(e,t,r){return this.request(new B(mergeOptions(this._defaultOptions.merge(new F({body:t})),r,u.Post,e)))},Http.prototype.put=function(e,t,r){return this.request(new B(mergeOptions(this._defaultOptions.merge(new F({body:t})),r,u.Put,e)))},Http.prototype.delete=function(e,t){return this.request(new B(mergeOptions(this._defaultOptions,t,u.Delete,e)))},Http.prototype.patch=function(e,t,r){return this.request(new B(mergeOptions(this._defaultOptions.merge(new F({body:t})),r,u.Patch,e)))},Http.prototype.head=function(e,t){return this.request(new B(mergeOptions(this._defaultOptions,t,u.Head,e)))},Http.prototype.options=function(e,t){return this.request(new B(mergeOptions(this._defaultOptions,t,u.Options,e)))},Http}();G.decorators=[{type:i.Injectable}],G.ctorParameters=function(){return[{type:v},{type:F}]};var J=function(e){function Jsonp(t,r){return e.call(this,t,r)||this}return n.a(Jsonp,e),Jsonp.prototype.request=function(e,t){if("string"==typeof e&&(e=new B(mergeOptions(this._defaultOptions,t,u.Get,e))),!(e instanceof B))throw new Error("First argument must be a url string or Request instance.");if(e.method!==u.Get)throw new Error("JSONP requests must use GET request method.");return httpRequest(this._backend,e)},Jsonp}(G); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function _createDefaultCookieXSRFStrategy(){return new V}function httpFactory(e,t){return new G(e,t)}function jsonpFactory(e,t){return new J(e,t)}J.decorators=[{type:i.Injectable}],J.ctorParameters=function(){return[{type:v},{type:F}]};var X=function(){return function HttpModule(){}}();X.decorators=[{type:i.NgModule,args:[{providers:[{provide:G,useFactory:httpFactory,deps:[j,F]},a,{provide:F,useClass:L},{provide:d,useClass:m},j,{provide:b,useFactory:_createDefaultCookieXSRFStrategy}]}]}],X.ctorParameters=function(){return[]};var $=function(){return function JsonpModule(){}}();$.decorators=[{type:i.NgModule,args:[{providers:[{provide:J,useFactory:jsonpFactory,deps:[I,F]},A,{provide:F,useClass:L},{provide:d,useClass:m},{provide:I,useClass:D}]}]}],$.ctorParameters=function(){return[]}; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var K=new i.Version("4.4.6"); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */},function(e,t,r){"use strict";var n=r(530);e.exports={string:function(e){for(var t="abcdefghijklmnopqrstuvwxyz012345".length,r=n.randomBytes(e),i=[],o=0;o1&&"number"==typeof e[e.length-1]&&(r=e.pop())):"number"==typeof u&&(r=e.pop()),null===a&&1===e.length&&e[0]instanceof n.Observable?e[0]:s.mergeAll(r)(new i.ArrayObservable(e,a))}},function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=r(3),o=r(4);t.mergeMap=function mergeMap(e,t,r){return void 0===r&&(r=Number.POSITIVE_INFINITY),function mergeMapOperatorFunction(n){return"number"==typeof t&&(r=t,t=null),n.lift(new s(e,t,r))}};var s=function(){function MergeMapOperator(e,t,r){void 0===r&&(r=Number.POSITIVE_INFINITY),this.project=e,this.resultSelector=t,this.concurrent=r}return MergeMapOperator.prototype.call=function(e,t){return t.subscribe(new a(e,this.project,this.resultSelector,this.concurrent))},MergeMapOperator}();t.MergeMapOperator=s;var a=function(e){function MergeMapSubscriber(t,r,n,i){void 0===i&&(i=Number.POSITIVE_INFINITY),e.call(this,t),this.project=r,this.resultSelector=n,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return n(MergeMapSubscriber,e),MergeMapSubscriber.prototype._next=function(e){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},MergeMapSubscriber}(o.OuterSubscriber);t.MergeMapSubscriber=a},function(e,t,r){"use strict";var n=r(13);function symbolIteratorPonyfill(e){var t=e.Symbol;if("function"==typeof t)return t.iterator||(t.iterator=t("iterator polyfill")),t.iterator;var r=e.Set;if(r&&"function"==typeof(new r)["@@iterator"])return"@@iterator";var n=e.Map;if(n)for(var i=Object.getOwnPropertyNames(n.prototype),o=0;o=2?function reduceOperatorFunctionWithSeed(r){return s.pipe(n.scan(e,t),i.takeLast(1),o.defaultIfEmpty(t))(r)}:function reduceOperatorFunction(t){return s.pipe(n.scan(function(t,r,n){return e(t,r,n+1)}),i.takeLast(1))(t)}}},function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=function(e){function ArgumentOutOfRangeError(){var t=e.call(this,"argument out of range");this.name=t.name="ArgumentOutOfRangeError",this.stack=t.stack,this.message=t.message}return n(ArgumentOutOfRangeError,e),ArgumentOutOfRangeError}(Error);t.ArgumentOutOfRangeError=i},function(e,t,r){"use strict";var n=r(17),i=r(56),o=r(73),s=r(79);t.concat=function concat(){for(var e=[],t=0;t=0}},function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=r(13),o=function(e){function AsyncAction(t,r){e.call(this,t,r),this.scheduler=t,this.work=r,this.pending=!1}return n(AsyncAction,e),AsyncAction.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e,this.pending=!0;var r=this.id,n=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(n,r,t)),this.delay=t,this.id=this.id||this.requestAsyncId(n,this.id,t),this},AsyncAction.prototype.requestAsyncId=function(e,t,r){return void 0===r&&(r=0),i.root.setInterval(e.flush.bind(e,this),r)},AsyncAction.prototype.recycleAsyncId=function(e,t,r){if(void 0===r&&(r=0),null!==r&&this.delay===r&&!1===this.pending)return t;i.root.clearInterval(t)},AsyncAction.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(e,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},AsyncAction.prototype._execute=function(e,t){var r=!1,n=void 0;try{this.work(e)}catch(e){r=!0,n=!!e&&e||new Error(e)}if(r)return this.unsubscribe(),n},AsyncAction.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,r=t.actions,n=r.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==n&&r.splice(n,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},AsyncAction}(r(288).Action);t.AsyncAction=o},function(e,t,r){"use strict";var n=this&&this.__extends||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)},i=function(e){function AsyncScheduler(){e.apply(this,arguments),this.actions=[],this.active=!1,this.scheduled=void 0}return n(AsyncScheduler,e),AsyncScheduler.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var r;this.active=!0;do{if(r=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,r){for(;e=t.shift();)e.unsubscribe();throw r}}},AsyncScheduler}(r(289).Scheduler);t.AsyncScheduler=i},function(e,t,r){"use strict";var n=r(5),i=r(222);function XHRLocalObject(e,t,r){i.call(this,e,t,r,{noCredentials:!0})}n(XHRLocalObject,i),XHRLocalObject.enabled=i.enabled,e.exports=XHRLocalObject},function(e,t,r){"use strict";(function(t){e.exports={isOpera:function(){return t.navigator&&/opera/i.test(t.navigator.userAgent)},isKonqueror:function(){return t.navigator&&/konqueror/i.test(t.navigator.userAgent)},hasDomain:function(){if(!t.document)return!0;try{return!!t.document.domain}catch(e){return!1}}}}).call(t,r(6))},function(e,t,r){"use strict";(function(t){var n=r(24),i=r(20),o=r(46),s=function(){};"production"!==Object({ENV:"build"}).NODE_ENV&&(s=r(8)("sockjs-client:utils:iframe")),e.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){e.exports.WPrefix in t||(t[e.exports.WPrefix]={})},postMessage:function(r,n){t.parent!==t?t.parent.postMessage(i.stringify({windowId:e.exports.currentWindowId,type:r,data:n||""}),"*"):s("Cannot postMessage, no parent window.",r,n)},createIframe:function(e,r){var i,o,a=t.document.createElement("iframe"),u=function(){s("unattach"),clearTimeout(i);try{a.onload=null}catch(e){}a.onerror=null},c=function(){s("cleanup"),a&&(u(),setTimeout(function(){a&&a.parentNode.removeChild(a),a=null},0),n.unloadDel(o))},l=function(e){s("onerror",e),a&&(c(),r(e))};return a.src=e,a.style.display="none",a.style.position="absolute",a.onerror=function(){l("onerror")},a.onload=function(){s("onload"),clearTimeout(i),i=setTimeout(function(){l("onload timeout")},2e3)},t.document.body.appendChild(a),i=setTimeout(function(){l("timeout")},15e3),o=n.unloadAdd(c),{post:function(e,t){s("post",e,t);try{setTimeout(function(){a&&a.contentWindow&&a.contentWindow.postMessage(e,t)},0)}catch(e){}},cleanup:c,loaded:u}},createHtmlfile:function(r,i){var o,a,u,c=["Active"].concat("Object").join("X"),l=new t[c]("htmlfile"),p=function(){clearTimeout(o),u.onerror=null},h=function(){l&&(p(),n.unloadDel(a),u.parentNode.removeChild(u),u=l=null,CollectGarbage())},f=function(e){s("onerror",e),l&&(h(),i(e))};l.open(),l.write('