@smart-webcomponents-angular/toast 9.2.22 → 13.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +10 -2
  2. package/common/i18n.phonenumbers.min.js +501 -0
  3. package/common/runtime.js +748 -0
  4. package/demo/angular.json +2 -2
  5. package/demo/src/tsconfig.app.json +15 -15
  6. package/demo/src/tsconfig.json +23 -23
  7. package/esm2020/toast/index.mjs +2 -0
  8. package/{esm2015/toast/public_api.js → esm2020/toast/public_api.mjs} +0 -0
  9. package/{esm2015/toast/smart-webcomponents-angular-toast.js → esm2020/toast/smart-webcomponents-angular-toast.mjs} +2 -3
  10. package/esm2020/toast/smart.element.mjs +99 -0
  11. package/esm2020/toast/smart.toast.mjs +376 -0
  12. package/esm2020/toast/smart.toast.module.mjs +18 -0
  13. package/fesm2015/{smart-webcomponents-angular-toast.js → smart-webcomponents-angular-toast.mjs} +110 -64
  14. package/fesm2015/smart-webcomponents-angular-toast.mjs.map +1 -0
  15. package/fesm2020/smart-webcomponents-angular-toast.mjs +501 -0
  16. package/fesm2020/smart-webcomponents-angular-toast.mjs.map +1 -0
  17. package/images/flags.png +0 -0
  18. package/index.d.ts +3578 -658
  19. package/package.json +26 -24
  20. package/source/modules/smart.toast.js +1 -1
  21. package/source/smart.button.js +2 -2
  22. package/source/smart.element.js +2 -2
  23. package/source/smart.toast.js +2 -2
  24. package/styles/font/smart-icons.eot +0 -0
  25. package/styles/font/smart-icons.svg +64 -2
  26. package/styles/font/smart-icons.ttf +0 -0
  27. package/styles/font/smart-icons.woff +0 -0
  28. package/styles/font/smart-icons.woff2 +0 -0
  29. package/styles/smart.base.css +4 -4
  30. package/styles/smart.common.css +1 -1
  31. package/styles/smart.toast.css +1 -1
  32. package/toast/index.d.ts +1 -0
  33. package/toast/smart-webcomponents-angular-toast.d.ts +2 -2
  34. package/toast/smart.element.d.ts +4 -1
  35. package/toast/smart.toast.d.ts +4 -1
  36. package/toast/smart.toast.module.d.ts +5 -0
  37. package/bundles/smart-webcomponents-angular-toast.umd.js +0 -907
  38. package/bundles/smart-webcomponents-angular-toast.umd.min.js +0 -25
  39. package/demo/src/app/app.component.ts +0 -29
  40. package/demo/src/app/app.module.ts +0 -15
  41. package/demo/src/app/main.ts +0 -6
  42. package/demo/src/main.ts +0 -16
  43. package/demo/src/polyfills.ts +0 -73
  44. package/esm2015/toast/smart.element.js +0 -83
  45. package/esm2015/toast/smart.toast.js +0 -352
  46. package/esm2015/toast/smart.toast.module.js +0 -13
  47. package/fesm2015/smart-webcomponents-angular-toast.js.map +0 -1
  48. package/toast/smart-webcomponents-angular-toast.metadata.json +0 -1
package/demo/angular.json CHANGED
@@ -22,8 +22,8 @@
22
22
  "src/assets"
23
23
  ],
