ngx-ui-loader
Advanced tools
Comparing version 7.1.0-beta.2 to 7.1.0-beta.3
@@ -0,1 +1,6 @@ | ||
# v7.1.0-beta.3 | ||
* Support [multiple loaders](https://ngx-ui-loader.stackblitz.io/multiloader) | ||
* Remove stopAll event - it is useless | ||
* Bug fixed: Should not emit ShowEvent before loader data is bound to ngx-ui-loader component | ||
# v7.1.0-beta.2 | ||
@@ -2,0 +7,0 @@ * Support [multiple loaders](https://ngx-ui-loader.stackblitz.io/multiloader) |
@@ -20,2 +20,4 @@ /** | ||
export const WAITING_FOR_OVERLAY_DISAPPEAR = 500; | ||
/** @type {?} */ | ||
export const UNKNOWN_TASK_ID = 'unknown-task-id'; | ||
/** | ||
@@ -146,2 +148,2 @@ * The configuration of spinners | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC11aS1sb2FkZXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFLeEUsTUFBTSxPQUFPLGVBQWUsR0FBRyxTQUFTOzs7OztBQUt4QyxNQUFNLE9BQU8sd0JBQXdCLEdBQUcsUUFBUTs7QUFFaEQsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJOztBQUVoQyxNQUFNLE9BQU8sNkJBQTZCLEdBQUcsR0FBRzs7Ozs7QUFNaEQsTUFBTSxPQUFPLGNBQWMsR0FBRztJQUM1QixxQkFBcUIsRUFBRTtRQUNyQixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSx3QkFBd0I7S0FDaEM7SUFDRCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QscUJBQXFCLEVBQUU7UUFDckIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsd0JBQXdCO0tBQ2hDO0lBQ0QsbUNBQW1DLEVBQUU7UUFDbkMsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsc0NBQXNDO0tBQzlDO0lBQ0QseUJBQXlCLEVBQUU7UUFDekIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsNEJBQTRCO0tBQ3BDO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsV0FBVztLQUNuQjtJQUNELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGNBQWM7S0FDdEI7SUFDRCxlQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxrQkFBa0I7S0FDMUI7SUFDRCxlQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsRUFBRTtRQUNSLEtBQUssRUFBRSxrQkFBa0I7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxpQkFBaUI7S0FDekI7SUFDRCxPQUFPLEVBQUc7UUFDUixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxVQUFVO0tBQ2xCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsMkJBQTJCO0tBQ25DO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsK0JBQStCO0tBQ3ZDO0lBQ0Qsa0NBQWtDLEVBQUU7UUFDbEMsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUNBQXFDO0tBQzdDO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsbUJBQW1CO0tBQzNCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0NBQ0Y7Ozs7O0FBS0QsTUFBTSxPQUFPLGNBQWMsR0FBc0I7SUFDL0MsUUFBUSxFQUFFLFNBQVM7SUFDbkIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7SUFDakMsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtJQUNsQyxJQUFJLEVBQUUsQ0FBQztJQUNQLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNsQyxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxPQUFPLENBQUMsaUJBQWlCO0lBQ2xDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO0lBQ25DLFFBQVEsRUFBRSxHQUFHO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7SUFDckMsV0FBVyxFQUFFLENBQUM7SUFDZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixJQUFJLEVBQUUsRUFBRTtJQUNSLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNuQyxTQUFTLEVBQUUsR0FBRztDQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4VWlMb2FkZXJDb25maWcgfSBmcm9tICcuL25neC11aS1sb2FkZXItY29uZmlnJztcbmltcG9ydCB7IFBPU0lUSU9OLCBQQl9ESVJFQ1RJT04sIFNQSU5ORVIgfSBmcm9tICcuL25neC11aS1sb2FkZXIuZW51bXMnO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRhc2sgaWRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFTS19JRCA9ICdkZWZhdWx0JztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiBsb2FkZXIgaWRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFTVEVSX0xPQURFUl9JRCA9ICdtYXN0ZXInO1xuXG5leHBvcnQgY29uc3QgQ0xPU0lOR19USU1FID0gMTEwMDtcblxuZXhwb3J0IGNvbnN0IFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSID0gNTAwO1xuXG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2Ygc3Bpbm5lcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNQSU5ORVJfQ09ORklHID0ge1xuICAnYmFsbC1zY2FsZS1tdWx0aXBsZSc6IHtcbiAgICBkaXZzOiAzLFxuICAgIGNsYXNzOiAnc2stYmFsbC1zY2FsZS1tdWx0aXBsZSdcbiAgfSxcbiAgJ2JhbGwtc3Bpbic6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluJ1xuICB9LFxuICAnYmFsbC1zcGluLWNsb2Nrd2lzZSc6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluLWNsb2Nrd2lzZSdcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1jbG9ja3dpc2UtZmFkZS1yb3RhdGluZyc6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluLWNsb2Nrd2lzZS1mYWRlLXJvdGF0aW5nJ1xuICB9LFxuICAnYmFsbC1zcGluLWZhZGUtcm90YXRpbmcnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1mYWRlLXJvdGF0aW5nJ1xuICB9LFxuICAnY2hhc2luZy1kb3RzJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay1jaGFzaW5nLWRvdHMnXG4gIH0sXG4gICdjaXJjbGUnOiB7XG4gICAgZGl2czogMTIsXG4gICAgY2xhc3M6ICdzay1jaXJjbGUnXG4gIH0sXG4gICdjdWJlLWdyaWQnOiB7XG4gICAgZGl2czogOSxcbiAgICBjbGFzczogJ3NrLWN1YmUtZ3JpZCdcbiAgfSxcbiAgJ2RvdWJsZS1ib3VuY2UnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLWRvdWJsZS1ib3VuY2UnXG4gIH0sXG4gICdmYWRpbmctY2lyY2xlJzoge1xuICAgIGRpdnM6IDEyLFxuICAgIGNsYXNzOiAnc2stZmFkaW5nLWNpcmNsZSdcbiAgfSxcbiAgJ2ZvbGRpbmctY3ViZSc6IHtcbiAgICBkaXZzOiA0LFxuICAgIGNsYXNzOiAnc2stZm9sZGluZy1jdWJlJ1xuICB9LFxuICAncHVsc2UnOiAge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1wdWxzZSdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UnXG4gIH0sXG4gICdyZWN0YW5nbGUtYm91bmNlLXBhcnR5Jzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXBhcnR5J1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wdWxzZS1vdXQnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0J1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wdWxzZS1vdXQtcmFwaWQnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0LXJhcGlkJ1xuICB9LFxuICAncm90YXRpbmctcGxhbmUnOiB7XG4gICAgZGl2czogMSxcbiAgICBjbGFzczogJ3NrLXJvdGF0aW5nLXBsYW5lJ1xuICB9LFxuICAnc3F1YXJlLWplbGx5LWJveCc6IHtcbiAgICBkaXZzOiAyLFxuICAgIGNsYXNzOiAnc2stc3F1YXJlLWplbGx5LWJveCdcbiAgfSxcbiAgJ3NxdWFyZS1sb2FkZXInOiB7XG4gICAgZGl2czogMSxcbiAgICBjbGFzczogJ3NrLXNxdWFyZS1sb2FkZXInXG4gIH0sXG4gICd0aHJlZS1ib3VuY2UnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLXRocmVlLWJvdW5jZSdcbiAgfSxcbiAgJ3RocmVlLXN0cmluZ3MnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLXRocmVlLXN0cmluZ3MnXG4gIH0sXG4gICd3YW5kZXJpbmctY3ViZXMnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLXdhbmRlcmluZy1jdWJlcydcbiAgfSxcbn07XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvZiBuZ3gtdWktbG9hZGVyXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogTmd4VWlMb2FkZXJDb25maWcgPSB7XG4gIGJnc0NvbG9yOiAnIzAwQUNDMScsXG4gIGJnc09wYWNpdHk6IDAuNSxcbiAgYmdzUG9zaXRpb246IFBPU0lUSU9OLmJvdHRvbVJpZ2h0LFxuICBiZ3NTaXplOiA2MCxcbiAgYmdzVHlwZTogU1BJTk5FUi5iYWxsU3BpbkNsb2Nrd2lzZSxcbiAgYmx1cjogNSxcbiAgZmdzQ29sb3I6ICcjMDBBQ0MxJyxcbiAgZmdzUG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgZmdzU2l6ZTogNjAsXG4gIGZnc1R5cGU6IFNQSU5ORVIuYmFsbFNwaW5DbG9ja3dpc2UsXG4gIGdhcDogMjQsXG4gIGxvZ29Qb3NpdGlvbjogUE9TSVRJT04uY2VudGVyQ2VudGVyLFxuICBsb2dvU2l6ZTogMTIwLFxuICBsb2dvVXJsOiAnJyxcbiAgbWFzdGVyTG9hZGVySWQ6IERFRkFVTFRfTUFTVEVSX0xPQURFUl9JRCxcbiAgb3ZlcmxheUJvcmRlclJhZGl1czogJzAnLFxuICBvdmVybGF5Q29sb3I6ICdyZ2JhKDQwLCA0MCwgNDAsIDAuOCknLFxuICBwYkNvbG9yOiAnIzAwQUNDMScsXG4gIHBiRGlyZWN0aW9uOiBQQl9ESVJFQ1RJT04ubGVmdFRvUmlnaHQsXG4gIHBiVGhpY2tuZXNzOiAzLFxuICBoYXNQcm9ncmVzc0JhcjogdHJ1ZSxcbiAgdGV4dDogJycsXG4gIHRleHRDb2xvcjogJyNGRkZGRkYnLFxuICB0ZXh0UG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgdGhyZXNob2xkOiA1MDBcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC11aS1sb2FkZXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFLeEUsTUFBTSxPQUFPLGVBQWUsR0FBRyxTQUFTOzs7OztBQUt4QyxNQUFNLE9BQU8sd0JBQXdCLEdBQUcsUUFBUTs7QUFFaEQsTUFBTSxPQUFPLFlBQVksR0FBRyxJQUFJOztBQUVoQyxNQUFNLE9BQU8sNkJBQTZCLEdBQUcsR0FBRzs7QUFFaEQsTUFBTSxPQUFPLGVBQWUsR0FBRyxpQkFBaUI7Ozs7O0FBS2hELE1BQU0sT0FBTyxjQUFjLEdBQUc7SUFDNUIscUJBQXFCLEVBQUU7UUFDckIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsd0JBQXdCO0tBQ2hDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsY0FBYztLQUN0QjtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHdCQUF3QjtLQUNoQztJQUNELG1DQUFtQyxFQUFFO1FBQ25DLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHNDQUFzQztLQUM5QztJQUNELHlCQUF5QixFQUFFO1FBQ3pCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLDRCQUE0QjtLQUNwQztJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGlCQUFpQjtLQUN6QjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxFQUFFO1FBQ1IsS0FBSyxFQUFFLFdBQVc7S0FDbkI7SUFDRCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsT0FBTyxFQUFHO1FBQ1IsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsVUFBVTtLQUNsQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFCQUFxQjtLQUM3QjtJQUNELHdCQUF3QixFQUFFO1FBQ3hCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLDJCQUEyQjtLQUNuQztJQUNELDRCQUE0QixFQUFFO1FBQzVCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLCtCQUErQjtLQUN2QztJQUNELGtDQUFrQyxFQUFFO1FBQ2xDLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFDQUFxQztLQUM3QztJQUNELGdCQUFnQixFQUFFO1FBQ2hCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLG1CQUFtQjtLQUMzQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFCQUFxQjtLQUM3QjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGtCQUFrQjtLQUMxQjtJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGlCQUFpQjtLQUN6QjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGtCQUFrQjtLQUMxQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLG9CQUFvQjtLQUM1QjtDQUNGOzs7OztBQUtELE1BQU0sT0FBTyxjQUFjLEdBQXNCO0lBQy9DLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO0lBQ2pDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7SUFDbEMsSUFBSSxFQUFFLENBQUM7SUFDUCxRQUFRLEVBQUUsU0FBUztJQUNuQixXQUFXLEVBQUUsUUFBUSxDQUFDLFlBQVk7SUFDbEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtJQUNsQyxHQUFHLEVBQUUsRUFBRTtJQUNQLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNuQyxRQUFRLEVBQUUsR0FBRztJQUNiLE9BQU8sRUFBRSxFQUFFO0lBQ1gsY0FBYyxFQUFFLHdCQUF3QjtJQUN4QyxtQkFBbUIsRUFBRSxHQUFHO0lBQ3hCLFlBQVksRUFBRSx1QkFBdUI7SUFDckMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO0lBQ3JDLFdBQVcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLElBQUk7SUFDcEIsSUFBSSxFQUFFLEVBQUU7SUFDUixTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7SUFDbkMsU0FBUyxFQUFFLEdBQUc7Q0FDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neFVpTG9hZGVyQ29uZmlnIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBQT1NJVElPTiwgUEJfRElSRUNUSU9OLCBTUElOTkVSIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLmVudW1zJztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0YXNrIGlkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBU0tfSUQgPSAnZGVmYXVsdCc7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgdmFsdWUgb2YgbG9hZGVyIGlkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BU1RFUl9MT0FERVJfSUQgPSAnbWFzdGVyJztcblxuZXhwb3J0IGNvbnN0IENMT1NJTkdfVElNRSA9IDExMDA7XG5cbmV4cG9ydCBjb25zdCBXQUlUSU5HX0ZPUl9PVkVSTEFZX0RJU0FQUEVBUiA9IDUwMDtcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fVEFTS19JRCA9ICd1bmtub3duLXRhc2staWQnO1xuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHNwaW5uZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTUElOTkVSX0NPTkZJRyA9IHtcbiAgJ2JhbGwtc2NhbGUtbXVsdGlwbGUnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLWJhbGwtc2NhbGUtbXVsdGlwbGUnXG4gIH0sXG4gICdiYWxsLXNwaW4nOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3BpbidcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1jbG9ja3dpc2UnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1jbG9ja3dpc2UnXG4gIH0sXG4gICdiYWxsLXNwaW4tY2xvY2t3aXNlLWZhZGUtcm90YXRpbmcnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1jbG9ja3dpc2UtZmFkZS1yb3RhdGluZydcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1mYWRlLXJvdGF0aW5nJzoge1xuICAgIGRpdnM6IDgsXG4gICAgY2xhc3M6ICdzay1iYWxsLXNwaW4tZmFkZS1yb3RhdGluZydcbiAgfSxcbiAgJ2NoYXNpbmctZG90cyc6IHtcbiAgICBkaXZzOiAyLFxuICAgIGNsYXNzOiAnc2stY2hhc2luZy1kb3RzJ1xuICB9LFxuICAnY2lyY2xlJzoge1xuICAgIGRpdnM6IDEyLFxuICAgIGNsYXNzOiAnc2stY2lyY2xlJ1xuICB9LFxuICAnY3ViZS1ncmlkJzoge1xuICAgIGRpdnM6IDksXG4gICAgY2xhc3M6ICdzay1jdWJlLWdyaWQnXG4gIH0sXG4gICdkb3VibGUtYm91bmNlJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay1kb3VibGUtYm91bmNlJ1xuICB9LFxuICAnZmFkaW5nLWNpcmNsZSc6IHtcbiAgICBkaXZzOiAxMixcbiAgICBjbGFzczogJ3NrLWZhZGluZy1jaXJjbGUnXG4gIH0sXG4gICdmb2xkaW5nLWN1YmUnOiB7XG4gICAgZGl2czogNCxcbiAgICBjbGFzczogJ3NrLWZvbGRpbmctY3ViZSdcbiAgfSxcbiAgJ3B1bHNlJzogIHtcbiAgICBkaXZzOiAxLFxuICAgIGNsYXNzOiAnc2stcHVsc2UnXG4gIH0sXG4gICdyZWN0YW5nbGUtYm91bmNlJzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlJ1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wYXJ0eSc6IHtcbiAgICBkaXZzOiA1LFxuICAgIGNsYXNzOiAnc2stcmVjdGFuZ2xlLWJvdW5jZS1wYXJ0eSdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0Jzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXB1bHNlLW91dCdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0LXJhcGlkJzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXB1bHNlLW91dC1yYXBpZCdcbiAgfSxcbiAgJ3JvdGF0aW5nLXBsYW5lJzoge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1yb3RhdGluZy1wbGFuZSdcbiAgfSxcbiAgJ3NxdWFyZS1qZWxseS1ib3gnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLXNxdWFyZS1qZWxseS1ib3gnXG4gIH0sXG4gICdzcXVhcmUtbG9hZGVyJzoge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1zcXVhcmUtbG9hZGVyJ1xuICB9LFxuICAndGhyZWUtYm91bmNlJzoge1xuICAgIGRpdnM6IDMsXG4gICAgY2xhc3M6ICdzay10aHJlZS1ib3VuY2UnXG4gIH0sXG4gICd0aHJlZS1zdHJpbmdzJzoge1xuICAgIGRpdnM6IDMsXG4gICAgY2xhc3M6ICdzay10aHJlZS1zdHJpbmdzJ1xuICB9LFxuICAnd2FuZGVyaW5nLWN1YmVzJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay13YW5kZXJpbmctY3ViZXMnXG4gIH0sXG59O1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb2Ygbmd4LXVpLWxvYWRlclxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUc6IE5neFVpTG9hZGVyQ29uZmlnID0ge1xuICBiZ3NDb2xvcjogJyMwMEFDQzEnLFxuICBiZ3NPcGFjaXR5OiAwLjUsXG4gIGJnc1Bvc2l0aW9uOiBQT1NJVElPTi5ib3R0b21SaWdodCxcbiAgYmdzU2l6ZTogNjAsXG4gIGJnc1R5cGU6IFNQSU5ORVIuYmFsbFNwaW5DbG9ja3dpc2UsXG4gIGJsdXI6IDUsXG4gIGZnc0NvbG9yOiAnIzAwQUNDMScsXG4gIGZnc1Bvc2l0aW9uOiBQT1NJVElPTi5jZW50ZXJDZW50ZXIsXG4gIGZnc1NpemU6IDYwLFxuICBmZ3NUeXBlOiBTUElOTkVSLmJhbGxTcGluQ2xvY2t3aXNlLFxuICBnYXA6IDI0LFxuICBsb2dvUG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgbG9nb1NpemU6IDEyMCxcbiAgbG9nb1VybDogJycsXG4gIG1hc3RlckxvYWRlcklkOiBERUZBVUxUX01BU1RFUl9MT0FERVJfSUQsXG4gIG92ZXJsYXlCb3JkZXJSYWRpdXM6ICcwJyxcbiAgb3ZlcmxheUNvbG9yOiAncmdiYSg0MCwgNDAsIDQwLCAwLjgpJyxcbiAgcGJDb2xvcjogJyMwMEFDQzEnLFxuICBwYkRpcmVjdGlvbjogUEJfRElSRUNUSU9OLmxlZnRUb1JpZ2h0LFxuICBwYlRoaWNrbmVzczogMyxcbiAgaGFzUHJvZ3Jlc3NCYXI6IHRydWUsXG4gIHRleHQ6ICcnLFxuICB0ZXh0Q29sb3I6ICcjRkZGRkZGJyxcbiAgdGV4dFBvc2l0aW9uOiBQT1NJVElPTi5jZW50ZXJDZW50ZXIsXG4gIHRocmVzaG9sZDogNTAwXG59O1xuIl19 |
@@ -55,10 +55,2 @@ /** | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function StopAllEvent() { } | ||
if (false) { | ||
/** @type {?} */ | ||
StopAllEvent.prototype.isStopAll; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBRUM7Ozs7QUFFRCw0QkFNQzs7O0lBTEMsMEJBQWlCOztJQUNqQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsMEJBQW1COztJQUNuQix5QkFBaUI7Ozs7O0FBR25CLDZCQUVDOzs7O0FBRUQsMEJBRUM7OztJQURDLCtCQUFpQjs7Ozs7QUFHbkIsK0JBRUM7OztJQURDLDJCQUFnQjs7Ozs7QUFHbEIsb0NBR0M7OztJQUZDLGdDQUFlOztJQUNmLHNDQUFzQjs7Ozs7QUFHeEIsa0NBRUM7OztJQURDLGlDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFzayB7XG4gIFt0YXNrSWQ6IHN0cmluZ106IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZXIge1xuICBsb2FkZXJJZDogc3RyaW5nO1xuICBmb3JlZ3JvdW5kOiBUYXNrO1xuICBiYWNrZ3JvdW5kOiBUYXNrO1xuICBpc01hc3Rlcj86IGJvb2xlYW47XG4gIGlzQm91bmQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVycyB7XG4gIFtsb2FkZXJJZDogc3RyaW5nXTogTG9hZGVyO1xufVxuXG5pbnRlcmZhY2UgTG9hZGVyRXZlbnQge1xuICBsb2FkZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTaG93OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0U3RvcEV2ZW50IGV4dGVuZHMgTG9hZGVyRXZlbnQge1xuICB0YXNrSWQ6IHN0cmluZztcbiAgaXNGb3JlZ3JvdW5kOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3BBbGxFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTdG9wQWxsOiBib29sZWFuO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBRUM7Ozs7QUFFRCw0QkFNQzs7O0lBTEMsMEJBQWlCOztJQUNqQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsMEJBQW1COztJQUNuQix5QkFBaUI7Ozs7O0FBR25CLDZCQUVDOzs7O0FBRUQsMEJBRUM7OztJQURDLCtCQUFpQjs7Ozs7QUFHbkIsK0JBRUM7OztJQURDLDJCQUFnQjs7Ozs7QUFHbEIsb0NBR0M7OztJQUZDLGdDQUFlOztJQUNmLHNDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFzayB7XG4gIFt0YXNrSWQ6IHN0cmluZ106IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZXIge1xuICBsb2FkZXJJZDogc3RyaW5nO1xuICBmb3JlZ3JvdW5kOiBUYXNrO1xuICBiYWNrZ3JvdW5kOiBUYXNrO1xuICBpc01hc3Rlcj86IGJvb2xlYW47XG4gIGlzQm91bmQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVycyB7XG4gIFtsb2FkZXJJZDogc3RyaW5nXTogTG9hZGVyO1xufVxuXG5pbnRlcmZhY2UgTG9hZGVyRXZlbnQge1xuICBsb2FkZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTaG93OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0U3RvcEV2ZW50IGV4dGVuZHMgTG9hZGVyRXZlbnQge1xuICB0YXNrSWQ6IHN0cmluZztcbiAgaXNGb3JlZ3JvdW5kOiBib29sZWFuO1xufVxuIl19 |
@@ -7,3 +7,3 @@ /** | ||
import { BehaviorSubject, Subject } from 'rxjs'; | ||
import { CLOSING_TIME, DEFAULT_TASK_ID, DEFAULT_CONFIG, WAITING_FOR_OVERLAY_DISAPPEAR } from './ngx-ui-loader.contants'; | ||
import { CLOSING_TIME, DEFAULT_TASK_ID, DEFAULT_CONFIG, UNKNOWN_TASK_ID, WAITING_FOR_OVERLAY_DISAPPEAR } from './ngx-ui-loader.contants'; | ||
import { NGX_UI_LOADER_CONFIG_TOKEN } from './ngx-ui-loader-config.token'; | ||
@@ -39,4 +39,2 @@ import * as i0 from "@angular/core"; | ||
this.onStop$ = this.onStop.asObservable(); | ||
this.onStopAll = new Subject(); | ||
this.onStopAll$ = this.onStopAll.asObservable(); | ||
} | ||
@@ -62,2 +60,13 @@ /** | ||
this.loaders[loaderId].isMaster = isMaster; | ||
// emit showEvent after data loader is bound | ||
if (this.hasForeground(loaderId)) { | ||
this.showForeground.next({ loaderId, isShow: true }); | ||
this.onStart.next({ loaderId, taskId: UNKNOWN_TASK_ID, isForeground: true }); | ||
} | ||
else { | ||
if (this.hasBackground(loaderId)) { | ||
this.showBackground.next({ loaderId, isShow: true }); | ||
this.onStart.next({ loaderId, taskId: UNKNOWN_TASK_ID, isForeground: false }); | ||
} | ||
} | ||
} | ||
@@ -190,2 +199,5 @@ else { | ||
this.loaders[loaderId].foreground[taskId] = Date.now(); | ||
if (!this.loaders[loaderId].isBound) { | ||
return; | ||
} | ||
if (!foregroundRunning) { | ||
@@ -220,2 +232,5 @@ if (this.hasBackground(loaderId)) { | ||
this.loaders[loaderId].background[taskId] = Date.now(); | ||
if (!this.loaders[loaderId].isBound) { | ||
return; | ||
} | ||
if (!this.hasForeground(loaderId)) { | ||
@@ -244,2 +259,3 @@ this.showBackground.next({ loaderId, isShow: true }); | ||
this.throwErrorIfLoaderNotExist(loaderId); | ||
// Update loader data {{{ | ||
/** @type {?} */ | ||
@@ -259,19 +275,17 @@ const now = Date.now(); | ||
} | ||
if (!this.isActive(loaderId)) { | ||
this.foregroundCloseout(loaderId); | ||
this.showForeground.next({ loaderId, isShow: false }); | ||
this.onStop.next({ loaderId, taskId, isForeground: true }); | ||
this.onStopAll.next({ loaderId, isStopAll: true }); | ||
return; | ||
} | ||
// }}} | ||
// Emit ShowEvents to update view {{{ | ||
if (!this.hasForeground(loaderId)) { | ||
// We can imply that this.hasBackground(loaderId) == true | ||
this.foregroundCloseout(loaderId); | ||
this.showForeground.next({ loaderId, isShow: false }); | ||
// Show background spinner after the foreground is closed out | ||
setTimeout(() => { | ||
this.showBackground.next({ loaderId, isShow: true }); | ||
}, WAITING_FOR_OVERLAY_DISAPPEAR); | ||
if (this.hasBackground(loaderId)) { | ||
setTimeout(() => { | ||
if (this.hasBackground(loaderId)) { // still have background tasks | ||
this.showBackground.next({ loaderId, isShow: true }); | ||
} | ||
}, WAITING_FOR_OVERLAY_DISAPPEAR); | ||
} | ||
} | ||
this.onStop.next({ loaderId, taskId, isForeground: true }); | ||
// }}} | ||
} | ||
@@ -284,3 +298,2 @@ /** | ||
stop(taskId = DEFAULT_TASK_ID) { | ||
this.throwErrorIfMasterLoaderNotExist(); | ||
this.stopLoader(this.defaultConfig.masterLoaderId, taskId); | ||
@@ -296,2 +309,3 @@ } | ||
this.throwErrorIfLoaderNotExist(loaderId); | ||
// Update loader data {{{ | ||
/** @type {?} */ | ||
@@ -311,10 +325,10 @@ const now = Date.now(); | ||
} | ||
if (!this.isActive(loaderId)) { | ||
// }}} | ||
// Emit ShowEvents to update view {{{ | ||
if (!this.hasForeground(loaderId) && !this.hasBackground(loaderId)) { | ||
this.backgroundCloseout(loaderId); | ||
this.showBackground.next({ loaderId, isShow: false }); | ||
this.onStop.next({ loaderId, taskId, isForeground: false }); | ||
this.onStopAll.next({ loaderId, isStopAll: true }); | ||
return; | ||
} | ||
this.onStop.next({ loaderId, taskId, isForeground: false }); | ||
// }}} | ||
} | ||
@@ -327,3 +341,2 @@ /** | ||
stopBackground(taskId = DEFAULT_TASK_ID) { | ||
this.throwErrorIfMasterLoaderNotExist(); | ||
this.stopBackgroundLoader(this.defaultConfig.masterLoaderId, taskId); | ||
@@ -348,3 +361,2 @@ } | ||
this.loaders[loaderId].background = {}; | ||
this.onStopAll.next({ loaderId, isStopAll: true }); | ||
} | ||
@@ -356,3 +368,2 @@ /** | ||
stopAll() { | ||
this.throwErrorIfMasterLoaderNotExist(); | ||
this.stopLoaderAll(this.defaultConfig.masterLoaderId); | ||
@@ -430,11 +441,2 @@ } | ||
/** | ||
* Determine whether the loader is active | ||
* @private | ||
* @param {?} loaderId | ||
* @return {?} true if the loader is active | ||
*/ | ||
isActive(loaderId) { | ||
return this.hasForeground(loaderId) || this.hasBackground(loaderId); | ||
} | ||
/** | ||
* Manage to close foreground loading | ||
@@ -504,8 +506,2 @@ * @private | ||
*/ | ||
NgxUiLoaderService.prototype.onStopAll$; | ||
/** | ||
* For internal use only. It may be changed in the future. | ||
* \@docs-private | ||
* @type {?} | ||
*/ | ||
NgxUiLoaderService.prototype.showBackground$; | ||
@@ -552,7 +548,2 @@ /** | ||
*/ | ||
NgxUiLoaderService.prototype.onStopAll; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
NgxUiLoaderService.prototype.showBackground; | ||
@@ -570,2 +561,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFPMUUsTUFBTSxPQUFPLGtCQUFrQjs7Ozs7SUE2RDdCLFlBQW9FLE1BQXlCO1FBQXpCLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRTNGLElBQUksQ0FBQyxhQUFhLHFCQUFRLGNBQWMsQ0FBRSxDQUFDO1FBRTNDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxFQUFFO2dCQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDO2FBQ2xEO1lBQ0QsSUFBSSxDQUFDLGFBQWEscUJBQVEsSUFBSSxDQUFDLGFBQWEsRUFBSyxJQUFJLENBQUMsTUFBTSxDQUFFLENBQUM7U0FDaEU7UUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN0RixJQUFJLENB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QUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuQixDQUFDOzs7WUEzZUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7OzRDQThEYyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjs7Ozs7Ozs7O0lBckQxRCxnREFBMEM7Ozs7OztJQU0xQyxnREFBMEM7Ozs7OztJQU0xQyxzQ0FBcUM7Ozs7OztJQU1yQyxxQ0FBb0M7Ozs7OztJQU1wQyx3Q0FBcUM7Ozs7OztJQU1yQyw2Q0FBdUM7Ozs7OztJQU12Qyw2Q0FBdUM7Ozs7O0lBR3ZDLHVDQUE4Qzs7Ozs7SUFDOUMsMkNBQXlDOzs7OztJQUN6Qyx1Q0FBOEM7Ozs7O0lBQzlDLHFDQUF5Qjs7Ozs7SUFDekIscUNBQXlDOzs7OztJQUN6QyxvQ0FBd0M7Ozs7O0lBQ3hDLHVDQUF5Qzs7Ozs7SUFDekMsNENBQW1EOzs7OztJQUNuRCw0Q0FBbUQ7Ozs7O0lBTXZDLG9DQUFpRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBDTE9TSU5HX1RJTUUsIERFRkFVTFRfVEFTS19JRCwgREVGQVVMVF9DT05GSUcsIFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzJztcbmltcG9ydCB7IE5HWF9VSV9MT0FERVJfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLWNvbmZpZy50b2tlbic7XG5pbXBvcnQgeyBOZ3hVaUxvYWRlckNvbmZpZyB9IGZyb20gJy4vbmd4LXVpLWxvYWRlci1jb25maWcnO1xuaW1wb3J0IHsgTG9hZGVycywgTG9hZGVyLCBTaG93RXZlbnQsIFN0YXJ0U3RvcEV2ZW50LCBTdG9wQWxsRXZlbnQsIFRhc2sgfSBmcm9tICcuL25neC11aS1sb2FkZXIuaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE5neFVpTG9hZGVyU2VydmljZSB7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcblxuICAvKipcbiAgICogRm9yIGludGVybmFsIHVzZSBvbmx5LiBJdCBtYXkgYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBiYWNrZ3JvdW5kQ2xvc2luZyQ6IE9ic2VydmFibGU8U2hvd0V2ZW50PjtcblxuICAvKipcbiAgICogRm9yIGludGVybmFsIHVzZSBvbmx5LiBJdCBtYXkgYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBmb3JlZ3JvdW5kQ2xvc2luZyQ6IE9ic2VydmFibGU8U2hvd0V2ZW50PjtcblxuICAvKipcbiAgICogRm9yIGludGVybmFsIHVzZSBvbmx5LiBJdCBtYXkgYmUgY2hhbmdlZCBpbiB0aGUgZnV0dXJlLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBvblN0YXJ0JDogT2JzZXJ2YWJsZTxTdGFydFN0b3BFdmVudD47XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgb25TdG9wJDogT2JzZXJ2YWJsZTxTdGFydFN0b3BFdmVudD47XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgb25TdG9wQWxsJDogT2JzZXJ2YWJsZTxTdG9wQWxsRXZlbnQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHNob3dCYWNrZ3JvdW5kJDogT2JzZXJ2YWJsZTxTaG93RXZlbnQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHNob3dGb3JlZ3JvdW5kJDogT2JzZXJ2YWJsZTxTaG93RXZlbnQ+O1xuXG4gIC8vIFByaXZhdGUgcHJvcGVydGllc1xuICBwcml2YXRlIGJnQ2xvc2luZzogQmVoYXZpb3JTdWJqZWN0PFNob3dFdmVudD47XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogTmd4VWlMb2FkZXJDb25maWc7XG4gIHByaXZhdGUgZmdDbG9zaW5nOiBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50PjtcbiAgcHJpdmF0ZSBsb2FkZXJzOiBMb2FkZXJzO1xuICBwcml2YXRlIG9uU3RhcnQ6IFN1YmplY3Q8U3RhcnRTdG9wRXZlbnQ+O1xuICBwcml2YXRlIG9uU3RvcDogU3ViamVjdDxTdGFydFN0b3BFdmVudD47XG4gIHByaXZhdGUgb25TdG9wQWxsOiBTdWJqZWN0PFN0b3BBbGxFdmVudD47XG4gIHByaXZhdGUgc2hvd0JhY2tncm91bmQ6IEJlaGF2aW9yU3ViamVjdDxTaG93RXZlbnQ+O1xuICBwcml2YXRlIHNob3dGb3JlZ3JvdW5kOiBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50PjtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOR1hfVUlfTE9BREVSX0NPTkZJR19UT0tFTikgcHJpdmF0ZSBjb25maWc6IE5neFVpTG9hZGVyQ29uZmlnKSB7XG5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHIH07XG5cbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50aHJlc2hvbGQgJiYgdGhpcy5jb25maWcudGhyZXNob2xkIDw9IDApIHtcbiAgICAgICAgdGhpcy5jb25maWcudGhyZXNob2xkID0gREVGQVVMVF9DT05GSUcudGhyZXNob2xkO1xuICAgICAgfVxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMuY29uZmlnIH07XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkZXJzID0ge307XG4gICAgdGhpcy5zaG93Rm9yZWdyb3VuZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLnNob3dGb3JlZ3JvdW5kJCA9IHRoaXMuc2hvd0ZvcmVncm91bmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zaG93QmFja2dyb3VuZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLnNob3dCYWNrZ3JvdW5kJCA9IHRoaXMuc2hvd0JhY2tncm91bmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5mZ0Nsb3NpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNob3dFdmVudD4oeyBsb2FkZXJJZDogJycsIGlzU2hvdzogZmFsc2UgfSk7XG4gICAgdGhpcy5mb3JlZ3JvdW5kQ2xvc2luZyQgPSB0aGlzLmZnQ2xvc2luZy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmJnQ2xvc2luZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLmJhY2tncm91bmRDbG9zaW5nJCA9IHRoaXMuYmdDbG9zaW5nLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgdGhpcy5vblN0YXJ0ID0gbmV3IFN1YmplY3Q8U3RhcnRTdG9wRXZlbnQ+KCk7XG4gICAgdGhpcy5vblN0YXJ0JCA9IHRoaXMub25TdGFydC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLm9uU3RvcCA9IG5ldyBTdWJqZWN0PFN0YXJ0U3RvcEV2ZW50PigpO1xuICAgIHRoaXMub25TdG9wJCA9IHRoaXMub25TdG9wLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMub25TdG9wQWxsID0gbmV3IFN1YmplY3Q8U3RvcEFsbEV2ZW50PigpO1xuICAgIHRoaXMub25TdG9wQWxsJCA9IHRoaXMub25TdG9wQWxsLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgaW5pdExvYWRlckRhdGEobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBpc01hc3RlciA9IGZhbHNlO1xuICAgIGlmIChsb2FkZXJJZCA9PT0gdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkKSB7XG4gICAgICB0aGlzLnRocm93RXJyb3JJZk1hc3RlckxvYWRlckV4aXN0cyh0cnVlKTtcbiAgICAgIGlzTWFzdGVyID0gdHJ1ZTtcbiAgICB9IGVsc2UgeyAvLyBub3QgbWFzdGVyIGxvYWRlclxuICAgICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJFeGlzdHMobG9hZGVySWQsIHRydWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5pc0JvdW5kID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uaXNNYXN0ZXIgPSBpc01hc3RlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jcmVhdGVMb2FkZXJEYXRhKGxvYWRlcklkLCBpc01hc3RlciwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgdXBkYXRlTG9hZGVySWQobG9hZGVySWQ6IHN0cmluZywgbmV3TG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQpO1xuICAgIGlmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmxvYWRlcklkID09PSB0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgW25neC11aS1sb2FkZXJdIC0gQ2Fubm90IGNoYW5nZSBsb2FkZXJJZCBvZiBtYXN0ZXIgbG9hZGVyLiBUaGUgY3VycmVudCBgICtcbiAgICAgICAgYG1hc3RlcidzIGxvYWRlcklkIGlzIFwiJHt0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWR9XCIuIElmIHlvdSByZWFsbHkgd2FudCB0byBgICtcbiAgICAgICAgYGNoYW5nZSBpdCwgcGxlYXNlIHVzZSBOZ3hVaUxvYWRlck1vZHVsZS5mb3JSb290KCkgbWV0aG9kLmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAobmV3TG9hZGVySWQgIT09IGxvYWRlcklkKSB7XG4gICAgICB0aGlzLnRocm93RXJyb3JJZkxvYWRlckV4aXN0cyhuZXdMb2FkZXJJZCwgdHJ1ZSk7XG4gICAgICB0aGlzLmxvYWRlcnNbbmV3TG9hZGVySWRdID0ge1xuICAgICAgICBsb2FkZXJJZDogbmV3TG9hZGVySWQsXG4gICAgICAgIGJhY2tncm91bmQ6IHsgLi4udGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kIH0sXG4gICAgICAgIGZvcmVncm91bmQ6IHsgLi4udGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kIH0sXG4gICAgICAgIGlzTWFzdGVyOiBmYWxzZSxcbiAgICAgICAgaXNCb3VuZDogdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5pc0JvdW5kXG4gICAgICB9O1xuICAgICAgZGVsZXRlIHRoaXMubG9hZGVyc1tsb2FkZXJJZF07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgZGVzdHJveUxvYWRlckRhdGEobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcExvYWRlckFsbChsb2FkZXJJZCk7XG4gICAgZGVsZXRlIHRoaXMubG9hZGVyc1tsb2FkZXJJZF07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlZmF1bHQgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMgZGVmYXVsdCBjb25maWd1cmF0aW9uIG9iamVjdFxuICAgKi9cbiAgZ2V0RGVmYXVsdENvbmZpZygpOiBOZ3hVaUxvYWRlckNvbmZpZyB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCB0aGUgbG9hZGVyc1xuICAgKi9cbiAgZ2V0TG9hZGVycygpOiBMb2FkZXJzIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmxvYWRlcnMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGF0YSBvZiBhIHNwZWNpZmllZCBsb2FkZXIuIElmIGxvYWRlcklkIGlzIG5vdCBwcm92aWRlZCwgaXQgd2lsbCByZXR1cm4gZGF0YSBvZiBtYXN0ZXIgbG9hZGVyKGlmIGV4aXN0ZWQpXG4gICAqL1xuICBnZXRMb2FkZXIobG9hZGVySWQ/OiBzdHJpbmcpOiBMb2FkZXIge1xuICAgIGlmIChsb2FkZXJJZCkge1xuICAgICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJOb3RFeGlzdChsb2FkZXJJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudGhyb3dFcnJvcklmTWFzdGVyTG9hZGVyTm90RXhpc3QoKTtcbiAgICAgIGxvYWRlcklkID0gdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkO1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmxvYWRlcnNbbG9hZGVySWRdKSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGdldExvYWRlcigpIG9yIGdldExvYWRlcnMoKSBpbnN0ZWFkLiBUaGlzIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgdmVyc2lvbiA4LngueFxuICAgKiBSZXR1cm4gc3RhdHVzIG9mIG1hc3RlciBsb2FkZXJcbiAgICovXG4gIGdldFN0YXR1cygpOiB7IHdhaXRpbmdCYWNrZ3JvdW5kOiBUYXNrLCB3YWl0aW5nRm9yZWdyb3VuZDogVGFzayB9IHtcbiAgICB0aGlzLnRocm93RXJyb3JJZk1hc3RlckxvYWRlck5vdEV4aXN0KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdhaXRpbmdCYWNrZ3JvdW5kOiB0aGlzLmxvYWRlcnNbdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkXS5iYWNrZ3JvdW5kLFxuICAgICAgd2FpdGluZ0ZvcmVncm91bmQ6IHRoaXMubG9hZGVyc1t0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWRdLmZvcmVncm91bmRcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgdGhlIHF1ZXVlIGhhcyBhIHdhaXRpbmcgZm9yZWdyb3VuZCBsb2FkZXIgd2l0aCB0aGUgZ2l2ZW4gYHRhc2tJZGAuXG4gICAqIElmIG5vIGB0YXNrSWRgIHNwZWNpZmllZCwgaXQgd2lsbCBjaGVjayB3aGV0aGVyIHRoZSBxdWV1ZSBoYXMgYW55IHdhaXRpbmcgZm9yZWdyb3VuZCBsb2FkZXIuXG4gICAqIEBwYXJhbSBsb2FkZXJJZCB0aGUgbG9hZGVyIElkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWRcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgaGFzRm9yZWdyb3VuZChsb2FkZXJJZDogc3RyaW5nLCB0YXNrSWQ/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgaWYgKHRhc2tJZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kW3Rhc2tJZF0gPyB0cnVlIDogZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kKS5sZW5ndGggPiAwO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgd2hldGhlciB0aGUgcXVldWUgaGFzIGEgd2FpdGluZyBiYWNrZ3JvdW5kIGxvYWRlciB3aXRoIHRoZSBnaXZlbiBgdGFza0lkYC5cbiAgICogSWYgbm8gYHRhc2tJZGAgc3BlY2lmaWVkLCBpdCB3aWxsIGNoZWNrIHdoZXRoZXIgdGhlIHF1ZXVlIGhhcyBhbnkgd2FpdGluZyBiYWNrZ3JvdW5kIGxvYWRlci5cbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgSWRcbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZFxuICAgKiBAcmV0dXJucyBib29sZWFuXG4gICAqL1xuICBoYXNCYWNrZ3JvdW5kKGxvYWRlcklkOiBzdHJpbmcsIHRhc2tJZD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdKSB7XG4gICAgICBpZiAodGFza0lkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmJhY2tncm91bmRbdGFza0lkXSA/IHRydWUgOiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmJhY2tncm91bmQpLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgZm9yZWdyb3VuZCBsb2FkaW5nIG9mIGxvYWRlciBoYXZpbmcgYGxvYWRlcklkYCB3aXRoIGEgc3BlY2lmaWVkIGB0YXNrSWRgLlxuICAgKiBUaGUgbG9hZGluZyBpcyBvbmx5IGNsb3NlZCBvZmYgd2hlbiBhbGwgdGFza0lkcyBvZiB0aGF0IGxvYWRlciBhcmUgY2FsbGVkIHdpdGggc3RvcExvYWRlcigpIG1ldGhvZC5cbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgSWRcbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZCBvZiB0aGUgbG9hZGluZy4gdGFza0lkIGlzIHNldCB0byAnZGVmYXVsdCcgYnkgZGVmYXVsdC5cbiAgICovXG4gIHN0YXJ0TG9hZGVyKGxvYWRlcklkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVMb2FkZXJEYXRhKGxvYWRlcklkLCB1bmRlZmluZWQsIGZhbHNlKTtcblxuICAgIGNvbnN0IGZvcmVncm91bmRSdW5uaW5nID0gdGhpcy5oYXNGb3JlZ3JvdW5kKGxvYWRlcklkKTtcblxuICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uZm9yZWdyb3VuZFt0YXNrSWRdID0gRGF0ZS5ub3coKTtcbiAgICBpZiAoIWZvcmVncm91bmRSdW5uaW5nKSB7XG4gICAgICBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKGxvYWRlcklkKSkge1xuICAgICAgICB0aGlzLmJhY2tncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICAgIHRoaXMuc2hvd0JhY2tncm91bmQubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zaG93Rm9yZWdyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICB9XG4gICAgdGhpcy5vblN0YXJ0Lm5leHQoeyBsb2FkZXJJZCwgdGFza0lkLCBpc0ZvcmVncm91bmQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGZvcmVncm91bmQgbG9hZGluZyBvZiBtYXN0ZXIgbG9hZGVyIHdpdGggYSBzcGVjaWZpZWQgYHRhc2tJZGAuXG4gICAqIFRoZSBsb2FkaW5nIGlzIG9ubHkgY2xvc2VkIG9mZiB3aGVuIGFsbCB0YXNrSWRzIG9mIHRoYXQgbG9hZGVyIGFyZSBjYWxsZWQgd2l0aCBzdG9wKCkgbWV0aG9kLlxuICAgKiBOT1RFOiBSZWFsbHkgdGhpcyBmdW5jdGlvbiBqdXN0IHdyYXBzIHN0YXJ0TG9hZGVyKCkgZnVuY3Rpb25cbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZCBvZiB0aGUgbG9hZGluZy4gdGFza0lkIGlzIHNldCB0byAnZGVmYXVsdCcgYnkgZGVmYXVsdC5cbiAgICovXG4gIHN0YXJ0KHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydExvYWRlcih0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWQsIHRhc2tJZCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGJhY2tncm91bmQgbG9hZGluZyBvZiBsb2FkZXIgaGF2aW5nIGBsb2FkZXJJZGAgd2l0aCBhIHNwZWNpZmllZCBgdGFza0lkYC5cbiAgICogVGhlIGxvYWRpbmcgaXMgb25seSBjbG9zZWQgb2ZmIHdoZW4gYWxsIHRhc2tJZHMgb2YgdGhhdCBsb2FkZXIgYXJlIGNhbGxlZCB3aXRoIHN0b3BMb2FkZXJCYWNrZ3JvdW5kKCkgbWV0aG9kLlxuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBJZFxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkIG9mIHRoZSBsb2FkaW5nLiB0YXNrSWQgaXMgc2V0IHRvICdkZWZhdWx0JyBieSBkZWZhdWx0LlxuICAgKi9cbiAgc3RhcnRCYWNrZ3JvdW5kTG9hZGVyKGxvYWRlcklkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVMb2FkZXJEYXRhKGxvYWRlcklkLCB1bmRlZmluZWQsIGZhbHNlKTtcblxuICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZFt0YXNrSWRdID0gRGF0ZS5ub3coKTtcbiAgICBpZiAoIXRoaXMuaGFzRm9yZWdyb3VuZChsb2FkZXJJZCkpIHtcbiAgICAgIHRoaXMuc2hvd0JhY2tncm91bmQubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IHRydWUgfSk7XG4gICAgfVxuICAgIHRoaXMub25TdGFydC5uZXh0KHsgbG9hZGVySWQsIHRhc2tJZCwgaXNGb3JlZ3JvdW5kOiBmYWxzZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgYmFja2dyb3VuZCBsb2FkaW5nIG9mIG1hc3RlciBsb2FkZXIgd2l0aCBhIHNwZWNpZmllZCBgdGFza0lkYC5cbiAgICogVGhlIGxvYWRpbmcgaXMgb25seSBjbG9zZWQgb2ZmIHdoZW4gYWxsIHRhc2tJZHMgb2YgdGhhdCBsb2FkZXIgYXJlIGNhbGxlZCB3aXRoIHN0b3BCYWNrZ3JvdW5kKCkgbWV0aG9kLlxuICAgKiBOT1RFOiBSZWFsbHkgdGhpcyBmdW5jdGlvbiBqdXN0IHdyYXBzIHN0YXJ0QmFja2dyb3VuZExvYWRlcigpIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgb2YgdGhlIGxvYWRpbmcuIHRhc2tJZCBpcyBzZXQgdG8gJ2RlZmF1bHQnIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBzdGFydEJhY2tncm91bmQodGFza0lkOiBzdHJpbmcgPSBERUZBVUxUX1RBU0tfSUQpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0QmFja2dyb3VuZExvYWRlcih0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWQsIHRhc2tJZCk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBhIGZvcmVncm91bmQgbG9hZGluZyBvZiBsb2FkZXIgaGF2aW5nIGBsb2FkZXJJZGAgd2l0aCBzcGVjaWZpYyBgdGFza0lkYFxuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBJZFxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkIHRvIHN0b3AuIElmIG5vdCBwcm92aWRlZCwgJ2RlZmF1bHQnIGlzIHVzZWQuXG4gICAqIEByZXR1cm5zIE9iamVjdFxuICAgKi9cbiAgc3RvcExvYWRlcihsb2FkZXJJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQpO1xuXG4gICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcblxuICAgIGlmICh0aGlzLmhhc0ZvcmVncm91bmQobG9hZGVySWQsIHRhc2tJZCkpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmZvcmVncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgPiBub3cpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9wTG9hZGVyKGxvYWRlcklkLCB0YXNrSWQpO1xuICAgICAgICB9LCB0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmZvcmVncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgLSBub3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkZWxldGUgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kW3Rhc2tJZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNBY3RpdmUobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLmZvcmVncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICB0aGlzLnNob3dGb3JlZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25TdG9wLm5leHQoeyBsb2FkZXJJZCwgdGFza0lkLCBpc0ZvcmVncm91bmQ6IHRydWUgfSk7XG4gICAgICB0aGlzLm9uU3RvcEFsbC5uZXh0KHsgbG9hZGVySWQsIGlzU3RvcEFsbDogdHJ1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGFzRm9yZWdyb3VuZChsb2FkZXJJZCkpIHtcbiAgICAgIC8vIFdlIGNhbiBpbXBseSB0aGF0IHRoaXMuaGFzQmFja2dyb3VuZChsb2FkZXJJZCkgPT0gdHJ1ZVxuICAgICAgdGhpcy5mb3JlZ3JvdW5kQ2xvc2VvdXQobG9hZGVySWQpO1xuICAgICAgdGhpcy5zaG93Rm9yZWdyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogZmFsc2UgfSk7XG4gICAgICAvLyBTaG93IGJhY2tncm91bmQgc3Bpbm5lciBhZnRlciB0aGUgZm9yZWdyb3VuZCBpcyBjbG9zZWQgb3V0XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93QmFja2dyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICAgIH0sIFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSKTtcbiAgICB9XG4gICAgdGhpcy5vblN0b3AubmV4dCh7IGxvYWRlcklkLCB0YXNrSWQsIGlzRm9yZWdyb3VuZDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGEgZm9yZWdyb3VuZCBsb2FkaW5nIG9mIG1hc3RlciBsb2FkZXIgd2l0aCBzcGVjaWZpYyBgdGFza0lkYFxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkIHRvIHN0b3AuIElmIG5vdCBwcm92aWRlZCwgJ2RlZmF1bHQnIGlzIHVzZWQuXG4gICAqIEByZXR1cm5zIE9iamVjdFxuICAgKi9cbiAgc3RvcCh0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTWFzdGVyTG9hZGVyTm90RXhpc3QoKTtcbiAgICB0aGlzLnN0b3BMb2FkZXIodGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkLCB0YXNrSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYSBiYWNrZ3JvdW5kIGxvYWRpbmcgb2YgbG9hZGVyIGhhdmluZyBgbG9hZGVySWRgIHdpdGggc3BlY2lmaWMgYHRhc2tJZGBcbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgSWRcbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZCB0byBzdG9wLiBJZiBub3QgcHJvdmlkZWQsICdkZWZhdWx0JyBpcyB1c2VkLlxuICAgKiBAcmV0dXJucyBPYmplY3RcbiAgICovXG4gIHN0b3BCYWNrZ3JvdW5kTG9hZGVyKGxvYWRlcklkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJOb3RFeGlzdChsb2FkZXJJZCk7XG5cbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuXG4gICAgaWYgKHRoaXMuaGFzQmFja2dyb3VuZChsb2FkZXJJZCwgdGFza0lkKSkge1xuICAgICAgaWYgKHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZFt0YXNrSWRdICsgdGhpcy5kZWZhdWx0Q29uZmlnLnRocmVzaG9sZCA+IG5vdykge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3BCYWNrZ3JvdW5kTG9hZGVyKGxvYWRlcklkLCB0YXNrSWQpO1xuICAgICAgICB9LCB0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmJhY2tncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgLSBub3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkZWxldGUgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kW3Rhc2tJZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNBY3RpdmUobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLmJhY2tncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICB0aGlzLnNob3dCYWNrZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25TdG9wLm5leHQoeyBsb2FkZXJJZCwgdGFza0lkLCBpc0ZvcmVncm91bmQ6IGZhbHNlIH0pO1xuICAgICAgdGhpcy5vblN0b3BBbGwubmV4dCh7IGxvYWRlcklkLCBpc1N0b3BBbGw6IHRydWUgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vblN0b3AubmV4dCh7IGxvYWRlcklkLCB0YXNrSWQsIGlzRm9yZWdyb3VuZDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBhIGJhY2tncm91bmQgbG9hZGluZyBvZiBtYXN0ZXIgbG9hZGVyIHdpdGggc3BlY2lmaWMgdGFza0lkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgdG8gc3RvcC4gSWYgbm90IHByb3ZpZGVkLCAnZGVmYXVsdCcgaXMgdXNlZC5cbiAgICogQHJldHVybnMgT2JqZWN0XG4gICAqL1xuICBzdG9wQmFja2dyb3VuZCh0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTWFzdGVyTG9hZGVyTm90RXhpc3QoKTtcbiAgICB0aGlzLnN0b3BCYWNrZ3JvdW5kTG9hZGVyKHRoaXMuZGVmYXVsdENvbmZpZy5tYXN0ZXJMb2FkZXJJZCwgdGFza0lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGFsbCB0aGUgYmFja2dyb3VuZCBhbmQgZm9yZWdyb3VuZCBsb2FkaW5ncyBvZiBsb2FkZXIgaGF2aW5nIGBsb2FkZXJJZGBcbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgSWRcbiAgICovXG4gIHN0b3BMb2FkZXJBbGwobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQpO1xuXG4gICAgaWYgKHRoaXMuaGFzRm9yZWdyb3VuZChsb2FkZXJJZCkpIHtcbiAgICAgIHRoaXMuZm9yZWdyb3VuZENsb3Nlb3V0KGxvYWRlcklkKTtcbiAgICAgIHRoaXMuc2hvd0ZvcmVncm91bmQubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IGZhbHNlIH0pO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKGxvYWRlcklkKSkge1xuICAgICAgdGhpcy5iYWNrZ3JvdW5kQ2xvc2VvdXQobG9hZGVySWQpO1xuICAgICAgdGhpcy5zaG93QmFja2dyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uZm9yZWdyb3VuZCA9IHt9O1xuICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZCA9IHt9O1xuICAgIHRoaXMub25TdG9wQWxsLm5leHQoeyBsb2FkZXJJZCwgaXNTdG9wQWxsOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYWxsIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGxvYWRpbmdzIG9mIG1hc3RlciBsb2FkZXJcbiAgICovXG4gIHN0b3BBbGwoKTogdm9pZCB7XG4gICAgdGhpcy50aHJvd0Vycm9ySWZNYXN0ZXJMb2FkZXJOb3RFeGlzdCgpO1xuICAgIHRoaXMuc3RvcExvYWRlckFsbCh0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBsb2FkZXIgZGF0YSBpZiBpdCBkb2VzIG5vdCBleGlzdFxuICAgKiBAcGFyYW0gbG9hZGVySWRcbiAgICogQHBhcmFtIGlzTWFzdGVyXG4gICAqIEBwYXJhbSBpc0JvdW5kXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgY3JlYXRlTG9hZGVyRGF0YShsb2FkZXJJZDogc3RyaW5nLCBpc01hc3RlcjogYm9vbGVhbiwgaXNCb3VuZDogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXSA9IHtcbiAgICAgICAgbG9hZGVySWQsXG4gICAgICAgIGZvcmVncm91bmQ6IHt9LFxuICAgICAgICBiYWNrZ3JvdW5kOiB7fSxcbiAgICAgICAgaXNNYXN0ZXIsXG4gICAgICAgIGlzQm91bmRcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGVycm9yIGlmIHRoZSBsb2FkZXJJZCBkb2VzIG5vdCBleGlzdC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB0aHJvd0Vycm9ySWZMb2FkZXJOb3RFeGlzdChsb2FkZXJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxvYWRlcnNbbG9hZGVySWRdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFtuZ3gtdWktbG9hZGVyXSAtIGxvYWRlcklkIFwiJHtsb2FkZXJJZH1cIiBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgZXJyb3IgaWYgdGhlIGxvYWRlcklkIGhhcyBhbHJlYWR5IGV4aXN0ZWQuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdGhyb3dFcnJvcklmTG9hZGVyRXhpc3RzKGxvYWRlcklkOiBzdHJpbmcsIHVzZUlzQm91bmRQcm9wPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdICYmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmlzQm91bmQgJiYgdXNlSXNCb3VuZFByb3ApKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFtuZ3gtdWktbG9hZGVyXSAtIGxvYWRlcklkIFwiJHtsb2FkZXJJZH1cIiBpcyBkdXBsaWNhdGVkLiBQbGVhc2UgY2hvb3NlIGFub3RoZXIgb25lIWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvdyBlcnJvciBpZiB0aGUgbWFzdGVyIGxvYWRlciBoYXMgYWxyZWFkeSBleGlzdGVkLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHRocm93RXJyb3JJZk1hc3RlckxvYWRlckV4aXN0cyh1c2VJc0JvdW5kUHJvcD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkZXJzW3RoaXMuZGVmYXVsdENvbmZpZy5tYXN0ZXJMb2FkZXJJZF0gJiYgKHRoaXMubG9hZGVyc1t0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWRdLmlzQm91bmQgJiYgdXNlSXNCb3VuZFByb3ApKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFtuZ3gtdWktbG9hZGVyXSAtIFRoZSBtYXN0ZXIgbG9hZGVyIGhhcyBhbHJlYWR5IGV4aXN0ZWQuIGBcbiAgICAgICAgKyBgVGhlIGFwcCBzaG91bGQgaGF2ZSBvbmx5IG9uZSBtYXN0ZXIgbG9hZGVyIGFuZCBpdCBzaG91bGQgYmUgcGxhY2VkIGluIHRoZSByb290IGFwcCB0ZW1wbGF0ZWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvdyBlcnJvciBpZiB0aGUgbWFzdGVyIGxvYWRlciBkb2VzIG5vdCBleGlzdC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB0aHJvd0Vycm9ySWZNYXN0ZXJMb2FkZXJOb3RFeGlzdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubG9hZGVyc1t0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWRdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFtuZ3gtdWktbG9hZGVyXSAtIFRoZSBtYXN0ZXIgbG9hZGVyIGRvZXMgbm90IGV4aXN0LmApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciB0aGUgbG9hZGVyIGlzIGFjdGl2ZVxuICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBsb2FkZXIgaXMgYWN0aXZlXG4gICAqL1xuICBwcml2YXRlIGlzQWN0aXZlKGxvYWRlcklkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNGb3JlZ3JvdW5kKGxvYWRlcklkKSB8fCB0aGlzLmhhc0JhY2tncm91bmQobG9hZGVySWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbmFnZSB0byBjbG9zZSBmb3JlZ3JvdW5kIGxvYWRpbmdcbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgaWRcbiAgICovXG4gIHByaXZhdGUgZm9yZWdyb3VuZENsb3Nlb3V0KGxvYWRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmZnQ2xvc2luZy5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZmdDbG9zaW5nLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB9LCBDTE9TSU5HX1RJTUUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbmFnZSB0byBjbG9zZSBiYWNrZ3JvdW5kIGxvYWRpbmdcbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgaWRcbiAgICovXG4gIHByaXZhdGUgYmFja2dyb3VuZENsb3Nlb3V0KGxvYWRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmJnQ2xvc2luZy5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYmdDbG9zaW5nLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB9LCBDTE9TSU5HX1RJTUUpO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6SSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBTzFFLE1BQU0sT0FBTyxrQkFBa0I7Ozs7O0lBc0Q3QixZQUFvRSxNQUF5QjtRQUF6QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUUzRixJQUFJLENBQUMsYUFBYSxxQkFBUSxjQUFjLENBQUUsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsRUFBRTtnQkFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQzthQUNsRDtZQUNELElBQUksQ0FBQyxhQUFhLHFCQUFRLElBQUksQ0FBQyxhQUFhLEVBQUssSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBWSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFD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QyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNuQixDQUFDOzs7WUF0ZUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7OzRDQXVEYyxRQUFRLFlBQUksTUFBTSxTQUFDLDBCQUEwQjs7Ozs7Ozs7O0lBOUMxRCxnREFBMEM7Ozs7OztJQU0xQyxnREFBMEM7Ozs7OztJQU0xQyxzQ0FBcUM7Ozs7OztJQU1yQyxxQ0FBb0M7Ozs7OztJQU1wQyw2Q0FBdUM7Ozs7OztJQU12Qyw2Q0FBdUM7Ozs7O0lBR3ZDLHVDQUE4Qzs7Ozs7SUFDOUMsMkNBQXlDOzs7OztJQUN6Qyx1Q0FBOEM7Ozs7O0lBQzlDLHFDQUF5Qjs7Ozs7SUFDekIscUNBQXlDOzs7OztJQUN6QyxvQ0FBd0M7Ozs7O0lBQ3hDLDRDQUFtRDs7Ozs7SUFDbkQsNENBQW1EOzs7OztJQU12QyxvQ0FBaUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ0xPU0lOR19USU1FLCBERUZBVUxUX1RBU0tfSUQsIERFRkFVTFRfQ09ORklHLCBVTktOT1dOX1RBU0tfSUQsIFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzJztcbmltcG9ydCB7IE5HWF9VSV9MT0FERVJfQ09ORklHX1RPS0VOIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLWNvbmZpZy50b2tlbic7XG5pbXBvcnQgeyBOZ3hVaUxvYWRlckNvbmZpZyB9IGZyb20gJy4vbmd4LXVpLWxvYWRlci1jb25maWcnO1xuaW1wb3J0IHsgTG9hZGVycywgTG9hZGVyLCBTaG93RXZlbnQsIFN0YXJ0U3RvcEV2ZW50LCBUYXNrIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hVaUxvYWRlclNlcnZpY2Uge1xuXG4gIC8vIFB1YmxpYyBwcm9wZXJ0aWVzXG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgYmFja2dyb3VuZENsb3NpbmckOiBPYnNlcnZhYmxlPFNob3dFdmVudD47XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgZm9yZWdyb3VuZENsb3NpbmckOiBPYnNlcnZhYmxlPFNob3dFdmVudD47XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgb25TdGFydCQ6IE9ic2VydmFibGU8U3RhcnRTdG9wRXZlbnQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIG9uU3RvcCQ6IE9ic2VydmFibGU8U3RhcnRTdG9wRXZlbnQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHNob3dCYWNrZ3JvdW5kJDogT2JzZXJ2YWJsZTxTaG93RXZlbnQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHNob3dGb3JlZ3JvdW5kJDogT2JzZXJ2YWJsZTxTaG93RXZlbnQ+O1xuXG4gIC8vIFByaXZhdGUgcHJvcGVydGllc1xuICBwcml2YXRlIGJnQ2xvc2luZzogQmVoYXZpb3JTdWJqZWN0PFNob3dFdmVudD47XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogTmd4VWlMb2FkZXJDb25maWc7XG4gIHByaXZhdGUgZmdDbG9zaW5nOiBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50PjtcbiAgcHJpdmF0ZSBsb2FkZXJzOiBMb2FkZXJzO1xuICBwcml2YXRlIG9uU3RhcnQ6IFN1YmplY3Q8U3RhcnRTdG9wRXZlbnQ+O1xuICBwcml2YXRlIG9uU3RvcDogU3ViamVjdDxTdGFydFN0b3BFdmVudD47XG4gIHByaXZhdGUgc2hvd0JhY2tncm91bmQ6IEJlaGF2aW9yU3ViamVjdDxTaG93RXZlbnQ+O1xuICBwcml2YXRlIHNob3dGb3JlZ3JvdW5kOiBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50PjtcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChOR1hfVUlfTE9BREVSX0NPTkZJR19UT0tFTikgcHJpdmF0ZSBjb25maWc6IE5neFVpTG9hZGVyQ29uZmlnKSB7XG5cbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLkRFRkFVTFRfQ09ORklHIH07XG5cbiAgICBpZiAodGhpcy5jb25maWcpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50aHJlc2hvbGQgJiYgdGhpcy5jb25maWcudGhyZXNob2xkIDw9IDApIHtcbiAgICAgICAgdGhpcy5jb25maWcudGhyZXNob2xkID0gREVGQVVMVF9DT05GSUcudGhyZXNob2xkO1xuICAgICAgfVxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnID0geyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMuY29uZmlnIH07XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkZXJzID0ge307XG4gICAgdGhpcy5zaG93Rm9yZWdyb3VuZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLnNob3dGb3JlZ3JvdW5kJCA9IHRoaXMuc2hvd0ZvcmVncm91bmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5zaG93QmFja2dyb3VuZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLnNob3dCYWNrZ3JvdW5kJCA9IHRoaXMuc2hvd0JhY2tncm91bmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgdGhpcy5mZ0Nsb3NpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNob3dFdmVudD4oeyBsb2FkZXJJZDogJycsIGlzU2hvdzogZmFsc2UgfSk7XG4gICAgdGhpcy5mb3JlZ3JvdW5kQ2xvc2luZyQgPSB0aGlzLmZnQ2xvc2luZy5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLmJnQ2xvc2luZyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hvd0V2ZW50Pih7IGxvYWRlcklkOiAnJywgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB0aGlzLmJhY2tncm91bmRDbG9zaW5nJCA9IHRoaXMuYmdDbG9zaW5nLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgdGhpcy5vblN0YXJ0ID0gbmV3IFN1YmplY3Q8U3RhcnRTdG9wRXZlbnQ+KCk7XG4gICAgdGhpcy5vblN0YXJ0JCA9IHRoaXMub25TdGFydC5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLm9uU3RvcCA9IG5ldyBTdWJqZWN0PFN0YXJ0U3RvcEV2ZW50PigpO1xuICAgIHRoaXMub25TdG9wJCA9IHRoaXMub25TdG9wLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvciBpbnRlcm5hbCB1c2Ugb25seS4gSXQgbWF5IGJlIGNoYW5nZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgaW5pdExvYWRlckRhdGEobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGxldCBpc01hc3RlciA9IGZhbHNlO1xuICAgIGlmIChsb2FkZXJJZCA9PT0gdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkKSB7XG4gICAgICB0aGlzLnRocm93RXJyb3JJZk1hc3RlckxvYWRlckV4aXN0cyh0cnVlKTtcbiAgICAgIGlzTWFzdGVyID0gdHJ1ZTtcbiAgICB9IGVsc2UgeyAvLyBub3QgbWFzdGVyIGxvYWRlclxuICAgICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJFeGlzdHMobG9hZGVySWQsIHRydWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5pc0JvdW5kID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uaXNNYXN0ZXIgPSBpc01hc3RlcjtcbiAgICAgIC8vIGVtaXQgc2hvd0V2ZW50IGFmdGVyIGRhdGEgbG9hZGVyIGlzIGJvdW5kXG4gICAgICBpZiAodGhpcy5oYXNGb3JlZ3JvdW5kKGxvYWRlcklkKSkge1xuICAgICAgICB0aGlzLnNob3dGb3JlZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiB0cnVlIH0pO1xuICAgICAgICB0aGlzLm9uU3RhcnQubmV4dCh7IGxvYWRlcklkLCB0YXNrSWQ6IFVOS05PV05fVEFTS19JRCwgaXNGb3JlZ3JvdW5kOiB0cnVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzQmFja2dyb3VuZChsb2FkZXJJZCkpIHtcbiAgICAgICAgICB0aGlzLnNob3dCYWNrZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiB0cnVlIH0pO1xuICAgICAgICAgIHRoaXMub25TdGFydC5uZXh0KHsgbG9hZGVySWQsIHRhc2tJZDogVU5LTk9XTl9UQVNLX0lELCBpc0ZvcmVncm91bmQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY3JlYXRlTG9hZGVyRGF0YShsb2FkZXJJZCwgaXNNYXN0ZXIsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHVwZGF0ZUxvYWRlcklkKGxvYWRlcklkOiBzdHJpbmcsIG5ld0xvYWRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnRocm93RXJyb3JJZkxvYWRlck5vdEV4aXN0KGxvYWRlcklkKTtcbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXS5sb2FkZXJJZCA9PT0gdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkKSB7XG4gICAgICBjb25zb2xlLndhcm4oYFtuZ3gtdWktbG9hZGVyXSAtIENhbm5vdCBjaGFuZ2UgbG9hZGVySWQgb2YgbWFzdGVyIGxvYWRlci4gVGhlIGN1cnJlbnQgYCArXG4gICAgICAgIGBtYXN0ZXIncyBsb2FkZXJJZCBpcyBcIiR7dGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkfVwiLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gYCArXG4gICAgICAgIGBjaGFuZ2UgaXQsIHBsZWFzZSB1c2UgTmd4VWlMb2FkZXJNb2R1bGUuZm9yUm9vdCgpIG1ldGhvZC5gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG5ld0xvYWRlcklkICE9PSBsb2FkZXJJZCkge1xuICAgICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJFeGlzdHMobmV3TG9hZGVySWQsIHRydWUpO1xuICAgICAgdGhpcy5sb2FkZXJzW25ld0xvYWRlcklkXSA9IHtcbiAgICAgICAgbG9hZGVySWQ6IG5ld0xvYWRlcklkLFxuICAgICAgICBiYWNrZ3JvdW5kOiB7IC4uLnRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZCB9LFxuICAgICAgICBmb3JlZ3JvdW5kOiB7IC4uLnRoaXMubG9hZGVyc1tsb2FkZXJJZF0uZm9yZWdyb3VuZCB9LFxuICAgICAgICBpc01hc3RlcjogZmFsc2UsXG4gICAgICAgIGlzQm91bmQ6IHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uaXNCb3VuZFxuICAgICAgfTtcbiAgICAgIGRlbGV0ZSB0aGlzLmxvYWRlcnNbbG9hZGVySWRdO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb3IgaW50ZXJuYWwgdXNlIG9ubHkuIEl0IG1heSBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIGRlc3Ryb3lMb2FkZXJEYXRhKGxvYWRlcklkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BMb2FkZXJBbGwobG9hZGVySWQpO1xuICAgIGRlbGV0ZSB0aGlzLmxvYWRlcnNbbG9hZGVySWRdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBkZWZhdWx0IGxvYWRlciBjb25maWd1cmF0aW9uXG4gICAqIEByZXR1cm5zIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvYmplY3RcbiAgICovXG4gIGdldERlZmF1bHRDb25maWcoKTogTmd4VWlMb2FkZXJDb25maWcge1xuICAgIHJldHVybiB7IC4uLnRoaXMuZGVmYXVsdENvbmZpZyB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGhlIGxvYWRlcnNcbiAgICovXG4gIGdldExvYWRlcnMoKTogTG9hZGVycyB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5sb2FkZXJzKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRhdGEgb2YgYSBzcGVjaWZpZWQgbG9hZGVyLiBJZiBsb2FkZXJJZCBpcyBub3QgcHJvdmlkZWQsIGl0IHdpbGwgcmV0dXJuIGRhdGEgb2YgbWFzdGVyIGxvYWRlcihpZiBleGlzdGVkKVxuICAgKi9cbiAgZ2V0TG9hZGVyKGxvYWRlcklkPzogc3RyaW5nKTogTG9hZGVyIHtcbiAgICBpZiAobG9hZGVySWQpIHtcbiAgICAgIHRoaXMudGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRocm93RXJyb3JJZk1hc3RlckxvYWRlck5vdEV4aXN0KCk7XG4gICAgICBsb2FkZXJJZCA9IHRoaXMuZGVmYXVsdENvbmZpZy5tYXN0ZXJMb2FkZXJJZDtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5sb2FkZXJzW2xvYWRlcklkXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBnZXRMb2FkZXIoKSBvciBnZXRMb2FkZXJzKCkgaW5zdGVhZC4gVGhpcyB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIHZlcnNpb24gOC54LnhcbiAgICogUmV0dXJuIHN0YXR1cyBvZiBtYXN0ZXIgbG9hZGVyXG4gICAqL1xuICBnZXRTdGF0dXMoKTogeyB3YWl0aW5nQmFja2dyb3VuZDogVGFzaywgd2FpdGluZ0ZvcmVncm91bmQ6IFRhc2sgfSB7XG4gICAgdGhpcy50aHJvd0Vycm9ySWZNYXN0ZXJMb2FkZXJOb3RFeGlzdCgpO1xuICAgIHJldHVybiB7XG4gICAgICB3YWl0aW5nQmFja2dyb3VuZDogdGhpcy5sb2FkZXJzW3RoaXMuZGVmYXVsdENvbmZpZy5tYXN0ZXJMb2FkZXJJZF0uYmFja2dyb3VuZCxcbiAgICAgIHdhaXRpbmdGb3JlZ3JvdW5kOiB0aGlzLmxvYWRlcnNbdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkXS5mb3JlZ3JvdW5kXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB3aGV0aGVyIHRoZSBxdWV1ZSBoYXMgYSB3YWl0aW5nIGZvcmVncm91bmQgbG9hZGVyIHdpdGggdGhlIGdpdmVuIGB0YXNrSWRgLlxuICAgKiBJZiBubyBgdGFza0lkYCBzcGVjaWZpZWQsIGl0IHdpbGwgY2hlY2sgd2hldGhlciB0aGUgcXVldWUgaGFzIGFueSB3YWl0aW5nIGZvcmVncm91bmQgbG9hZGVyLlxuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBJZFxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkXG4gICAqIEByZXR1cm5zIGJvb2xlYW5cbiAgICovXG4gIGhhc0ZvcmVncm91bmQobG9hZGVySWQ6IHN0cmluZywgdGFza0lkPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMubG9hZGVyc1tsb2FkZXJJZF0pIHtcbiAgICAgIGlmICh0YXNrSWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uZm9yZWdyb3VuZFt0YXNrSWRdID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uZm9yZWdyb3VuZCkubGVuZ3RoID4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIHdoZXRoZXIgdGhlIHF1ZXVlIGhhcyBhIHdhaXRpbmcgYmFja2dyb3VuZCBsb2FkZXIgd2l0aCB0aGUgZ2l2ZW4gYHRhc2tJZGAuXG4gICAqIElmIG5vIGB0YXNrSWRgIHNwZWNpZmllZCwgaXQgd2lsbCBjaGVjayB3aGV0aGVyIHRoZSBxdWV1ZSBoYXMgYW55IHdhaXRpbmcgYmFja2dyb3VuZCBsb2FkZXIuXG4gICAqIEBwYXJhbSBsb2FkZXJJZCB0aGUgbG9hZGVyIElkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWRcbiAgICogQHJldHVybnMgYm9vbGVhblxuICAgKi9cbiAgaGFzQmFja2dyb3VuZChsb2FkZXJJZDogc3RyaW5nLCB0YXNrSWQ/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgaWYgKHRhc2tJZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kW3Rhc2tJZF0gPyB0cnVlIDogZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kKS5sZW5ndGggPiAwO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGZvcmVncm91bmQgbG9hZGluZyBvZiBsb2FkZXIgaGF2aW5nIGBsb2FkZXJJZGAgd2l0aCBhIHNwZWNpZmllZCBgdGFza0lkYC5cbiAgICogVGhlIGxvYWRpbmcgaXMgb25seSBjbG9zZWQgb2ZmIHdoZW4gYWxsIHRhc2tJZHMgb2YgdGhhdCBsb2FkZXIgYXJlIGNhbGxlZCB3aXRoIHN0b3BMb2FkZXIoKSBtZXRob2QuXG4gICAqIEBwYXJhbSBsb2FkZXJJZCB0aGUgbG9hZGVyIElkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgb2YgdGhlIGxvYWRpbmcuIHRhc2tJZCBpcyBzZXQgdG8gJ2RlZmF1bHQnIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBzdGFydExvYWRlcihsb2FkZXJJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMuY3JlYXRlTG9hZGVyRGF0YShsb2FkZXJJZCwgdW5kZWZpbmVkLCBmYWxzZSk7XG5cbiAgICBjb25zdCBmb3JlZ3JvdW5kUnVubmluZyA9IHRoaXMuaGFzRm9yZWdyb3VuZChsb2FkZXJJZCk7XG4gICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kW3Rhc2tJZF0gPSBEYXRlLm5vdygpO1xuXG4gICAgaWYgKCF0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmlzQm91bmQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWZvcmVncm91bmRSdW5uaW5nKSB7XG4gICAgICBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKGxvYWRlcklkKSkge1xuICAgICAgICB0aGlzLmJhY2tncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICAgIHRoaXMuc2hvd0JhY2tncm91bmQubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zaG93Rm9yZWdyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICB9XG4gICAgdGhpcy5vblN0YXJ0Lm5leHQoeyBsb2FkZXJJZCwgdGFza0lkLCBpc0ZvcmVncm91bmQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGZvcmVncm91bmQgbG9hZGluZyBvZiBtYXN0ZXIgbG9hZGVyIHdpdGggYSBzcGVjaWZpZWQgYHRhc2tJZGAuXG4gICAqIFRoZSBsb2FkaW5nIGlzIG9ubHkgY2xvc2VkIG9mZiB3aGVuIGFsbCB0YXNrSWRzIG9mIHRoYXQgbG9hZGVyIGFyZSBjYWxsZWQgd2l0aCBzdG9wKCkgbWV0aG9kLlxuICAgKiBOT1RFOiBSZWFsbHkgdGhpcyBmdW5jdGlvbiBqdXN0IHdyYXBzIHN0YXJ0TG9hZGVyKCkgZnVuY3Rpb25cbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZCBvZiB0aGUgbG9hZGluZy4gdGFza0lkIGlzIHNldCB0byAnZGVmYXVsdCcgYnkgZGVmYXVsdC5cbiAgICovXG4gIHN0YXJ0KHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydExvYWRlcih0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWQsIHRhc2tJZCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGJhY2tncm91bmQgbG9hZGluZyBvZiBsb2FkZXIgaGF2aW5nIGBsb2FkZXJJZGAgd2l0aCBhIHNwZWNpZmllZCBgdGFza0lkYC5cbiAgICogVGhlIGxvYWRpbmcgaXMgb25seSBjbG9zZWQgb2ZmIHdoZW4gYWxsIHRhc2tJZHMgb2YgdGhhdCBsb2FkZXIgYXJlIGNhbGxlZCB3aXRoIHN0b3BMb2FkZXJCYWNrZ3JvdW5kKCkgbWV0aG9kLlxuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBJZFxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkIG9mIHRoZSBsb2FkaW5nLiB0YXNrSWQgaXMgc2V0IHRvICdkZWZhdWx0JyBieSBkZWZhdWx0LlxuICAgKi9cbiAgc3RhcnRCYWNrZ3JvdW5kTG9hZGVyKGxvYWRlcklkOiBzdHJpbmcsIHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5jcmVhdGVMb2FkZXJEYXRhKGxvYWRlcklkLCB1bmRlZmluZWQsIGZhbHNlKTtcblxuICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZFt0YXNrSWRdID0gRGF0ZS5ub3coKTtcblxuICAgIGlmICghdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5pc0JvdW5kKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmhhc0ZvcmVncm91bmQobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLnNob3dCYWNrZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiB0cnVlIH0pO1xuICAgIH1cbiAgICB0aGlzLm9uU3RhcnQubmV4dCh7IGxvYWRlcklkLCB0YXNrSWQsIGlzRm9yZWdyb3VuZDogZmFsc2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIGJhY2tncm91bmQgbG9hZGluZyBvZiBtYXN0ZXIgbG9hZGVyIHdpdGggYSBzcGVjaWZpZWQgYHRhc2tJZGAuXG4gICAqIFRoZSBsb2FkaW5nIGlzIG9ubHkgY2xvc2VkIG9mZiB3aGVuIGFsbCB0YXNrSWRzIG9mIHRoYXQgbG9hZGVyIGFyZSBjYWxsZWQgd2l0aCBzdG9wQmFja2dyb3VuZCgpIG1ldGhvZC5cbiAgICogTk9URTogUmVhbGx5IHRoaXMgZnVuY3Rpb24ganVzdCB3cmFwcyBzdGFydEJhY2tncm91bmRMb2FkZXIoKSBmdW5jdGlvblxuICAgKiBAcGFyYW0gdGFza0lkIHRoZSBvcHRpb25hbCB0YXNrIElkIG9mIHRoZSBsb2FkaW5nLiB0YXNrSWQgaXMgc2V0IHRvICdkZWZhdWx0JyBieSBkZWZhdWx0LlxuICAgKi9cbiAgc3RhcnRCYWNrZ3JvdW5kKHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5zdGFydEJhY2tncm91bmRMb2FkZXIodGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkLCB0YXNrSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYSBmb3JlZ3JvdW5kIGxvYWRpbmcgb2YgbG9hZGVyIGhhdmluZyBgbG9hZGVySWRgIHdpdGggc3BlY2lmaWMgYHRhc2tJZGBcbiAgICogQHBhcmFtIGxvYWRlcklkIHRoZSBsb2FkZXIgSWRcbiAgICogQHBhcmFtIHRhc2tJZCB0aGUgb3B0aW9uYWwgdGFzayBJZCB0byBzdG9wLiBJZiBub3QgcHJvdmlkZWQsICdkZWZhdWx0JyBpcyB1c2VkLlxuICAgKiBAcmV0dXJucyBPYmplY3RcbiAgICovXG4gIHN0b3BMb2FkZXIobG9hZGVySWQ6IHN0cmluZywgdGFza0lkOiBzdHJpbmcgPSBERUZBVUxUX1RBU0tfSUQpOiB2b2lkIHtcbiAgICB0aGlzLnRocm93RXJyb3JJZkxvYWRlck5vdEV4aXN0KGxvYWRlcklkKTtcblxuICAgIC8vIFVwZGF0ZSBsb2FkZXIgZGF0YSB7e3tcbiAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgIGlmICh0aGlzLmhhc0ZvcmVncm91bmQobG9hZGVySWQsIHRhc2tJZCkpIHtcbiAgICAgIGlmICh0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmZvcmVncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgPiBub3cpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zdG9wTG9hZGVyKGxvYWRlcklkLCB0YXNrSWQpO1xuICAgICAgICB9LCB0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmZvcmVncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgLSBub3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkZWxldGUgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kW3Rhc2tJZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gfX19XG5cbiAgICAvLyBFbWl0IFNob3dFdmVudHMgdG8gdXBkYXRlIHZpZXcge3t7XG4gICAgaWYgKCF0aGlzLmhhc0ZvcmVncm91bmQobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLmZvcmVncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICB0aGlzLnNob3dGb3JlZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICAgIGlmICh0aGlzLmhhc0JhY2tncm91bmQobG9hZGVySWQpKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmhhc0JhY2tncm91bmQobG9hZGVySWQpKSB7IC8vIHN0aWxsIGhhdmUgYmFja2dyb3VuZCB0YXNrc1xuICAgICAgICAgICAgdGhpcy5zaG93QmFja2dyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogdHJ1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLm9uU3RvcC5uZXh0KHsgbG9hZGVySWQsIHRhc2tJZCwgaXNGb3JlZ3JvdW5kOiB0cnVlIH0pO1xuICAgIC8vIH19fVxuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYSBmb3JlZ3JvdW5kIGxvYWRpbmcgb2YgbWFzdGVyIGxvYWRlciB3aXRoIHNwZWNpZmljIGB0YXNrSWRgXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgdG8gc3RvcC4gSWYgbm90IHByb3ZpZGVkLCAnZGVmYXVsdCcgaXMgdXNlZC5cbiAgICogQHJldHVybnMgT2JqZWN0XG4gICAqL1xuICBzdG9wKHRhc2tJZDogc3RyaW5nID0gREVGQVVMVF9UQVNLX0lEKTogdm9pZCB7XG4gICAgdGhpcy5zdG9wTG9hZGVyKHRoaXMuZGVmYXVsdENvbmZpZy5tYXN0ZXJMb2FkZXJJZCwgdGFza0lkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGEgYmFja2dyb3VuZCBsb2FkaW5nIG9mIGxvYWRlciBoYXZpbmcgYGxvYWRlcklkYCB3aXRoIHNwZWNpZmljIGB0YXNrSWRgXG4gICAqIEBwYXJhbSBsb2FkZXJJZCB0aGUgbG9hZGVyIElkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgdG8gc3RvcC4gSWYgbm90IHByb3ZpZGVkLCAnZGVmYXVsdCcgaXMgdXNlZC5cbiAgICogQHJldHVybnMgT2JqZWN0XG4gICAqL1xuICBzdG9wQmFja2dyb3VuZExvYWRlcihsb2FkZXJJZDogc3RyaW5nLCB0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMudGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQpO1xuXG4gICAgLy8gVXBkYXRlIGxvYWRlciBkYXRhIHt7e1xuICAgIGNvbnN0IG5vdyA9IERhdGUubm93KCk7XG4gICAgaWYgKHRoaXMuaGFzQmFja2dyb3VuZChsb2FkZXJJZCwgdGFza0lkKSkge1xuICAgICAgaWYgKHRoaXMubG9hZGVyc1tsb2FkZXJJZF0uYmFja2dyb3VuZFt0YXNrSWRdICsgdGhpcy5kZWZhdWx0Q29uZmlnLnRocmVzaG9sZCA+IG5vdykge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLnN0b3BCYWNrZ3JvdW5kTG9hZGVyKGxvYWRlcklkLCB0YXNrSWQpO1xuICAgICAgICB9LCB0aGlzLmxvYWRlcnNbbG9hZGVySWRdLmJhY2tncm91bmRbdGFza0lkXSArIHRoaXMuZGVmYXVsdENvbmZpZy50aHJlc2hvbGQgLSBub3cpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBkZWxldGUgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kW3Rhc2tJZF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gfX19XG5cbiAgICAvLyBFbWl0IFNob3dFdmVudHMgdG8gdXBkYXRlIHZpZXcge3t7XG4gICAgaWYgKCF0aGlzLmhhc0ZvcmVncm91bmQobG9hZGVySWQpICYmICF0aGlzLmhhc0JhY2tncm91bmQobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLmJhY2tncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICB0aGlzLnNob3dCYWNrZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5vblN0b3AubmV4dCh7IGxvYWRlcklkLCB0YXNrSWQsIGlzRm9yZWdyb3VuZDogZmFsc2UgfSk7XG4gICAgLy8gfX19XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBhIGJhY2tncm91bmQgbG9hZGluZyBvZiBtYXN0ZXIgbG9hZGVyIHdpdGggc3BlY2lmaWMgdGFza0lkXG4gICAqIEBwYXJhbSB0YXNrSWQgdGhlIG9wdGlvbmFsIHRhc2sgSWQgdG8gc3RvcC4gSWYgbm90IHByb3ZpZGVkLCAnZGVmYXVsdCcgaXMgdXNlZC5cbiAgICogQHJldHVybnMgT2JqZWN0XG4gICAqL1xuICBzdG9wQmFja2dyb3VuZCh0YXNrSWQ6IHN0cmluZyA9IERFRkFVTFRfVEFTS19JRCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcEJhY2tncm91bmRMb2FkZXIodGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkLCB0YXNrSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgYWxsIHRoZSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGxvYWRpbmdzIG9mIGxvYWRlciBoYXZpbmcgYGxvYWRlcklkYFxuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBJZFxuICAgKi9cbiAgc3RvcExvYWRlckFsbChsb2FkZXJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy50aHJvd0Vycm9ySWZMb2FkZXJOb3RFeGlzdChsb2FkZXJJZCk7XG5cbiAgICBpZiAodGhpcy5oYXNGb3JlZ3JvdW5kKGxvYWRlcklkKSkge1xuICAgICAgdGhpcy5mb3JlZ3JvdW5kQ2xvc2VvdXQobG9hZGVySWQpO1xuICAgICAgdGhpcy5zaG93Rm9yZWdyb3VuZC5uZXh0KHsgbG9hZGVySWQsIGlzU2hvdzogZmFsc2UgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0JhY2tncm91bmQobG9hZGVySWQpKSB7XG4gICAgICB0aGlzLmJhY2tncm91bmRDbG9zZW91dChsb2FkZXJJZCk7XG4gICAgICB0aGlzLnNob3dCYWNrZ3JvdW5kLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5mb3JlZ3JvdW5kID0ge307XG4gICAgdGhpcy5sb2FkZXJzW2xvYWRlcklkXS5iYWNrZ3JvdW5kID0ge307XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBhbGwgdGhlIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgbG9hZGluZ3Mgb2YgbWFzdGVyIGxvYWRlclxuICAgKi9cbiAgc3RvcEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BMb2FkZXJBbGwodGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgbG9hZGVyIGRhdGEgaWYgaXQgZG9lcyBub3QgZXhpc3RcbiAgICogQHBhcmFtIGxvYWRlcklkXG4gICAqIEBwYXJhbSBpc01hc3RlclxuICAgKiBAcGFyYW0gaXNCb3VuZFxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUxvYWRlckRhdGEobG9hZGVySWQ6IHN0cmluZywgaXNNYXN0ZXI6IGJvb2xlYW4sIGlzQm91bmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubG9hZGVyc1tsb2FkZXJJZF0pIHtcbiAgICAgIHRoaXMubG9hZGVyc1tsb2FkZXJJZF0gPSB7XG4gICAgICAgIGxvYWRlcklkLFxuICAgICAgICBmb3JlZ3JvdW5kOiB7fSxcbiAgICAgICAgYmFja2dyb3VuZDoge30sXG4gICAgICAgIGlzTWFzdGVyLFxuICAgICAgICBpc0JvdW5kXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaHJvdyBlcnJvciBpZiB0aGUgbG9hZGVySWQgZG9lcyBub3QgZXhpc3QuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdGhyb3dFcnJvcklmTG9hZGVyTm90RXhpc3QobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5sb2FkZXJzW2xvYWRlcklkXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbbmd4LXVpLWxvYWRlcl0gLSBsb2FkZXJJZCBcIiR7bG9hZGVySWR9XCIgZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRocm93IGVycm9yIGlmIHRoZSBsb2FkZXJJZCBoYXMgYWxyZWFkeSBleGlzdGVkLlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHRocm93RXJyb3JJZkxvYWRlckV4aXN0cyhsb2FkZXJJZDogc3RyaW5nLCB1c2VJc0JvdW5kUHJvcD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXSAmJiAodGhpcy5sb2FkZXJzW2xvYWRlcklkXS5pc0JvdW5kICYmIHVzZUlzQm91bmRQcm9wKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbbmd4LXVpLWxvYWRlcl0gLSBsb2FkZXJJZCBcIiR7bG9hZGVySWR9XCIgaXMgZHVwbGljYXRlZC4gUGxlYXNlIGNob29zZSBhbm90aGVyIG9uZSFgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgZXJyb3IgaWYgdGhlIG1hc3RlciBsb2FkZXIgaGFzIGFscmVhZHkgZXhpc3RlZC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSB0aHJvd0Vycm9ySWZNYXN0ZXJMb2FkZXJFeGlzdHModXNlSXNCb3VuZFByb3A/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubG9hZGVyc1t0aGlzLmRlZmF1bHRDb25maWcubWFzdGVyTG9hZGVySWRdICYmICh0aGlzLmxvYWRlcnNbdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkXS5pc0JvdW5kICYmIHVzZUlzQm91bmRQcm9wKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbbmd4LXVpLWxvYWRlcl0gLSBUaGUgbWFzdGVyIGxvYWRlciBoYXMgYWxyZWFkeSBleGlzdGVkLiBgXG4gICAgICAgICsgYFRoZSBhcHAgc2hvdWxkIGhhdmUgb25seSBvbmUgbWFzdGVyIGxvYWRlciBhbmQgaXQgc2hvdWxkIGJlIHBsYWNlZCBpbiB0aGUgcm9vdCBhcHAgdGVtcGxhdGVgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgZXJyb3IgaWYgdGhlIG1hc3RlciBsb2FkZXIgZG9lcyBub3QgZXhpc3QuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgdGhyb3dFcnJvcklmTWFzdGVyTG9hZGVyTm90RXhpc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmxvYWRlcnNbdGhpcy5kZWZhdWx0Q29uZmlnLm1hc3RlckxvYWRlcklkXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbbmd4LXVpLWxvYWRlcl0gLSBUaGUgbWFzdGVyIGxvYWRlciBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFuYWdlIHRvIGNsb3NlIGZvcmVncm91bmQgbG9hZGluZ1xuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBpZFxuICAgKi9cbiAgcHJpdmF0ZSBmb3JlZ3JvdW5kQ2xvc2VvdXQobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmdDbG9zaW5nLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiB0cnVlIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5mZ0Nsb3NpbmcubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IGZhbHNlIH0pO1xuICAgIH0sIENMT1NJTkdfVElNRSk7XG4gIH1cblxuICAvKipcbiAgICogTWFuYWdlIHRvIGNsb3NlIGJhY2tncm91bmQgbG9hZGluZ1xuICAgKiBAcGFyYW0gbG9hZGVySWQgdGhlIGxvYWRlciBpZFxuICAgKi9cbiAgcHJpdmF0ZSBiYWNrZ3JvdW5kQ2xvc2VvdXQobG9hZGVySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuYmdDbG9zaW5nLm5leHQoeyBsb2FkZXJJZCwgaXNTaG93OiB0cnVlIH0pO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5iZ0Nsb3NpbmcubmV4dCh7IGxvYWRlcklkLCBpc1Nob3c6IGZhbHNlIH0pO1xuICAgIH0sIENMT1NJTkdfVElNRSk7XG4gIH1cbn1cbiJdfQ== |
@@ -20,2 +20,4 @@ /** | ||
export var WAITING_FOR_OVERLAY_DISAPPEAR = 500; | ||
/** @type {?} */ | ||
export var UNKNOWN_TASK_ID = 'unknown-task-id'; | ||
/** | ||
@@ -146,2 +148,2 @@ * The configuration of spinners | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC11aS1sb2FkZXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFLeEUsTUFBTSxLQUFPLGVBQWUsR0FBRyxTQUFTOzs7OztBQUt4QyxNQUFNLEtBQU8sd0JBQXdCLEdBQUcsUUFBUTs7QUFFaEQsTUFBTSxLQUFPLFlBQVksR0FBRyxJQUFJOztBQUVoQyxNQUFNLEtBQU8sNkJBQTZCLEdBQUcsR0FBRzs7Ozs7QUFNaEQsTUFBTSxLQUFPLGNBQWMsR0FBRztJQUM1QixxQkFBcUIsRUFBRTtRQUNyQixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSx3QkFBd0I7S0FDaEM7SUFDRCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QscUJBQXFCLEVBQUU7UUFDckIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsd0JBQXdCO0tBQ2hDO0lBQ0QsbUNBQW1DLEVBQUU7UUFDbkMsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsc0NBQXNDO0tBQzlDO0lBQ0QseUJBQXlCLEVBQUU7UUFDekIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsNEJBQTRCO0tBQ3BDO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsV0FBVztLQUNuQjtJQUNELFdBQVcsRUFBRTtRQUNYLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGNBQWM7S0FDdEI7SUFDRCxlQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxrQkFBa0I7S0FDMUI7SUFDRCxlQUFlLEVBQUU7UUFDZixJQUFJLEVBQUUsRUFBRTtRQUNSLEtBQUssRUFBRSxrQkFBa0I7S0FDMUI7SUFDRCxjQUFjLEVBQUU7UUFDZCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxpQkFBaUI7S0FDekI7SUFDRCxPQUFPLEVBQUc7UUFDUixJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxVQUFVO0tBQ2xCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsMkJBQTJCO0tBQ25DO0lBQ0QsNEJBQTRCLEVBQUU7UUFDNUIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsK0JBQStCO0tBQ3ZDO0lBQ0Qsa0NBQWtDLEVBQUU7UUFDbEMsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUNBQXFDO0tBQzdDO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsbUJBQW1CO0tBQzNCO0lBQ0Qsa0JBQWtCLEVBQUU7UUFDbEIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUscUJBQXFCO0tBQzdCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsaUJBQWlCLEVBQUU7UUFDakIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsb0JBQW9CO0tBQzVCO0NBQ0Y7Ozs7O0FBS0QsTUFBTSxLQUFPLGNBQWMsR0FBc0I7SUFDL0MsUUFBUSxFQUFFLFNBQVM7SUFDbkIsVUFBVSxFQUFFLEdBQUc7SUFDZixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7SUFDakMsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtJQUNsQyxJQUFJLEVBQUUsQ0FBQztJQUNQLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFdBQVcsRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNsQyxPQUFPLEVBQUUsRUFBRTtJQUNYLE9BQU8sRUFBRSxPQUFPLENBQUMsaUJBQWlCO0lBQ2xDLEdBQUcsRUFBRSxFQUFFO0lBQ1AsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO0lBQ25DLFFBQVEsRUFBRSxHQUFHO0lBQ2IsT0FBTyxFQUFFLEVBQUU7SUFDWCxjQUFjLEVBQUUsd0JBQXdCO0lBQ3hDLG1CQUFtQixFQUFFLEdBQUc7SUFDeEIsWUFBWSxFQUFFLHVCQUF1QjtJQUNyQyxPQUFPLEVBQUUsU0FBUztJQUNsQixXQUFXLEVBQUUsWUFBWSxDQUFDLFdBQVc7SUFDckMsV0FBVyxFQUFFLENBQUM7SUFDZCxjQUFjLEVBQUUsSUFBSTtJQUNwQixJQUFJLEVBQUUsRUFBRTtJQUNSLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNuQyxTQUFTLEVBQUUsR0FBRztDQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmd4VWlMb2FkZXJDb25maWcgfSBmcm9tICcuL25neC11aS1sb2FkZXItY29uZmlnJztcbmltcG9ydCB7IFBPU0lUSU9OLCBQQl9ESVJFQ1RJT04sIFNQSU5ORVIgfSBmcm9tICcuL25neC11aS1sb2FkZXIuZW51bXMnO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHZhbHVlIG9mIHRhc2sgaWRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVEFTS19JRCA9ICdkZWZhdWx0JztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiBsb2FkZXIgaWRcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFTVEVSX0xPQURFUl9JRCA9ICdtYXN0ZXInO1xuXG5leHBvcnQgY29uc3QgQ0xPU0lOR19USU1FID0gMTEwMDtcblxuZXhwb3J0IGNvbnN0IFdBSVRJTkdfRk9SX09WRVJMQVlfRElTQVBQRUFSID0gNTAwO1xuXG5cbi8qKlxuICogVGhlIGNvbmZpZ3VyYXRpb24gb2Ygc3Bpbm5lcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFNQSU5ORVJfQ09ORklHID0ge1xuICAnYmFsbC1zY2FsZS1tdWx0aXBsZSc6IHtcbiAgICBkaXZzOiAzLFxuICAgIGNsYXNzOiAnc2stYmFsbC1zY2FsZS1tdWx0aXBsZSdcbiAgfSxcbiAgJ2JhbGwtc3Bpbic6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluJ1xuICB9LFxuICAnYmFsbC1zcGluLWNsb2Nrd2lzZSc6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluLWNsb2Nrd2lzZSdcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1jbG9ja3dpc2UtZmFkZS1yb3RhdGluZyc6IHtcbiAgICBkaXZzOiA4LFxuICAgIGNsYXNzOiAnc2stYmFsbC1zcGluLWNsb2Nrd2lzZS1mYWRlLXJvdGF0aW5nJ1xuICB9LFxuICAnYmFsbC1zcGluLWZhZGUtcm90YXRpbmcnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1mYWRlLXJvdGF0aW5nJ1xuICB9LFxuICAnY2hhc2luZy1kb3RzJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay1jaGFzaW5nLWRvdHMnXG4gIH0sXG4gICdjaXJjbGUnOiB7XG4gICAgZGl2czogMTIsXG4gICAgY2xhc3M6ICdzay1jaXJjbGUnXG4gIH0sXG4gICdjdWJlLWdyaWQnOiB7XG4gICAgZGl2czogOSxcbiAgICBjbGFzczogJ3NrLWN1YmUtZ3JpZCdcbiAgfSxcbiAgJ2RvdWJsZS1ib3VuY2UnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLWRvdWJsZS1ib3VuY2UnXG4gIH0sXG4gICdmYWRpbmctY2lyY2xlJzoge1xuICAgIGRpdnM6IDEyLFxuICAgIGNsYXNzOiAnc2stZmFkaW5nLWNpcmNsZSdcbiAgfSxcbiAgJ2ZvbGRpbmctY3ViZSc6IHtcbiAgICBkaXZzOiA0LFxuICAgIGNsYXNzOiAnc2stZm9sZGluZy1jdWJlJ1xuICB9LFxuICAncHVsc2UnOiAge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1wdWxzZSdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UnXG4gIH0sXG4gICdyZWN0YW5nbGUtYm91bmNlLXBhcnR5Jzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXBhcnR5J1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wdWxzZS1vdXQnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0J1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wdWxzZS1vdXQtcmFwaWQnOiB7XG4gICAgZGl2czogNSxcbiAgICBjbGFzczogJ3NrLXJlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0LXJhcGlkJ1xuICB9LFxuICAncm90YXRpbmctcGxhbmUnOiB7XG4gICAgZGl2czogMSxcbiAgICBjbGFzczogJ3NrLXJvdGF0aW5nLXBsYW5lJ1xuICB9LFxuICAnc3F1YXJlLWplbGx5LWJveCc6IHtcbiAgICBkaXZzOiAyLFxuICAgIGNsYXNzOiAnc2stc3F1YXJlLWplbGx5LWJveCdcbiAgfSxcbiAgJ3NxdWFyZS1sb2FkZXInOiB7XG4gICAgZGl2czogMSxcbiAgICBjbGFzczogJ3NrLXNxdWFyZS1sb2FkZXInXG4gIH0sXG4gICd0aHJlZS1ib3VuY2UnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLXRocmVlLWJvdW5jZSdcbiAgfSxcbiAgJ3RocmVlLXN0cmluZ3MnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLXRocmVlLXN0cmluZ3MnXG4gIH0sXG4gICd3YW5kZXJpbmctY3ViZXMnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLXdhbmRlcmluZy1jdWJlcydcbiAgfSxcbn07XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBvZiBuZ3gtdWktbG9hZGVyXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogTmd4VWlMb2FkZXJDb25maWcgPSB7XG4gIGJnc0NvbG9yOiAnIzAwQUNDMScsXG4gIGJnc09wYWNpdHk6IDAuNSxcbiAgYmdzUG9zaXRpb246IFBPU0lUSU9OLmJvdHRvbVJpZ2h0LFxuICBiZ3NTaXplOiA2MCxcbiAgYmdzVHlwZTogU1BJTk5FUi5iYWxsU3BpbkNsb2Nrd2lzZSxcbiAgYmx1cjogNSxcbiAgZmdzQ29sb3I6ICcjMDBBQ0MxJyxcbiAgZmdzUG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgZmdzU2l6ZTogNjAsXG4gIGZnc1R5cGU6IFNQSU5ORVIuYmFsbFNwaW5DbG9ja3dpc2UsXG4gIGdhcDogMjQsXG4gIGxvZ29Qb3NpdGlvbjogUE9TSVRJT04uY2VudGVyQ2VudGVyLFxuICBsb2dvU2l6ZTogMTIwLFxuICBsb2dvVXJsOiAnJyxcbiAgbWFzdGVyTG9hZGVySWQ6IERFRkFVTFRfTUFTVEVSX0xPQURFUl9JRCxcbiAgb3ZlcmxheUJvcmRlclJhZGl1czogJzAnLFxuICBvdmVybGF5Q29sb3I6ICdyZ2JhKDQwLCA0MCwgNDAsIDAuOCknLFxuICBwYkNvbG9yOiAnIzAwQUNDMScsXG4gIHBiRGlyZWN0aW9uOiBQQl9ESVJFQ1RJT04ubGVmdFRvUmlnaHQsXG4gIHBiVGhpY2tuZXNzOiAzLFxuICBoYXNQcm9ncmVzc0JhcjogdHJ1ZSxcbiAgdGV4dDogJycsXG4gIHRleHRDb2xvcjogJyNGRkZGRkYnLFxuICB0ZXh0UG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgdGhyZXNob2xkOiA1MDBcbn07XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5jb250YW50cy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC11aS1sb2FkZXIvIiwic291cmNlcyI6WyJsaWIvY29yZS9uZ3gtdWktbG9hZGVyLmNvbnRhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFLeEUsTUFBTSxLQUFPLGVBQWUsR0FBRyxTQUFTOzs7OztBQUt4QyxNQUFNLEtBQU8sd0JBQXdCLEdBQUcsUUFBUTs7QUFFaEQsTUFBTSxLQUFPLFlBQVksR0FBRyxJQUFJOztBQUVoQyxNQUFNLEtBQU8sNkJBQTZCLEdBQUcsR0FBRzs7QUFFaEQsTUFBTSxLQUFPLGVBQWUsR0FBRyxpQkFBaUI7Ozs7O0FBS2hELE1BQU0sS0FBTyxjQUFjLEdBQUc7SUFDNUIscUJBQXFCLEVBQUU7UUFDckIsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsd0JBQXdCO0tBQ2hDO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsY0FBYztLQUN0QjtJQUNELHFCQUFxQixFQUFFO1FBQ3JCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHdCQUF3QjtLQUNoQztJQUNELG1DQUFtQyxFQUFFO1FBQ25DLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHNDQUFzQztLQUM5QztJQUNELHlCQUF5QixFQUFFO1FBQ3pCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLDRCQUE0QjtLQUNwQztJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGlCQUFpQjtLQUN6QjtJQUNELFFBQVEsRUFBRTtRQUNSLElBQUksRUFBRSxFQUFFO1FBQ1IsS0FBSyxFQUFFLFdBQVc7S0FDbkI7SUFDRCxXQUFXLEVBQUU7UUFDWCxJQUFJLEVBQUUsQ0FBQztRQUNQLEtBQUssRUFBRSxjQUFjO0tBQ3RCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsa0JBQWtCO0tBQzFCO0lBQ0QsY0FBYyxFQUFFO1FBQ2QsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsaUJBQWlCO0tBQ3pCO0lBQ0QsT0FBTyxFQUFHO1FBQ1IsSUFBSSxFQUFFLENBQUM7UUFDUCxLQUFLLEVBQUUsVUFBVTtLQUNsQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFCQUFxQjtLQUM3QjtJQUNELHdCQUF3QixFQUFFO1FBQ3hCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLDJCQUEyQjtLQUNuQztJQUNELDRCQUE0QixFQUFFO1FBQzVCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLCtCQUErQjtLQUN2QztJQUNELGtDQUFrQyxFQUFFO1FBQ2xDLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFDQUFxQztLQUM3QztJQUNELGdCQUFnQixFQUFFO1FBQ2hCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLG1CQUFtQjtLQUMzQjtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLHFCQUFxQjtLQUM3QjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGtCQUFrQjtLQUMxQjtJQUNELGNBQWMsRUFBRTtRQUNkLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGlCQUFpQjtLQUN6QjtJQUNELGVBQWUsRUFBRTtRQUNmLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLGtCQUFrQjtLQUMxQjtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLElBQUksRUFBRSxDQUFDO1FBQ1AsS0FBSyxFQUFFLG9CQUFvQjtLQUM1QjtDQUNGOzs7OztBQUtELE1BQU0sS0FBTyxjQUFjLEdBQXNCO0lBQy9DLFFBQVEsRUFBRSxTQUFTO0lBQ25CLFVBQVUsRUFBRSxHQUFHO0lBQ2YsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO0lBQ2pDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLE9BQU8sQ0FBQyxpQkFBaUI7SUFDbEMsSUFBSSxFQUFFLENBQUM7SUFDUCxRQUFRLEVBQUUsU0FBUztJQUNuQixXQUFXLEVBQUUsUUFBUSxDQUFDLFlBQVk7SUFDbEMsT0FBTyxFQUFFLEVBQUU7SUFDWCxPQUFPLEVBQUUsT0FBTyxDQUFDLGlCQUFpQjtJQUNsQyxHQUFHLEVBQUUsRUFBRTtJQUNQLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtJQUNuQyxRQUFRLEVBQUUsR0FBRztJQUNiLE9BQU8sRUFBRSxFQUFFO0lBQ1gsY0FBYyxFQUFFLHdCQUF3QjtJQUN4QyxtQkFBbUIsRUFBRSxHQUFHO0lBQ3hCLFlBQVksRUFBRSx1QkFBdUI7SUFDckMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLFlBQVksQ0FBQyxXQUFXO0lBQ3JDLFdBQVcsRUFBRSxDQUFDO0lBQ2QsY0FBYyxFQUFFLElBQUk7SUFDcEIsSUFBSSxFQUFFLEVBQUU7SUFDUixTQUFTLEVBQUUsU0FBUztJQUNwQixZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7SUFDbkMsU0FBUyxFQUFFLEdBQUc7Q0FDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5neFVpTG9hZGVyQ29uZmlnIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLWNvbmZpZyc7XG5pbXBvcnQgeyBQT1NJVElPTiwgUEJfRElSRUNUSU9OLCBTUElOTkVSIH0gZnJvbSAnLi9uZ3gtdWktbG9hZGVyLmVudW1zJztcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiB0YXNrIGlkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1RBU0tfSUQgPSAnZGVmYXVsdCc7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgdmFsdWUgb2YgbG9hZGVyIGlkXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BU1RFUl9MT0FERVJfSUQgPSAnbWFzdGVyJztcblxuZXhwb3J0IGNvbnN0IENMT1NJTkdfVElNRSA9IDExMDA7XG5cbmV4cG9ydCBjb25zdCBXQUlUSU5HX0ZPUl9PVkVSTEFZX0RJU0FQUEVBUiA9IDUwMDtcblxuZXhwb3J0IGNvbnN0IFVOS05PV05fVEFTS19JRCA9ICd1bmtub3duLXRhc2staWQnO1xuXG4vKipcbiAqIFRoZSBjb25maWd1cmF0aW9uIG9mIHNwaW5uZXJzXG4gKi9cbmV4cG9ydCBjb25zdCBTUElOTkVSX0NPTkZJRyA9IHtcbiAgJ2JhbGwtc2NhbGUtbXVsdGlwbGUnOiB7XG4gICAgZGl2czogMyxcbiAgICBjbGFzczogJ3NrLWJhbGwtc2NhbGUtbXVsdGlwbGUnXG4gIH0sXG4gICdiYWxsLXNwaW4nOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3BpbidcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1jbG9ja3dpc2UnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1jbG9ja3dpc2UnXG4gIH0sXG4gICdiYWxsLXNwaW4tY2xvY2t3aXNlLWZhZGUtcm90YXRpbmcnOiB7XG4gICAgZGl2czogOCxcbiAgICBjbGFzczogJ3NrLWJhbGwtc3Bpbi1jbG9ja3dpc2UtZmFkZS1yb3RhdGluZydcbiAgfSxcbiAgJ2JhbGwtc3Bpbi1mYWRlLXJvdGF0aW5nJzoge1xuICAgIGRpdnM6IDgsXG4gICAgY2xhc3M6ICdzay1iYWxsLXNwaW4tZmFkZS1yb3RhdGluZydcbiAgfSxcbiAgJ2NoYXNpbmctZG90cyc6IHtcbiAgICBkaXZzOiAyLFxuICAgIGNsYXNzOiAnc2stY2hhc2luZy1kb3RzJ1xuICB9LFxuICAnY2lyY2xlJzoge1xuICAgIGRpdnM6IDEyLFxuICAgIGNsYXNzOiAnc2stY2lyY2xlJ1xuICB9LFxuICAnY3ViZS1ncmlkJzoge1xuICAgIGRpdnM6IDksXG4gICAgY2xhc3M6ICdzay1jdWJlLWdyaWQnXG4gIH0sXG4gICdkb3VibGUtYm91bmNlJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay1kb3VibGUtYm91bmNlJ1xuICB9LFxuICAnZmFkaW5nLWNpcmNsZSc6IHtcbiAgICBkaXZzOiAxMixcbiAgICBjbGFzczogJ3NrLWZhZGluZy1jaXJjbGUnXG4gIH0sXG4gICdmb2xkaW5nLWN1YmUnOiB7XG4gICAgZGl2czogNCxcbiAgICBjbGFzczogJ3NrLWZvbGRpbmctY3ViZSdcbiAgfSxcbiAgJ3B1bHNlJzogIHtcbiAgICBkaXZzOiAxLFxuICAgIGNsYXNzOiAnc2stcHVsc2UnXG4gIH0sXG4gICdyZWN0YW5nbGUtYm91bmNlJzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlJ1xuICB9LFxuICAncmVjdGFuZ2xlLWJvdW5jZS1wYXJ0eSc6IHtcbiAgICBkaXZzOiA1LFxuICAgIGNsYXNzOiAnc2stcmVjdGFuZ2xlLWJvdW5jZS1wYXJ0eSdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0Jzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXB1bHNlLW91dCdcbiAgfSxcbiAgJ3JlY3RhbmdsZS1ib3VuY2UtcHVsc2Utb3V0LXJhcGlkJzoge1xuICAgIGRpdnM6IDUsXG4gICAgY2xhc3M6ICdzay1yZWN0YW5nbGUtYm91bmNlLXB1bHNlLW91dC1yYXBpZCdcbiAgfSxcbiAgJ3JvdGF0aW5nLXBsYW5lJzoge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1yb3RhdGluZy1wbGFuZSdcbiAgfSxcbiAgJ3NxdWFyZS1qZWxseS1ib3gnOiB7XG4gICAgZGl2czogMixcbiAgICBjbGFzczogJ3NrLXNxdWFyZS1qZWxseS1ib3gnXG4gIH0sXG4gICdzcXVhcmUtbG9hZGVyJzoge1xuICAgIGRpdnM6IDEsXG4gICAgY2xhc3M6ICdzay1zcXVhcmUtbG9hZGVyJ1xuICB9LFxuICAndGhyZWUtYm91bmNlJzoge1xuICAgIGRpdnM6IDMsXG4gICAgY2xhc3M6ICdzay10aHJlZS1ib3VuY2UnXG4gIH0sXG4gICd0aHJlZS1zdHJpbmdzJzoge1xuICAgIGRpdnM6IDMsXG4gICAgY2xhc3M6ICdzay10aHJlZS1zdHJpbmdzJ1xuICB9LFxuICAnd2FuZGVyaW5nLWN1YmVzJzoge1xuICAgIGRpdnM6IDIsXG4gICAgY2xhc3M6ICdzay13YW5kZXJpbmctY3ViZXMnXG4gIH0sXG59O1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24gb2Ygbmd4LXVpLWxvYWRlclxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUc6IE5neFVpTG9hZGVyQ29uZmlnID0ge1xuICBiZ3NDb2xvcjogJyMwMEFDQzEnLFxuICBiZ3NPcGFjaXR5OiAwLjUsXG4gIGJnc1Bvc2l0aW9uOiBQT1NJVElPTi5ib3R0b21SaWdodCxcbiAgYmdzU2l6ZTogNjAsXG4gIGJnc1R5cGU6IFNQSU5ORVIuYmFsbFNwaW5DbG9ja3dpc2UsXG4gIGJsdXI6IDUsXG4gIGZnc0NvbG9yOiAnIzAwQUNDMScsXG4gIGZnc1Bvc2l0aW9uOiBQT1NJVElPTi5jZW50ZXJDZW50ZXIsXG4gIGZnc1NpemU6IDYwLFxuICBmZ3NUeXBlOiBTUElOTkVSLmJhbGxTcGluQ2xvY2t3aXNlLFxuICBnYXA6IDI0LFxuICBsb2dvUG9zaXRpb246IFBPU0lUSU9OLmNlbnRlckNlbnRlcixcbiAgbG9nb1NpemU6IDEyMCxcbiAgbG9nb1VybDogJycsXG4gIG1hc3RlckxvYWRlcklkOiBERUZBVUxUX01BU1RFUl9MT0FERVJfSUQsXG4gIG92ZXJsYXlCb3JkZXJSYWRpdXM6ICcwJyxcbiAgb3ZlcmxheUNvbG9yOiAncmdiYSg0MCwgNDAsIDQwLCAwLjgpJyxcbiAgcGJDb2xvcjogJyMwMEFDQzEnLFxuICBwYkRpcmVjdGlvbjogUEJfRElSRUNUSU9OLmxlZnRUb1JpZ2h0LFxuICBwYlRoaWNrbmVzczogMyxcbiAgaGFzUHJvZ3Jlc3NCYXI6IHRydWUsXG4gIHRleHQ6ICcnLFxuICB0ZXh0Q29sb3I6ICcjRkZGRkZGJyxcbiAgdGV4dFBvc2l0aW9uOiBQT1NJVElPTi5jZW50ZXJDZW50ZXIsXG4gIHRocmVzaG9sZDogNTAwXG59O1xuIl19 |
@@ -55,10 +55,2 @@ /** | ||
} | ||
/** | ||
* @record | ||
*/ | ||
export function StopAllEvent() { } | ||
if (false) { | ||
/** @type {?} */ | ||
StopAllEvent.prototype.isStopAll; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBRUM7Ozs7QUFFRCw0QkFNQzs7O0lBTEMsMEJBQWlCOztJQUNqQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsMEJBQW1COztJQUNuQix5QkFBaUI7Ozs7O0FBR25CLDZCQUVDOzs7O0FBRUQsMEJBRUM7OztJQURDLCtCQUFpQjs7Ozs7QUFHbkIsK0JBRUM7OztJQURDLDJCQUFnQjs7Ozs7QUFHbEIsb0NBR0M7OztJQUZDLGdDQUFlOztJQUNmLHNDQUFzQjs7Ozs7QUFHeEIsa0NBRUM7OztJQURDLGlDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFzayB7XG4gIFt0YXNrSWQ6IHN0cmluZ106IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZXIge1xuICBsb2FkZXJJZDogc3RyaW5nO1xuICBmb3JlZ3JvdW5kOiBUYXNrO1xuICBiYWNrZ3JvdW5kOiBUYXNrO1xuICBpc01hc3Rlcj86IGJvb2xlYW47XG4gIGlzQm91bmQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVycyB7XG4gIFtsb2FkZXJJZDogc3RyaW5nXTogTG9hZGVyO1xufVxuXG5pbnRlcmZhY2UgTG9hZGVyRXZlbnQge1xuICBsb2FkZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTaG93OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0U3RvcEV2ZW50IGV4dGVuZHMgTG9hZGVyRXZlbnQge1xuICB0YXNrSWQ6IHN0cmluZztcbiAgaXNGb3JlZ3JvdW5kOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3BBbGxFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTdG9wQWxsOiBib29sZWFuO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXVpLWxvYWRlci5pbnRlcmZhY2VzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXVpLWxvYWRlci8iLCJzb3VyY2VzIjpbImxpYi9jb3JlL25neC11aS1sb2FkZXIuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsMEJBRUM7Ozs7QUFFRCw0QkFNQzs7O0lBTEMsMEJBQWlCOztJQUNqQiw0QkFBaUI7O0lBQ2pCLDRCQUFpQjs7SUFDakIsMEJBQW1COztJQUNuQix5QkFBaUI7Ozs7O0FBR25CLDZCQUVDOzs7O0FBRUQsMEJBRUM7OztJQURDLCtCQUFpQjs7Ozs7QUFHbkIsK0JBRUM7OztJQURDLDJCQUFnQjs7Ozs7QUFHbEIsb0NBR0M7OztJQUZDLGdDQUFlOztJQUNmLHNDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVGFzayB7XG4gIFt0YXNrSWQ6IHN0cmluZ106IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2FkZXIge1xuICBsb2FkZXJJZDogc3RyaW5nO1xuICBmb3JlZ3JvdW5kOiBUYXNrO1xuICBiYWNrZ3JvdW5kOiBUYXNrO1xuICBpc01hc3Rlcj86IGJvb2xlYW47XG4gIGlzQm91bmQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVycyB7XG4gIFtsb2FkZXJJZDogc3RyaW5nXTogTG9hZGVyO1xufVxuXG5pbnRlcmZhY2UgTG9hZGVyRXZlbnQge1xuICBsb2FkZXJJZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNob3dFdmVudCBleHRlbmRzIExvYWRlckV2ZW50IHtcbiAgaXNTaG93OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXJ0U3RvcEV2ZW50IGV4dGVuZHMgTG9hZGVyRXZlbnQge1xuICB0YXNrSWQ6IHN0cmluZztcbiAgaXNGb3JlZ3JvdW5kOiBib29sZWFuO1xufVxuIl19 |
@@ -12,2 +12,3 @@ import { NgxUiLoaderConfig } from './ngx-ui-loader-config'; | ||
export declare const WAITING_FOR_OVERLAY_DISAPPEAR = 500; | ||
export declare const UNKNOWN_TASK_ID = "unknown-task-id"; | ||
/** | ||
@@ -14,0 +15,0 @@ * The configuration of spinners |
@@ -24,5 +24,2 @@ export interface Task { | ||
} | ||
export interface StopAllEvent extends LoaderEvent { | ||
isStopAll: boolean; | ||
} | ||
export {}; |
import { Observable } from 'rxjs'; | ||
import { NgxUiLoaderConfig } from './ngx-ui-loader-config'; | ||
import { Loaders, Loader, ShowEvent, StartStopEvent, StopAllEvent, Task } from './ngx-ui-loader.interfaces'; | ||
import { Loaders, Loader, ShowEvent, StartStopEvent, Task } from './ngx-ui-loader.interfaces'; | ||
export declare class NgxUiLoaderService { | ||
@@ -30,7 +30,2 @@ private config; | ||
*/ | ||
onStopAll$: Observable<StopAllEvent>; | ||
/** | ||
* For internal use only. It may be changed in the future. | ||
* @docs-private | ||
*/ | ||
showBackground$: Observable<ShowEvent>; | ||
@@ -48,3 +43,2 @@ /** | ||
private onStop; | ||
private onStopAll; | ||
private showBackground; | ||
@@ -201,7 +195,2 @@ private showForeground; | ||
/** | ||
* Determine whether the loader is active | ||
* @returns true if the loader is active | ||
*/ | ||
private isActive; | ||
/** | ||
* Manage to close foreground loading | ||
@@ -208,0 +197,0 @@ * @param loaderId the loader id |
@@ -1,1 +0,1 @@ | ||
{"__symbolic":"module","version":4,"metadata":{"NgxUiLoaderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":72,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":72,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderConfig"}]}],"initLoaderData":[{"__symbolic":"method"}],"updateLoaderId":[{"__symbolic":"method"}],"destroyLoaderData":[{"__symbolic":"method"}],"getDefaultConfig":[{"__symbolic":"method"}],"getLoaders":[{"__symbolic":"method"}],"getLoader":[{"__symbolic":"method"}],"getStatus":[{"__symbolic":"method"}],"hasForeground":[{"__symbolic":"method"}],"hasBackground":[{"__symbolic":"method"}],"startLoader":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"startBackgroundLoader":[{"__symbolic":"method"}],"startBackground":[{"__symbolic":"method"}],"stopLoader":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}],"stopBackgroundLoader":[{"__symbolic":"method"}],"stopBackground":[{"__symbolic":"method"}],"stopLoaderAll":[{"__symbolic":"method"}],"stopAll":[{"__symbolic":"method"}],"createLoaderData":[{"__symbolic":"method"}],"throwErrorIfLoaderNotExist":[{"__symbolic":"method"}],"throwErrorIfLoaderExists":[{"__symbolic":"method"}],"throwErrorIfMasterLoaderExists":[{"__symbolic":"method"}],"throwErrorIfMasterLoaderNotExist":[{"__symbolic":"method"}],"isActive":[{"__symbolic":"method"}],"foregroundCloseout":[{"__symbolic":"method"}],"backgroundCloseout":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"NgxUiLoaderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}],"exports":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["ngxUiLoaderConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"reference","name":"ngxUiLoaderConfig"}}]}}}},"NgxUiLoaderConfig":{"__symbolic":"interface"},"SPINNER":{"ballScaleMultiple":"ball-scale-multiple","ballSpin":"ball-spin","ballSpinClockwise":"ball-spin-clockwise","ballSpinClockwiseFadeRotating":"ball-spin-clockwise-fade-rotating","ballSpinFadeRotating":"ball-spin-fade-rotating","chasingDots":"chasing-dots","circle":"circle","cubeGrid":"cube-grid","doubleBounce":"double-bounce","fadingCircle":"fading-circle","foldingCube":"folding-cube","pulse":"pulse","rectangleBounce":"rectangle-bounce","rectangleBounceParty":"rectangle-bounce-party","rectangleBouncePulseOut":"rectangle-bounce-pulse-out","rectangleBouncePulseOutRapid":"rectangle-bounce-pulse-out-rapid","rotatingPlane":"rotating-plane","squareJellyBox":"square-jelly-box","squareLoader":"square-loader","threeBounce":"three-bounce","threeStrings":"three-strings","wanderingCubes":"wandering-cubes"},"POSITION":{"bottomCenter":"bottom-center","bottomLeft":"bottom-left","bottomRight":"bottom-right","centerCenter":"center-center","centerLeft":"center-left","centerRight":"center-right","topCenter":"top-center","topLeft":"top-left","topRight":"top-right"},"PB_DIRECTION":{"leftToRight":"ltr","rightToLeft":"rtl"},"Loader":{"__symbolic":"interface"},"Loaders":{"__symbolic":"interface"},"Task":{"__symbolic":"interface"},"NgxUiLoaderRouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":37,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":38,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderRouterModule"},{"__symbolic":"reference","name":"NgxUiLoaderRouterConfig"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":39,"character":12},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routerConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderRouterModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"routerConfig"}}]}}}},"NgxUiLoaderRouterConfig":{"__symbolic":"interface"},"NgxUiLoaderHttpModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":10,"character":15},"useClass":{"__symbolic":"reference","name":"ɵe"},"multi":true}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":22,"character":27}}]],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderHttpModule"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["httpConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderHttpModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵf"},"useValue":{"__symbolic":"reference","name":"httpConfig"}}]}}}},"NgxUiLoaderHttpConfig":{"__symbolic":"interface"},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":46},"arguments":["ngxUiLoaderCustom.config"]},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"ngx-ui-loader","template":"<!-- Progress bar {{{ -->\n<div *ngIf=\"hasProgressBar\"\n class=\"ngx-progress-bar\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [ngClass]=\"'ngx-progress-bar-' + pbDirection\"\n [style.height.px]=\"pbThickness\"\n [style.color]=\"pbColor\"\n [class.loading-foreground]=\"showForeground\"\n [class.foreground-closing]=\"foregroundClosing\"></div>\n<!-- Progress bar }}} -->\n\n<!-- Foreground container {{{ -->\n<div class=\"ngx-overlay\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [style.background-color]=\"overlayColor\"\n [style.border-radius]=\"overlayBorderRadius\"\n [class.loading-foreground]=\"showForeground\"\n [class.foreground-closing]=\"foregroundClosing\">\n\n <!-- Logo {{{ -->\n <img *ngIf=\"logoUrl\" class=\"ngx-loading-logo\"\n [ngClass]=\"logoPosition\" [src]=\"trustedLogoUrl\"\n [style.width.px]=\"logoSize\" [style.height.px]=\"logoSize\"\n [style.top]=\"logoTop\">\n <!-- Logo }}} -->\n\n <!-- Foreground spinner {{{ -->\n <div class=\"ngx-foreground-spinner\"\n [ngClass]=\"fgsPosition\" [style.color]=\"fgsColor\"\n [style.width.px]=\"fgsSize\" [style.height.px]=\"fgsSize\"\n [style.top]=\"spinnerTop\">\n <div [class]=\"fgSpinnerClass\">\n <div *ngFor=\"let div of fgDivs\"></div>\n </div>\n </div>\n <!-- Foreground spinner }}} -->\n\n <!-- Loading text {{{ -->\n <div class=\"ngx-loading-text\"\n [ngClass]=\"textPosition\"\n [style.top]=\"textTop\"\n [style.color]=\"textColor\">{{text}}</div>\n <!-- Loading text }}} -->\n\n</div>\n<!-- Foreground container }}} -->\n\n<!-- Background spinner {{{ -->\n<div class=\"ngx-background-spinner\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [ngClass]=\"bgsPosition\"\n [class.loading-background]=\"showBackground\"\n [class.background-closing]=\"backgroundClosing\"\n [style.width.px]=\"bgsSize\" [style.height.px]=\"bgsSize\"\n [style.color]=\"bgsColor\" [style.opacity]=\"bgsOpacity\">\n <div [class]=\"bgSpinnerClass\">\n <div *ngFor=\"let div of bgDivs\"></div>\n </div>\n</div>\n<!-- Background spinner }}} -->\n","styles":[".ngx-progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;z-index:99999!important;display:none;color:#00acc1;overflow:hidden}.ngx-progress-bar.foreground-closing,.ngx-progress-bar.loading-foreground{display:block}.ngx-progress-bar.foreground-closing{opacity:0!important;transition:opacity .5s ease-out .5s}.ngx-progress-bar::after,.ngx-progress-bar::before{background-color:currentColor;content:'';display:block;width:100%;height:100%;position:absolute;top:0}.ngx-progress-bar-ltr::before{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ngx-progress-bar-ltr::after{-webkit-animation:20s ease-out progressBar-slide-ltr;animation:20s ease-out progressBar-slide-ltr;-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}.ngx-progress-bar-rtl::before{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ngx-progress-bar-rtl::after{-webkit-animation:20s ease-out progressBar-slide-rtl;animation:20s ease-out progressBar-slide-rtl;-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}.foreground-closing.ngx-progress-bar-ltr::before{-webkit-animation:1s ease-out progressBar-slide-complete-ltr;animation:1s ease-out progressBar-slide-complete-ltr;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.foreground-closing.ngx-progress-bar-rtl::before{-webkit-animation:1s ease-out progressBar-slide-complete-rtl;animation:1s ease-out progressBar-slide-complete-rtl;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-webkit-keyframes progressBar-slide-ltr{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}}@keyframes progressBar-slide-ltr{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}}@-webkit-keyframes progressBar-slide-rtl{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}}@keyframes progressBar-slide-rtl{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}}@-webkit-keyframes progressBar-slide-complete-ltr{0%{-webkit-transform:translate3d(-75%,0,0);transform:translate3d(-75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes progressBar-slide-complete-ltr{0%{-webkit-transform:translate3d(-75%,0,0);transform:translate3d(-75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes progressBar-slide-complete-rtl{0%{-webkit-transform:translate3d(75%,0,0);transform:translate3d(75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes progressBar-slide-complete-rtl{0%{-webkit-transform:translate3d(75%,0,0);transform:translate3d(75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.ngx-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99998!important;background-color:rgba(40,40,40,.8);display:none}.ngx-overlay.foreground-closing,.ngx-overlay.loading-foreground{display:block}.ngx-overlay.foreground-closing{opacity:0!important;transition:opacity .5s ease-out .5s}.ngx-overlay>.ngx-foreground-spinner{position:fixed;width:60px;height:60px;margin:0;color:#00acc1}.ngx-overlay>.ngx-loading-logo{position:fixed;margin:0;width:120px;height:120px}.ngx-overlay>.ngx-loading-text{position:fixed;margin:0;font-family:sans-serif;font-weight:400;font-size:1.2em;color:#fff}.ngx-background-spinner{position:fixed;z-index:99997!important;width:60px;height:60px;margin:0;color:#00acc1;opacity:.6;display:none}.ngx-background-spinner.background-closing,.ngx-background-spinner.loading-background{display:block}.ngx-background-spinner.background-closing{opacity:0!important;transition:opacity .7s ease-out}.ngx-position-absolute,.ngx-position-absolute>.ngx-foreground-spinner,.ngx-position-absolute>.ngx-loading-logo,.ngx-position-absolute>.ngx-loading-text{position:absolute!important}.ngx-position-absolute.ngx-progress-bar{z-index:99996!important}.ngx-position-absolute.ngx-overlay{z-index:99995!important}.ngx-position-absolute .sk-square-jelly-box>div:nth-child(1),.ngx-position-absolute.ngx-background-spinner{z-index:99994!important}.top-left{top:30px;left:30px}.top-center{top:30px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.top-right{top:30px;right:30px}.center-left{top:50%;left:30px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.center-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.center-right{top:50%;right:30px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.bottom-left{bottom:30px;left:30px}.bottom-center{bottom:30px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bottom-right{bottom:30px;right:30px}.sk-ball-scale-multiple,.sk-ball-scale-multiple>div{position:relative;box-sizing:border-box}.sk-ball-scale-multiple{width:100%;height:100%;font-size:0}.sk-ball-scale-multiple>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;opacity:0;-webkit-animation:1s linear infinite ball-scale-multiple;animation:1s linear infinite ball-scale-multiple}.sk-ball-scale-multiple>div:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-ball-scale-multiple>div:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes ball-scale-multiple{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}5%{opacity:.75}100%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-scale-multiple{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}5%{opacity:.75}100%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}.sk-ball-spin,.sk-ball-spin>div{position:relative;box-sizing:border-box}.sk-ball-spin{width:100%;height:100%;font-size:0}.sk-ball-spin>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s ease-in-out infinite ball-spin-clockwise;animation:1s ease-in-out infinite ball-spin-clockwise}.sk-ball-spin>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-1.125s;animation-delay:-1.125s}.sk-ball-spin>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-1.25s;animation-delay:-1.25s}.sk-ball-spin>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-1.375s;animation-delay:-1.375s}.sk-ball-spin>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.sk-ball-spin>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-1.625s;animation-delay:-1.625s}.sk-ball-spin>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-1.75s;animation-delay:-1.75s}.sk-ball-spin>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-1.875s;animation-delay:-1.875s}.sk-ball-spin>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:-2s;animation-delay:-2s}@-webkit-keyframes ball-spin{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes ball-spin{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.sk-ball-spin-clockwise,.sk-ball-spin-clockwise>div{position:relative;box-sizing:border-box}.sk-ball-spin-clockwise{width:100%;height:100%;font-size:0}.sk-ball-spin-clockwise>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s ease-in-out infinite ball-spin-clockwise;animation:1s ease-in-out infinite ball-spin-clockwise}.sk-ball-spin-clockwise>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-.875s;animation-delay:-.875s}.sk-ball-spin-clockwise>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-.75s;animation-delay:-.75s}.sk-ball-spin-clockwise>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-.625s;animation-delay:-.625s}.sk-ball-spin-clockwise>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-ball-spin-clockwise>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-.375s;animation-delay:-.375s}.sk-ball-spin-clockwise>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-.25s;animation-delay:-.25s}.sk-ball-spin-clockwise>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-.125s;animation-delay:-.125s}.sk-ball-spin-clockwise>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes ball-spin-clockwise{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes ball-spin-clockwise{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.sk-ball-spin-clockwise-fade-rotating,.sk-ball-spin-clockwise-fade-rotating>div{position:relative;box-sizing:border-box}.sk-ball-spin-clockwise-fade-rotating{font-size:0;width:100%;height:100%;-webkit-animation:6s linear infinite ball-spin-clockwise-fade-rotating-rotate;animation:6s linear infinite ball-spin-clockwise-fade-rotating-rotate}.sk-ball-spin-clockwise-fade-rotating>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s linear infinite ball-spin-clockwise-fade-rotating;animation:1s linear infinite ball-spin-clockwise-fade-rotating}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-.875s;animation-delay:-.875s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-.75s;animation-delay:-.75s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-.625s;animation-delay:-.625s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-.375s;animation-delay:-.375s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-.25s;animation-delay:-.25s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-.125s;animation-delay:-.125s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes ball-spin-clockwise-fade-rotating-rotate{100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes ball-spin-clockwise-fade-rotating-rotate{100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes ball-spin-clockwise-fade-rotating{50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-spin-clockwise-fade-rotating{50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.sk-ball-spin-fade-rotating,.sk-ball-spin-fade-rotating>div{position:relative;box-sizing:border-box}.sk-ball-spin-fade-rotating{width:100%;height:100%;font-size:0;-webkit-animation:6s linear infinite ball-spin-fade-rotate;animation:6s linear infinite ball-spin-fade-rotate}.sk-ball-spin-fade-rotating>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s linear infinite ball-spin-fade;animation:1s linear infinite ball-spin-fade}.sk-ball-spin-fade-rotating>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-1.125s;animation-delay:-1.125s}.sk-ball-spin-fade-rotating>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-1.25s;animation-delay:-1.25s}.sk-ball-spin-fade-rotating>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-1.375s;animation-delay:-1.375s}.sk-ball-spin-fade-rotating>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.sk-ball-spin-fade-rotating>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-1.625s;animation-delay:-1.625s}.sk-ball-spin-fade-rotating>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-1.75s;animation-delay:-1.75s}.sk-ball-spin-fade-rotating>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-1.875s;animation-delay:-1.875s}.sk-ball-spin-fade-rotating>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:-2s;animation-delay:-2s}@-webkit-keyframes ball-spin-fade-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes ball-spin-fade-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes ball-spin-fade{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}}@keyframes ball-spin-fade{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}}.sk-chasing-dots{margin:auto;width:100%;height:100%;position:absolute;text-align:center;-webkit-animation:2s linear infinite sk-chasingDots-rotate;animation:2s linear infinite sk-chasingDots-rotate}.sk-chasing-dots>div{width:60%;height:60%;display:inline-block;position:absolute;top:0;background-color:currentColor;border-radius:100%;-webkit-animation:2s ease-in-out infinite sk-chasingDots-bounce;animation:2s ease-in-out infinite sk-chasingDots-bounce}.sk-chasing-dots>div:nth-child(2){top:auto;bottom:0;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-chasingDots-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes sk-chasingDots-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes sk-chasingDots-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-chasingDots-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-circle{margin:auto;width:100%;height:100%;position:relative}.sk-circle>div{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle>div::before{content:'';display:block;margin:0 auto;width:15%;height:15%;background-color:currentColor;border-radius:100%;-webkit-animation:1.2s ease-in-out infinite both sk-circle-bounceDelay;animation:1.2s ease-in-out infinite both sk-circle-bounceDelay}.sk-circle>div:nth-child(2){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-circle>div:nth-child(3){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-circle>div:nth-child(4){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-circle>div:nth-child(5){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-circle>div:nth-child(6){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-circle>div:nth-child(7){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-circle>div:nth-child(8){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-circle>div:nth-child(9){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-circle>div:nth-child(10){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-circle>div:nth-child(11){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-circle>div:nth-child(12){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-circle>div:nth-child(2)::before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-circle>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-circle>div:nth-child(4)::before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-circle>div:nth-child(5)::before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-circle>div:nth-child(6)::before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-circle>div:nth-child(7)::before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-circle>div:nth-child(8)::before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-circle>div:nth-child(9)::before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-circle>div:nth-child(10)::before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-circle>div:nth-child(11)::before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-circle>div:nth-child(12)::before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-circle-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-circle-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-cube-grid{width:100%;height:100%;margin:auto}.sk-cube-grid>div{width:33%;height:33%;background-color:currentColor;float:left;-webkit-animation:1.3s ease-in-out infinite sk-cubeGrid-scaleDelay;animation:1.3s ease-in-out infinite sk-cubeGrid-scaleDelay}.sk-cube-grid>div:nth-child(1){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid>div:nth-child(2){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid>div:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid>div:nth-child(4){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid>div:nth-child(5){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid>div:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid>div:nth-child(7){-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid>div:nth-child(8){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid>div:nth-child(9){-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGrid-scaleDelay{0%,100%,70%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGrid-scaleDelay{0%,100%,70%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}.sk-double-bounce{width:100%;height:100%;position:relative;margin:auto}.sk-double-bounce>div{width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:2s ease-in-out infinite sk-doubleBounce-bounce;animation:2s ease-in-out infinite sk-doubleBounce-bounce}.sk-double-bounce>div:nth-child(2){-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-doubleBounce-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-doubleBounce-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-fading-circle{margin:auto;width:100%;height:100%;position:relative}.sk-fading-circle>div{width:100%;height:100%;position:absolute;left:0;top:0}.sk-fading-circle>div::before{content:'';display:block;margin:0 auto;width:15%;height:15%;background-color:currentColor;border-radius:100%;-webkit-animation:1.2s ease-in-out infinite both sk-fadingCircle-FadeDelay;animation:1.2s ease-in-out infinite both sk-fadingCircle-FadeDelay}.sk-fading-circle>div:nth-child(2){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-fading-circle>div:nth-child(3){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-fading-circle>div:nth-child(4){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-fading-circle>div:nth-child(5){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-fading-circle>div:nth-child(6){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-fading-circle>div:nth-child(7){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-fading-circle>div:nth-child(8){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-fading-circle>div:nth-child(9){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-fading-circle>div:nth-child(10){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-fading-circle>div:nth-child(11){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-fading-circle>div:nth-child(12){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-fading-circle>div:nth-child(2)::before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-fading-circle>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-fading-circle>div:nth-child(4)::before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-fading-circle>div:nth-child(5)::before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-fading-circle>div:nth-child(6)::before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-fading-circle>div:nth-child(7)::before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-fading-circle>div:nth-child(8)::before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-fading-circle>div:nth-child(9)::before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-fading-circle>div:nth-child(10)::before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-fading-circle>div:nth-child(11)::before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-fading-circle>div:nth-child(12)::before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-fadingCircle-FadeDelay{0%,100%,39%{opacity:0}40%{opacity:1}}@keyframes sk-fadingCircle-FadeDelay{0%,100%,39%{opacity:0}40%{opacity:1}}.sk-folding-cube{margin:auto;width:100%;height:100%;position:relative;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.sk-folding-cube>div{float:left;width:50%;height:50%;position:relative;-webkit-transform:scale(1.1);transform:scale(1.1)}.sk-folding-cube>div::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:currentColor;-webkit-animation:2.4s linear infinite both sk-foldingCube-angle;animation:2.4s linear infinite both sk-foldingCube-angle;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.sk-folding-cube>div:nth-child(2){-webkit-transform:scale(1.1) rotateZ(90deg);transform:scale(1.1) rotateZ(90deg)}.sk-folding-cube>div:nth-child(3){-webkit-transform:scale(1.1) rotateZ(270deg);transform:scale(1.1) rotateZ(270deg)}.sk-folding-cube>div:nth-child(4){-webkit-transform:scale(1.1) rotateZ(180deg);transform:scale(1.1) rotateZ(180deg)}.sk-folding-cube>div:nth-child(2)::before{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-folding-cube>div:nth-child(3)::before{-webkit-animation-delay:.9s;animation-delay:.9s}.sk-folding-cube>div:nth-child(4)::before{-webkit-animation-delay:.6s;animation-delay:.6s}@-webkit-keyframes sk-foldingCube-angle{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}100%,90%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}@keyframes sk-foldingCube-angle{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}100%,90%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}.sk-pulse{width:100%;height:100%;margin:auto}.sk-pulse>div{width:100%;height:100%;background-color:currentColor;border-radius:100%;-webkit-animation:1s ease-in-out infinite sk-pulse-scaleOut;animation:1s ease-in-out infinite sk-pulse-scaleOut}@-webkit-keyframes sk-pulse-scaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes sk-pulse-scaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.sk-rectangle-bounce{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce>div{background-color:currentColor;height:100%;width:10%;margin:0 5%;display:inline-block;-webkit-animation:1.2s ease-in-out infinite sk-rectangleBounce-stretchDelay;animation:1.2s ease-in-out infinite sk-rectangleBounce-stretchDelay}.sk-rectangle-bounce>div:nth-child(2){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-rectangle-bounce>div:nth-child(3){-webkit-animation-delay:-1s;animation-delay:-1s}.sk-rectangle-bounce>div:nth-child(4){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce>div:nth-child(5){-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-rectangleBounce-stretchDelay{0%,100%,40%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes sk-rectangleBounce-stretchDelay{0%,100%,40%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}.sk-rectangle-bounce-party,.sk-rectangle-bounce-party>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-party{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-party>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation-name:rectangle-bounce-party;animation-name:rectangle-bounce-party;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.sk-rectangle-bounce-party>div:nth-child(1){-webkit-animation-duration:.43s;animation-duration:.43s;-webkit-animation-delay:-.23s;animation-delay:-.23s}.sk-rectangle-bounce-party>div:nth-child(2){-webkit-animation-duration:.62s;animation-duration:.62s;-webkit-animation-delay:-.32s;animation-delay:-.32s}.sk-rectangle-bounce-party>div:nth-child(3){-webkit-animation-duration:.43s;animation-duration:.43s;-webkit-animation-delay:-.44s;animation-delay:-.44s}.sk-rectangle-bounce-party>div:nth-child(4){-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-delay:-.31s;animation-delay:-.31s}.sk-rectangle-bounce-party>div:nth-child(5){-webkit-animation-duration:.74s;animation-duration:.74s;-webkit-animation-delay:-.24s;animation-delay:-.24s}@-webkit-keyframes rectangle-bounce-party{0%,100%{-webkit-transform:scaleY(1);transform:scaleY(1)}50%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}}@keyframes rectangle-bounce-party{0%,100%{-webkit-transform:scaleY(1);transform:scaleY(1)}50%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}}.sk-rectangle-bounce-pulse-out,.sk-rectangle-bounce-pulse-out>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-pulse-out{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-pulse-out>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation:.9s cubic-bezier(.85,.25,.37,.85) infinite rectangle-bounce-pulse-out;animation:.9s cubic-bezier(.85,.25,.37,.85) infinite rectangle-bounce-pulse-out}.sk-rectangle-bounce-pulse-out>div:nth-child(3){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce-pulse-out>div:nth-child(2),.sk-rectangle-bounce-pulse-out>div:nth-child(4){-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-rectangle-bounce-pulse-out>div:nth-child(1),.sk-rectangle-bounce-pulse-out>div:nth-child(5){-webkit-animation-delay:-.5s;animation-delay:-.5s}@-webkit-keyframes rectangle-bounce-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes rectangle-bounce-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.sk-rectangle-bounce-pulse-out-rapid,.sk-rectangle-bounce-pulse-out-rapid>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-pulse-out-rapid{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-pulse-out-rapid>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation:.9s cubic-bezier(.11,.49,.38,.78) infinite rectangle-bounce-pulse-out-rapid;animation:.9s cubic-bezier(.11,.49,.38,.78) infinite rectangle-bounce-pulse-out-rapid}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(3){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(2),.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(4){-webkit-animation-delay:-.65s;animation-delay:-.65s}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(1),.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(5){-webkit-animation-delay:-.4s;animation-delay:-.4s}@-webkit-keyframes rectangle-bounce-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes rectangle-bounce-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.sk-rotating-plane{width:100%;height:100%;text-align:center;margin:auto}.sk-rotating-plane>div{width:100%;height:100%;background-color:currentColor;-webkit-animation:1.2s ease-in-out infinite sk-rotatePlane;animation:1.2s ease-in-out infinite sk-rotatePlane}@-webkit-keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px);transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg);transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg);transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0);transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-square-jelly-box,.sk-square-jelly-box>div{position:relative;box-sizing:border-box}.sk-square-jelly-box{width:100%;height:100%;font-size:0}.sk-square-jelly-box>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor}.sk-square-jelly-box>div:nth-child(1),.sk-square-jelly-box>div:nth-child(2){position:absolute;left:0;width:100%}.sk-square-jelly-box>div:nth-child(1){top:-25%;z-index:99997;height:100%;border-radius:10%;-webkit-animation:.6s linear -.1s infinite square-jelly-box-animate;animation:.6s linear -.1s infinite square-jelly-box-animate}.sk-square-jelly-box>div:nth-child(2){bottom:-9%;height:10%;background:#000;border-radius:50%;opacity:.2;-webkit-animation:.6s linear -.1s infinite square-jelly-box-shadow;animation:.6s linear -.1s infinite square-jelly-box-shadow}@-webkit-keyframes square-jelly-box-animate{17%{border-bottom-right-radius:10%}25%{-webkit-transform:translateY(25%) rotate(22.5deg);transform:translateY(25%) rotate(22.5deg)}50%{border-bottom-right-radius:100%;-webkit-transform:translateY(50%) scale(1,.9) rotate(45deg);transform:translateY(50%) scale(1,.9) rotate(45deg)}75%{-webkit-transform:translateY(25%) rotate(67.5deg);transform:translateY(25%) rotate(67.5deg)}100%{-webkit-transform:translateY(0) rotate(90deg);transform:translateY(0) rotate(90deg)}}@keyframes square-jelly-box-animate{17%{border-bottom-right-radius:10%}25%{-webkit-transform:translateY(25%) rotate(22.5deg);transform:translateY(25%) rotate(22.5deg)}50%{border-bottom-right-radius:100%;-webkit-transform:translateY(50%) scale(1,.9) rotate(45deg);transform:translateY(50%) scale(1,.9) rotate(45deg)}75%{-webkit-transform:translateY(25%) rotate(67.5deg);transform:translateY(25%) rotate(67.5deg)}100%{-webkit-transform:translateY(0) rotate(90deg);transform:translateY(0) rotate(90deg)}}@-webkit-keyframes square-jelly-box-shadow{50%{-webkit-transform:scale(1.25,1);transform:scale(1.25,1)}}@keyframes square-jelly-box-shadow{50%{-webkit-transform:scale(1.25,1);transform:scale(1.25,1)}}.sk-square-loader,.sk-square-loader>div{position:relative;box-sizing:border-box}.sk-square-loader{font-size:0;width:100%;height:100%}.sk-square-loader>div{display:inline-block;float:none;border:3px solid currentColor;width:100%;height:100%;background:0 0;border-radius:0;-webkit-animation:2s infinite square-loader;animation:2s infinite square-loader}.sk-square-loader>div:after{display:inline-block;width:100%;vertical-align:top;content:\"\";background-color:currentColor;-webkit-animation:2s ease-in infinite square-loader-inner;animation:2s ease-in infinite square-loader-inner}@-webkit-keyframes square-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%,50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%,75%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes square-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%,50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%,75%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes square-loader-inner{0%,100%,25%{height:0}50%,75%{height:100%}}@keyframes square-loader-inner{0%,100%,25%{height:0}50%,75%{height:100%}}.sk-three-bounce{margin:auto;width:100%;height:100%;text-align:center}.sk-three-bounce>div{margin-top:35%;width:30%;height:30%;background-color:currentColor;border-radius:100%;display:inline-block;-webkit-animation:1.4s ease-in-out infinite both sk-threeBounce-bounceDelay;animation:1.4s ease-in-out infinite both sk-threeBounce-bounceDelay}.bottom-center>.sk-three-bounce>div,.bottom-left>.sk-three-bounce>div,.bottom-right>.sk-three-bounce>div{margin-top:70%!important}.top-center>.sk-three-bounce>div,.top-left>.sk-three-bounce>div,.top-right>.sk-three-bounce>div{margin-top:0!important}.sk-three-bounce>div:nth-child(1){-webkit-animation-delay:-.32s;animation-delay:-.32s}.sk-three-bounce>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-threeBounce-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-threeBounce-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-three-strings{width:100%;height:100%}.sk-three-strings>div{position:absolute;box-sizing:border-box;width:100%;height:100%;border-radius:50%}.sk-three-strings>div:nth-child(1){left:0;top:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateOne;animation:1s linear infinite sk-threeStrings-rotateOne;border-bottom:3px solid currentColor}.sk-three-strings>div:nth-child(2){right:0;top:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateTwo;animation:1s linear infinite sk-threeStrings-rotateTwo;border-right:3px solid currentColor}.sk-three-strings>div:nth-child(3){right:0;bottom:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateThree;animation:1s linear infinite sk-threeStrings-rotateThree;border-top:3px solid currentColor}@-webkit-keyframes sk-threeStrings-rotateOne{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(0);transform:rotateX(35deg) rotateY(-45deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateOne{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(0);transform:rotateX(35deg) rotateY(-45deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg)}}@-webkit-keyframes sk-threeStrings-rotateTwo{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(0);transform:rotateX(50deg) rotateY(10deg) rotateZ(0)}100%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg);transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateTwo{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(0);transform:rotateX(50deg) rotateY(10deg) rotateZ(0)}100%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg);transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg)}}@-webkit-keyframes sk-threeStrings-rotateThree{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(0);transform:rotateX(35deg) rotateY(55deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateThree{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(0);transform:rotateX(35deg) rotateY(55deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg)}}.sk-wandering-cubes{margin:auto;width:100%;height:100%;position:relative;text-align:center}.sk-wandering-cubes>div{background-color:currentColor;width:25%;height:25%;position:absolute;top:0;left:0;-webkit-animation:1.8s ease-in-out infinite sk-wanderingCubes-cubeMove;animation:1.8s ease-in-out infinite sk-wanderingCubes-cubeMove}.sk-wandering-cubes>div:nth-child(2){-webkit-animation-delay:-.9s;animation-delay:-.9s}@-webkit-keyframes sk-wanderingCubes-cubeMove{25%{-webkit-transform:translateX(290%) rotate(-90deg) scale(.5);transform:translateX(290%) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(290%) translateY(290%) rotate(-180deg);transform:translateX(290%) translateY(290%) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5);transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes sk-wanderingCubes-cubeMove{25%{-webkit-transform:translateX(290%) rotate(-90deg) scale(.5);transform:translateX(290%) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(290%) translateY(290%) rotate(-179deg);transform:translateX(290%) translateY(290%) rotate(-179deg)}50.1%{-webkit-transform:translateX(290%) translateY(290%) rotate(-180deg);transform:translateX(290%) translateY(290%) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5);transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}"]}]}],"members":{"bgsColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"bgsOpacity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"bgsPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"bgsSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"bgsType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"fgsColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"fgsPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"fgsSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"fgsType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"gap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"loaderId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"logoPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"logoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"logoUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"overlayBorderRadius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"overlayColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"pbColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"pbDirection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"pbThickness":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"hasProgressBar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"textColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"textPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":71,"character":26},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initializeSpinners":[{"__symbolic":"method"}],"determinePositions":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[ngxUiLoaderBlurred]"}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"loaderId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":27,"character":22},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":53},"arguments":["ngxUiLoaderRouterCustom.config"]},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":21,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}],null],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderHttpConfig"},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"intercept":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":51},"arguments":["ngxUiLoaderHttpCustom.config"]}},"origins":{"NgxUiLoaderService":"./lib/core/ngx-ui-loader.service","NgxUiLoaderModule":"./lib/core/ngx-ui-loader.module","NgxUiLoaderConfig":"./lib/core/ngx-ui-loader-config","SPINNER":"./lib/core/ngx-ui-loader.enums","POSITION":"./lib/core/ngx-ui-loader.enums","PB_DIRECTION":"./lib/core/ngx-ui-loader.enums","Loader":"./lib/core/ngx-ui-loader.interfaces","Loaders":"./lib/core/ngx-ui-loader.interfaces","Task":"./lib/core/ngx-ui-loader.interfaces","NgxUiLoaderRouterModule":"./lib/router/ngx-ui-loader-router.module","NgxUiLoaderRouterConfig":"./lib/router/ngx-ui-loader-router-config","NgxUiLoaderHttpModule":"./lib/http/ngx-ui-loader-http.module","NgxUiLoaderHttpConfig":"./lib/http/ngx-ui-loader-http-config","ɵa":"./lib/core/ngx-ui-loader-config.token","ɵb":"./lib/core/ngx-ui-loader.component","ɵc":"./lib/core/ngx-ui-loader-blurred.directive","ɵd":"./lib/router/ngx-ui-loader-router-config.token","ɵe":"./lib/http/ngx-ui-loader-http.interceptor","ɵf":"./lib/http/ngx-ui-loader-http-config.token"},"importAs":"ngx-ui-loader"} | ||
{"__symbolic":"module","version":4,"metadata":{"NgxUiLoaderService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":65,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":65,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderConfig"}]}],"initLoaderData":[{"__symbolic":"method"}],"updateLoaderId":[{"__symbolic":"method"}],"destroyLoaderData":[{"__symbolic":"method"}],"getDefaultConfig":[{"__symbolic":"method"}],"getLoaders":[{"__symbolic":"method"}],"getLoader":[{"__symbolic":"method"}],"getStatus":[{"__symbolic":"method"}],"hasForeground":[{"__symbolic":"method"}],"hasBackground":[{"__symbolic":"method"}],"startLoader":[{"__symbolic":"method"}],"start":[{"__symbolic":"method"}],"startBackgroundLoader":[{"__symbolic":"method"}],"startBackground":[{"__symbolic":"method"}],"stopLoader":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}],"stopBackgroundLoader":[{"__symbolic":"method"}],"stopBackground":[{"__symbolic":"method"}],"stopLoaderAll":[{"__symbolic":"method"}],"stopAll":[{"__symbolic":"method"}],"createLoaderData":[{"__symbolic":"method"}],"throwErrorIfLoaderNotExist":[{"__symbolic":"method"}],"throwErrorIfLoaderExists":[{"__symbolic":"method"}],"throwErrorIfMasterLoaderExists":[{"__symbolic":"method"}],"throwErrorIfMasterLoaderNotExist":[{"__symbolic":"method"}],"foregroundCloseout":[{"__symbolic":"method"}],"backgroundCloseout":[{"__symbolic":"method"}]},"statics":{"ngInjectableDef":{}}},"NgxUiLoaderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}],"exports":[{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["ngxUiLoaderConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"reference","name":"ngxUiLoaderConfig"}}]}}}},"NgxUiLoaderConfig":{"__symbolic":"interface"},"SPINNER":{"ballScaleMultiple":"ball-scale-multiple","ballSpin":"ball-spin","ballSpinClockwise":"ball-spin-clockwise","ballSpinClockwiseFadeRotating":"ball-spin-clockwise-fade-rotating","ballSpinFadeRotating":"ball-spin-fade-rotating","chasingDots":"chasing-dots","circle":"circle","cubeGrid":"cube-grid","doubleBounce":"double-bounce","fadingCircle":"fading-circle","foldingCube":"folding-cube","pulse":"pulse","rectangleBounce":"rectangle-bounce","rectangleBounceParty":"rectangle-bounce-party","rectangleBouncePulseOut":"rectangle-bounce-pulse-out","rectangleBouncePulseOutRapid":"rectangle-bounce-pulse-out-rapid","rotatingPlane":"rotating-plane","squareJellyBox":"square-jelly-box","squareLoader":"square-loader","threeBounce":"three-bounce","threeStrings":"three-strings","wanderingCubes":"wandering-cubes"},"POSITION":{"bottomCenter":"bottom-center","bottomLeft":"bottom-left","bottomRight":"bottom-right","centerCenter":"center-center","centerLeft":"center-left","centerRight":"center-right","topCenter":"top-center","topLeft":"top-left","topRight":"top-right"},"PB_DIRECTION":{"leftToRight":"ltr","rightToLeft":"rtl"},"Loader":{"__symbolic":"interface"},"Loaders":{"__symbolic":"interface"},"Task":{"__symbolic":"interface"},"NgxUiLoaderRouterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":37,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":37,"character":17}}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":38,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":38,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵd"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderRouterModule"},{"__symbolic":"reference","name":"NgxUiLoaderRouterConfig"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":39,"character":12},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["routerConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderRouterModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵd"},"useValue":{"__symbolic":"reference","name":"routerConfig"}}]}}}},"NgxUiLoaderRouterConfig":{"__symbolic":"interface"},"NgxUiLoaderHttpModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"providers":[{"provide":{"__symbolic":"reference","module":"@angular/common/http","name":"HTTP_INTERCEPTORS","line":10,"character":15},"useClass":{"__symbolic":"reference","name":"ɵe"},"multi":true}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":22,"character":27}}]],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderHttpModule"}]}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["httpConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"NgxUiLoaderHttpModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵf"},"useValue":{"__symbolic":"reference","name":"httpConfig"}}]}}}},"NgxUiLoaderHttpConfig":{"__symbolic":"interface"},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":46},"arguments":["ngxUiLoaderCustom.config"]},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"ngx-ui-loader","template":"<!-- Progress bar {{{ -->\n<div *ngIf=\"hasProgressBar\"\n class=\"ngx-progress-bar\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [ngClass]=\"'ngx-progress-bar-' + pbDirection\"\n [style.height.px]=\"pbThickness\"\n [style.color]=\"pbColor\"\n [class.loading-foreground]=\"showForeground\"\n [class.foreground-closing]=\"foregroundClosing\"></div>\n<!-- Progress bar }}} -->\n\n<!-- Foreground container {{{ -->\n<div class=\"ngx-overlay\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [style.background-color]=\"overlayColor\"\n [style.border-radius]=\"overlayBorderRadius\"\n [class.loading-foreground]=\"showForeground\"\n [class.foreground-closing]=\"foregroundClosing\">\n\n <!-- Logo {{{ -->\n <img *ngIf=\"logoUrl\" class=\"ngx-loading-logo\"\n [ngClass]=\"logoPosition\" [src]=\"trustedLogoUrl\"\n [style.width.px]=\"logoSize\" [style.height.px]=\"logoSize\"\n [style.top]=\"logoTop\">\n <!-- Logo }}} -->\n\n <!-- Foreground spinner {{{ -->\n <div class=\"ngx-foreground-spinner\"\n [ngClass]=\"fgsPosition\" [style.color]=\"fgsColor\"\n [style.width.px]=\"fgsSize\" [style.height.px]=\"fgsSize\"\n [style.top]=\"spinnerTop\">\n <div [class]=\"fgSpinnerClass\">\n <div *ngFor=\"let div of fgDivs\"></div>\n </div>\n </div>\n <!-- Foreground spinner }}} -->\n\n <!-- Loading text {{{ -->\n <div class=\"ngx-loading-text\"\n [ngClass]=\"textPosition\"\n [style.top]=\"textTop\"\n [style.color]=\"textColor\">{{text}}</div>\n <!-- Loading text }}} -->\n\n</div>\n<!-- Foreground container }}} -->\n\n<!-- Background spinner {{{ -->\n<div class=\"ngx-background-spinner\"\n [class.ngx-position-absolute]=\"loaderId !== defaultConfig.masterLoaderId\"\n [ngClass]=\"bgsPosition\"\n [class.loading-background]=\"showBackground\"\n [class.background-closing]=\"backgroundClosing\"\n [style.width.px]=\"bgsSize\" [style.height.px]=\"bgsSize\"\n [style.color]=\"bgsColor\" [style.opacity]=\"bgsOpacity\">\n <div [class]=\"bgSpinnerClass\">\n <div *ngFor=\"let div of bgDivs\"></div>\n </div>\n</div>\n<!-- Background spinner }}} -->\n","styles":[".ngx-progress-bar{position:fixed;top:0;left:0;width:100%;height:3px;z-index:99999!important;display:none;color:#00acc1;overflow:hidden}.ngx-progress-bar.foreground-closing,.ngx-progress-bar.loading-foreground{display:block}.ngx-progress-bar.foreground-closing{opacity:0!important;transition:opacity .5s ease-out .5s}.ngx-progress-bar::after,.ngx-progress-bar::before{background-color:currentColor;content:'';display:block;width:100%;height:100%;position:absolute;top:0}.ngx-progress-bar-ltr::before{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ngx-progress-bar-ltr::after{-webkit-animation:20s ease-out progressBar-slide-ltr;animation:20s ease-out progressBar-slide-ltr;-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}.ngx-progress-bar-rtl::before{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ngx-progress-bar-rtl::after{-webkit-animation:20s ease-out progressBar-slide-rtl;animation:20s ease-out progressBar-slide-rtl;-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}.foreground-closing.ngx-progress-bar-ltr::before{-webkit-animation:1s ease-out progressBar-slide-complete-ltr;animation:1s ease-out progressBar-slide-complete-ltr;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.foreground-closing.ngx-progress-bar-rtl::before{-webkit-animation:1s ease-out progressBar-slide-complete-rtl;animation:1s ease-out progressBar-slide-complete-rtl;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-webkit-keyframes progressBar-slide-ltr{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}}@keyframes progressBar-slide-ltr{from{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(-5%,0,0);transform:translate3d(-5%,0,0)}}@-webkit-keyframes progressBar-slide-rtl{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}}@keyframes progressBar-slide-rtl{from{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(5%,0,0);transform:translate3d(5%,0,0)}}@-webkit-keyframes progressBar-slide-complete-ltr{0%{-webkit-transform:translate3d(-75%,0,0);transform:translate3d(-75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes progressBar-slide-complete-ltr{0%{-webkit-transform:translate3d(-75%,0,0);transform:translate3d(-75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes progressBar-slide-complete-rtl{0%{-webkit-transform:translate3d(75%,0,0);transform:translate3d(75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes progressBar-slide-complete-rtl{0%{-webkit-transform:translate3d(75%,0,0);transform:translate3d(75%,0,0)}50%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.ngx-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99998!important;background-color:rgba(40,40,40,.8);display:none}.ngx-overlay.foreground-closing,.ngx-overlay.loading-foreground{display:block}.ngx-overlay.foreground-closing{opacity:0!important;transition:opacity .5s ease-out .5s}.ngx-overlay>.ngx-foreground-spinner{position:fixed;width:60px;height:60px;margin:0;color:#00acc1}.ngx-overlay>.ngx-loading-logo{position:fixed;margin:0;width:120px;height:120px}.ngx-overlay>.ngx-loading-text{position:fixed;margin:0;font-family:sans-serif;font-weight:400;font-size:1.2em;color:#fff}.ngx-background-spinner{position:fixed;z-index:99997!important;width:60px;height:60px;margin:0;color:#00acc1;opacity:.6;display:none}.ngx-background-spinner.background-closing,.ngx-background-spinner.loading-background{display:block}.ngx-background-spinner.background-closing{opacity:0!important;transition:opacity .7s ease-out}.ngx-position-absolute,.ngx-position-absolute>.ngx-foreground-spinner,.ngx-position-absolute>.ngx-loading-logo,.ngx-position-absolute>.ngx-loading-text{position:absolute!important}.ngx-position-absolute.ngx-progress-bar{z-index:99996!important}.ngx-position-absolute.ngx-overlay{z-index:99995!important}.ngx-position-absolute .sk-square-jelly-box>div:nth-child(1),.ngx-position-absolute.ngx-background-spinner{z-index:99994!important}.top-left{top:30px;left:30px}.top-center{top:30px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.top-right{top:30px;right:30px}.center-left{top:50%;left:30px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.center-center{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.center-right{top:50%;right:30px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.bottom-left{bottom:30px;left:30px}.bottom-center{bottom:30px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.bottom-right{bottom:30px;right:30px}.sk-ball-scale-multiple,.sk-ball-scale-multiple>div{position:relative;box-sizing:border-box}.sk-ball-scale-multiple{width:100%;height:100%;font-size:0}.sk-ball-scale-multiple>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;opacity:0;-webkit-animation:1s linear infinite ball-scale-multiple;animation:1s linear infinite ball-scale-multiple}.sk-ball-scale-multiple>div:nth-child(2){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-ball-scale-multiple>div:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}@-webkit-keyframes ball-scale-multiple{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}5%{opacity:.75}100%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-scale-multiple{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}5%{opacity:.75}100%{opacity:0;-webkit-transform:scale(1);transform:scale(1)}}.sk-ball-spin,.sk-ball-spin>div{position:relative;box-sizing:border-box}.sk-ball-spin{width:100%;height:100%;font-size:0}.sk-ball-spin>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s ease-in-out infinite ball-spin-clockwise;animation:1s ease-in-out infinite ball-spin-clockwise}.sk-ball-spin>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-1.125s;animation-delay:-1.125s}.sk-ball-spin>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-1.25s;animation-delay:-1.25s}.sk-ball-spin>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-1.375s;animation-delay:-1.375s}.sk-ball-spin>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.sk-ball-spin>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-1.625s;animation-delay:-1.625s}.sk-ball-spin>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-1.75s;animation-delay:-1.75s}.sk-ball-spin>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-1.875s;animation-delay:-1.875s}.sk-ball-spin>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:-2s;animation-delay:-2s}@-webkit-keyframes ball-spin{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes ball-spin{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.sk-ball-spin-clockwise,.sk-ball-spin-clockwise>div{position:relative;box-sizing:border-box}.sk-ball-spin-clockwise{width:100%;height:100%;font-size:0}.sk-ball-spin-clockwise>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s ease-in-out infinite ball-spin-clockwise;animation:1s ease-in-out infinite ball-spin-clockwise}.sk-ball-spin-clockwise>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-.875s;animation-delay:-.875s}.sk-ball-spin-clockwise>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-.75s;animation-delay:-.75s}.sk-ball-spin-clockwise>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-.625s;animation-delay:-.625s}.sk-ball-spin-clockwise>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-ball-spin-clockwise>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-.375s;animation-delay:-.375s}.sk-ball-spin-clockwise>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-.25s;animation-delay:-.25s}.sk-ball-spin-clockwise>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-.125s;animation-delay:-.125s}.sk-ball-spin-clockwise>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes ball-spin-clockwise{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes ball-spin-clockwise{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}20%{opacity:1}80%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.sk-ball-spin-clockwise-fade-rotating,.sk-ball-spin-clockwise-fade-rotating>div{position:relative;box-sizing:border-box}.sk-ball-spin-clockwise-fade-rotating{font-size:0;width:100%;height:100%;-webkit-animation:6s linear infinite ball-spin-clockwise-fade-rotating-rotate;animation:6s linear infinite ball-spin-clockwise-fade-rotating-rotate}.sk-ball-spin-clockwise-fade-rotating>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s linear infinite ball-spin-clockwise-fade-rotating;animation:1s linear infinite ball-spin-clockwise-fade-rotating}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-.875s;animation-delay:-.875s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-.75s;animation-delay:-.75s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-.625s;animation-delay:-.625s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-.375s;animation-delay:-.375s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-.25s;animation-delay:-.25s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-.125s;animation-delay:-.125s}.sk-ball-spin-clockwise-fade-rotating>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:0s;animation-delay:0s}@-webkit-keyframes ball-spin-clockwise-fade-rotating-rotate{100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes ball-spin-clockwise-fade-rotating-rotate{100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@-webkit-keyframes ball-spin-clockwise-fade-rotating{50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes ball-spin-clockwise-fade-rotating{50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.sk-ball-spin-fade-rotating,.sk-ball-spin-fade-rotating>div{position:relative;box-sizing:border-box}.sk-ball-spin-fade-rotating{width:100%;height:100%;font-size:0;-webkit-animation:6s linear infinite ball-spin-fade-rotate;animation:6s linear infinite ball-spin-fade-rotate}.sk-ball-spin-fade-rotating>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;position:absolute;top:50%;left:50%;width:25%;height:25%;margin-top:-12.5%;margin-left:-12.5%;border-radius:100%;-webkit-animation:1s linear infinite ball-spin-fade;animation:1s linear infinite ball-spin-fade}.sk-ball-spin-fade-rotating>div:nth-child(1){top:5%;left:50%;-webkit-animation-delay:-1.125s;animation-delay:-1.125s}.sk-ball-spin-fade-rotating>div:nth-child(2){top:18.1801948466%;left:81.8198051534%;-webkit-animation-delay:-1.25s;animation-delay:-1.25s}.sk-ball-spin-fade-rotating>div:nth-child(3){top:50%;left:95%;-webkit-animation-delay:-1.375s;animation-delay:-1.375s}.sk-ball-spin-fade-rotating>div:nth-child(4){top:81.8198051534%;left:81.8198051534%;-webkit-animation-delay:-1.5s;animation-delay:-1.5s}.sk-ball-spin-fade-rotating>div:nth-child(5){top:94.9999999966%;left:50.0000000005%;-webkit-animation-delay:-1.625s;animation-delay:-1.625s}.sk-ball-spin-fade-rotating>div:nth-child(6){top:81.8198046966%;left:18.1801949248%;-webkit-animation-delay:-1.75s;animation-delay:-1.75s}.sk-ball-spin-fade-rotating>div:nth-child(7){top:49.9999750815%;left:5.0000051215%;-webkit-animation-delay:-1.875s;animation-delay:-1.875s}.sk-ball-spin-fade-rotating>div:nth-child(8){top:18.179464974%;left:18.1803700518%;-webkit-animation-delay:-2s;animation-delay:-2s}@-webkit-keyframes ball-spin-fade-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes ball-spin-fade-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes ball-spin-fade{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}}@keyframes ball-spin-fade{0%,100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.25;-webkit-transform:scale(.5);transform:scale(.5)}}.sk-chasing-dots{margin:auto;width:100%;height:100%;position:absolute;text-align:center;-webkit-animation:2s linear infinite sk-chasingDots-rotate;animation:2s linear infinite sk-chasingDots-rotate}.sk-chasing-dots>div{width:60%;height:60%;display:inline-block;position:absolute;top:0;background-color:currentColor;border-radius:100%;-webkit-animation:2s ease-in-out infinite sk-chasingDots-bounce;animation:2s ease-in-out infinite sk-chasingDots-bounce}.sk-chasing-dots>div:nth-child(2){top:auto;bottom:0;-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-chasingDots-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes sk-chasingDots-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes sk-chasingDots-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-chasingDots-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-circle{margin:auto;width:100%;height:100%;position:relative}.sk-circle>div{width:100%;height:100%;position:absolute;left:0;top:0}.sk-circle>div::before{content:'';display:block;margin:0 auto;width:15%;height:15%;background-color:currentColor;border-radius:100%;-webkit-animation:1.2s ease-in-out infinite both sk-circle-bounceDelay;animation:1.2s ease-in-out infinite both sk-circle-bounceDelay}.sk-circle>div:nth-child(2){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-circle>div:nth-child(3){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-circle>div:nth-child(4){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-circle>div:nth-child(5){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-circle>div:nth-child(6){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-circle>div:nth-child(7){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-circle>div:nth-child(8){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-circle>div:nth-child(9){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-circle>div:nth-child(10){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-circle>div:nth-child(11){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-circle>div:nth-child(12){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-circle>div:nth-child(2)::before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-circle>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-circle>div:nth-child(4)::before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-circle>div:nth-child(5)::before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-circle>div:nth-child(6)::before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-circle>div:nth-child(7)::before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-circle>div:nth-child(8)::before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-circle>div:nth-child(9)::before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-circle>div:nth-child(10)::before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-circle>div:nth-child(11)::before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-circle>div:nth-child(12)::before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-circle-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-circle-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-cube-grid{width:100%;height:100%;margin:auto}.sk-cube-grid>div{width:33%;height:33%;background-color:currentColor;float:left;-webkit-animation:1.3s ease-in-out infinite sk-cubeGrid-scaleDelay;animation:1.3s ease-in-out infinite sk-cubeGrid-scaleDelay}.sk-cube-grid>div:nth-child(1){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid>div:nth-child(2){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid>div:nth-child(3){-webkit-animation-delay:.4s;animation-delay:.4s}.sk-cube-grid>div:nth-child(4){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid>div:nth-child(5){-webkit-animation-delay:.2s;animation-delay:.2s}.sk-cube-grid>div:nth-child(6){-webkit-animation-delay:.3s;animation-delay:.3s}.sk-cube-grid>div:nth-child(7){-webkit-animation-delay:0s;animation-delay:0s}.sk-cube-grid>div:nth-child(8){-webkit-animation-delay:.1s;animation-delay:.1s}.sk-cube-grid>div:nth-child(9){-webkit-animation-delay:.2s;animation-delay:.2s}@-webkit-keyframes sk-cubeGrid-scaleDelay{0%,100%,70%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}@keyframes sk-cubeGrid-scaleDelay{0%,100%,70%{-webkit-transform:scale3D(1,1,1);transform:scale3D(1,1,1)}35%{-webkit-transform:scale3D(0,0,1);transform:scale3D(0,0,1)}}.sk-double-bounce{width:100%;height:100%;position:relative;margin:auto}.sk-double-bounce>div{width:100%;height:100%;border-radius:50%;background-color:currentColor;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:2s ease-in-out infinite sk-doubleBounce-bounce;animation:2s ease-in-out infinite sk-doubleBounce-bounce}.sk-double-bounce>div:nth-child(2){-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-doubleBounce-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-doubleBounce-bounce{0%,100%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1);transform:scale(1)}}.sk-fading-circle{margin:auto;width:100%;height:100%;position:relative}.sk-fading-circle>div{width:100%;height:100%;position:absolute;left:0;top:0}.sk-fading-circle>div::before{content:'';display:block;margin:0 auto;width:15%;height:15%;background-color:currentColor;border-radius:100%;-webkit-animation:1.2s ease-in-out infinite both sk-fadingCircle-FadeDelay;animation:1.2s ease-in-out infinite both sk-fadingCircle-FadeDelay}.sk-fading-circle>div:nth-child(2){-webkit-transform:rotate(30deg);transform:rotate(30deg)}.sk-fading-circle>div:nth-child(3){-webkit-transform:rotate(60deg);transform:rotate(60deg)}.sk-fading-circle>div:nth-child(4){-webkit-transform:rotate(90deg);transform:rotate(90deg)}.sk-fading-circle>div:nth-child(5){-webkit-transform:rotate(120deg);transform:rotate(120deg)}.sk-fading-circle>div:nth-child(6){-webkit-transform:rotate(150deg);transform:rotate(150deg)}.sk-fading-circle>div:nth-child(7){-webkit-transform:rotate(180deg);transform:rotate(180deg)}.sk-fading-circle>div:nth-child(8){-webkit-transform:rotate(210deg);transform:rotate(210deg)}.sk-fading-circle>div:nth-child(9){-webkit-transform:rotate(240deg);transform:rotate(240deg)}.sk-fading-circle>div:nth-child(10){-webkit-transform:rotate(270deg);transform:rotate(270deg)}.sk-fading-circle>div:nth-child(11){-webkit-transform:rotate(300deg);transform:rotate(300deg)}.sk-fading-circle>div:nth-child(12){-webkit-transform:rotate(330deg);transform:rotate(330deg)}.sk-fading-circle>div:nth-child(2)::before{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-fading-circle>div:nth-child(3)::before{-webkit-animation-delay:-1s;animation-delay:-1s}.sk-fading-circle>div:nth-child(4)::before{-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-fading-circle>div:nth-child(5)::before{-webkit-animation-delay:-.8s;animation-delay:-.8s}.sk-fading-circle>div:nth-child(6)::before{-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-fading-circle>div:nth-child(7)::before{-webkit-animation-delay:-.6s;animation-delay:-.6s}.sk-fading-circle>div:nth-child(8)::before{-webkit-animation-delay:-.5s;animation-delay:-.5s}.sk-fading-circle>div:nth-child(9)::before{-webkit-animation-delay:-.4s;animation-delay:-.4s}.sk-fading-circle>div:nth-child(10)::before{-webkit-animation-delay:-.3s;animation-delay:-.3s}.sk-fading-circle>div:nth-child(11)::before{-webkit-animation-delay:-.2s;animation-delay:-.2s}.sk-fading-circle>div:nth-child(12)::before{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes sk-fadingCircle-FadeDelay{0%,100%,39%{opacity:0}40%{opacity:1}}@keyframes sk-fadingCircle-FadeDelay{0%,100%,39%{opacity:0}40%{opacity:1}}.sk-folding-cube{margin:auto;width:100%;height:100%;position:relative;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.sk-folding-cube>div{float:left;width:50%;height:50%;position:relative;-webkit-transform:scale(1.1);transform:scale(1.1)}.sk-folding-cube>div::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:currentColor;-webkit-animation:2.4s linear infinite both sk-foldingCube-angle;animation:2.4s linear infinite both sk-foldingCube-angle;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.sk-folding-cube>div:nth-child(2){-webkit-transform:scale(1.1) rotateZ(90deg);transform:scale(1.1) rotateZ(90deg)}.sk-folding-cube>div:nth-child(3){-webkit-transform:scale(1.1) rotateZ(270deg);transform:scale(1.1) rotateZ(270deg)}.sk-folding-cube>div:nth-child(4){-webkit-transform:scale(1.1) rotateZ(180deg);transform:scale(1.1) rotateZ(180deg)}.sk-folding-cube>div:nth-child(2)::before{-webkit-animation-delay:.3s;animation-delay:.3s}.sk-folding-cube>div:nth-child(3)::before{-webkit-animation-delay:.9s;animation-delay:.9s}.sk-folding-cube>div:nth-child(4)::before{-webkit-animation-delay:.6s;animation-delay:.6s}@-webkit-keyframes sk-foldingCube-angle{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}100%,90%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}@keyframes sk-foldingCube-angle{0%,10%{-webkit-transform:perspective(140px) rotateX(-180deg);transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{-webkit-transform:perspective(140px) rotateX(0);transform:perspective(140px) rotateX(0);opacity:1}100%,90%{-webkit-transform:perspective(140px) rotateY(180deg);transform:perspective(140px) rotateY(180deg);opacity:0}}.sk-pulse{width:100%;height:100%;margin:auto}.sk-pulse>div{width:100%;height:100%;background-color:currentColor;border-radius:100%;-webkit-animation:1s ease-in-out infinite sk-pulse-scaleOut;animation:1s ease-in-out infinite sk-pulse-scaleOut}@-webkit-keyframes sk-pulse-scaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}@keyframes sk-pulse-scaleOut{0%{-webkit-transform:scale(0);transform:scale(0)}100%{-webkit-transform:scale(1);transform:scale(1);opacity:0}}.sk-rectangle-bounce{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce>div{background-color:currentColor;height:100%;width:10%;margin:0 5%;display:inline-block;-webkit-animation:1.2s ease-in-out infinite sk-rectangleBounce-stretchDelay;animation:1.2s ease-in-out infinite sk-rectangleBounce-stretchDelay}.sk-rectangle-bounce>div:nth-child(2){-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.sk-rectangle-bounce>div:nth-child(3){-webkit-animation-delay:-1s;animation-delay:-1s}.sk-rectangle-bounce>div:nth-child(4){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce>div:nth-child(5){-webkit-animation-delay:-.8s;animation-delay:-.8s}@-webkit-keyframes sk-rectangleBounce-stretchDelay{0%,100%,40%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes sk-rectangleBounce-stretchDelay{0%,100%,40%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}20%{-webkit-transform:scaleY(1);transform:scaleY(1)}}.sk-rectangle-bounce-party,.sk-rectangle-bounce-party>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-party{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-party>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation-name:rectangle-bounce-party;animation-name:rectangle-bounce-party;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.sk-rectangle-bounce-party>div:nth-child(1){-webkit-animation-duration:.43s;animation-duration:.43s;-webkit-animation-delay:-.23s;animation-delay:-.23s}.sk-rectangle-bounce-party>div:nth-child(2){-webkit-animation-duration:.62s;animation-duration:.62s;-webkit-animation-delay:-.32s;animation-delay:-.32s}.sk-rectangle-bounce-party>div:nth-child(3){-webkit-animation-duration:.43s;animation-duration:.43s;-webkit-animation-delay:-.44s;animation-delay:-.44s}.sk-rectangle-bounce-party>div:nth-child(4){-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-delay:-.31s;animation-delay:-.31s}.sk-rectangle-bounce-party>div:nth-child(5){-webkit-animation-duration:.74s;animation-duration:.74s;-webkit-animation-delay:-.24s;animation-delay:-.24s}@-webkit-keyframes rectangle-bounce-party{0%,100%{-webkit-transform:scaleY(1);transform:scaleY(1)}50%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}}@keyframes rectangle-bounce-party{0%,100%{-webkit-transform:scaleY(1);transform:scaleY(1)}50%{-webkit-transform:scaleY(.4);transform:scaleY(.4)}}.sk-rectangle-bounce-pulse-out,.sk-rectangle-bounce-pulse-out>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-pulse-out{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-pulse-out>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation:.9s cubic-bezier(.85,.25,.37,.85) infinite rectangle-bounce-pulse-out;animation:.9s cubic-bezier(.85,.25,.37,.85) infinite rectangle-bounce-pulse-out}.sk-rectangle-bounce-pulse-out>div:nth-child(3){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce-pulse-out>div:nth-child(2),.sk-rectangle-bounce-pulse-out>div:nth-child(4){-webkit-animation-delay:-.7s;animation-delay:-.7s}.sk-rectangle-bounce-pulse-out>div:nth-child(1),.sk-rectangle-bounce-pulse-out>div:nth-child(5){-webkit-animation-delay:-.5s;animation-delay:-.5s}@-webkit-keyframes rectangle-bounce-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes rectangle-bounce-pulse-out{0%,100%{-webkit-transform:scaley(1);transform:scaley(1)}50%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.sk-rectangle-bounce-pulse-out-rapid,.sk-rectangle-bounce-pulse-out-rapid>div{position:relative;box-sizing:border-box}.sk-rectangle-bounce-pulse-out-rapid{margin:auto;width:100%;height:100%;text-align:center;font-size:0}.sk-rectangle-bounce-pulse-out-rapid>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor;width:10%;height:100%;margin:0 5%;border-radius:0;-webkit-animation:.9s cubic-bezier(.11,.49,.38,.78) infinite rectangle-bounce-pulse-out-rapid;animation:.9s cubic-bezier(.11,.49,.38,.78) infinite rectangle-bounce-pulse-out-rapid}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(3){-webkit-animation-delay:-.9s;animation-delay:-.9s}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(2),.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(4){-webkit-animation-delay:-.65s;animation-delay:-.65s}.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(1),.sk-rectangle-bounce-pulse-out-rapid>div:nth-child(5){-webkit-animation-delay:-.4s;animation-delay:-.4s}@-webkit-keyframes rectangle-bounce-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.4);transform:scaley(.4)}}@keyframes rectangle-bounce-pulse-out-rapid{0%,90%{-webkit-transform:scaley(1);transform:scaley(1)}80%{-webkit-transform:scaley(.4);transform:scaley(.4)}}.sk-rotating-plane{width:100%;height:100%;text-align:center;margin:auto}.sk-rotating-plane>div{width:100%;height:100%;background-color:currentColor;-webkit-animation:1.2s ease-in-out infinite sk-rotatePlane;animation:1.2s ease-in-out infinite sk-rotatePlane}@-webkit-keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px);transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg);transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg);transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotatePlane{0%{-webkit-transform:perspective(120px) rotateX(0) rotateY(0);transform:perspective(120px) rotateX(0) rotateY(0)}50%{-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0);transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.sk-square-jelly-box,.sk-square-jelly-box>div{position:relative;box-sizing:border-box}.sk-square-jelly-box{width:100%;height:100%;font-size:0}.sk-square-jelly-box>div{display:inline-block;float:none;background-color:currentColor;border:0 solid currentColor}.sk-square-jelly-box>div:nth-child(1),.sk-square-jelly-box>div:nth-child(2){position:absolute;left:0;width:100%}.sk-square-jelly-box>div:nth-child(1){top:-25%;z-index:99997;height:100%;border-radius:10%;-webkit-animation:.6s linear -.1s infinite square-jelly-box-animate;animation:.6s linear -.1s infinite square-jelly-box-animate}.sk-square-jelly-box>div:nth-child(2){bottom:-9%;height:10%;background:#000;border-radius:50%;opacity:.2;-webkit-animation:.6s linear -.1s infinite square-jelly-box-shadow;animation:.6s linear -.1s infinite square-jelly-box-shadow}@-webkit-keyframes square-jelly-box-animate{17%{border-bottom-right-radius:10%}25%{-webkit-transform:translateY(25%) rotate(22.5deg);transform:translateY(25%) rotate(22.5deg)}50%{border-bottom-right-radius:100%;-webkit-transform:translateY(50%) scale(1,.9) rotate(45deg);transform:translateY(50%) scale(1,.9) rotate(45deg)}75%{-webkit-transform:translateY(25%) rotate(67.5deg);transform:translateY(25%) rotate(67.5deg)}100%{-webkit-transform:translateY(0) rotate(90deg);transform:translateY(0) rotate(90deg)}}@keyframes square-jelly-box-animate{17%{border-bottom-right-radius:10%}25%{-webkit-transform:translateY(25%) rotate(22.5deg);transform:translateY(25%) rotate(22.5deg)}50%{border-bottom-right-radius:100%;-webkit-transform:translateY(50%) scale(1,.9) rotate(45deg);transform:translateY(50%) scale(1,.9) rotate(45deg)}75%{-webkit-transform:translateY(25%) rotate(67.5deg);transform:translateY(25%) rotate(67.5deg)}100%{-webkit-transform:translateY(0) rotate(90deg);transform:translateY(0) rotate(90deg)}}@-webkit-keyframes square-jelly-box-shadow{50%{-webkit-transform:scale(1.25,1);transform:scale(1.25,1)}}@keyframes square-jelly-box-shadow{50%{-webkit-transform:scale(1.25,1);transform:scale(1.25,1)}}.sk-square-loader,.sk-square-loader>div{position:relative;box-sizing:border-box}.sk-square-loader{font-size:0;width:100%;height:100%}.sk-square-loader>div{display:inline-block;float:none;border:3px solid currentColor;width:100%;height:100%;background:0 0;border-radius:0;-webkit-animation:2s infinite square-loader;animation:2s infinite square-loader}.sk-square-loader>div:after{display:inline-block;width:100%;vertical-align:top;content:\"\";background-color:currentColor;-webkit-animation:2s ease-in infinite square-loader-inner;animation:2s ease-in infinite square-loader-inner}@-webkit-keyframes square-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%,50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%,75%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes square-loader{0%{-webkit-transform:rotate(0);transform:rotate(0)}25%,50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}100%,75%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes square-loader-inner{0%,100%,25%{height:0}50%,75%{height:100%}}@keyframes square-loader-inner{0%,100%,25%{height:0}50%,75%{height:100%}}.sk-three-bounce{margin:auto;width:100%;height:100%;text-align:center}.sk-three-bounce>div{margin-top:35%;width:30%;height:30%;background-color:currentColor;border-radius:100%;display:inline-block;-webkit-animation:1.4s ease-in-out infinite both sk-threeBounce-bounceDelay;animation:1.4s ease-in-out infinite both sk-threeBounce-bounceDelay}.bottom-center>.sk-three-bounce>div,.bottom-left>.sk-three-bounce>div,.bottom-right>.sk-three-bounce>div{margin-top:70%!important}.top-center>.sk-three-bounce>div,.top-left>.sk-three-bounce>div,.top-right>.sk-three-bounce>div{margin-top:0!important}.sk-three-bounce>div:nth-child(1){-webkit-animation-delay:-.32s;animation-delay:-.32s}.sk-three-bounce>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes sk-threeBounce-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes sk-threeBounce-bounceDelay{0%,100%,80%{-webkit-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);transform:scale(1)}}.sk-three-strings{width:100%;height:100%}.sk-three-strings>div{position:absolute;box-sizing:border-box;width:100%;height:100%;border-radius:50%}.sk-three-strings>div:nth-child(1){left:0;top:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateOne;animation:1s linear infinite sk-threeStrings-rotateOne;border-bottom:3px solid currentColor}.sk-three-strings>div:nth-child(2){right:0;top:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateTwo;animation:1s linear infinite sk-threeStrings-rotateTwo;border-right:3px solid currentColor}.sk-three-strings>div:nth-child(3){right:0;bottom:0;-webkit-animation:1s linear infinite sk-threeStrings-rotateThree;animation:1s linear infinite sk-threeStrings-rotateThree;border-top:3px solid currentColor}@-webkit-keyframes sk-threeStrings-rotateOne{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(0);transform:rotateX(35deg) rotateY(-45deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateOne{0%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(0);transform:rotateX(35deg) rotateY(-45deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(-45deg) rotateZ(360deg)}}@-webkit-keyframes sk-threeStrings-rotateTwo{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(0);transform:rotateX(50deg) rotateY(10deg) rotateZ(0)}100%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg);transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateTwo{0%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(0);transform:rotateX(50deg) rotateY(10deg) rotateZ(0)}100%{-webkit-transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg);transform:rotateX(50deg) rotateY(10deg) rotateZ(360deg)}}@-webkit-keyframes sk-threeStrings-rotateThree{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(0);transform:rotateX(35deg) rotateY(55deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg)}}@keyframes sk-threeStrings-rotateThree{0%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(0);transform:rotateX(35deg) rotateY(55deg) rotateZ(0)}100%{-webkit-transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg);transform:rotateX(35deg) rotateY(55deg) rotateZ(360deg)}}.sk-wandering-cubes{margin:auto;width:100%;height:100%;position:relative;text-align:center}.sk-wandering-cubes>div{background-color:currentColor;width:25%;height:25%;position:absolute;top:0;left:0;-webkit-animation:1.8s ease-in-out infinite sk-wanderingCubes-cubeMove;animation:1.8s ease-in-out infinite sk-wanderingCubes-cubeMove}.sk-wandering-cubes>div:nth-child(2){-webkit-animation-delay:-.9s;animation-delay:-.9s}@-webkit-keyframes sk-wanderingCubes-cubeMove{25%{-webkit-transform:translateX(290%) rotate(-90deg) scale(.5);transform:translateX(290%) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(290%) translateY(290%) rotate(-180deg);transform:translateX(290%) translateY(290%) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5);transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}@keyframes sk-wanderingCubes-cubeMove{25%{-webkit-transform:translateX(290%) rotate(-90deg) scale(.5);transform:translateX(290%) rotate(-90deg) scale(.5)}50%{-webkit-transform:translateX(290%) translateY(290%) rotate(-179deg);transform:translateX(290%) translateY(290%) rotate(-179deg)}50.1%{-webkit-transform:translateX(290%) translateY(290%) rotate(-180deg);transform:translateX(290%) translateY(290%) rotate(-180deg)}75%{-webkit-transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5);transform:translateX(0) translateY(290%) rotate(-270deg) scale(.5)}100%{-webkit-transform:rotate(-360deg);transform:rotate(-360deg)}}"]}]}],"members":{"bgsColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"bgsOpacity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"bgsPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"bgsSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"bgsType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"fgsColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"fgsPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"fgsSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"fgsType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"gap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"loaderId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"logoPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"logoSize":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"logoUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"overlayBorderRadius":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"overlayColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"pbColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"pbDirection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"pbThickness":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"hasProgressBar":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"text":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"textColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"textPosition":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":71,"character":26},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initializeSpinners":[{"__symbolic":"method"}],"determinePositions":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":7,"character":1},"arguments":[{"selector":"[ngxUiLoaderBlurred]"}]}],"members":{"blur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"loaderId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":24},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":27,"character":22},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":53},"arguments":["ngxUiLoaderRouterCustom.config"]},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":21,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":27},"arguments":[{"__symbolic":"reference","name":"ɵf"}]}],null],"parameters":[{"__symbolic":"reference","name":"NgxUiLoaderHttpConfig"},{"__symbolic":"reference","name":"NgxUiLoaderService"}]}],"intercept":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":51},"arguments":["ngxUiLoaderHttpCustom.config"]}},"origins":{"NgxUiLoaderService":"./lib/core/ngx-ui-loader.service","NgxUiLoaderModule":"./lib/core/ngx-ui-loader.module","NgxUiLoaderConfig":"./lib/core/ngx-ui-loader-config","SPINNER":"./lib/core/ngx-ui-loader.enums","POSITION":"./lib/core/ngx-ui-loader.enums","PB_DIRECTION":"./lib/core/ngx-ui-loader.enums","Loader":"./lib/core/ngx-ui-loader.interfaces","Loaders":"./lib/core/ngx-ui-loader.interfaces","Task":"./lib/core/ngx-ui-loader.interfaces","NgxUiLoaderRouterModule":"./lib/router/ngx-ui-loader-router.module","NgxUiLoaderRouterConfig":"./lib/router/ngx-ui-loader-router-config","NgxUiLoaderHttpModule":"./lib/http/ngx-ui-loader-http.module","NgxUiLoaderHttpConfig":"./lib/http/ngx-ui-loader-http-config","ɵa":"./lib/core/ngx-ui-loader-config.token","ɵb":"./lib/core/ngx-ui-loader.component","ɵc":"./lib/core/ngx-ui-loader-blurred.directive","ɵd":"./lib/router/ngx-ui-loader-router-config.token","ɵe":"./lib/http/ngx-ui-loader-http.interceptor","ɵf":"./lib/http/ngx-ui-loader-http-config.token"},"importAs":"ngx-ui-loader"} |
{ | ||
"name": "ngx-ui-loader", | ||
"description": "An all-in-one and fully customizable loader/spinner for Angular 5, 6 and 7+ applications. It supports foreground, background spinner/loader, indicative progress bar and multiple loaders.", | ||
"version": "7.1.0-beta.2", | ||
"version": "7.1.0-beta.3", | ||
"repository": { | ||
@@ -6,0 +6,0 @@ "type": "git", |
@@ -235,3 +235,3 @@ [![npm version](https://badge.fury.io/js/ngx-ui-loader.svg)](https://badge.fury.io/js/ngx-ui-loader) | ||
* `NgxUiLoaderService.getDefaultConfig()` Returns the default configuration object of `ngx-ui-loader`. | ||
* `NgxUiLoaderService.getLoader(loaderId)` Return a specific loader. | ||
* `NgxUiLoaderService.getLoader([loaderId])` Return a specified loader. If no loaderId given, it will return master loader (if exist). | ||
* `NgxUiLoaderService.getLoaders()` Return the all of loaders. | ||
@@ -389,3 +389,3 @@ * `NgxUiLoaderService.getStatus()` Deprecated - will be remove in version 8.x.x. | ||
| `gap` | *number* | optional | `24` | The gap between logo, foreground spinner and text when their positions are `center-center` | | ||
| `loaderId` | *string* | optional | `master` | The default value for master's loaderId | | ||
| `masterLoaderId` | *string* | optional | `master` | The default value for master's loaderId | | ||
| `overlayBorderRadius`| *string* | optional | `0` | Overlay border radius | | ||
@@ -392,0 +392,0 @@ | `overlayColor` | *string* | optional | `rgba(40,40,40,.8)`| Overlay background color | |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1233351
10260