@softheon/armature 15.14.2 → 15.16.0
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/README.md +1 -1
- package/assets/styles/sof-styles.scss +109 -276
- package/esm2020/lib/base-components/sof-modal/sof-modal.component.mjs +3 -3
- package/esm2020/lib/header/components/header/header.component.mjs +3 -3
- package/esm2020/lib/theming/services/theme.service.mjs +3 -1
- package/fesm2015/softheon-armature.mjs +6 -4
- package/fesm2015/softheon-armature.mjs.map +1 -1
- package/fesm2020/softheon-armature.mjs +6 -4
- package/fesm2020/softheon-armature.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -107,6 +107,8 @@ export class ThemeService {
|
|
|
107
107
|
* @param value Value to replace with
|
|
108
108
|
*/
|
|
109
109
|
updateContrast(palette, part, value) {
|
|
110
|
+
if (value === '#000000' || value === '#000')
|
|
111
|
+
value = '#000000de'; // updates to black with 87% opacity per design best practices ...
|
|
110
112
|
document.documentElement.style.setProperty(`--${palette}-color-contrast-${part}-parts`, value);
|
|
111
113
|
}
|
|
112
114
|
/**
|
|
@@ -164,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
|
|
|
164
166
|
providedIn: 'root'
|
|
165
167
|
}]
|
|
166
168
|
}], ctorParameters: function () { return []; } });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvdGhlbWluZy9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLGlDQUFpQztBQUNqQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUIsb0NBQW9DO0FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFBO0FBRW5DLHdCQUF3QjtBQUl4QixNQUFNLE9BQU8sWUFBWTtJQUV2Qjs7T0FFRztJQUNILGdCQUFnQixDQUFDO0lBRWpCOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxXQUE4QjtRQUMvQyxJQUFJLFdBQVcsRUFBRTtZQUNmLCtDQUErQztZQUMvQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzlDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDcEQsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUNsRTtZQUNELDhDQUE4QztZQUM5QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO1lBQzVDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDbEQsSUFBSSxXQUFXLElBQUks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Q0FBQztTQUNsRTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ssUUFBUSxDQUFDLEdBQUc7UUFDbEIsTUFBTSxNQUFNLEdBQUcsMkNBQTJDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXJFLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNkLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1NBQzNCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoQixDQUFDOzt5R0E3SlUsWUFBWTs2R0FBWixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGhlbWVQYWxldHRlQ29sb3JzTW9kZWwsIFRoZW1lUGFsZXR0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9jbGllbnQtZ2VuZXJhdGVkL21vZGVsL21vZGVscyc7XHJcblxyXG4vKiogVGhlIGNvbG9yIHBhbGV0dGUgY29uc3RhbnQgKi9cclxuY29uc3QgQ09MT1JfUEFMRVRURSA9ICdjb2xvcic7XHJcblxyXG4vKiogVGhlIGNvbnRyYXN0IHBhbGV0dGUgY29uc3RhbnQgKi9cclxuY29uc3QgQ09OVFJBU1RfUEFMRVRURSA9ICdjb250cmFzdCdcclxuXHJcbi8qKiBUaGUgVGhlbWUgU2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdGhlbWUgc2VydmljZSBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoZSBwYWxldHRlXHJcbiAgICogQHBhcmFtIHRoZW1lQ29uZmlnIFRoZSB0aGVtZSBjb25maWd1cmF0aW9uc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpbml0UGFsZXR0ZSh0aGVtZUNvbmZpZzogVGhlbWVQYWxldHRlTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmICh0aGVtZUNvbmZpZykge1xyXG4gICAgICAvLyBTZXR0aW5nIHVwIHByaW1hcnkgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgICBjb25zdCBwcmltYXJ5Q29sb3IgPSB0aGVtZUNvbmZpZy5wcmltYXJ5Q29sb3I7XHJcbiAgICAgIGNvbnN0IHByaW1hcnlDb250cmFzdCA9IHRoZW1lQ29uZmlnLnByaW1hcnlDb250cmFzdDtcclxuICAgICAgaWYgKHByaW1hcnlDb2xvciAmJiBKU09OLnN0cmluZ2lmeShwcmltYXJ5Q29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdwcmltYXJ5JywgQ09MT1JfUEFMRVRURSwgcHJpbWFyeUNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocHJpbWFyeUNvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHByaW1hcnlDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ3ByaW1hcnknLCBDT05UUkFTVF9QQUxFVFRFLCBwcmltYXJ5Q29udHJhc3QpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFNldHRpbmcgdXAgYWNjZW50IGNvbG9yICYgY29udHJhc3QgcGFsZXR0ZXNcclxuICAgICAgY29uc3QgYWNjZW50Q29sb3IgPSB0aGVtZUNvbmZpZy5hY2NlbnRDb2xvcjtcclxuICAgICAgY29uc3QgYWNjZW50Q29udHJhc3QgPSB0aGVtZUNvbmZpZy5hY2NlbnRDb250cmFzdDtcclxuICAgICAgaWYgKGFjY2VudENvbG9yICYmIEpTT04uc3RyaW5naWZ5KGFjY2VudENvbG9yKSAhPT0gJ3t9Jykge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnYWNjZW50JywgQ09MT1JfUEFMRVRURSwgYWNjZW50Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhY2NlbnRDb250cmFzdCAmJiBKU09OLnN0cmluZ2lmeShhY2NlbnRDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ2FjY2VudCcsIENPTlRSQVNUX1BBTEVUVEUsIGFjY2VudENvbnRyYXN0KTtcclxuICAgICAgfVxyXG4gICAgICAvLyBTZXR0aW5nIHVwIHdhcm5pbmcgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgICBjb25zdCB3YXJuaW5nQ29sb3IgPSB0aGVtZUNvbmZpZy53YXJuaW5nQ29sb3I7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdDb250cmFzdCA9IHRoZW1lQ29uZmlnLndhcm5pbmdDb250cmFzdDtcclxuICAgICAgaWYgKHdhcm5pbmdDb2xvciAmJiBKU09OLnN0cmluZ2lmeSh3YXJuaW5nQ29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCd3YXJuJywgQ09MT1JfUEFMRVRURSwgd2FybmluZ0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAod2FybmluZ0NvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHdhcm5pbmdDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ3dhcm4nLCBDT05UUkFTVF9QQUxFVFRFLCB3YXJuaW5nQ29udHJhc3QpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5pdEV4dGVuZGVkUGFsZXR0ZXModGhlbWVDb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgdGhlbWVcclxuICAgKiBAcGFyYW0gcGFsZXR0ZU5hbWUgUGFsZXR0ZSBuYW1lXHJcbiAgICogQHBhcmFtIHBhbGV0dGVUeXBlIFBhbGV0dGUgdHlwZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdmFsdWVzXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZVBhbGV0dGUocGFsZXR0ZU5hbWU6IHN0cmluZywgcGFsZXR0ZVR5cGU6IHN0cmluZywgcGFsZXR0ZTogVGhlbWVQYWxldHRlQ29sb3JzTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChwYWxldHRlVHlwZSA9PSBDT0xPUl9QQUxFVFRFKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICc1MCcsIHBhbGV0dGUuZmlmdHkpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnMTAwJywgcGFsZXR0ZS5vbmVIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzIwMCcsIHBhbGV0dGUudHdvSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICczMDAnLCBwYWxldHRlLnRocmVlSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICc0MDAnLCBwYWxldHRlLmZvdXJIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzUwMCcsIHBhbGV0dGUuZml2ZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnNjAwJywgcGFsZXR0ZS5zaXhIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzcwMCcsIHBhbGV0dGUuc2V2ZW5IdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzgwMCcsIHBhbGV0dGUuZWlnaHRIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzkwMCcsIHBhbGV0dGUubmluZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnQTEwMCcsIHBhbGV0dGUuYTEwMCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICdBMjAwJywgcGFsZXR0ZS5hMjAwKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJ0E0MDAnLCBwYWxldHRlLmE0MDApO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnQTcwMCcsIHBhbGV0dGUuYTcwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwYWxldHRlVHlwZSA9PSBDT05UUkFTVF9QQUxFVFRFKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICc1MCcsIHBhbGV0dGUuZmlmdHkpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnMTAwJywgcGFsZXR0ZS5vbmVIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzIwMCcsIHBhbGV0dGUudHdvSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICczMDAnLCBwYWxldHRlLnRocmVlSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICc0MDAnLCBwYWxldHRlLmZvdXJIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzUwMCcsIHBhbGV0dGUuZml2ZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnNjAwJywgcGFsZXR0ZS5zaXhIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzcwMCcsIHBhbGV0dGUuc2V2ZW5IdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzgwMCcsIHBhbGV0dGUuZWlnaHRIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzkwMCcsIHBhbGV0dGUubmluZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnQTEwMCcsIHBhbGV0dGUuYTEwMCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICdBMjAwJywgcGFsZXR0ZS5hMjAwKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJ0E0MDAnLCBwYWxldHRlLmE0MDApO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnQTcwMCcsIHBhbGV0dGUuYTcwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBjb2xvciBjc3MgdmFyaWFibGUgZm9yIHRoZSBnaXZlbiB0aGVtZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHBhcnQgUGFydCBudW1iZXJcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gcmVwbGFjZSB3aXRoXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUNvbG9yKHBhbGV0dGU6IHN0cmluZywgcGFydDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjc3NWYXIgPSBgLS0ke3BhbGV0dGV9LWNvbG9yLSR7cGFydH0tcGFydHNgO1xyXG4gICAgaWYgKHZhbHVlLmluY2x1ZGVzKCcjJykpIHtcclxuICAgICAgY29uc3QgcmdiID0gdGhpcy5oZXhUb1JnYih2YWx1ZSk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgJHtjc3NWYXJ9LXJnYmAsIGAke3JnYi5yfSwgJHtyZ2IuZ30sICR7cmdiLmJ9YCk7XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoY3NzVmFyLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBjb2xvciBjb250cmFzdCBjc3MgdmFyaWFibGUgZm9yIHRoZSBnaXZlbiB0aGVtZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHBhcnQgUGFydCBudW1iZXJcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gcmVwbGFjZSB3aXRoXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUNvbnRyYXN0KHBhbGV0dGU6IHN0cmluZywgcGFydDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tJHtwYWxldHRlfS1jb2xvci1jb250cmFzdC0ke3BhcnR9LXBhcnRzYCwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW5pdGlhbGl6ZXMgdGhlIGV4dGVuZGVkIHBhbGV0dGVzXHJcbiAgICogQHBhcmFtIHRoZW1lQ29uZmlnIFRoZSB0aGVtZSBjb25maWdcclxuICAgKi9cclxuICBwcml2YXRlIGluaXRFeHRlbmRlZFBhbGV0dGVzKHRoZW1lQ29uZmlnOiBUaGVtZVBhbGV0dGVNb2RlbCk6IHZvaWQge1xyXG4gICAgLy8gU2V0dGluZyB1cCBlcnJvciBjb2xvciAmIGNvbnRyYXN0IHBhbGV0dGVzXHJcbiAgICBjb25zdCBlcnJvckNvbG9yID0gdGhlbWVDb25maWcuZXJyb3JDb2xvcjtcclxuICAgIGNvbnN0IGVycm9yQ29udHJhc3QgPSB0aGVtZUNvbmZpZy5lcnJvckNvbnRyYXN0O1xyXG4gICAgaWYgKGVycm9yQ29sb3IgJiYgSlNPTi5zdHJpbmdpZnkoZXJyb3JDb2xvcikgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdlcnJvcicsIENPTE9SX1BBTEVUVEUsIGVycm9yQ29sb3IpO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yQ29udHJhc3QgJiYgSlNPTi5zdHJpbmdpZnkoZXJyb3JDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdlcnJvcicsIENPTlRSQVNUX1BBTEVUVEUsIGVycm9yQ29udHJhc3QpO1xyXG4gICAgfVxyXG4gICAgLy8gU2V0dGluZyB1cCBpbmZvIGNvbG9yICYgY29udHJhc3QgcGFsZXR0ZXNcclxuICAgIGNvbnN0IGluZm9Db2xvciA9IHRoZW1lQ29uZmlnLmluZm9Db2xvcjtcclxuICAgIGNvbnN0IGluZm9Db250cmFzdCA9IHRoZW1lQ29uZmlnLmluZm9Db250cmFzdDtcclxuICAgIGlmIChpbmZvQ29sb3IgJiYgSlNPTi5zdHJpbmdpZnkoaW5mb0NvbG9yKSAhPT0gJ3t9Jykge1xyXG4gICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ2luZm8nLCBDT0xPUl9QQUxFVFRFLCBpbmZvQ29sb3IpO1xyXG4gICAgfVxyXG4gICAgaWYgKGluZm9Db250cmFzdCAmJiBKU09OLnN0cmluZ2lmeShpbmZvQ29udHJhc3QpICE9PSAne30nKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnaW5mbycsIENPTlRSQVNUX1BBTEVUVEUsIGluZm9Db250cmFzdCk7XHJcbiAgICB9XHJcbiAgICAvLyBTZXR0aW5nIHVwIHN1Y2Nlc3MgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgY29uc3Qgc3VjY2Vzc0NvbG9yID0gdGhlbWVDb25maWcuc3VjY2Vzc0NvbG9yO1xyXG4gICAgY29uc3Qgc3VjY2Vzc0NvbnRyYXN0ID0gdGhlbWVDb25maWcuc3VjY2Vzc0NvbnRyYXN0O1xyXG4gICAgaWYgKHN1Y2Nlc3NDb2xvciAmJiBKU09OLnN0cmluZ2lmeShzdWNjZXNzQ29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnc3VjY2VzcycsIENPTE9SX1BBTEVUVEUsIHN1Y2Nlc3NDb2xvcik7XHJcbiAgICB9XHJcbiAgICBpZiAoc3VjY2Vzc0NvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHN1Y2Nlc3NDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdzdWNjZXNzJywgQ09OVFJBU1RfUEFMRVRURSwgc3VjY2Vzc0NvbnRyYXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBoZXggY29kZSB0byBSR0JcclxuICAgKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjIzODM4L3JnYi10by1oZXgtYW5kLWhleC10by1yZ2JcclxuICAgKiBAcGFyYW0gaGV4IFRoZSBoZXggY29kZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGV4VG9SZ2IoaGV4KToge3I6IG51bWJlciwgZzogbnVtYmVyLCBiOiBudW1iZXJ9IHtcclxuICAgIGNvbnN0IHJlc3VsdCA9IC9eIz8oW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KShbYS1mXFxkXXsyfSkkL2kuZXhlYyhoZXgpO1xyXG5cclxuICAgIHJldHVybiByZXN1bHQgPyB7XHJcbiAgICAgIHI6IHBhcnNlSW50KHJlc3VsdFsxXSwgMTYpLFxyXG4gICAgICBnOiBwYXJzZUludChyZXN1bHRbMl0sIDE2KSxcclxuICAgICAgYjogcGFyc2VJbnQocmVzdWx0WzNdLCAxNilcclxuICAgIH0gOiB1bmRlZmluZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FybWF0dXJlL3NyYy9saWIvdGhlbWluZy9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLGlDQUFpQztBQUNqQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUM7QUFFOUIsb0NBQW9DO0FBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDO0FBRXBDLHdCQUF3QjtBQUl4QixNQUFNLE9BQU8sWUFBWTtJQUV2Qjs7T0FFRztJQUNILGdCQUFnQixDQUFDO0lBRWpCOzs7T0FHRztJQUNJLFdBQVcsQ0FBQyxXQUE4QjtRQUMvQyxJQUFJLFdBQVcsRUFBRTtZQUNmLCtDQUErQztZQUMvQyxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsWUFBWSxDQUFDO1lBQzlDLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7WUFDcEQsSUFBSSxZQUFZLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3pELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQzthQUM1RDtZQUNELElBQUksZUFBZSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUMvRCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQzthQUNsRTtZQUNELDhDQUE4QztZQUM5QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDO1lBQzVDLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxjQUFjLENBQUM7WUFDbEQsSUFBSSxXQUFXLElBQUks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ZUFBZSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQy9ELElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxRQUFRLENBQUMsR0FBVztRQUMxQixNQUFNLE1BQU0sR0FBRywyQ0FBMkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFckUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzFCLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMxQixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDM0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2hCLENBQUM7O3lHQTlKVSxZQUFZOzZHQUFaLFlBQVksY0FGWCxNQUFNOzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUaGVtZVBhbGV0dGVDb2xvcnNNb2RlbCwgVGhlbWVQYWxldHRlTW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL2NsaWVudC1nZW5lcmF0ZWQvbW9kZWwvbW9kZWxzJztcclxuXHJcbi8qKiBUaGUgY29sb3IgcGFsZXR0ZSBjb25zdGFudCAqL1xyXG5jb25zdCBDT0xPUl9QQUxFVFRFID0gJ2NvbG9yJztcclxuXHJcbi8qKiBUaGUgY29udHJhc3QgcGFsZXR0ZSBjb25zdGFudCAqL1xyXG5jb25zdCBDT05UUkFTVF9QQUxFVFRFID0gJ2NvbnRyYXN0JztcclxuXHJcbi8qKiBUaGUgVGhlbWUgU2VydmljZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaGVtZVNlcnZpY2Uge1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgdGhlbWUgc2VydmljZSBjb25zdHJ1Y3RvclxyXG4gICAqL1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoZSBwYWxldHRlXHJcbiAgICogQHBhcmFtIHRoZW1lQ29uZmlnIFRoZSB0aGVtZSBjb25maWd1cmF0aW9uc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBpbml0UGFsZXR0ZSh0aGVtZUNvbmZpZzogVGhlbWVQYWxldHRlTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmICh0aGVtZUNvbmZpZykge1xyXG4gICAgICAvLyBTZXR0aW5nIHVwIHByaW1hcnkgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgICBjb25zdCBwcmltYXJ5Q29sb3IgPSB0aGVtZUNvbmZpZy5wcmltYXJ5Q29sb3I7XHJcbiAgICAgIGNvbnN0IHByaW1hcnlDb250cmFzdCA9IHRoZW1lQ29uZmlnLnByaW1hcnlDb250cmFzdDtcclxuICAgICAgaWYgKHByaW1hcnlDb2xvciAmJiBKU09OLnN0cmluZ2lmeShwcmltYXJ5Q29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdwcmltYXJ5JywgQ09MT1JfUEFMRVRURSwgcHJpbWFyeUNvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocHJpbWFyeUNvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHByaW1hcnlDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ3ByaW1hcnknLCBDT05UUkFTVF9QQUxFVFRFLCBwcmltYXJ5Q29udHJhc3QpO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIFNldHRpbmcgdXAgYWNjZW50IGNvbG9yICYgY29udHJhc3QgcGFsZXR0ZXNcclxuICAgICAgY29uc3QgYWNjZW50Q29sb3IgPSB0aGVtZUNvbmZpZy5hY2NlbnRDb2xvcjtcclxuICAgICAgY29uc3QgYWNjZW50Q29udHJhc3QgPSB0aGVtZUNvbmZpZy5hY2NlbnRDb250cmFzdDtcclxuICAgICAgaWYgKGFjY2VudENvbG9yICYmIEpTT04uc3RyaW5naWZ5KGFjY2VudENvbG9yKSAhPT0gJ3t9Jykge1xyXG4gICAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnYWNjZW50JywgQ09MT1JfUEFMRVRURSwgYWNjZW50Q29sb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhY2NlbnRDb250cmFzdCAmJiBKU09OLnN0cmluZ2lmeShhY2NlbnRDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ2FjY2VudCcsIENPTlRSQVNUX1BBTEVUVEUsIGFjY2VudENvbnRyYXN0KTtcclxuICAgICAgfVxyXG4gICAgICAvLyBTZXR0aW5nIHVwIHdhcm5pbmcgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgICBjb25zdCB3YXJuaW5nQ29sb3IgPSB0aGVtZUNvbmZpZy53YXJuaW5nQ29sb3I7XHJcbiAgICAgIGNvbnN0IHdhcm5pbmdDb250cmFzdCA9IHRoZW1lQ29uZmlnLndhcm5pbmdDb250cmFzdDtcclxuICAgICAgaWYgKHdhcm5pbmdDb2xvciAmJiBKU09OLnN0cmluZ2lmeSh3YXJuaW5nQ29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCd3YXJuJywgQ09MT1JfUEFMRVRURSwgd2FybmluZ0NvbG9yKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAod2FybmluZ0NvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHdhcm5pbmdDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ3dhcm4nLCBDT05UUkFTVF9QQUxFVFRFLCB3YXJuaW5nQ29udHJhc3QpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaW5pdEV4dGVuZGVkUGFsZXR0ZXModGhlbWVDb25maWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgdGhlbWVcclxuICAgKiBAcGFyYW0gcGFsZXR0ZU5hbWUgUGFsZXR0ZSBuYW1lXHJcbiAgICogQHBhcmFtIHBhbGV0dGVUeXBlIFBhbGV0dGUgdHlwZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdmFsdWVzXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZVBhbGV0dGUocGFsZXR0ZU5hbWU6IHN0cmluZywgcGFsZXR0ZVR5cGU6IHN0cmluZywgcGFsZXR0ZTogVGhlbWVQYWxldHRlQ29sb3JzTW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChwYWxldHRlVHlwZSA9PSBDT0xPUl9QQUxFVFRFKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICc1MCcsIHBhbGV0dGUuZmlmdHkpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnMTAwJywgcGFsZXR0ZS5vbmVIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzIwMCcsIHBhbGV0dGUudHdvSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICczMDAnLCBwYWxldHRlLnRocmVlSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICc0MDAnLCBwYWxldHRlLmZvdXJIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzUwMCcsIHBhbGV0dGUuZml2ZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnNjAwJywgcGFsZXR0ZS5zaXhIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzcwMCcsIHBhbGV0dGUuc2V2ZW5IdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzgwMCcsIHBhbGV0dGUuZWlnaHRIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJzkwMCcsIHBhbGV0dGUubmluZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnQTEwMCcsIHBhbGV0dGUuYTEwMCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29sb3IocGFsZXR0ZU5hbWUsICdBMjAwJywgcGFsZXR0ZS5hMjAwKTtcclxuICAgICAgdGhpcy51cGRhdGVDb2xvcihwYWxldHRlTmFtZSwgJ0E0MDAnLCBwYWxldHRlLmE0MDApO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbG9yKHBhbGV0dGVOYW1lLCAnQTcwMCcsIHBhbGV0dGUuYTcwMCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChwYWxldHRlVHlwZSA9PSBDT05UUkFTVF9QQUxFVFRFKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICc1MCcsIHBhbGV0dGUuZmlmdHkpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnMTAwJywgcGFsZXR0ZS5vbmVIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzIwMCcsIHBhbGV0dGUudHdvSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICczMDAnLCBwYWxldHRlLnRocmVlSHVuZHJlZCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICc0MDAnLCBwYWxldHRlLmZvdXJIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzUwMCcsIHBhbGV0dGUuZml2ZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnNjAwJywgcGFsZXR0ZS5zaXhIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzcwMCcsIHBhbGV0dGUuc2V2ZW5IdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzgwMCcsIHBhbGV0dGUuZWlnaHRIdW5kcmVkKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJzkwMCcsIHBhbGV0dGUubmluZUh1bmRyZWQpO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnQTEwMCcsIHBhbGV0dGUuYTEwMCk7XHJcbiAgICAgIHRoaXMudXBkYXRlQ29udHJhc3QocGFsZXR0ZU5hbWUsICdBMjAwJywgcGFsZXR0ZS5hMjAwKTtcclxuICAgICAgdGhpcy51cGRhdGVDb250cmFzdChwYWxldHRlTmFtZSwgJ0E0MDAnLCBwYWxldHRlLmE0MDApO1xyXG4gICAgICB0aGlzLnVwZGF0ZUNvbnRyYXN0KHBhbGV0dGVOYW1lLCAnQTcwMCcsIHBhbGV0dGUuYTcwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBjb2xvciBjc3MgdmFyaWFibGUgZm9yIHRoZSBnaXZlbiB0aGVtZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHBhcnQgUGFydCBudW1iZXJcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gcmVwbGFjZSB3aXRoXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUNvbG9yKHBhbGV0dGU6IHN0cmluZywgcGFydDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBjc3NWYXIgPSBgLS0ke3BhbGV0dGV9LWNvbG9yLSR7cGFydH0tcGFydHNgO1xyXG4gICAgaWYgKHZhbHVlLmluY2x1ZGVzKCcjJykpIHtcclxuICAgICAgY29uc3QgcmdiID0gdGhpcy5oZXhUb1JnYih2YWx1ZSk7XHJcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgJHtjc3NWYXJ9LXJnYmAsIGAke3JnYi5yfSwgJHtyZ2IuZ30sICR7cmdiLmJ9YCk7XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoY3NzVmFyLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVcGRhdGVzIHRoZSBjb2xvciBjb250cmFzdCBjc3MgdmFyaWFibGUgZm9yIHRoZSBnaXZlbiB0aGVtZVxyXG4gICAqIEBwYXJhbSBwYWxldHRlIFBhbGV0dGUgdG8gdXBkYXRlXHJcbiAgICogQHBhcmFtIHBhcnQgUGFydCBudW1iZXJcclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gcmVwbGFjZSB3aXRoXHJcbiAgICovXHJcbiAgcHVibGljIHVwZGF0ZUNvbnRyYXN0KHBhbGV0dGU6IHN0cmluZywgcGFydDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgPT09ICcjMDAwMDAwJyB8fCB2YWx1ZSA9PT0gJyMwMDAnKSB2YWx1ZSA9ICcjMDAwMDAwZGUnOyAvLyB1cGRhdGVzIHRvIGJsYWNrIHdpdGggODclIG9wYWNpdHkgcGVyIGRlc2lnbiBiZXN0IHByYWN0aWNlcyAuLi4gXHJcbiAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoYC0tJHtwYWxldHRlfS1jb2xvci1jb250cmFzdC0ke3BhcnR9LXBhcnRzYCwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogaW5pdGlhbGl6ZXMgdGhlIGV4dGVuZGVkIHBhbGV0dGVzXHJcbiAgICogQHBhcmFtIHRoZW1lQ29uZmlnIFRoZSB0aGVtZSBjb25maWdcclxuICAgKi9cclxuICBwcml2YXRlIGluaXRFeHRlbmRlZFBhbGV0dGVzKHRoZW1lQ29uZmlnOiBUaGVtZVBhbGV0dGVNb2RlbCk6IHZvaWQge1xyXG4gICAgLy8gU2V0dGluZyB1cCBlcnJvciBjb2xvciAmIGNvbnRyYXN0IHBhbGV0dGVzXHJcbiAgICBjb25zdCBlcnJvckNvbG9yID0gdGhlbWVDb25maWcuZXJyb3JDb2xvcjtcclxuICAgIGNvbnN0IGVycm9yQ29udHJhc3QgPSB0aGVtZUNvbmZpZy5lcnJvckNvbnRyYXN0O1xyXG4gICAgaWYgKGVycm9yQ29sb3IgJiYgSlNPTi5zdHJpbmdpZnkoZXJyb3JDb2xvcikgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdlcnJvcicsIENPTE9SX1BBTEVUVEUsIGVycm9yQ29sb3IpO1xyXG4gICAgfVxyXG4gICAgaWYgKGVycm9yQ29udHJhc3QgJiYgSlNPTi5zdHJpbmdpZnkoZXJyb3JDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdlcnJvcicsIENPTlRSQVNUX1BBTEVUVEUsIGVycm9yQ29udHJhc3QpO1xyXG4gICAgfVxyXG4gICAgLy8gU2V0dGluZyB1cCBpbmZvIGNvbG9yICYgY29udHJhc3QgcGFsZXR0ZXNcclxuICAgIGNvbnN0IGluZm9Db2xvciA9IHRoZW1lQ29uZmlnLmluZm9Db2xvcjtcclxuICAgIGNvbnN0IGluZm9Db250cmFzdCA9IHRoZW1lQ29uZmlnLmluZm9Db250cmFzdDtcclxuICAgIGlmIChpbmZvQ29sb3IgJiYgSlNPTi5zdHJpbmdpZnkoaW5mb0NvbG9yKSAhPT0gJ3t9Jykge1xyXG4gICAgICB0aGlzLnVwZGF0ZVBhbGV0dGUoJ2luZm8nLCBDT0xPUl9QQUxFVFRFLCBpbmZvQ29sb3IpO1xyXG4gICAgfVxyXG4gICAgaWYgKGluZm9Db250cmFzdCAmJiBKU09OLnN0cmluZ2lmeShpbmZvQ29udHJhc3QpICE9PSAne30nKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnaW5mbycsIENPTlRSQVNUX1BBTEVUVEUsIGluZm9Db250cmFzdCk7XHJcbiAgICB9XHJcbiAgICAvLyBTZXR0aW5nIHVwIHN1Y2Nlc3MgY29sb3IgJiBjb250cmFzdCBwYWxldHRlc1xyXG4gICAgY29uc3Qgc3VjY2Vzc0NvbG9yID0gdGhlbWVDb25maWcuc3VjY2Vzc0NvbG9yO1xyXG4gICAgY29uc3Qgc3VjY2Vzc0NvbnRyYXN0ID0gdGhlbWVDb25maWcuc3VjY2Vzc0NvbnRyYXN0O1xyXG4gICAgaWYgKHN1Y2Nlc3NDb2xvciAmJiBKU09OLnN0cmluZ2lmeShzdWNjZXNzQ29sb3IpICE9PSAne30nKSB7XHJcbiAgICAgIHRoaXMudXBkYXRlUGFsZXR0ZSgnc3VjY2VzcycsIENPTE9SX1BBTEVUVEUsIHN1Y2Nlc3NDb2xvcik7XHJcbiAgICB9XHJcbiAgICBpZiAoc3VjY2Vzc0NvbnRyYXN0ICYmIEpTT04uc3RyaW5naWZ5KHN1Y2Nlc3NDb250cmFzdCkgIT09ICd7fScpIHtcclxuICAgICAgdGhpcy51cGRhdGVQYWxldHRlKCdzdWNjZXNzJywgQ09OVFJBU1RfUEFMRVRURSwgc3VjY2Vzc0NvbnRyYXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENvbnZlcnRzIHRoZSBoZXggY29kZSB0byBSR0JcclxuICAgKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy81NjIzODM4L3JnYi10by1oZXgtYW5kLWhleC10by1yZ2JcclxuICAgKiBAcGFyYW0gaGV4IFRoZSBoZXggY29kZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgaGV4VG9SZ2IoaGV4OiBzdHJpbmcpOiB7cjogbnVtYmVyLCBnOiBudW1iZXIsIGI6IG51bWJlcn0ge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gL14jPyhbYS1mXFxkXXsyfSkoW2EtZlxcZF17Mn0pKFthLWZcXGRdezJ9KSQvaS5leGVjKGhleCk7XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdCA/IHtcclxuICAgICAgcjogcGFyc2VJbnQocmVzdWx0WzFdLCAxNiksXHJcbiAgICAgIGc6IHBhcnNlSW50KHJlc3VsdFsyXSwgMTYpLFxyXG4gICAgICBiOiBwYXJzZUludChyZXN1bHRbM10sIDE2KVxyXG4gICAgfSA6IHVuZGVmaW5lZDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|