24
24
  "styles": [
25
- "./node_modules/@smart-webcomponents-angular/toast/styles/smart.base.css",
26
- "./node_modules/@smart-webcomponents-angular/toast/styles/smart.toast.css",
25
+ "./node_modules/@smart-webcomponents-angular/toast/styles/smart.base.css",
26
+ "./node_modules/@smart-webcomponents-angular/toast/styles/smart.toast.css",
27
27
  "./node_modules/@smart-webcomponents-angular/toast/styles/smart.common.css",
28
28
  "src/assets/fonts.css",
29
29
  "src/assets/styles.css"
@@ -1,15 +1,15 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "extends": "./tsconfig.json",
4
- "compilerOptions": {
5
- "outDir": "./out-tsc/app",
6
- "types": []
7
- },
8
- "files": [
9
- "main.ts",
10
- "polyfills.ts"
11
- ],
12
- "include": [
13
- "src/**/*.d.ts"
14
- ]
15
- }
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "extends": "./tsconfig.json",
4
+ "compilerOptions": {
5
+ "outDir": "./out-tsc/app",
6
+ "types": []
7
+ },
8
+ "files": [
9
+ "main.ts",
10
+ "polyfills.ts"
11
+ ],
12
+ "include": [
13
+ "src/**/*.d.ts"
14
+ ]
15
+ }
@@ -1,23 +1,23 @@
1
- /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
- {
3
- "compileOnSave": false,
4
- "compilerOptions": {
5
- "baseUrl": "./",
6
- "outDir": "./dist/out-tsc",
7
- "sourceMap": true,
8
- "declaration": false,
9
- "downlevelIteration": true,
10
- "experimentalDecorators": true,
11
- "moduleResolution": "node",
12
- "importHelpers": true,
13
- "target": "es2015",
14
- "module": "es2020",
15
- "lib": [
16
- "es2018",
17
- "dom"
18
- ]
19
- },
20
- "angularCompilerOptions": {
21
- "enableI18nLegacyMessageIdFormat": false
22
- }
23
- }
1
+ /* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+ {
3
+ "compileOnSave": false,
4
+ "compilerOptions": {
5
+ "baseUrl": "./",
6
+ "outDir": "./dist/out-tsc",
7
+ "sourceMap": true,
8
+ "declaration": false,
9
+ "downlevelIteration": true,
10
+ "experimentalDecorators": true,
11
+ "moduleResolution": "node",
12
+ "importHelpers": true,
13
+ "target": "es2015",
14
+ "module": "es2020",
15
+ "lib": [
16
+ "es2018",
17
+ "dom"
18
+ ]
19
+ },
20
+ "angularCompilerOptions": {
21
+ "enableI18nLegacyMessageIdFormat": false
22
+ }
23
+ }
@@ -0,0 +1,2 @@
1
+ export * from './public_api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90b2FzdC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknOyJdfQ==
@@ -10,6 +10,5 @@ import './../../source/modules/smart.toast';
10
10
  /**
11
11
  * Generated bundle index. Do not edit.
12
12
  */
