@ks89/angular-modal-gallery 10.0.0-rc.1 → 10.0.1
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.
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +5 -5
- package/README.md +11 -12
- package/esm2020/lib/components/accessible.component.mjs +5 -5
- package/esm2020/lib/components/carousel/carousel-previews/carousel-previews.component.mjs +3 -3
- package/esm2020/lib/components/carousel/carousel.component.mjs +5 -5
- package/esm2020/lib/components/components.mjs +2 -2
- package/esm2020/lib/components/current-image/current-image.component.mjs +5 -5
- package/esm2020/lib/components/current-image/loading-spinner/loading-spinner.component.mjs +4 -4
- package/esm2020/lib/components/dots/dots.component.mjs +5 -5
- package/esm2020/lib/components/modal-gallery/modal-gallery-ref.mjs +2 -2
- package/esm2020/lib/components/modal-gallery/modal-gallery.component.mjs +4 -4
- package/esm2020/lib/components/modal-gallery/modal-gallery.service.mjs +3 -3
- package/esm2020/lib/components/modal-gallery/modal-gallery.tokens.mjs +2 -2
- package/esm2020/lib/components/plain-gallery/plain-gallery.component.mjs +5 -5
- package/esm2020/lib/components/previews/previews.component.mjs +5 -5
- package/esm2020/lib/components/upper-buttons/upper-buttons.component.mjs +5 -5
- package/esm2020/lib/directives/a-tag-bg-image.directive.mjs +5 -5
- package/esm2020/lib/directives/click-outside.directive.mjs +5 -5
- package/esm2020/lib/directives/description.directive.mjs +5 -5
- package/esm2020/lib/directives/direction.directive.mjs +5 -5
- package/esm2020/lib/directives/directives.mjs +2 -2
- package/esm2020/lib/directives/fallback-image.directive.mjs +5 -5
- package/esm2020/lib/directives/keyboard-navigation.directive.mjs +5 -5
- package/esm2020/lib/directives/margin.directive.mjs +5 -5
- package/esm2020/lib/directives/max-size.directive.mjs +5 -5
- package/esm2020/lib/directives/size.directive.mjs +5 -5
- package/esm2020/lib/directives/wrap.directive.mjs +5 -5
- package/esm2020/lib/modal-gallery.module.mjs +9 -9
- package/esm2020/lib/model/accessibility.interface.mjs +2 -2
- package/esm2020/lib/model/action.enum.mjs +2 -2
- package/esm2020/lib/model/buttons-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-image-config.interface.mjs +2 -2
- package/esm2020/lib/model/carousel-preview-config.interface.mjs +2 -2
- package/esm2020/lib/model/current-image-config.interface.mjs +2 -2
- package/esm2020/lib/model/description.interface.mjs +2 -2
- package/esm2020/lib/model/dots-config.interface.mjs +2 -2
- package/esm2020/lib/model/image-internal.class.mjs +2 -2
- package/esm2020/lib/model/image.class.mjs +2 -2
- package/esm2020/lib/model/keyboard-config.interface.mjs +2 -2
- package/esm2020/lib/model/keyboard-service-config.interface.mjs +2 -2
- package/esm2020/lib/model/keyboard.enum.mjs +2 -2
- package/esm2020/lib/model/lib-config.interface.mjs +2 -2
- package/esm2020/lib/model/loading-config.interface.mjs +2 -2
- package/esm2020/lib/model/max-size.interface.mjs +2 -2
- package/esm2020/lib/model/modal-gallery-config.interface.mjs +2 -2
- package/esm2020/lib/model/plain-gallery-config.interface.mjs +2 -2
- package/esm2020/lib/model/play-config.interface.mjs +2 -2
- package/esm2020/lib/model/preview-config.interface.mjs +2 -2
- package/esm2020/lib/model/size.interface.mjs +2 -2
- package/esm2020/lib/model/slide-config.interface.mjs +2 -2
- package/esm2020/lib/services/config.service.mjs +5 -5
- package/esm2020/lib/services/id-validator.service.mjs +5 -5
- package/esm2020/lib/services/keyboard.service.mjs +5 -5
- package/esm2020/lib/utils/image.util.mjs +2 -2
- package/esm2020/lib/utils/user-input.util.mjs +2 -2
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/ks89-angular-modal-gallery.mjs +116 -115
- package/fesm2015/ks89-angular-modal-gallery.mjs.map +1 -1
- package/fesm2020/ks89-angular-modal-gallery.mjs +116 -115
- package/fesm2020/ks89-angular-modal-gallery.mjs.map +1 -1
- package/lib/components/accessible.component.d.ts +1 -1
- package/lib/components/carousel/carousel-previews/carousel-previews.component.d.ts +1 -1
- package/lib/components/carousel/carousel.component.d.ts +1 -1
- package/lib/components/current-image/current-image.component.d.ts +1 -1
- package/lib/components/current-image/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/components/dots/dots.component.d.ts +1 -1
- package/lib/components/modal-gallery/modal-gallery.component.d.ts +1 -1
- package/lib/components/plain-gallery/plain-gallery.component.d.ts +1 -1
- package/lib/components/previews/previews.component.d.ts +1 -1
- package/lib/components/upper-buttons/upper-buttons.component.d.ts +1 -1
- package/lib/directives/a-tag-bg-image.directive.d.ts +1 -1
- package/lib/directives/click-outside.directive.d.ts +1 -1
- package/lib/directives/description.directive.d.ts +1 -1
- package/lib/directives/direction.directive.d.ts +1 -1
- package/lib/directives/fallback-image.directive.d.ts +1 -1
- package/lib/directives/keyboard-navigation.directive.d.ts +1 -1
- package/lib/directives/margin.directive.d.ts +1 -1
- package/lib/directives/max-size.directive.d.ts +1 -1
- package/lib/directives/size.directive.d.ts +1 -1
- package/lib/directives/wrap.directive.d.ts +1 -1
- package/package.json +7 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -359,9 +359,9 @@ export class ConfigService {
|
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
|
-
ConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
363
|
-
ConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
364
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
362
|
+
ConfigService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
363
|
+
ConfigService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ConfigService, providedIn: 'root' });
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: ConfigService, decorators: [{
|
|
365
365
|
type: Injectable,
|
|
366
366
|
args: [{ providedIn: 'root' }]
|
|
367
367
|
}] });
|
|
@@ -393,4 +393,4 @@ function initPlainGalleryConfig(plainGalleryConfig) {
|
|
|
393
393
|
}
|
|
394
394
|
return newPlayGalleryConfig;
|
|
395
395
|
}
|
|
396
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTNILE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFlLG1CQUFtQixFQUFvQixNQUFNLGdDQUFnQyxDQUFDOztBQU9wRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDMUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXVCO0lBQ3RELFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHO0lBQ2xDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFO0NBQ2xFLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdB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TUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFMUgsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLFlBQVksVUFBVSxFQUFFO1FBQ3JELElBQUksb0JBQW9CLENBQUMsUUFBUSxLQUFLLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEtBQUssb0JBQW9CLENBQUMsTUFBTSxFQUFFO1lBQy9ILE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQzVFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtLQUNGO0lBRUQsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLFlBQVksVUFBVSxFQUFFO1FBQ3JELElBQUksb0JBQW9CLENBQUMsUUFBUSxLQUFLLG9CQUFvQixDQUFDLElBQUksRUFBRTtZQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUM1RSxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCw2QkFBNkI7UUFDN0Isb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0tBQ3JEO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2lkZVByZXZpZXdzQ29uZmlnLCBTbGlkZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL3NsaWRlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxheUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL3BsYXktY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLU19ERUZBVUxUX0FDQ0VTU0lCSUxJVFlfQ09ORklHIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY2Nlc3NpYmlsaXR5LWRlZmF1bHQnO1xuaW1wb3J0IHsgUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL3ByZXZpZXctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vbW9kZWwvc2l6ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnV0dG9uc0NvbmZpZywgQnV0dG9uc1N0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWwvYnV0dG9ucy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IERvdHNDb25maWcgfSBmcm9tICcuLi9tb2RlbC9kb3RzLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZExheW91dCwgTGluZUxheW91dCwgUGxhaW5HYWxsZXJ5Q29uZmlnLCBQbGFpbkdhbGxlcnlTdHJhdGVneSB9IGZyb20gJy4uL21vZGVsL3BsYWluLWdhbGxlcnktY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDdXJyZW50SW1hZ2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jdXJyZW50LWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbmZpZywgTG9hZGluZ1R5cGUgfSBmcm9tICcuLi9tb2RlbC9sb2FkaW5nLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGVzY3JpcHRpb24sIERlc2NyaXB0aW9uU3RyYXRlZ3ksIERlc2NyaXB0aW9uU3R5bGUgfSBmcm9tICcuLi9tb2RlbC9kZXNjcmlwdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcm91c2VsSW1hZ2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1pbWFnZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzQ29uZmlnLCBDYXJvdXNlbFByZXZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1wcmV2aWV3LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwva2V5Ym9hcmQtc2VydmljZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpYkNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2xpYi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUFJFVklFV19TSVpFOiBTaXplID0geyBoZWlnaHQ6ICc1MHB4Jywgd2lkdGg6ICdhdXRvJyB9O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZT1VUOiBMaW5lTGF5b3V0ID0gbmV3IExpbmVMYXlvdXQoREVGQVVMVF9QUkVWSUVXX1NJWkUsIHsgbGVuZ3RoOiAtMSwgd3JhcDogZmFsc2UgfSwgJ2ZsZXgtc3RhcnQnKTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMQUlOX0NPTkZJRzogUGxhaW5HYWxsZXJ5Q29uZmlnID0ge1xuICBzdHJhdGVneTogUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuUk9XLFxuICBsYXlvdXQ6IERFRkFVTFRfTEFZT1VULFxuICBhZHZhbmNlZDogeyBhVGFnczogZmFsc2UsIGFkZGl0aW9uYWxCYWNrZ3JvdW5kOiAnNTAlIDUwJS9jb3ZlcicgfVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQURJTkc6IExvYWRpbmdDb25maWcgPSB7IGVuYWJsZTogdHJ1ZSwgdHlwZTogTG9hZGluZ1R5cGUuU1RBTkRBUkQgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFU0NSSVBUSU9OX1NUWUxFOiBEZXNjcmlwdGlvblN0eWxlID0ge1xuICBiZ0NvbG9yOiAncmdiYSgwLCAwLCAwLCAuNSknLFxuICB0ZXh0Q29sb3I6ICd3aGl0ZScsXG4gIG1hcmdpblRvcDogJzBweCcsXG4gIG1hcmdpbkJvdHRvbTogJzBweCcsXG4gIG1hcmdpbkxlZnQ6ICcwcHgnLFxuICBtYXJnaW5SaWdodDogJzBweCdcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVNDUklQVElPTjogRGVzY3JpcHRpb24gPSB7XG4gIHN0cmF0ZWd5OiBEZXNjcmlwdGlvblN0cmF0ZWd5LkFMV0FZU19WSVNJQkxFLFxuICBpbWFnZVRleHQ6ICdJbWFnZSAnLFxuICBudW1iZXJTZXBhcmF0b3I6ICcvJyxcbiAgYmVmb3JlVGV4dERlc2NyaXB0aW9uOiAnIC0gJyxcbiAgc3R5bGU6IERFRkFVTFRfREVTQ1JJUFRJT05fU1RZTEVcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9ERVNDUklQVElPTjogRGVzY3JpcHRpb24gPSB7XG4gIHN0cmF0ZWd5OiBEZXNjcmlwdGlvblN0cmF0ZWd5LkFMV0FZU19ISURERU4sXG4gIGltYWdlVGV4dDogJ0ltYWdlICcsXG4gIG51bWJlclNlcGFyYXRvcjogJy8nLFxuICBiZWZvcmVUZXh0RGVzY3JpcHRpb246ICcgLSAnLFxuICBzdHlsZTogREVGQVVMVF9ERVNDUklQVElPTl9TVFlMRVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVUlJFTlRfSU1BR0VfQ09ORklHOiBDdXJyZW50SW1hZ2VDb25maWcgPSB7XG4gIG5hdmlnYXRlT25DbGljazogdHJ1ZSxcbiAgbG9hZGluZ0NvbmZpZzogREVGQVVMVF9MT0FESU5HLFxuICBkZXNjcmlwdGlvbjogREVGQVVMVF9ERVNDUklQVElPTixcbiAgZG93bmxvYWRhYmxlOiBmYWxzZSxcbiAgaW52ZXJ0U3dpcGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfSU1BR0VfQ09ORklHOiBDYXJvdXNlbEltYWdlQ29uZmlnID0ge1xuICBkZXNjcmlwdGlvbjogREVGQVVMVF9DQVJPVVNFTF9ERVNDUklQVElPTixcbiAgaW52ZXJ0U3dpcGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9DT05GSUc6IENhcm91c2VsQ29uZmlnID0ge1xuICBtYXhXaWR0aDogJzEwMCUnLFxuICBtYXhIZWlnaHQ6ICc0MDBweCcsXG4gIHNob3dBcnJvd3M6IHRydWUsXG4gIG9iamVjdEZpdDogJ2NvdmVyJyxcbiAga2V5Ym9hcmRFbmFibGU6IHRydWUsXG4gIG1vZGFsR2FsbGVyeUVuYWJsZTogZmFsc2Vcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVJSRU5UX0NBUk9VU0VMX1BMQVk6IFBsYXlDb25maWcgPSB7XG4gIGF1dG9QbGF5OiB0cnVlLFxuICBpbnRlcnZhbDogNTAwMCxcbiAgcGF1c2VPbkhvdmVyOiB0cnVlXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9CUkVBS1BPSU5UUzogQnJlYWtwb2ludHNDb25maWcgPSB7IHhTbWFsbDogMTAwLCBzbWFsbDogMTAwLCBtZWRpdW06IDE1MCwgbGFyZ2U6IDIwMCwgeExhcmdlOiAyMDAgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRzogQ2Fyb3VzZWxQcmV2aWV3Q29uZmlnID0ge1xuICB2aXNpYmxlOiB0cnVlLFxuICBudW1iZXI6IDQsXG4gIGFycm93czogdHJ1ZSxcbiAgY2xpY2thYmxlOiB0cnVlLFxuICB3aWR0aDogMTAwIC8gNCArICclJyxcbiAgbWF4SGVpZ2h0OiAnMjAwcHgnLFxuICBicmVha3BvaW50czogREVGQVVMVF9DQVJPVVNFTF9CUkVBS1BPSU5UU1xufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0tFWUJPQVJEX1NFUlZJQ0VfQ09ORklHOiBLZXlib2FyZFNlcnZpY2VDb25maWcgPSB7XG4gIHNob3J0Y3V0czogWydjdHJsK3MnLCAnbWV0YStzJ10sXG4gIGRpc2FibGVTc3JXb3JrYXJvdW5kOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NMSURFX0NPTkZJRzogU2xpZGVDb25maWcgPSB7XG4gIGluZmluaXRlOiBmYWxzZSxcbiAgcGxheUNvbmZpZzogeyBhdXRvUGxheTogZmFsc2UsIGludGVydmFsOiA1MDAwLCBwYXVzZU9uSG92ZXI6IHRydWUgfSBhcyBQbGF5Q29uZmlnLFxuICBzaWRlUHJldmlld3M6IHsgc2hvdzogdHJ1ZSwgc2l6ZTogeyB3aWR0aDogJzEwMHB4JywgaGVpZ2h0OiAnYXV0bycgfSB9IGFzIFNpZGVQcmV2aWV3c0NvbmZpZ1xufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BSRVZJRVdfQ09ORklHOiBQcmV2aWV3Q29uZmlnID0ge1xuICB2aXNpYmxlOiB0cnVlLFxuICBudW1iZXI6IDMsXG4gIGFycm93czogdHJ1ZSxcbiAgY2xpY2thYmxlOiB0cnVlLFxuICBzaXplOiBERUZBVUxUX1BSRVZJRVdfU0laRVxufTtcblxuY29uc3QgREVGQVVMVF9DT05GSUc6IExpYkNvbmZpZyA9IE9iamVjdC5mcmVlemUoe1xuICBzbGlkZUNvbmZpZzogREVGQVVMVF9TTElERV9DT05GSUcsXG4gIGFjY2Vzc2liaWxpdHlDb25maWc6IEtTX0RFRkFVTFRfQUNDRVNTSUJJTElUWV9DT05GSUcsXG4gIHByZXZpZXdDb25maWc6IERFRkFVTFRfUFJFVklFV19DT05GSUcsXG4gIGJ1dHRvbnNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSwgc3RyYXRlZ3k6IEJ1dHRvbnNTdHJhdGVneS5ERUZBVUxUIH0gYXMgQnV0dG9uc0NvbmZpZyxcbiAgZG90c0NvbmZpZzogeyB2aXNpYmxlOiB0cnVlIH0gYXMgRG90c0NvbmZpZyxcbiAgcGxhaW5HYWxsZXJ5Q29uZmlnOiBERUZBVUxUX1BMQUlOX0NPTkZJRyxcbiAgY3VycmVudEltYWdlQ29uZmlnOiBERUZBVUxUX0NVUlJFTlRfSU1BR0VfQ09ORklHLFxuICBrZXlib2FyZENvbmZpZzogdW5kZWZpbmVkLCAvLyBieSBkZWZhdWx0IG5vdGhpbmcsIGJlY2F1c2UgdGhlIGxpYnJhcnkgdXNlcyBkZWZhdWx0IGJ1dHRvbnMgYXV0b21hdGljYWxseVxuICBjYXJvdXNlbENvbmZpZzogREVGQVVMVF9DVVJSRU5UX0NBUk9VU0VMX0NPTkZJRyxcbiAgY2Fyb3VzZWxJbWFnZUNvbmZpZzogREVGQVVMVF9DQVJPVVNFTF9JTUFHRV9DT05GSUcsXG4gIGNhcm91c2VsUHJldmlld3NDb25maWc6IERFRkFVTFRfQ0FST1VTRUxfUFJFVklFV1NfQ09ORklHLFxuICBjYXJvdXNlbFBsYXlDb25maWc6IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9QTEFZLFxuICBjYXJvdXNlbERvdHNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSB9IGFzIERvdHNDb25maWcsXG4gIGNhcm91c2VsU2xpZGVJbmZpbml0ZTogdHJ1ZSxcbiAgZW5hYmxlQ2xvc2VPdXRzaWRlOiB0cnVlLFxuICBrZXlib2FyZFNlcnZpY2VDb25maWc6IERFRkFVTFRfS0VZQk9BUkRfU0VSVklDRV9DT05GSUdcbn0pO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGxpYnJhcnkgY29uZmlndXJhdGlvbiBpbiBhIHVuaXF1ZSBwbGFjZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NlcnZpY2Uge1xuICBjb25maWdNYXA6IE1hcDxudW1iZXIsIExpYkNvbmZpZz4gPSBuZXcgTWFwPG51bWJlciwgTGliQ29uZmlnPigpO1xuXG4gIGdldENvbmZpZyhpZDogbnVtYmVyKTogTGliQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLmluaXRJZk5vdEV4aXN0cyhpZCk7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnTWFwLmdldChpZCk7XG4gIH1cblxuICBzZXRDb25maWcoaWQ6IG51bWJlciwgb2JqOiBMaWJDb25maWcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRJZk5vdEV4aXN0cyhpZCk7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhREVGQVVMVF9DT05GSUcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLnNpemUgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLm51bWJlciB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMgfHxcbiAgICAgICFERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRy5udW1iZXJcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW50ZXJuYWwgbGlicmFyeSBlcnJvciAtIERFRkFVTFRfQ09ORklHIG11c3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQhISEnKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdDb25maWc6IExpYkNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnTWFwLmdldChpZCkpO1xuICAgIGlmIChvYmouc2xpZGVDb25maWcpIHtcbiAgICAgIGxldCBwbGF5Q29uZmlnO1xuICAgICAgbGV0IHNpZGVQcmV2aWV3cztcbiAgICAgIGxldCBzaXplO1xuICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnKSB7XG4gICAgICAgIHBsYXlDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnLCBvYmouc2xpZGVDb25maWcucGxheUNvbmZpZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwbGF5Q29uZmlnID0gREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcucGxheUNvbmZpZztcbiAgICAgIH1cbiAgICAgIGlmIChvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzKSB7XG4gICAgICAgIGlmIChvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemUpIHtcbiAgICAgICAgICBzaXplID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemUsIG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplO1xuICAgICAgICB9XG4gICAgICAgIHNpZGVQcmV2aWV3cyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cywgb2JqLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWRlUHJldmlld3MgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3M7XG4gICAgICAgIHNpemUgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1NsaWRlQ29uZmlnOiBTbGlkZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLCBvYmouc2xpZGVDb25maWcpO1xuICAgICAgbmV3U2xpZGVDb25maWcucGxheUNvbmZpZyA9IHBsYXlDb25maWc7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5zaWRlUHJldmlld3MgPSBzaWRlUHJldmlld3M7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSA9IHNpemU7XG4gICAgICBuZXdDb25maWcuc2xpZGVDb25maWcgPSBuZXdTbGlkZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5hY2Nlc3NpYmlsaXR5Q29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuYWNjZXNzaWJpbGl0eUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmFjY2Vzc2liaWxpdHlDb25maWcsIG9iai5hY2Nlc3NpYmlsaXR5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnKSB7XG4gICAgICBsZXQgc2l6ZTogU2l6ZTtcbiAgICAgIGxldCBudW06IG51bWJlcjtcbiAgICAgIGlmIChvYmoucHJldmlld0NvbmZpZy5zaXplKSB7XG4gICAgICAgIHNpemUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLnNpemUsIG9iai5wcmV2aWV3Q29uZmlnLnNpemUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZTtcbiAgICAgIH1cbiAgICAgIGlmIChvYmoucHJldmlld0NvbmZpZy5udW1iZXIpIHtcbiAgICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLm51bWJlciA8PSAwKSB7XG4gICAgICAgICAgLy8gaWYgbnVtYmVyIGlzIDw9IDAgcmVzZXQgdG8gZGVmYXVsdFxuICAgICAgICAgIG51bSA9IERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcubnVtYmVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG51bSA9IG9iai5wcmV2aWV3Q29uZmlnLm51bWJlcjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbnVtID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5udW1iZXI7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQcmV2aWV3Q29uZmlnOiBQcmV2aWV3Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZywgb2JqLnByZXZpZXdDb25maWcpO1xuICAgICAgbmV3UHJldmlld0NvbmZpZy5zaXplID0gc2l6ZTtcbiAgICAgIG5ld1ByZXZpZXdDb25maWcubnVtYmVyID0gbnVtO1xuICAgICAgbmV3Q29uZmlnLnByZXZpZXdDb25maWcgPSBuZXdQcmV2aWV3Q29uZmlnO1xuICAgIH1cbiAgICBpZiAob2JqLmJ1dHRvbnNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5idXR0b25zQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuYnV0dG9uc0NvbmZpZywgb2JqLmJ1dHRvbnNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmRvdHNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5kb3RzQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuZG90c0NvbmZpZywgb2JqLmRvdHNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLnBsYWluR2FsbGVyeUNvbmZpZykge1xuICAgICAgbGV0IGFkdmFuY2VkO1xuICAgICAgbGV0IGxheW91dDtcbiAgICAgIGlmIChvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkKSB7XG4gICAgICAgIGFkdmFuY2VkID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkLCBvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkdmFuY2VkID0gREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0KSB7XG4gICAgICAgIC8vIGl0IGlzbid0IG1hbmRhdG9yeSB0byB1c2UgYXNzaWduLCBiZWNhdXNlIG9iai5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0IGlzIGFuIGluc3RhbmNlIG9mIGNsYXNzIChMaW5lYUxheW91dCwgR3JpZExheW91dClcbiAgICAgICAgbGF5b3V0ID0gb2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYXlvdXQgPSBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0O1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnOiBQbGFpbkdhbGxlcnlDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcsIG9iai5wbGFpbkdhbGxlcnlDb25maWcpO1xuICAgICAgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnLmxheW91dCA9IGxheW91dDtcbiAgICAgIG5ld1BsYWluR2FsbGVyeUNvbmZpZy5hZHZhbmNlZCA9IGFkdmFuY2VkO1xuICAgICAgbmV3Q29uZmlnLnBsYWluR2FsbGVyeUNvbmZpZyA9IGluaXRQbGFpbkdhbGxlcnlDb25maWcobmV3UGxhaW5HYWxsZXJ5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcpIHtcbiAgICAgIGxldCBsb2FkaW5nO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnKSB7XG4gICAgICAgIGxvYWRpbmcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcubG9hZGluZ0NvbmZpZywgb2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvYWRpbmcgPSBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcubG9hZGluZ0NvbmZpZztcbiAgICAgIH1cbiAgICAgIGlmIChvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUpIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZXNjcmlwdGlvbiA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0N1cnJlbnRJbWFnZUNvbmZpZzogQ3VycmVudEltYWdlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLCBvYmouY3VycmVudEltYWdlQ29uZmlnKTtcbiAgICAgIG5ld0N1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnID0gbG9hZGluZztcbiAgICAgIG5ld0N1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlID0gZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIG5ld0NvbmZpZy5jdXJyZW50SW1hZ2VDb25maWcgPSBuZXdDdXJyZW50SW1hZ2VDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmoua2V5Ym9hcmRDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5rZXlib2FyZENvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmtleWJvYXJkQ29uZmlnLCBvYmoua2V5Ym9hcmRDb25maWcpO1xuICAgIH1cblxuICAgIC8vIGNhcm91c2VsXG4gICAgaWYgKG9iai5jYXJvdXNlbENvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxDb25maWcsIG9iai5jYXJvdXNlbENvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZykge1xuICAgICAgbGV0IGRlc2NyaXB0aW9uO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBpZiAob2JqLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbik7XG4gICAgICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSkge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdDYXJvdXNlbEltYWdlQ29uZmlnOiBDYXJvdXNlbEltYWdlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZywgb2JqLmNhcm91c2VsSW1hZ2VDb25maWcpO1xuICAgICAgbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSA9IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxJbWFnZUNvbmZpZyA9IG5ld0Nhcm91c2VsSW1hZ2VDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxQbGF5Q29uZmlnKSB7XG4gICAgICAvLyBjaGVjayB2YWx1ZXNcbiAgICAgIGlmIChvYmouY2Fyb3VzZWxQbGF5Q29uZmlnLmludGVydmFsIDw9IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYXJvdXNlbCdzIGludGVydmFsIG11c3QgYmUgYSBudW1iZXIgPj0gMGApO1xuICAgICAgfVxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUGxheUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsUGxheUNvbmZpZywgb2JqLmNhcm91c2VsUGxheUNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZykge1xuICAgICAgLy8gY2hlY2sgdmFsdWVzXG4gICAgICBsZXQgbnVtOiBudW1iZXI7XG4gICAgICBsZXQgYnJlYWtwb2ludHM6IEJyZWFrcG9pbnRzQ29uZmlnO1xuICAgICAgaWYgKCFvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgfHwgb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcubnVtYmVyIDw9IDApIHtcbiAgICAgICAgbnVtID0gREVGQVVMVF9DQVJPVVNFTF9QUkVWSUVXU19DT05GSUcubnVtYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbnVtID0gb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcubnVtYmVyO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgIGJyZWFrcG9pbnRzID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cywgb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWtwb2ludHMgPSBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzO1xuICAgICAgfVxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUHJldmlld3NDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyk7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgPSBudW07XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyA9IGJyZWFrcG9pbnRzO1xuICAgICAgLy8gSW5pdCBwcmV2aWV3IGltYWdlIHdpZHRoIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcHJldmlld3MgaW4gUHJldmlld0NvbmZpZ1xuICAgICAgLy8gRG9uJ3QgbW92ZSB0aGlzIGxpbmUgYWJvdmUsIGJlY2F1c2UgSSBuZWVkIHRvIGJlIHN1cmUgdGhhdCBib3RoIGNvbmZpZ1ByZXZpZXcubnVtYmVyXG4gICAgICAvLyBhbmQgY29uZmlnUHJldmlldy5zaXplIGFyZSBpbml0aWFsaXplZFxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUHJldmlld3NDb25maWcud2lkdGggPSAxMDAgLyBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgKyAnJSc7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxEb3RzQ29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxEb3RzQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxEb3RzQ29uZmlnLCBvYmouY2Fyb3VzZWxEb3RzQ29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFNsaWRlSW5maW5pdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsU2xpZGVJbmZpbml0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9IG9iai5jYXJvdXNlbFNsaWRlSW5maW5pdGU7XG4gICAgfVxuICAgIGlmIChvYmouZW5hYmxlQ2xvc2VPdXRzaWRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG5ld0NvbmZpZy5lbmFibGVDbG9zZU91dHNpZGUgPSBERUZBVUxUX0NPTkZJRy5lbmFibGVDbG9zZU91dHNpZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0NvbmZpZy5lbmFibGVDbG9zZU91dHNpZGUgPSBvYmouZW5hYmxlQ2xvc2VPdXRzaWRlO1xuICAgIH1cbiAgICBpZiAob2JqLmtleWJvYXJkU2VydmljZUNvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmtleWJvYXJkU2VydmljZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfS0VZQk9BUkRfU0VSVklDRV9DT05GSUcsIG9iai5rZXlib2FyZFNlcnZpY2VDb25maWcpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ01hcC5zZXQoaWQsIG5ld0NvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRJZk5vdEV4aXN0cyhpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZ01hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmNvbmZpZ01hcC5zZXQoaWQsIERFRkFVTFRfQ09ORklHKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0byBidWlsZCBhbmQgcmV0dXJuIGEgYFBsYWluR2FsbGVyeUNvbmZpZ2Agb2JqZWN0LCBwcm92aW5nIGFsc28gZGVmYXVsdCB2YWx1ZXMgYW5kIHZhbGlkYXRpbmcgdGhlIGlucHV0IG9iamVjdC5cbiAqIEBwYXJhbSBwbGFpbkdhbGxlcnlDb25maWcgb2JqZWN0IHdpdGggdGhlIGNvbmZpZyByZXF1ZXN0ZWQgYnkgdXNlclxuICogQHJldHVybnMgUGxhaW5HYWxsZXJ5Q29uZmlnIHRoZSBwbGFpbiBnYWxsZXJ5IGNvbmZpZ3VyYXRpb25cbiAqIEB0aHJvd3MgYW4gRXJyb3IgaWYgbGF5b3V0IGFuZCBzdHJhdGVneSBhcmVuJ3QgY29tcGF0aWJsZVxuICovXG5mdW5jdGlvbiBpbml0UGxhaW5HYWxsZXJ5Q29uZmlnKHBsYWluR2FsbGVyeUNvbmZpZzogUGxhaW5HYWxsZXJ5Q29uZmlnKTogUGxhaW5HYWxsZXJ5Q29uZmlnIHtcbiAgY29uc3QgbmV3UGxheUdhbGxlcnlDb25maWc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZywgcGxhaW5HYWxsZXJ5Q29uZmlnKTtcblxuICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IGluc3RhbmNlb2YgTGluZUxheW91dCkge1xuICAgIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5zdHJhdGVneSAhPT0gUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuUk9XICYmIG5ld1BsYXlHYWxsZXJ5Q29uZmlnLnN0cmF0ZWd5ICE9PSBQbGFpbkdhbGxlcnlTdHJhdGVneS5DT0xVTU4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGluZUxheW91dCByZXF1aXJlcyBlaXRoZXIgUk9XIG9yIENPTFVNTiBzdHJhdGVneScpO1xuICAgIH1cbiAgICBpZiAoIW5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dCB8fCAhbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0LmJyZWFrQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggbGF5b3V0IGFuZCBicmVha0NvbmZpZyBtdXN0IGJlIHZhbGlkJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dCBpbnN0YW5jZW9mIEdyaWRMYXlvdXQpIHtcbiAgICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcuc3RyYXRlZ3kgIT09IFBsYWluR2FsbGVyeVN0cmF0ZWd5LkdSSUQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR3JpZExheW91dCByZXF1aXJlcyBHUklEIHN0cmF0ZWd5Jyk7XG4gICAgfVxuICAgIGlmICghbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IHx8ICFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBsYXlvdXQgYW5kIGJyZWFrQ29uZmlnIG11c3QgYmUgdmFsaWQnKTtcbiAgICB9XG4gICAgLy8gZm9yY2Ugd3JhcCBmb3IgZ3JpZCBsYXlvdXRcbiAgICBuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcud3JhcCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIG5ld1BsYXlHYWxsZXJ5Q29uZmlnO1xufVxuIl19
|
|
396
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd0RixPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFzQixvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTNILE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0UsT0FBTyxFQUFlLG1CQUFtQixFQUFvQixNQUFNLGdDQUFnQyxDQUFDOztBQU9wRyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBZSxJQUFJLFVBQVUsQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFDMUgsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXVCO0lBQ3RELFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHO0lBQ2xDLE1BQU0sRUFBRSxjQUFjO0lBQ3RCLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFO0NBQ2xFLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxlQUFlLEdB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TUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFMUgsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLFlBQVksVUFBVSxFQUFFO1FBQ3JELElBQUksb0JBQW9CLENBQUMsUUFBUSxLQUFLLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxvQkFBb0IsQ0FBQyxRQUFRLEtBQUssb0JBQW9CLENBQUMsTUFBTSxFQUFFO1lBQy9ILE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztTQUN0RTtRQUNELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQzVFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtLQUNGO0lBRUQsSUFBSSxvQkFBb0IsQ0FBQyxNQUFNLFlBQVksVUFBVSxFQUFFO1FBQ3JELElBQUksb0JBQW9CLENBQUMsUUFBUSxLQUFLLG9CQUFvQixDQUFDLElBQUksRUFBRTtZQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUM1RSxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCw2QkFBNkI7UUFDN0Isb0JBQW9CLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0tBQ3JEO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztBQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2lkZVByZXZpZXdzQ29uZmlnLCBTbGlkZUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL3NsaWRlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxheUNvbmZpZyB9IGZyb20gJy4uL21vZGVsL3BsYXktY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLU19ERUZBVUxUX0FDQ0VTU0lCSUxJVFlfQ09ORklHIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hY2Nlc3NpYmlsaXR5LWRlZmF1bHQnO1xuaW1wb3J0IHsgUHJldmlld0NvbmZpZyB9IGZyb20gJy4uL21vZGVsL3ByZXZpZXctY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaXplIH0gZnJvbSAnLi4vbW9kZWwvc2l6ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQnV0dG9uc0NvbmZpZywgQnV0dG9uc1N0cmF0ZWd5IH0gZnJvbSAnLi4vbW9kZWwvYnV0dG9ucy1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IERvdHNDb25maWcgfSBmcm9tICcuLi9tb2RlbC9kb3RzLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR3JpZExheW91dCwgTGluZUxheW91dCwgUGxhaW5HYWxsZXJ5Q29uZmlnLCBQbGFpbkdhbGxlcnlTdHJhdGVneSB9IGZyb20gJy4uL21vZGVsL3BsYWluLWdhbGxlcnktY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDdXJyZW50SW1hZ2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jdXJyZW50LWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbmZpZywgTG9hZGluZ1R5cGUgfSBmcm9tICcuLi9tb2RlbC9sb2FkaW5nLWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGVzY3JpcHRpb24sIERlc2NyaXB0aW9uU3RyYXRlZ3ksIERlc2NyaXB0aW9uU3R5bGUgfSBmcm9tICcuLi9tb2RlbC9kZXNjcmlwdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcm91c2VsSW1hZ2VDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1pbWFnZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJyZWFrcG9pbnRzQ29uZmlnLCBDYXJvdXNlbFByZXZpZXdDb25maWcgfSBmcm9tICcuLi9tb2RlbC9jYXJvdXNlbC1wcmV2aWV3LWNvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTZXJ2aWNlQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwva2V5Ym9hcmQtc2VydmljZS1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IExpYkNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2xpYi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUFJFVklFV19TSVpFOiBTaXplID0geyBoZWlnaHQ6ICc1MHB4Jywgd2lkdGg6ICdhdXRvJyB9O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFZT1VUOiBMaW5lTGF5b3V0ID0gbmV3IExpbmVMYXlvdXQoREVGQVVMVF9QUkVWSUVXX1NJWkUsIHsgbGVuZ3RoOiAtMSwgd3JhcDogZmFsc2UgfSwgJ2ZsZXgtc3RhcnQnKTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMQUlOX0NPTkZJRzogUGxhaW5HYWxsZXJ5Q29uZmlnID0ge1xuICBzdHJhdGVneTogUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuUk9XLFxuICBsYXlvdXQ6IERFRkFVTFRfTEFZT1VULFxuICBhZHZhbmNlZDogeyBhVGFnczogZmFsc2UsIGFkZGl0aW9uYWxCYWNrZ3JvdW5kOiAnNTAlIDUwJS9jb3ZlcicgfVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPQURJTkc6IExvYWRpbmdDb25maWcgPSB7IGVuYWJsZTogdHJ1ZSwgdHlwZTogTG9hZGluZ1R5cGUuU1RBTkRBUkQgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0RFU0NSSVBUSU9OX1NUWUxFOiBEZXNjcmlwdGlvblN0eWxlID0ge1xuICBiZ0NvbG9yOiAncmdiYSgwLCAwLCAwLCAuNSknLFxuICB0ZXh0Q29sb3I6ICd3aGl0ZScsXG4gIG1hcmdpblRvcDogJzBweCcsXG4gIG1hcmdpbkJvdHRvbTogJzBweCcsXG4gIG1hcmdpbkxlZnQ6ICcwcHgnLFxuICBtYXJnaW5SaWdodDogJzBweCdcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9ERVNDUklQVElPTjogRGVzY3JpcHRpb24gPSB7XG4gIHN0cmF0ZWd5OiBEZXNjcmlwdGlvblN0cmF0ZWd5LkFMV0FZU19WSVNJQkxFLFxuICBpbWFnZVRleHQ6ICdJbWFnZSAnLFxuICBudW1iZXJTZXBhcmF0b3I6ICcvJyxcbiAgYmVmb3JlVGV4dERlc2NyaXB0aW9uOiAnIC0gJyxcbiAgc3R5bGU6IERFRkFVTFRfREVTQ1JJUFRJT05fU1RZTEVcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9ERVNDUklQVElPTjogRGVzY3JpcHRpb24gPSB7XG4gIHN0cmF0ZWd5OiBEZXNjcmlwdGlvblN0cmF0ZWd5LkFMV0FZU19ISURERU4sXG4gIGltYWdlVGV4dDogJ0ltYWdlICcsXG4gIG51bWJlclNlcGFyYXRvcjogJy8nLFxuICBiZWZvcmVUZXh0RGVzY3JpcHRpb246ICcgLSAnLFxuICBzdHlsZTogREVGQVVMVF9ERVNDUklQVElPTl9TVFlMRVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NVUlJFTlRfSU1BR0VfQ09ORklHOiBDdXJyZW50SW1hZ2VDb25maWcgPSB7XG4gIG5hdmlnYXRlT25DbGljazogdHJ1ZSxcbiAgbG9hZGluZ0NvbmZpZzogREVGQVVMVF9MT0FESU5HLFxuICBkZXNjcmlwdGlvbjogREVGQVVMVF9ERVNDUklQVElPTixcbiAgZG93bmxvYWRhYmxlOiBmYWxzZSxcbiAgaW52ZXJ0U3dpcGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ0FST1VTRUxfSU1BR0VfQ09ORklHOiBDYXJvdXNlbEltYWdlQ29uZmlnID0ge1xuICBkZXNjcmlwdGlvbjogREVGQVVMVF9DQVJPVVNFTF9ERVNDUklQVElPTixcbiAgaW52ZXJ0U3dpcGU6IGZhbHNlXG59O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9DT05GSUc6IENhcm91c2VsQ29uZmlnID0ge1xuICBtYXhXaWR0aDogJzEwMCUnLFxuICBtYXhIZWlnaHQ6ICc0MDBweCcsXG4gIHNob3dBcnJvd3M6IHRydWUsXG4gIG9iamVjdEZpdDogJ2NvdmVyJyxcbiAga2V5Ym9hcmRFbmFibGU6IHRydWUsXG4gIG1vZGFsR2FsbGVyeUVuYWJsZTogZmFsc2Vcbn07XG5leHBvcnQgY29uc3QgREVGQVVMVF9DVVJSRU5UX0NBUk9VU0VMX1BMQVk6IFBsYXlDb25maWcgPSB7XG4gIGF1dG9QbGF5OiB0cnVlLFxuICBpbnRlcnZhbDogNTAwMCxcbiAgcGF1c2VPbkhvdmVyOiB0cnVlXG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DQVJPVVNFTF9CUkVBS1BPSU5UUzogQnJlYWtwb2ludHNDb25maWcgPSB7IHhTbWFsbDogMTAwLCBzbWFsbDogMTAwLCBtZWRpdW06IDE1MCwgbGFyZ2U6IDIwMCwgeExhcmdlOiAyMDAgfTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRzogQ2Fyb3VzZWxQcmV2aWV3Q29uZmlnID0ge1xuICB2aXNpYmxlOiB0cnVlLFxuICBudW1iZXI6IDQsXG4gIGFycm93czogdHJ1ZSxcbiAgY2xpY2thYmxlOiB0cnVlLFxuICB3aWR0aDogMTAwIC8gNCArICclJyxcbiAgbWF4SGVpZ2h0OiAnMjAwcHgnLFxuICBicmVha3BvaW50czogREVGQVVMVF9DQVJPVVNFTF9CUkVBS1BPSU5UU1xufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0tFWUJPQVJEX1NFUlZJQ0VfQ09ORklHOiBLZXlib2FyZFNlcnZpY2VDb25maWcgPSB7XG4gIHNob3J0Y3V0czogWydjdHJsK3MnLCAnbWV0YStzJ10sXG4gIGRpc2FibGVTc3JXb3JrYXJvdW5kOiBmYWxzZVxufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NMSURFX0NPTkZJRzogU2xpZGVDb25maWcgPSB7XG4gIGluZmluaXRlOiBmYWxzZSxcbiAgcGxheUNvbmZpZzogeyBhdXRvUGxheTogZmFsc2UsIGludGVydmFsOiA1MDAwLCBwYXVzZU9uSG92ZXI6IHRydWUgfSBhcyBQbGF5Q29uZmlnLFxuICBzaWRlUHJldmlld3M6IHsgc2hvdzogdHJ1ZSwgc2l6ZTogeyB3aWR0aDogJzEwMHB4JywgaGVpZ2h0OiAnYXV0bycgfSB9IGFzIFNpZGVQcmV2aWV3c0NvbmZpZ1xufTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1BSRVZJRVdfQ09ORklHOiBQcmV2aWV3Q29uZmlnID0ge1xuICB2aXNpYmxlOiB0cnVlLFxuICBudW1iZXI6IDMsXG4gIGFycm93czogdHJ1ZSxcbiAgY2xpY2thYmxlOiB0cnVlLFxuICBzaXplOiBERUZBVUxUX1BSRVZJRVdfU0laRVxufTtcblxuY29uc3QgREVGQVVMVF9DT05GSUc6IExpYkNvbmZpZyA9IE9iamVjdC5mcmVlemUoe1xuICBzbGlkZUNvbmZpZzogREVGQVVMVF9TTElERV9DT05GSUcsXG4gIGFjY2Vzc2liaWxpdHlDb25maWc6IEtTX0RFRkFVTFRfQUNDRVNTSUJJTElUWV9DT05GSUcsXG4gIHByZXZpZXdDb25maWc6IERFRkFVTFRfUFJFVklFV19DT05GSUcsXG4gIGJ1dHRvbnNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSwgc3RyYXRlZ3k6IEJ1dHRvbnNTdHJhdGVneS5ERUZBVUxUIH0gYXMgQnV0dG9uc0NvbmZpZyxcbiAgZG90c0NvbmZpZzogeyB2aXNpYmxlOiB0cnVlIH0gYXMgRG90c0NvbmZpZyxcbiAgcGxhaW5HYWxsZXJ5Q29uZmlnOiBERUZBVUxUX1BMQUlOX0NPTkZJRyxcbiAgY3VycmVudEltYWdlQ29uZmlnOiBERUZBVUxUX0NVUlJFTlRfSU1BR0VfQ09ORklHLFxuICBrZXlib2FyZENvbmZpZzogdW5kZWZpbmVkLCAvLyBieSBkZWZhdWx0IG5vdGhpbmcsIGJlY2F1c2UgdGhlIGxpYnJhcnkgdXNlcyBkZWZhdWx0IGJ1dHRvbnMgYXV0b21hdGljYWxseVxuICBjYXJvdXNlbENvbmZpZzogREVGQVVMVF9DVVJSRU5UX0NBUk9VU0VMX0NPTkZJRyxcbiAgY2Fyb3VzZWxJbWFnZUNvbmZpZzogREVGQVVMVF9DQVJPVVNFTF9JTUFHRV9DT05GSUcsXG4gIGNhcm91c2VsUHJldmlld3NDb25maWc6IERFRkFVTFRfQ0FST1VTRUxfUFJFVklFV1NfQ09ORklHLFxuICBjYXJvdXNlbFBsYXlDb25maWc6IERFRkFVTFRfQ1VSUkVOVF9DQVJPVVNFTF9QTEFZLFxuICBjYXJvdXNlbERvdHNDb25maWc6IHsgdmlzaWJsZTogdHJ1ZSB9IGFzIERvdHNDb25maWcsXG4gIGNhcm91c2VsU2xpZGVJbmZpbml0ZTogdHJ1ZSxcbiAgZW5hYmxlQ2xvc2VPdXRzaWRlOiB0cnVlLFxuICBrZXlib2FyZFNlcnZpY2VDb25maWc6IERFRkFVTFRfS0VZQk9BUkRfU0VSVklDRV9DT05GSUdcbn0pO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gaGFuZGxlIGxpYnJhcnkgY29uZmlndXJhdGlvbiBpbiBhIHVuaXF1ZSBwbGFjZVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbmZpZ1NlcnZpY2Uge1xuICBjb25maWdNYXA6IE1hcDxudW1iZXIsIExpYkNvbmZpZz4gPSBuZXcgTWFwPG51bWJlciwgTGliQ29uZmlnPigpO1xuXG4gIGdldENvbmZpZyhpZDogbnVtYmVyKTogTGliQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICB0aGlzLmluaXRJZk5vdEV4aXN0cyhpZCk7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnTWFwLmdldChpZCk7XG4gIH1cblxuICBzZXRDb25maWcoaWQ6IG51bWJlciwgb2JqOiBMaWJDb25maWcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRJZk5vdEV4aXN0cyhpZCk7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhREVGQVVMVF9DT05GSUcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLnNpemUgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLm51bWJlciB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcgfHxcbiAgICAgICFERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uIHx8XG4gICAgICAhREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyB8fFxuICAgICAgIURFRkFVTFRfQ09ORklHLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMgfHxcbiAgICAgICFERUZBVUxUX0NBUk9VU0VMX1BSRVZJRVdTX0NPTkZJRy5udW1iZXJcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW50ZXJuYWwgbGlicmFyeSBlcnJvciAtIERFRkFVTFRfQ09ORklHIG11c3QgYmUgZnVsbHkgaW5pdGlhbGl6ZWQhISEnKTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXdDb25maWc6IExpYkNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY29uZmlnTWFwLmdldChpZCkpO1xuICAgIGlmIChvYmouc2xpZGVDb25maWcpIHtcbiAgICAgIGxldCBwbGF5Q29uZmlnO1xuICAgICAgbGV0IHNpZGVQcmV2aWV3cztcbiAgICAgIGxldCBzaXplO1xuICAgICAgaWYgKG9iai5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnKSB7XG4gICAgICAgIHBsYXlDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5wbGF5Q29uZmlnLCBvYmouc2xpZGVDb25maWcucGxheUNvbmZpZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwbGF5Q29uZmlnID0gREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcucGxheUNvbmZpZztcbiAgICAgIH1cbiAgICAgIGlmIChvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzKSB7XG4gICAgICAgIGlmIChvYmouc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemUpIHtcbiAgICAgICAgICBzaXplID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuc2xpZGVDb25maWcuc2lkZVByZXZpZXdzLnNpemUsIG9iai5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cy5zaXplO1xuICAgICAgICB9XG4gICAgICAgIHNpZGVQcmV2aWV3cyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cywgb2JqLnNsaWRlQ29uZmlnLnNpZGVQcmV2aWV3cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWRlUHJldmlld3MgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3M7XG4gICAgICAgIHNpemUgPSBERUZBVUxUX0NPTkZJRy5zbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1NsaWRlQ29uZmlnOiBTbGlkZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnNsaWRlQ29uZmlnLCBvYmouc2xpZGVDb25maWcpO1xuICAgICAgbmV3U2xpZGVDb25maWcucGxheUNvbmZpZyA9IHBsYXlDb25maWc7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5zaWRlUHJldmlld3MgPSBzaWRlUHJldmlld3M7XG4gICAgICBuZXdTbGlkZUNvbmZpZy5zaWRlUHJldmlld3Muc2l6ZSA9IHNpemU7XG4gICAgICBuZXdDb25maWcuc2xpZGVDb25maWcgPSBuZXdTbGlkZUNvbmZpZztcbiAgICB9XG4gICAgaWYgKG9iai5hY2Nlc3NpYmlsaXR5Q29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuYWNjZXNzaWJpbGl0eUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmFjY2Vzc2liaWxpdHlDb25maWcsIG9iai5hY2Nlc3NpYmlsaXR5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnKSB7XG4gICAgICBsZXQgc2l6ZTogU2l6ZTtcbiAgICAgIGxldCBudW06IG51bWJlcjtcbiAgICAgIGlmIChvYmoucHJldmlld0NvbmZpZy5zaXplKSB7XG4gICAgICAgIHNpemUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wcmV2aWV3Q29uZmlnLnNpemUsIG9iai5wcmV2aWV3Q29uZmlnLnNpemUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2l6ZSA9IERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcuc2l6ZTtcbiAgICAgIH1cbiAgICAgIGlmIChvYmoucHJldmlld0NvbmZpZy5udW1iZXIpIHtcbiAgICAgICAgaWYgKG9iai5wcmV2aWV3Q29uZmlnLm51bWJlciA8PSAwKSB7XG4gICAgICAgICAgLy8gaWYgbnVtYmVyIGlzIDw9IDAgcmVzZXQgdG8gZGVmYXVsdFxuICAgICAgICAgIG51bSA9IERFRkFVTFRfQ09ORklHLnByZXZpZXdDb25maWcubnVtYmVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG51bSA9IG9iai5wcmV2aWV3Q29uZmlnLm51bWJlcjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbnVtID0gREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZy5udW1iZXI7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdQcmV2aWV3Q29uZmlnOiBQcmV2aWV3Q29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucHJldmlld0NvbmZpZywgb2JqLnByZXZpZXdDb25maWcpO1xuICAgICAgbmV3UHJldmlld0NvbmZpZy5zaXplID0gc2l6ZTtcbiAgICAgIG5ld1ByZXZpZXdDb25maWcubnVtYmVyID0gbnVtO1xuICAgICAgbmV3Q29uZmlnLnByZXZpZXdDb25maWcgPSBuZXdQcmV2aWV3Q29uZmlnO1xuICAgIH1cbiAgICBpZiAob2JqLmJ1dHRvbnNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5idXR0b25zQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuYnV0dG9uc0NvbmZpZywgb2JqLmJ1dHRvbnNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLmRvdHNDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5kb3RzQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuZG90c0NvbmZpZywgb2JqLmRvdHNDb25maWcpO1xuICAgIH1cbiAgICBpZiAob2JqLnBsYWluR2FsbGVyeUNvbmZpZykge1xuICAgICAgbGV0IGFkdmFuY2VkO1xuICAgICAgbGV0IGxheW91dDtcbiAgICAgIGlmIChvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkKSB7XG4gICAgICAgIGFkdmFuY2VkID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkLCBvYmoucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFkdmFuY2VkID0gREVGQVVMVF9DT05GSUcucGxhaW5HYWxsZXJ5Q29uZmlnLmFkdmFuY2VkO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0KSB7XG4gICAgICAgIC8vIGl0IGlzbid0IG1hbmRhdG9yeSB0byB1c2UgYXNzaWduLCBiZWNhdXNlIG9iai5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0IGlzIGFuIGluc3RhbmNlIG9mIGNsYXNzIChMaW5lYUxheW91dCwgR3JpZExheW91dClcbiAgICAgICAgbGF5b3V0ID0gb2JqLnBsYWluR2FsbGVyeUNvbmZpZy5sYXlvdXQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYXlvdXQgPSBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcubGF5b3V0O1xuICAgICAgfVxuICAgICAgY29uc3QgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnOiBQbGFpbkdhbGxlcnlDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5wbGFpbkdhbGxlcnlDb25maWcsIG9iai5wbGFpbkdhbGxlcnlDb25maWcpO1xuICAgICAgbmV3UGxhaW5HYWxsZXJ5Q29uZmlnLmxheW91dCA9IGxheW91dDtcbiAgICAgIG5ld1BsYWluR2FsbGVyeUNvbmZpZy5hZHZhbmNlZCA9IGFkdmFuY2VkO1xuICAgICAgbmV3Q29uZmlnLnBsYWluR2FsbGVyeUNvbmZpZyA9IGluaXRQbGFpbkdhbGxlcnlDb25maWcobmV3UGxhaW5HYWxsZXJ5Q29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcpIHtcbiAgICAgIGxldCBsb2FkaW5nO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBpZiAob2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnKSB7XG4gICAgICAgIGxvYWRpbmcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcubG9hZGluZ0NvbmZpZywgb2JqLmN1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvYWRpbmcgPSBERUZBVUxUX0NPTkZJRy5jdXJyZW50SW1hZ2VDb25maWcubG9hZGluZ0NvbmZpZztcbiAgICAgIH1cbiAgICAgIGlmIChvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uKTtcbiAgICAgICAgaWYgKG9iai5jdXJyZW50SW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGUpIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlLCBvYmouY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXNjcmlwdGlvblN0eWxlID0gREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZXNjcmlwdGlvbiA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmN1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld0N1cnJlbnRJbWFnZUNvbmZpZzogQ3VycmVudEltYWdlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY3VycmVudEltYWdlQ29uZmlnLCBvYmouY3VycmVudEltYWdlQ29uZmlnKTtcbiAgICAgIG5ld0N1cnJlbnRJbWFnZUNvbmZpZy5sb2FkaW5nQ29uZmlnID0gbG9hZGluZztcbiAgICAgIG5ld0N1cnJlbnRJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgbmV3Q3VycmVudEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlID0gZGVzY3JpcHRpb25TdHlsZTtcbiAgICAgIG5ld0NvbmZpZy5jdXJyZW50SW1hZ2VDb25maWcgPSBuZXdDdXJyZW50SW1hZ2VDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmoua2V5Ym9hcmRDb25maWcpIHtcbiAgICAgIG5ld0NvbmZpZy5rZXlib2FyZENvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmtleWJvYXJkQ29uZmlnLCBvYmoua2V5Ym9hcmRDb25maWcpO1xuICAgIH1cblxuICAgIC8vIGNhcm91c2VsXG4gICAgaWYgKG9iai5jYXJvdXNlbENvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxDb25maWcsIG9iai5jYXJvdXNlbENvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZykge1xuICAgICAgbGV0IGRlc2NyaXB0aW9uO1xuICAgICAgbGV0IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBpZiAob2JqLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24pIHtcbiAgICAgICAgZGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbik7XG4gICAgICAgIGlmIChvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSkge1xuICAgICAgICAgIGRlc2NyaXB0aW9uU3R5bGUgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbEltYWdlQ29uZmlnLmRlc2NyaXB0aW9uLnN0eWxlLCBvYmouY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlc2NyaXB0aW9uID0gREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgICAgZGVzY3JpcHRpb25TdHlsZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsSW1hZ2VDb25maWcuZGVzY3JpcHRpb24uc3R5bGU7XG4gICAgICB9XG4gICAgICBjb25zdCBuZXdDYXJvdXNlbEltYWdlQ29uZmlnOiBDYXJvdXNlbEltYWdlQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxJbWFnZUNvbmZpZywgb2JqLmNhcm91c2VsSW1hZ2VDb25maWcpO1xuICAgICAgbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgbmV3Q2Fyb3VzZWxJbWFnZUNvbmZpZy5kZXNjcmlwdGlvbi5zdHlsZSA9IGRlc2NyaXB0aW9uU3R5bGU7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxJbWFnZUNvbmZpZyA9IG5ld0Nhcm91c2VsSW1hZ2VDb25maWc7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxQbGF5Q29uZmlnKSB7XG4gICAgICAvLyBjaGVjayB2YWx1ZXNcbiAgICAgIGlmIChvYmouY2Fyb3VzZWxQbGF5Q29uZmlnLmludGVydmFsIDw9IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYXJvdXNlbCdzIGludGVydmFsIG11c3QgYmUgYSBudW1iZXIgPj0gMGApO1xuICAgICAgfVxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUGxheUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLmNhcm91c2VsUGxheUNvbmZpZywgb2JqLmNhcm91c2VsUGxheUNvbmZpZyk7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZykge1xuICAgICAgLy8gY2hlY2sgdmFsdWVzXG4gICAgICBsZXQgbnVtOiBudW1iZXI7XG4gICAgICBsZXQgYnJlYWtwb2ludHM6IEJyZWFrcG9pbnRzQ29uZmlnO1xuICAgICAgaWYgKCFvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgfHwgb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcubnVtYmVyIDw9IDApIHtcbiAgICAgICAgbnVtID0gREVGQVVMVF9DQVJPVVNFTF9QUkVWSUVXU19DT05GSUcubnVtYmVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbnVtID0gb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcubnVtYmVyO1xuICAgICAgfVxuICAgICAgaWYgKG9iai5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgIGJyZWFrcG9pbnRzID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cywgb2JqLmNhcm91c2VsUHJldmlld3NDb25maWcuYnJlYWtwb2ludHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWtwb2ludHMgPSBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLmJyZWFrcG9pbnRzO1xuICAgICAgfVxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUHJldmlld3NDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0NPTkZJRy5jYXJvdXNlbFByZXZpZXdzQ29uZmlnLCBvYmouY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZyk7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgPSBudW07XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5icmVha3BvaW50cyA9IGJyZWFrcG9pbnRzO1xuICAgICAgLy8gSW5pdCBwcmV2aWV3IGltYWdlIHdpZHRoIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcHJldmlld3MgaW4gUHJldmlld0NvbmZpZ1xuICAgICAgLy8gRG9uJ3QgbW92ZSB0aGlzIGxpbmUgYWJvdmUsIGJlY2F1c2UgSSBuZWVkIHRvIGJlIHN1cmUgdGhhdCBib3RoIGNvbmZpZ1ByZXZpZXcubnVtYmVyXG4gICAgICAvLyBhbmQgY29uZmlnUHJldmlldy5zaXplIGFyZSBpbml0aWFsaXplZFxuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsUHJldmlld3NDb25maWcud2lkdGggPSAxMDAgLyBuZXdDb25maWcuY2Fyb3VzZWxQcmV2aWV3c0NvbmZpZy5udW1iZXIgKyAnJSc7XG4gICAgfVxuICAgIGlmIChvYmouY2Fyb3VzZWxEb3RzQ29uZmlnKSB7XG4gICAgICBuZXdDb25maWcuY2Fyb3VzZWxEb3RzQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9DT05GSUcuY2Fyb3VzZWxEb3RzQ29uZmlnLCBvYmouY2Fyb3VzZWxEb3RzQ29uZmlnKTtcbiAgICB9XG4gICAgaWYgKG9iai5jYXJvdXNlbFNsaWRlSW5maW5pdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9IERFRkFVTFRfQ09ORklHLmNhcm91c2VsU2xpZGVJbmZpbml0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3Q29uZmlnLmNhcm91c2VsU2xpZGVJbmZpbml0ZSA9IG9iai5jYXJvdXNlbFNsaWRlSW5maW5pdGU7XG4gICAgfVxuICAgIGlmIChvYmouZW5hYmxlQ2xvc2VPdXRzaWRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG5ld0NvbmZpZy5lbmFibGVDbG9zZU91dHNpZGUgPSBERUZBVUxUX0NPTkZJRy5lbmFibGVDbG9zZU91dHNpZGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0NvbmZpZy5lbmFibGVDbG9zZU91dHNpZGUgPSBvYmouZW5hYmxlQ2xvc2VPdXRzaWRlO1xuICAgIH1cbiAgICBpZiAob2JqLmtleWJvYXJkU2VydmljZUNvbmZpZykge1xuICAgICAgbmV3Q29uZmlnLmtleWJvYXJkU2VydmljZUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfS0VZQk9BUkRfU0VSVklDRV9DT05GSUcsIG9iai5rZXlib2FyZFNlcnZpY2VDb25maWcpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZ01hcC5zZXQoaWQsIG5ld0NvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIGluaXRJZk5vdEV4aXN0cyhpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZ01hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmNvbmZpZ01hcC5zZXQoaWQsIERFRkFVTFRfQ09ORklHKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiB0byBidWlsZCBhbmQgcmV0dXJuIGEgYFBsYWluR2FsbGVyeUNvbmZpZ2Agb2JqZWN0LCBwcm92aW5nIGFsc28gZGVmYXVsdCB2YWx1ZXMgYW5kIHZhbGlkYXRpbmcgdGhlIGlucHV0IG9iamVjdC5cbiAqIEBwYXJhbSBwbGFpbkdhbGxlcnlDb25maWcgb2JqZWN0IHdpdGggdGhlIGNvbmZpZyByZXF1ZXN0ZWQgYnkgdXNlclxuICogQHJldHVybnMgUGxhaW5HYWxsZXJ5Q29uZmlnIHRoZSBwbGFpbiBnYWxsZXJ5IGNvbmZpZ3VyYXRpb25cbiAqIEB0aHJvd3MgYW4gRXJyb3IgaWYgbGF5b3V0IGFuZCBzdHJhdGVneSBhcmVuJ3QgY29tcGF0aWJsZVxuICovXG5mdW5jdGlvbiBpbml0UGxhaW5HYWxsZXJ5Q29uZmlnKHBsYWluR2FsbGVyeUNvbmZpZzogUGxhaW5HYWxsZXJ5Q29uZmlnKTogUGxhaW5HYWxsZXJ5Q29uZmlnIHtcbiAgY29uc3QgbmV3UGxheUdhbGxlcnlDb25maWc6IFBsYWluR2FsbGVyeUNvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfQ09ORklHLnBsYWluR2FsbGVyeUNvbmZpZywgcGxhaW5HYWxsZXJ5Q29uZmlnKTtcblxuICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IGluc3RhbmNlb2YgTGluZUxheW91dCkge1xuICAgIGlmIChuZXdQbGF5R2FsbGVyeUNvbmZpZy5zdHJhdGVneSAhPT0gUGxhaW5HYWxsZXJ5U3RyYXRlZ3kuUk9XICYmIG5ld1BsYXlHYWxsZXJ5Q29uZmlnLnN0cmF0ZWd5ICE9PSBQbGFpbkdhbGxlcnlTdHJhdGVneS5DT0xVTU4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGluZUxheW91dCByZXF1aXJlcyBlaXRoZXIgUk9XIG9yIENPTFVNTiBzdHJhdGVneScpO1xuICAgIH1cbiAgICBpZiAoIW5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dCB8fCAhbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0LmJyZWFrQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0JvdGggbGF5b3V0IGFuZCBicmVha0NvbmZpZyBtdXN0IGJlIHZhbGlkJyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKG5ld1BsYXlHYWxsZXJ5Q29uZmlnLmxheW91dCBpbnN0YW5jZW9mIEdyaWRMYXlvdXQpIHtcbiAgICBpZiAobmV3UGxheUdhbGxlcnlDb25maWcuc3RyYXRlZ3kgIT09IFBsYWluR2FsbGVyeVN0cmF0ZWd5LkdSSUQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignR3JpZExheW91dCByZXF1aXJlcyBHUklEIHN0cmF0ZWd5Jyk7XG4gICAgfVxuICAgIGlmICghbmV3UGxheUdhbGxlcnlDb25maWcubGF5b3V0IHx8ICFuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm90aCBsYXlvdXQgYW5kIGJyZWFrQ29uZmlnIG11c3QgYmUgdmFsaWQnKTtcbiAgICB9XG4gICAgLy8gZm9yY2Ugd3JhcCBmb3IgZ3JpZCBsYXlvdXRcbiAgICBuZXdQbGF5R2FsbGVyeUNvbmZpZy5sYXlvdXQuYnJlYWtDb25maWcud3JhcCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIG5ld1BsYXlHYWxsZXJ5Q29uZmlnO1xufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -62,10 +62,10 @@ export class IdValidatorService {
|
|
|
62
62
|
return true;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
IdValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
IdValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
65
|
+
IdValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IdValidatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
66
|
+
IdValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IdValidatorService, providedIn: 'root' });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: IdValidatorService, decorators: [{
|
|
68
68
|
type: Injectable,
|
|
69
69
|
args: [{ providedIn: 'root' }]
|
|
70
70
|
}] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtdmFsaWRhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL3NlcnZpY2VzL2lkLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0M7O0dBRUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRUUsUUFBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7S0FrQ2pCO0lBaENDOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxTQUE2QjtRQUN2QyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDNUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxrR0FBa0csQ0FBQyxDQUFDO1NBQ3JIO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxTQUFTLCtFQUErRSxDQUFDLENBQUM7U0FDNUk7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFNBQTZCO1FBQ2xDLElBQUksU0FBUyxLQUFLLFNBQVMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRTtZQUM1RSxNQUFNLElBQUksS0FBSyxDQUFDLGtHQUFrRyxDQUFDLENBQUM7U0FDckg7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OytHQWxDVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogU2VydmljZSB0byBjaGVjayBpZiB0aGUgcHJvdmlkZWQgaWQgaXMgdW5pcXVlXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgSWRWYWxpZGF0b3JTZXJ2aWNlIHtcbiAgaWRzID0gbmV3IE1hcCgpO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gY2hlY2sgYW5kIHJlc2VydmUgYW4gaWQgZm9yIHRoZSBjdXJyZW50IGluc3RhbmNlIG9mIHRoZSBsaWJyYXJ5LlxuICAgKiBJbiB0aGlzIHdheSwgbm8gb3RoZXIgaW5zdGFuY2VzIGNhbiB1c2UgdGhlIHNhbWUgaWQuXG4gICAqIEBwYXJhbSBnYWxsZXJ5SWQgbnVtYmVyIG9yIHVuZGVmaW5lZCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgZ2FsbGVyeS5cbiAgICogQHJldHVybiBib29sZWFuIHRydWUgaWYgc3VjY2Vzcy4gZmFsc2UgaXMgbmV2ZXIgcmV0dXJuZWQsIGluc3RlYWQgYW4gZXhjZXB0aW9uIGlzIHRocm93blxuICAgKiBAdGhyb3dzIGEgZXJyb3Igd2l0aCBhIG1lc3NhZ2UgaWYgZ2FsbGVyeUlkIGlzIG5laXRoZXIgdW5pcXVlLCA8IDAgb3IgYW4gaW50ZWdlclxuICAgKi9cbiAgY2hlY2tBbmRBZGQoZ2FsbGVyeUlkOiBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoZ2FsbGVyeUlkID09PSB1bmRlZmluZWQgfHwgIU51bWJlci5pc0ludGVnZXIoZ2FsbGVyeUlkKSB8fCBnYWxsZXJ5SWQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYSB2YWxpZCBbaWRdPVwidW5pcXVlIGludGVnZXIgPiAwIGhlcmVcIiB0byB0aGUgZ2FsbGVyeS9jYXJvdXNlbCBpbiB5b3VyIHRlbXBsYXRlJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmlkcy5nZXQoZ2FsbGVyeUlkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgY3JlYXRlIGdhbGxlcnkgd2l0aCBpZD0ke2dhbGxlcnlJZH0gYmVjYXVzZSBhbHJlYWR5IHVzZWQgaW4geW91ciBhcHBsaWNhdGlvbi4gVGhpcyBtdXN0IGJlIGEgdW5pcXVlIGludGVnZXIgPj0gMGApO1xuICAgIH1cbiAgICB0aGlzLmlkcy5zZXQoZ2FsbGVyeUlkLCBnYWxsZXJ5SWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byByZW1vdmUgYSByZXNlcnZlZCBpZC4gSW4gdGhpcyB3YXkgeW91IGFyZSBhYmxlIHRvIHVzZSB0aGUgaWQgYWdhaW4gZm9yIGFub3RoZXIgaW5zdGFuY2Ugb2YgdGhlIGxpYnJhcnkuXG4gICAqIEBwYXJhbSBnYWxsZXJ5SWQgbnVtYmVyIG9yIHVuZGVmaW5lZCB0aGF0IHJlcHJlc2VudHMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgZ2FsbGVyeS5cbiAgICogQHJldHVybiBib29sZWFuIHRydWUgaWYgc3VjY2Vzcy4gZmFsc2UgaXMgbmV2ZXIgcmV0dXJuZWQsIGluc3RlYWQgYW4gZXhjZXB0aW9uIGlzIHRocm93bipcbiAgICogQHRocm93cyBhIGVycm9yIHdpdGggYSBtZXNzYWdlIGlmIGdhbGxlcnlJZCBpcyBuZWl0aGVyIGludGVnZXIgb3IgPCAwXG4gICAqICogdGhpcyBzaG91bGQgYmUgaW1wcm92ZWQgd2l0aG91dCByZXR1cm4gdHJ1ZSwgYmVjYXVzZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UhIDooXG4gICAqL1xuICByZW1vdmUoZ2FsbGVyeUlkOiBudW1iZXIgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoZ2FsbGVyeUlkID09PSB1bmRlZmluZWQgfHwgIU51bWJlci5pc0ludGVnZXIoZ2FsbGVyeUlkKSB8fCBnYWxsZXJ5SWQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBtdXN0IHByb3ZpZGUgYSB2YWxpZCBbaWRdPVwidW5pcXVlIGludGVnZXIgPiAwIGhlcmVcIiB0byB0aGUgZ2FsbGVyeS9jYXJvdXNlbCBpbiB5b3VyIHRlbXBsYXRlJyk7XG4gICAgfVxuICAgIHRoaXMuaWRzLmRlbGV0ZShnYWxsZXJ5SWQpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -99,13 +99,13 @@ export class KeyboardService {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
KeyboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
103
|
-
KeyboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
102
|
+
KeyboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: KeyboardService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
103
|
+
KeyboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: KeyboardService, providedIn: 'root' });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: KeyboardService, decorators: [{
|
|
105
105
|
type: Injectable,
|
|
106
106
|
args: [{ providedIn: 'root' }]
|
|
107
107
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
108
108
|
type: Inject,
|
|
109
109
|
args: [PLATFORM_ID]
|
|
110
110
|
}] }]; } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvc2VydmljZXMva2V5Ym9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFJcEQ7O0dBRUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQU8xQixrQ0FBa0M7SUFDbEMsWUFBeUMsVUFBZTtRQUFmLGVBQVUsR0FBVixVQUFVLENBQUs7SUFBRyxDQUFDO0lBRTVELElBQUksQ0FBQyxNQUFpQjtRQUNwQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLG1HQUFtRztZQUNuRyxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDdEYsMERBQTBEO2dCQUMxRCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtvQkFDdEMsTUFBTSxDQUFDLFdBQVcsQ0FBQzt3QkFDakIsa0NBQWtDO3lCQUNqQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTt3QkFDcEIsd0VBQXdFO3dCQUN4RSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQzt3QkFDeEMsT0FBTyxFQUFFLENBQUM7d0JBQ1YsT0FBTztvQkFDVCxDQUFDLENBQUM7eUJBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUNYLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDWixPQUFPO29CQUNULENBQUMsQ0FBQyxDQUFDO2lCQUNOO3FCQUFNO29CQUNMLE9BQU8sRUFBRSxDQUFDO29CQUNWLE9BQU87aUJBQ1I7YUFDRjtpQkFBTTtnQkFDTCxPQUFPLEVBQUUsQ0FBQztnQkFDVixPQUFPO2FBQ1I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSCxrQ0FBa0M7SUFDbEMsR0FBRyxDQUFDLE1BQWdELEVBQUUsTUFBaUI7UUFDckUsbUdBQW1HO1FBQ25HLElBQUksTUFBTSxDQUFDLHFCQUFxQixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixFQUFFO1lBQ3RGLDBEQUEwRDtZQUMxRCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBb0IsRUFBRSxLQUFhLEVBQUUsRUFBRTtvQkFDMUcsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFO3dCQUN4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7cUJBQ3hCO3lCQUFNO3dCQUNMLG9CQUFvQjt3QkFDcEIsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7cUJBQzNCO29CQUNELE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUMsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsTUFBaUI7UUFDckIsbUdBQW1HO1FBQ25HLElBQUksTUFBTSxDQUFDLHFCQUFxQixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixFQUFFO1lBQ3RGLDBEQUEwRDtZQUMxRCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2hDO1NBQ0Y7SUFDSCxDQUFDOzs0R0ExRVUsZUFBZSxrQkFRTixXQUFXO2dIQVJwQixlQUFlLGNBREYsTUFBTTsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQVNuQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IExpYkNvbmZpZyB9IGZyb20gJy4uL21vZGVsL2xpYi1jb25maWcuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGludGVyY2VwdCBjdHJsK3MgKG9yIGNtZCtzIG9uIG1hY09TKSB1c2luZyBhIHRoaXJkLXBhcnR5IGxpYnJhcnksIGNhbGxlZCBNb3VzZXRyYXAuXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgS2V5Ym9hcmRTZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFByaXZhdGUgTW91c2V0cmFwIHZhcmlhYmxlIHRvIHN0b3JlIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgcHJpdmF0ZSBtb3VzZXRyYXBJbnN0YW5jZTogYW55O1xuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBhbnkpIHt9XG5cbiAgaW5pdChjb25maWc6IExpYkNvbmZpZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyB0ZW1wb3Jhcnkgd29ya2Fyb3VuZCB0byBmaXggdGhpcyBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL0tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L2lzc3Vlcy8xNDJcbiAgICAgIGlmIChjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnICYmICFjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnLmRpc2FibGVTc3JXb3JrYXJvdW5kKSB7XG4gICAgICAgIC8vIFRvIHByZXZlbnQgaXNzdWVzIHdpdGggYW5ndWxhci11bml2ZXJzYWwgb24gc2VydmVyLXNpZGVcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICBpbXBvcnQoJ21vdXNldHJhcCcpXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gICAgICAgICAgICAudGhlbigobG9hZGVkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgLy8gaW4gdGhpcyBjYXNlLCB0aGUgLmRlZmF1bHQgaXMgcmVxdWlyZWQgZm9yIFR5cGVzY3JpcHQgRHluYW1pYyBJbXBvcnRzXG4gICAgICAgICAgICAgIHRoaXMubW91c2V0cmFwSW5zdGFuY2UgPSBsb2FkZWQuZGVmYXVsdDtcbiAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGVyciA9PiB7XG4gICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gYWRkIGEgbGlzdGVyIGZvciBjdHJsK3MvY21kK3Mga2V5Ym9hcmQgZXZlbnRzLlxuICAgKiBAcGFyYW0gKGU6IEtleWJvYXJkRXZlbnQsIGNvbWJvOiBzdHJpbmcpID0+IGFueSBvbkJpbmQgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYWRkIHNob3J0Y3V0c1xuICAgKi9cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBhZGQob25CaW5kOiAoZTogS2V5Ym9hcmRFdmVudCwgY29tYm86IHN0cmluZykgPT4gYW55LCBjb25maWc6IExpYkNvbmZpZyk6IHZvaWQge1xuICAgIC8vIHRlbXBvcmFyeSB3b3JrYXJvdW5kIHRvIGZpeCB0aGlzIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vS3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvaXNzdWVzLzE0MlxuICAgIGlmIChjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnICYmICFjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnLmRpc2FibGVTc3JXb3JrYXJvdW5kKSB7XG4gICAgICAvLyBUbyBwcmV2ZW50IGlzc3VlcyB3aXRoIGFuZ3VsYXItdW5pdmVyc2FsIG9uIHNlcnZlci1zaWRlXG4gICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICB0aGlzLm1vdXNldHJhcEluc3RhbmNlLmJpbmQoY29uZmlnLmtleWJvYXJkU2VydmljZUNvbmZpZy5zaG9ydGN1dHMsIChldmVudDogS2V5Ym9hcmRFdmVudCwgY29tYm86IHN0cmluZykgPT4ge1xuICAgICAgICAgIGlmIChldmVudC5wcmV2ZW50RGVmYXVsdCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaW50ZXJuZXQgZXhwbG9yZXJcbiAgICAgICAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQmluZChldmVudCwgY29tYm8pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIHJlc2V0IGFsbCBsaXN0ZW5lcnMuIFBsZWFzZSwgY2FsbCB0aGlzIGZ1bmN0aW9uIHdoZW4gbmVlZGVkXG4gICAqIHRvIGZyZWUgcmVzb3VyY2VzIGFkIHByZXZlbnQgbGVha3MuXG4gICAqL1xuICByZXNldChjb25maWc6IExpYkNvbmZpZyk6IHZvaWQge1xuICAgIC8vIHRlbXBvcmFyeSB3b3JrYXJvdW5kIHRvIGZpeCB0aGlzIGlzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vS3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvaXNzdWVzLzE0MlxuICAgIGlmIChjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnICYmICFjb25maWcua2V5Ym9hcmRTZXJ2aWNlQ29uZmlnLmRpc2FibGVTc3JXb3JrYXJvdW5kKSB7XG4gICAgICAvLyBUbyBwcmV2ZW50IGlzc3VlcyB3aXRoIGFuZ3VsYXItdW5pdmVyc2FsIG9uIHNlcnZlci1zaWRlXG4gICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICB0aGlzLm1vdXNldHJhcEluc3RhbmNlLnJlc2V0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -45,4 +45,4 @@ export function getIndex(image, arrayOfImages) {
|
|
|
45
45
|
}
|
|
46
46
|
return arrayOfImages.findIndex((val) => val.id === image.id);
|
|
47
47
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvdXRpbHMvaW1hZ2UudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUlIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQVksRUFBRSxhQUFzQjtJQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDMUQ7SUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMvQixxQkFBcUI7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0tBQ3REO0lBRUQsSUFBSSxLQUFLLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7S0FDNUM7SUFFRCxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjIgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBJbWFnZSB9IGZyb20gJy4uL21vZGVsL2ltYWdlLmNsYXNzJztcblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGdldCB0aGUgaW5kZXggb2YgdGhlIGlucHV0IGBpbWFnZWAgZnJvbSBgYXJyYXlPZkltYWdlc2BcbiAqIEBwYXJhbSBJbWFnZSBpbWFnZSB0byBnZXQgdGhlIGluZGV4LiBUaGUgaW1hZ2UgJ2lkJyBtdXN0IGJlIGEgbnVtYmVyID49IDBcbiAqIEBwYXJhbSBJbWFnZVtdIGFycmF5T2ZJbWFnZXMgdG8gc2VhcmNoIHRoZSBpbWFnZSB3aXRoaW4gaXRcbiAqIEByZXR1cm5zIG51bWJlciB0aGUgaW5kZXggb2YgdGhlIGltYWdlLiAtMSBpZiBub3QgZm91bmQuXG4gKiBAdGhyb3dzIGFuIEVycm9yIGlmIGVpdGhlciBpbWFnZSBvciBhcnJheU9mSW1hZ2VzIGFyZSBub3QgdmFsaWQsXG4gKiAgb3IgaWYgdGhlIGlucHV0IGltYWdlIGRvZXNuJ3QgY29udGFpbiBhbiAnaWQnLCBvciB0aGUgJ2lkJyBpcyA8IDBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluZGV4KGltYWdlOiBJbWFnZSwgYXJyYXlPZkltYWdlczogSW1hZ2VbXSk6IG51bWJlciB7XG4gIGlmICghaW1hZ2UpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ltYWdlIG11c3QgYmUgYSB2YWxpZCBJbWFnZSBvYmplY3QnKTtcbiAgfVxuXG4gIGlmICghYXJyYXlPZkltYWdlcykge1xuICAgIHRocm93IG5ldyBFcnJvcignYXJyYXlPZkltYWdlcyBtdXN0IGJlIGEgdmFsaWQgSW1hZ2VbXScpO1xuICB9XG5cbiAgaWYgKCFpbWFnZS5pZCAmJiBpbWFnZS5pZCAhPT0gMCkge1xuICAgIC8vIGlkID0gMCBpcyBhZG1pdHRlZFxuICAgIHRocm93IG5ldyBFcnJvcihgQSBudW1lcmljIEltYWdlICdpZCcgaXMgbWFuZGF0b3J5YCk7XG4gIH1cblxuICBpZiAoaW1hZ2UuaWQgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbWFnZSAnaWQnIG11c3QgYmUgPj0gMGApO1xuICB9XG5cbiAgcmV0dXJuIGFycmF5T2ZJbWFnZXMuZmluZEluZGV4KCh2YWw6IEltYWdlKSA9PiB2YWwuaWQgPT09IGltYWdlLmlkKTtcbn1cbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -101,4 +101,4 @@ export const PREV = -1;
|
|
|
101
101
|
* Const NOTHING to represents a situation when it isn't both NEXT and PREV
|
|
102
102
|
*/
|
|
103
103
|
export const NOTHING = 0;
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1pbnB1dC51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvc3JjL2xpYi91dGlscy91c2VyLWlucHV0LnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBVyxPQUFPLENBQUM7QUFDekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVcsT0FBTyxDQUFDO0FBRTFDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFXLFFBQVEsQ0FBQztBQUN4Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBVyxRQUFRLENBQUM7QUFDekM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsWUFBWSxDQUFDO0FBQ3BEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQVcsWUFBWSxDQUFDO0FBQ3JEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLFdBQVcsQ0FBQztBQUNsRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBVyxXQUFXLENBQUM7QUFDbkQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQVcsU0FBUyxDQUFDO0FBQzlDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFXLFNBQVMsQ0FBQztBQUMvQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBVyxXQUFXLENBQUM7QUFDbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsV0FBVyxDQUFDO0FBQ25EOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFXLEVBQUUsQ0FBQztBQUNwQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBVyxPQUFPLENBQUM7QUFFMUM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVcsT0FBTyxDQUFDO0FBQy9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFXLE1BQU0sQ0FBQztBQUc3Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5IGBlbnRlcmBcbiAqL1xuZXhwb3J0IGNvbnN0IEVOVEVSX0tFWTogc3RyaW5nID0gJ0VudGVyJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgYGVudGVyYFxuICovXG5leHBvcnQgY29uc3QgRU5URVJfQ09ERTogc3RyaW5nID0gJ0VudGVyJztcblxuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5IGBlc2NgXG4gKi9cbmV4cG9ydCBjb25zdCBFU0NfS0VZOiBzdHJpbmcgPSAnRXNjYXBlJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgYGVzY2BcbiAqL1xuZXhwb3J0IGNvbnN0IEVTQ19DT0RFOiBzdHJpbmcgPSAnRXNjYXBlJztcbi8qKlxuICogS2V5IG9mIHRoZSBrZXlib2FyZCdzIGtleSAncmlnaHQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBSSUdIVF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd1JpZ2h0Jztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ3JpZ2h0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgUklHSFRfQVJST1dfQ09ERTogc3RyaW5nID0gJ0Fycm93UmlnaHQnO1xuLyoqXG4gKiBLZXkgb2YgdGhlIGtleWJvYXJkJ3Mga2V5ICdsZWZ0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgTEVGVF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd0xlZnQnO1xuLyoqXG4gKiBDb2RlIG9mIHRoZSBrZXlib2FyZCdzIGtleSAnbGVmdCBhcnJvdydcbiAqL1xuZXhwb3J0IGNvbnN0IExFRlRfQVJST1dfQ09ERTogc3RyaW5nID0gJ0Fycm93TGVmdCc7XG4vKipcbiAqIEtleSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBVUF9BUlJPV19LRVk6IHN0cmluZyA9ICdBcnJvd1VwJztcbi8qKlxuICogQ29kZSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBVUF9BUlJPV19DT0RFOiBzdHJpbmcgPSAnQXJyb3dVcCc7XG4vKipcbiAqIEtleSBvZiB0aGUga2V5Ym9hcmQncyBrZXkgJ2xlZnQgYXJyb3cnXG4gKi9cbmV4cG9ydCBjb25zdCBET1dOX0FSUk9XX0tFWTogc3RyaW5nID0gJ0Fycm93RG93bic7XG4vKipcbiAqIENvZGUgb2YgdGhlIGtleWJvYXJkJ3Mga2V5ICdsZWZ0IGFycm93J1xuICovXG5leHBvcnQgY29uc3QgRE9XTl9BUlJPV19DT0RFOiBzdHJpbmcgPSAnQXJyb3dEb3duJztcbi8qKlxuICogS2V5IG9mIHRoZSBrZXlib2FyZCdzIGtleSBgc3BhY2VgXG4gKi9cbmV4cG9ydCBjb25zdCBTUEFDRV9LRVkgOiBzdHJpbmc9ICcnO1xuLyoqXG4gKiBDb2RlIG9mIHRoZSBrZXlib2FyZCdzIGtleSBgc3BhY2VgXG4gKi9cbmV4cG9ydCBjb25zdCBTUEFDRV9DT0RFOiBzdHJpbmcgPSAnU3BhY2UnO1xuXG4vKipcbiAqIENvbnN0IHRvIHJlcHJlc2VudCB0aGUgcmlnaHQgZGlyZWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBESVJFQ1RJT05fUklHSFQ6IHN0cmluZyA9ICdyaWdodCc7XG4vKipcbiAqIENvbnN0IHRvIHJlcHJlc2VudCB0aGUgbGVmdCBkaXJlY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IERJUkVDVElPTl9MRUZUOiBzdHJpbmcgPSAnbGVmdCc7XG5cblxuLyoqXG4gKiBLZXljb2RlIG9mIHRoZSBtYWluIG1vdXNlIGJ1dHRvblxuICovXG5leHBvcnQgY29uc3QgTU9VU0VfTUFJTl9CVVRUT05fQ0xJQ0sgPSAwO1xuXG4vKipcbiAqIENvbnN0IE5FWFRcbiAqL1xuZXhwb3J0IGNvbnN0IE5FWFQgPSAxO1xuLyoqXG4gKiBDb25zdCBQUkVWXG4gKi9cbmV4cG9ydCBjb25zdCBQUkVWID0gLTE7XG4vKipcbiAqIENvbnN0IE5PVEhJTkcgdG8gcmVwcmVzZW50cyBhIHNpdHVhdGlvbiB3aGVuIGl0IGlzbid0IGJvdGggTkVYVCBhbmQgUFJFVlxuICovXG5leHBvcnQgY29uc3QgTk9USElORyA9IDA7XG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
The MIT License (MIT)
|
|
3
3
|
|
|
4
|
-
Copyright (C) 2017-
|
|
4
|
+
Copyright (C) 2017-2022 Stefano Cappa (Ks89)
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
7
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -39,4 +39,4 @@ export { PlainGalleryComponent } from './lib/components/plain-gallery/plain-gall
|
|
|
39
39
|
export { CarouselComponent } from './lib/components/carousel/carousel.component';
|
|
40
40
|
export { ModalGalleryService } from './lib/components/modal-gallery/modal-gallery.service';
|
|
41
41
|
export { ModalGalleryRef } from './lib/components/modal-gallery/modal-gallery-ref';
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUg7OztHQUdHO0FBRUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsS0FBSyxFQUEwQixVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDckcsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFhckYsT0FBTyxFQUFpQixlQUFlLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0NBQXNDLENBQUM7QUFRL0csT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUlsRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUN6RixPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixlQUFlLEVBQ2hCLE1BQU0sc0RBQXNELENBQUM7QUFFOUQsT0FBTyxFQUdMLFVBQVUsRUFDVixVQUFVLEVBQ1Ysb0JBQW9CLEVBRXJCLE1BQU0sNENBQTRDLENBQUM7QUFFcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDL0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtEQUFrRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcblxuIENvcHlyaWdodCAoQykgMjAxNy0yMDIyIFN0ZWZhbm8gQ2FwcGEgKEtzODkpXG5cbiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbFxuIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cbiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTiBJTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFXG4gU09GVFdBUkUuXG4gKi9cblxuLyoqXG4gKiBJbmRleCBmaWxlIHRvIGV4cG9ydCBhbGwgaW50ZXJmYWNlcywgZW51bXMsIGNsYXNzZXMgYW5kIHNvIG9uLlxuICogVGhpcyBmaWxlIHJlcHJlc2VudHMgdGhlIHB1YmxpYyBhcGlzLlxuICovXG5cbmV4cG9ydCB7IEdhbGxlcnlNb2R1bGUgfSBmcm9tICcuL2xpYi9tb2RhbC1nYWxsZXJ5Lm1vZHVsZSc7XG5cbmV4cG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vbGliL21vZGVsL2FjdGlvbi5lbnVtJztcbmV4cG9ydCB7IEltYWdlLCBQbGFpbkltYWdlLCBNb2RhbEltYWdlLCBJbWFnZUV2ZW50LCBJbWFnZU1vZGFsRXZlbnQgfSBmcm9tICcuL2xpYi9tb2RlbC9pbWFnZS5jbGFzcyc7XG5leHBvcnQgeyBEZXNjcmlwdGlvbiwgRGVzY3JpcHRpb25TdHJhdGVneSB9IGZyb20gJy4vbGliL21vZGVsL2Rlc2NyaXB0aW9uLmludGVyZmFjZSc7XG5leHBvcnQgeyBLZXlib2FyZENvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2tleWJvYXJkLWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgRG90c0NvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2RvdHMtY29uZmlnLmludGVyZmFjZSc7XG5leHBvcnQgeyBQcmV2aWV3Q29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvcHJldmlldy1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7IEFjY2Vzc2liaWxpdHlDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9hY2Nlc3NpYmlsaXR5LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7IEJyZWFrcG9pbnRzQ29uZmlnLCBDYXJvdXNlbFByZXZpZXdDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9jYXJvdXNlbC1wcmV2aWV3LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgQ2Fyb3VzZWxDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9jYXJvdXNlbC1jb25maWcuaW50ZXJmYWNlJztcbmV4cG9ydCB7IFBsYXlDb25maWcgfSBmcm9tICcuL2xpYi9tb2RlbC9wbGF5LWNvbmZpZy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgQ2Fyb3VzZWxJbWFnZUNvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2Nhcm91c2VsLWltYWdlLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBTaXplIH0gZnJvbSAnLi9saWIvbW9kZWwvc2l6ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBCdXR0b25zQ29uZmlnLCBCdXR0b25zU3RyYXRlZ3ksIEJ1dHRvblR5cGUsIEJ1dHRvbkV2ZW50IH0gZnJvbSAnLi9saWIvbW9kZWwvYnV0dG9ucy1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxMaWJDb25maWcsIFBsYWluTGliQ29uZmlnLCBDYXJvdXNlbExpYkNvbmZpZyB9IGZyb20gJy4vbGliL21vZGVsL2xpYi1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5Q29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvbW9kYWwtZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgQ3VycmVudEltYWdlQ29uZmlnIH0gZnJvbSAnLi9saWIvbW9kZWwvY3VycmVudC1pbWFnZS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTG9hZGluZ0NvbmZpZywgTG9hZGluZ1R5cGUgfSBmcm9tICcuL2xpYi9tb2RlbC9sb2FkaW5nLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQgeyBJbnRlcmFjdGlvbkV2ZW50IH0gZnJvbSAnLi9saWIvbW9kZWwvaW50ZXJhY3Rpb24tZXZlbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgS1NfREVGQVVMVF9BQ0NFU1NJQklMSVRZX0NPTkZJRyB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvYWNjZXNzaWJpbGl0eS1kZWZhdWx0JztcbmV4cG9ydCB7XG4gIEtTX0RFRkFVTFRfQlROX0ZVTExfU0NSRUVOLFxuICBLU19ERUZBVUxUX0JUTl9DTE9TRSxcbiAgS1NfREVGQVVMVF9CVE5fREVMRVRFLFxuICBLU19ERUZBVUxUX0JUTl9ET1dOTE9BRCxcbiAgS1NfREVGQVVMVF9CVE5fRVhUVVJMLFxuICBLU19ERUZBVUxUX1NJWkVcbn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy91cHBlci1idXR0b25zL3VwcGVyLWJ1dHRvbnMtZGVmYXVsdCc7XG5cbmV4cG9ydCB7XG4gIFBsYWluR2FsbGVyeUNvbmZpZyxcbiAgUGxhaW5HYWxsZXJ5TGF5b3V0LFxuICBMaW5lTGF5b3V0LFxuICBHcmlkTGF5b3V0LFxuICBQbGFpbkdhbGxlcnlTdHJhdGVneSxcbiAgQnJlYWtDb25maWdcbn0gZnJvbSAnLi9saWIvbW9kZWwvcGxhaW4tZ2FsbGVyeS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC1nYWxsZXJ5L21vZGFsLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7IFBsYWluR2FsbGVyeUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvcGxhaW4tZ2FsbGVyeS9wbGFpbi1nYWxsZXJ5LmNvbXBvbmVudCc7XG5leHBvcnQgeyBDYXJvdXNlbENvbXBvbmVudCB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvY2Fyb3VzZWwvY2Fyb3VzZWwuY29tcG9uZW50JztcblxuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5U2VydmljZSB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9kYWwtZ2FsbGVyeS9tb2RhbC1nYWxsZXJ5LnNlcnZpY2UnO1xuZXhwb3J0IHsgTW9kYWxHYWxsZXJ5UmVmIH0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC1nYWxsZXJ5L21vZGFsLWdhbGxlcnktcmVmJztcbiJdfQ==
|