13
- export * from './public_api';
14
- export { BaseElement as ɵa } from './smart.element';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9hc3Qvc3JjL3NtYXJ0LXdlYmNvbXBvbmVudHMtYW5ndWxhci10b2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0saUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG5cbmV4cG9ydCB7QmFzZUVsZW1lbnQgYXMgybVhfSBmcm9tICcuL3NtYXJ0LmVsZW1lbnQnOyJdfQ==
13
+ export * from './index';
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtd2ViY29tcG9uZW50cy1hbmd1bGFyLXRvYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdG9hc3Qvc3JjL3NtYXJ0LXdlYmNvbXBvbmVudHMtYW5ndWxhci10b2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,99 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class BaseElement {
4
+ constructor(ref) {
5
+ this.onCreate = new EventEmitter();
6
+ this.onReady = new EventEmitter();
7
+ this.onAttach = new EventEmitter();
8
+ this.onDetach = new EventEmitter();
9
+ const that = this;
10
+ this.nativeElement = ref.nativeElement;
11
+ that.nativeElement.onAttached = () => {
12
+ that.onAttach.emit(that.nativeElement);
13
+ };
14
+ that.nativeElement.onDetached = () => {
15
+ that.onDetach.emit(that.nativeElement);
16
+ };
17
+ }
18
+ addEventListener(type, listener, options = false) {
19
+ this.nativeElement.addEventListener(type, listener, options);
20
+ }
21
+ removeEventListener(type, listener, options = false) {
22
+ this.nativeElement.removeEventListener(type, listener, options);
23
+ }
24
+ dispatchEvent(event) {
25
+ return this.nativeElement.dispatchEvent(event);
26
+ }
27
+ blur() {
28
+ this.nativeElement.blur();
29
+ }
30
+ click() {
31
+ this.nativeElement.click();
32
+ }
33
+ focus(options) {
34
+ this.nativeElement.focus(options);
35
+ }
36
+ /** @description Sets or gets the language. Used in conjunction with the property messages. */
37
+ get locale() {
38
+ return this.nativeElement ? this.nativeElement.locale : undefined;
39
+ }
40
+ set locale(value) {
41
+ this.nativeElement ? this.nativeElement.locale = value : undefined;
42
+ }
43
+ /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
44
+ get localizeFormatFunction() {
45
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
46
+ }
47
+ set localizeFormatFunction(value) {
48
+ this.nativeElement ? this.nativeElement.localizeFormatFunction = value : undefined;
49
+ }
50
+ /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale. */
51
+ get messages() {
52
+ return this.nativeElement ? this.nativeElement.messages : undefined;
53
+ }
54
+ set messages(value) {
55
+ this.nativeElement ? this.nativeElement.messages = value : undefined;
56
+ }
57
+ /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
58
+ get rightToLeft() {
59
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
60
+ }
61
+ set rightToLeft(value) {
62
+ this.nativeElement ? this.nativeElement.rightToLeft = value : undefined;
63
+ }
64
+ /** @description Determines the theme. Theme defines the look of the element */
65
+ get theme() {
66
+ return this.nativeElement ? this.nativeElement.theme : undefined;
67
+ }
68
+ set theme(value) {
69
+ this.nativeElement ? this.nativeElement.theme = value : undefined;
70
+ }
71
+ }
72
+ BaseElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseElement, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
73
+ BaseElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: BaseElement, selector: "ng-component", inputs: { locale: "locale", localizeFormatFunction: "localizeFormatFunction", messages: "messages", rightToLeft: "rightToLeft", theme: "theme" }, outputs: { onCreate: "onCreate", onReady: "onReady", onAttach: "onAttach", onDetach: "onDetach" }, ngImport: i0, template: '', isInline: true });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: BaseElement, decorators: [{
75
+ type: Component,
76
+ args: [{
77
+ template: ''
78
+ }]
79
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onCreate: [{
80
+ type: Output
81
+ }], onReady: [{
82
+ type: Output
83
+ }], onAttach: [{
84
+ type: Output
85
+ }], onDetach: [{
86
+ type: Output
87
+ }], locale: [{
88
+ type: Input
89
+ }], localizeFormatFunction: [{
90
+ type: Input
91
+ }], messages: [{
92
+ type: Input
93
+ }], rightToLeft: [{
94
+ type: Input
95
+ }], theme: [{
96
+ type: Input
97
+ }] } });
98
+ export const Smart = window.Smart;
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQuZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RvYXN0L3NyYy9zbWFydC5lbGVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTW5GLE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQVksR0FBZTtRQWFqQixhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRCxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFmdkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQW9CLENBQUM7UUFFOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEdBQUcsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUE7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUU7WUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFTTSxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsUUFBNEMsRUFBRSxVQUE2QyxLQUFLO1FBQ2xJLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sbUJBQW1CLENBQUMsSUFBWSxFQUFFLFFBQTRDLEVBQUUsVUFBNkMsS0FBSztR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QU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBOEJOLE1BQU07c0JBRFQsS0FBSztnQkFVRixzQkFBc0I7c0JBRHpCLEtBQUs7Z0JBVUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVGLFdBQVc7c0JBRGQsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7O0FBU1AsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFRLE1BQU0sQ0FBQyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgU21hcnQ6IGFueTtcbn1cbn1cblxuXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWxlbWVudFJlbmRlck1vZGUgfSBmcm9tICcuLy4uL2luZGV4JztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlRWxlbWVudCB7XG4gICAgY29uc3RydWN0b3IocmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSByZWYubmF0aXZlRWxlbWVudCBhcyBhbnk7XG5cbiAgICAgICAgdGhhdC5uYXRpdmVFbGVtZW50Lm9uQXR0YWNoZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGF0Lm9uQXR0YWNoLmVtaXQodGhhdC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoYXQubmF0aXZlRWxlbWVudC5vbkRldGFjaGVkID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhhdC5vbkRldGFjaC5lbWl0KHRoYXQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAT3V0cHV0KCkgb25DcmVhdGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvblJlYWR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgb25BdHRhY2g6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBvbkRldGFjaDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwdWJsaWMgbmF0aXZlRWxlbWVudDogYW55O1xuXG4gICAgcHVibGljIGFkZEV2ZW50TGlzdGVuZXIodHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCwgb3B0aW9uczogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuXHR9XG5cblx0cHVibGljIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCwgb3B0aW9uczogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zID0gZmFsc2UpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG5cdH1cblxuXHRwdWJsaWMgZGlzcGF0Y2hFdmVudChldmVudDogRXZlbnQpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuXHR9XG5cblx0cHVibGljIGJsdXIoKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LmJsdXIoKTtcblx0fVxuXG5cdHB1YmxpYyBjbGljaygpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcblx0fVxuXG5cdHB1YmxpYyBmb2N1cyhvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKG9wdGlvbnMpO1xuXHR9XG5cbi8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSBsYW5ndWFnZS4gVXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBwcm9wZXJ0eSBtZXNzYWdlcy4gICovXG5cdEBJbnB1dCgpXG5cdGdldCBsb2NhbGUoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LmxvY2FsZSA6IHVuZGVmaW5lZDtcblx0fVxuXHRzZXQgbG9jYWxlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxlID0gdmFsdWUgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKiogQGRlc2NyaXB0aW9uIENhbGxiYWNrIHVzZWQgdG8gY3VzdG9taXplIHRoZSBmb3JtYXQgb2YgdGhlIG1lc3NhZ2VzIHRoYXQgYXJlIHJldHVybmVkIGZyb20gdGhlIExvY2FsaXphdGlvbiBNb2R1bGUuICovXG5cdEBJbnB1dCgpXG5cdGdldCBsb2NhbGl6ZUZvcm1hdEZ1bmN0aW9uKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlRWxlbWVudCA/IHRoaXMubmF0aXZlRWxlbWVudC5sb2NhbGl6ZUZvcm1hdEZ1bmN0aW9uIDogdW5kZWZpbmVkO1xuXHR9XG5cdHNldCBsb2NhbGl6ZUZvcm1hdEZ1bmN0aW9uKHZhbHVlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubG9jYWxpemVGb3JtYXRGdW5jdGlvbiA9IHZhbHVlIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqIEBkZXNjcmlwdGlvbiBTZXRzIG9yIGdldHMgYW4gb2JqZWN0IHNwZWNpZnlpbmcgc3RyaW5ncyB1c2VkIGluIHRoZSB3aWRnZXQgdGhhdCBjYW4gYmUgbG9jYWxpemVkLiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIHByb3BlcnR5IGxvY2FsZS4gICovXG5cdEBJbnB1dCgpXG5cdGdldCBtZXNzYWdlcygpOiBhbnkge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgOiB1bmRlZmluZWQ7XG5cdH1cblx0c2V0IG1lc3NhZ2VzKHZhbHVlOiBhbnkpIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQubWVzc2FnZXMgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKiBAZGVzY3JpcHRpb24gU2V0cyBvciBnZXRzIHRoZSB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgYWxpZ25lZCB0byBzdXBwb3J0IGxvY2FsZXMgdXNpbmcgcmlnaHQtdG8tbGVmdCBmb250cy4gKi9cblx0QElucHV0KClcblx0Z2V0IHJpZ2h0VG9MZWZ0KCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQucmlnaHRUb0xlZnQgOiB1bmRlZmluZWQ7XG5cdH1cblx0c2V0IHJpZ2h0VG9MZWZ0KHZhbHVlOiBib29sZWFuKSB7XG5cdFx0dGhpcy5uYXRpdmVFbGVtZW50ID8gdGhpcy5uYXRpdmVFbGVtZW50LnJpZ2h0VG9MZWZ0ID0gdmFsdWUgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKiogQGRlc2NyaXB0aW9uIERldGVybWluZXMgdGhlIHRoZW1lLiBUaGVtZSBkZWZpbmVzIHRoZSBsb29rIG9mIHRoZSBlbGVtZW50ICovXG5cdEBJbnB1dCgpXG5cdGdldCB0aGVtZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgOiB1bmRlZmluZWQ7XG5cdH1cblx0c2V0IHRoZW1lKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLm5hdGl2ZUVsZW1lbnQgPyB0aGlzLm5hdGl2ZUVsZW1lbnQudGhlbWUgPSB2YWx1ZSA6IHVuZGVmaW5lZDtcblx0fVxufVxuXG5leHBvcnQgY29uc3QgU21hcnQ6IGFueSA9IHdpbmRvdy5TbWFydDtcblxuIl19