@colijnit/configurator 259.1.0 → 259.1.2
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/app/builder.d.ts +3 -1
- package/bundles/colijnit-configurator.umd.js +3799 -3398
- package/bundles/colijnit-configurator.umd.js.map +1 -1
- package/colijnit-configurator-259.1.1.tgz +0 -0
- package/colijnit-configurator.metadata.json +1 -1
- package/configurator/index.html +14 -0
- package/configurator/main.js +3555 -0
- package/configurator/main.js.map +1 -0
- package/configurator/polyfills.js +5683 -0
- package/configurator/polyfills.js.map +1 -0
- package/configurator/runtime.js +149 -0
- package/configurator/runtime.js.map +1 -0
- package/configurator/styles.css +48 -0
- package/configurator/styles.css.map +1 -0
- package/configurator/vendor.js +210213 -0
- package/configurator/vendor.js.map +1 -0
- package/esm2015/app/builder.js +60 -27
- package/esm2015/app/components/answers/answer/answer.component.js +1 -1
- package/esm2015/app/components/answers/answers.component.js +1 -1
- package/esm2015/app/components/selections/selections.component.js +1 -1
- package/esm2015/helper/variation-helper.js +101 -46
- package/esm2015/model/variation-settings.js +46 -3
- package/esm2015/utils/asset.utils.js +77 -72
- package/esm2015/utils/image.utils.js +34 -25
- package/esm2015/utils/scene-utils.js +90 -20
- package/esm2015/utils/variation-utils.js +28 -33
- package/fesm2015/colijnit-configurator.js +427 -220
- package/fesm2015/colijnit-configurator.js.map +1 -1
- package/helper/variation-helper.d.ts +5 -1
- package/model/variation-settings.d.ts +3 -2
- package/package.json +7 -7
- package/utils/scene-utils.d.ts +2 -2
|
@@ -1,11 +1,54 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
2
|
export class VariationSettingsSettings {
|
|
3
3
|
}
|
|
4
4
|
export class VariationSettings {
|
|
5
5
|
constructor() {
|
|
6
6
|
this.settings = new VariationSettingsSettings();
|
|
7
7
|
this.loading = false;
|
|
8
|
-
this.loaded = new
|
|
8
|
+
this.loaded = new BehaviorSubject(undefined);
|
|
9
|
+
}
|
|
10
|
+
copyFrom(settings) {
|
|
11
|
+
this.settings = settings.settings;
|
|
12
|
+
this.texture = settings.texture;
|
|
13
|
+
this.textureFilename = settings.textureFilename;
|
|
14
|
+
this.normal = settings.normal;
|
|
15
|
+
this.normalFilename = settings.normalFilename;
|
|
16
|
+
this.ao = settings.ao;
|
|
17
|
+
this.aoFilename = settings.aoFilename;
|
|
18
|
+
this.metalness = settings.metalness;
|
|
19
|
+
this.metalnessFilename = settings.metalnessFilename;
|
|
20
|
+
this.roughness = settings.roughness;
|
|
21
|
+
this.roughnessFilename = settings.roughnessFilename;
|
|
22
|
+
this.orm = settings.orm;
|
|
23
|
+
this.ormFilename = settings.ormFilename;
|
|
24
|
+
this.displacement = settings.displacement;
|
|
25
|
+
this.displacementValue = settings.displacementValue;
|
|
26
|
+
this.displacementFilename = settings.displacementFilename;
|
|
27
|
+
this.sheen = settings.sheen;
|
|
28
|
+
this.sheenColor = settings.sheenColor;
|
|
29
|
+
this.sheenColorMap = settings.sheenColorMap;
|
|
30
|
+
this.sheenColorMapFilename = settings.sheenColorMapFilename;
|
|
31
|
+
this.transmissionMap = settings.transmissionMap;
|
|
32
|
+
this.transmissionMapFilename = settings.transmissionMapFilename;
|
|
33
|
+
this.sheenRoughness = settings.sheenRoughness;
|
|
34
|
+
this.sheenRoughnessMap = settings.sheenRoughnessMap;
|
|
35
|
+
this.sheenRoughnessMapFilename = settings.sheenRoughnessMapFilename;
|
|
36
|
+
this.emissive = settings.emissive;
|
|
37
|
+
this.emissiveFilename = settings.emissiveFilename;
|
|
38
|
+
this.emissiveIntensity = settings.emissiveIntensity;
|
|
39
|
+
this.emissiveValue = settings.emissiveValue;
|
|
40
|
+
this.opacity = settings.opacity;
|
|
41
|
+
this.transparent = settings.transparent;
|
|
42
|
+
this.envMap = settings.envMap;
|
|
43
|
+
this.envMapFilename = settings.envMapFilename;
|
|
44
|
+
this.envMapIntensity = settings.envMapIntensity;
|
|
45
|
+
this.reflectivity = settings.reflectivity;
|
|
46
|
+
this.side = settings.side;
|
|
47
|
+
this.transmission = settings.transmission;
|
|
48
|
+
this.ior = settings.ior;
|
|
49
|
+
this.thickness = settings.thickness;
|
|
50
|
+
this.specularIntensity = settings.specularIntensity;
|
|
51
|
+
this.material = settings.material;
|
|
9
52
|
}
|
|
10
53
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWF0aW9uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3ZhcmlhdGlvbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZUFBZSxFQUFVLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE1BQU0sT0FBTyx5QkFBeUI7Q0FLckM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBRVMsYUFBUSxHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUE0Q3RFLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUF1QyxJQUFJLGVBQWUsQ0FBb0IsU0FBUyxDQUFDLENBQUM7SUE4Q3hHLENBQUM7SUE1Q1EsUUFBUSxDQUFDLFFBQTJCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQ3BELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7UUFDNUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDaEQsSUFBSSxDQUFDLHVCQUF1QixHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztRQUNoRSxJQUFJLENBQUMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUM7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztRQUNwRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsUUFBUSxDQUFDLHlCQUF5QixDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsaUJBQWlCLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztRQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7UUFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7UUFDMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztRQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQztJQUNwQyxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBWYXJpYXRpb25TZXR0aW5nc1NldHRpbmdzIHtcbiAgcmVwZWF0eDogbnVtYmVyO1xuICByZXBlYXR5OiBudW1iZXI7XG4gIHJvdWdobmVzczogbnVtYmVyO1xuICBtZXRhbG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFZhcmlhdGlvblNldHRpbmdzIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzZXR0aW5nczogVmFyaWF0aW9uU2V0dGluZ3NTZXR0aW5ncyA9IG5ldyBWYXJpYXRpb25TZXR0aW5nc1NldHRpbmdzKCk7XG4gIHB1YmxpYyB0ZXh0dXJlOiBzdHJpbmc7XG4gIHB1YmxpYyB0ZXh0dXJlRmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIG5vcm1hbDogc3RyaW5nO1xuICBwdWJsaWMgbm9ybWFsRmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIGFvOiBzdHJpbmc7XG4gIHB1YmxpYyBhb0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBtZXRhbG5lc3M6IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByb3VnaG5lc3M6IHN0cmluZztcbiAgcHVibGljIHJvdWdobmVzc0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBvcm06IHN0cmluZztcbiAgcHVibGljIG9ybUZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnQ6IHN0cmluZztcbiAgcHVibGljIGRpc3BsYWNlbWVudFZhbHVlOiBudW1iZXI7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnRGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgc2hlZW46IG51bWJlcjtcbiAgcHVibGljIHNoZWVuQ29sb3I6IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXA6IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdHJhbnNtaXNzaW9uTWFwOiBzdHJpbmc7XG4gIHB1YmxpYyB0cmFuc21pc3Npb25NYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgc2hlZW5Sb3VnaG5lc3M6IG51bWJlcjtcbiAgcHVibGljIHNoZWVuUm91Z2huZXNzTWFwOiBzdHJpbmc7XG4gIHB1YmxpYyBzaGVlblJvdWdobmVzc01hcEZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBlbWlzc2l2ZTogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVJbnRlbnNpdHk6IG51bWJlcjtcbiAgcHVibGljIGVtaXNzaXZlVmFsdWU6IHN0cmluZztcbiAgcHVibGljIG9wYWNpdHk6IG51bWJlcjtcbiAgcHVibGljIHRyYW5zcGFyZW50OiBib29sZWFuO1xuICBwdWJsaWMgZW52TWFwOiBzdHJpbmc7XG4gIHB1YmxpYyBlbnZNYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZW52TWFwSW50ZW5zaXR5OiBudW1iZXI7XG4gIHB1YmxpYyByZWZsZWN0aXZpdHk6IG51bWJlcjtcbiAgcHVibGljIHNpZGU6IG51bWJlcjtcbiAgcHVibGljIHRyYW5zbWlzc2lvbjogbnVtYmVyO1xuICBwdWJsaWMgaW9yOiBudW1iZXI7XG4gIHB1YmxpYyB0aGlja25lc3M6IG51bWJlcjtcbiAgcHVibGljIHNwZWN1bGFySW50ZW5zaXR5OiBudW1iZXI7XG5cbiAgLy8gZm9yIHByZS1zYXZlZCBtYXRlcmlhbHMgZG93bmxvYWRlZCBhcyB6aXBcbiAgcHVibGljIG1hdGVyaWFsOiBhbnk7XG5cbiAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxvYWRlZDogQmVoYXZpb3JTdWJqZWN0PFZhcmlhdGlvblNldHRpbmdzPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VmFyaWF0aW9uU2V0dGluZ3M+KHVuZGVmaW5lZCk7XG5cbiAgcHVibGljIGNvcHlGcm9tKHNldHRpbmdzOiBWYXJpYXRpb25TZXR0aW5ncyk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ3MgPSBzZXR0aW5ncy5zZXR0aW5ncztcbiAgICB0aGlzLnRleHR1cmUgPSBzZXR0aW5ncy50ZXh0dXJlO1xuICAgIHRoaXMudGV4dHVyZUZpbGVuYW1lID0gc2V0dGluZ3MudGV4dHVyZUZpbGVuYW1lO1xuICAgIHRoaXMubm9ybWFsID0gc2V0dGluZ3Mubm9ybWFsO1xuICAgIHRoaXMubm9ybWFsRmlsZW5hbWUgPSBzZXR0aW5ncy5ub3JtYWxGaWxlbmFtZTtcbiAgICB0aGlzLmFvID0gc2V0dGluZ3MuYW87XG4gICAgdGhpcy5hb0ZpbGVuYW1lID0gc2V0dGluZ3MuYW9GaWxlbmFtZTtcbiAgICB0aGlzLm1ldGFsbmVzcyA9IHNldHRpbmdzLm1ldGFsbmVzcztcbiAgICB0aGlzLm1ldGFsbmVzc0ZpbGVuYW1lID0gc2V0dGluZ3MubWV0YWxuZXNzRmlsZW5hbWU7XG4gICAgdGhpcy5yb3VnaG5lc3MgPSBzZXR0aW5ncy5yb3VnaG5lc3M7XG4gICAgdGhpcy5yb3VnaG5lc3NGaWxlbmFtZSA9IHNldHRpbmdzLnJvdWdobmVzc0ZpbGVuYW1lO1xuICAgIHRoaXMub3JtID0gc2V0dGluZ3Mub3JtO1xuICAgIHRoaXMub3JtRmlsZW5hbWUgPSBzZXR0aW5ncy5vcm1GaWxlbmFtZTtcbiAgICB0aGlzLmRpc3BsYWNlbWVudCA9IHNldHRpbmdzLmRpc3BsYWNlbWVudDtcbiAgICB0aGlzLmRpc3BsYWNlbWVudFZhbHVlID0gc2V0dGluZ3MuZGlzcGxhY2VtZW50VmFsdWU7XG4gICAgdGhpcy5kaXNwbGFjZW1lbnRGaWxlbmFtZSA9IHNldHRpbmdzLmRpc3BsYWNlbWVudEZpbGVuYW1lO1xuICAgIHRoaXMuc2hlZW4gPSBzZXR0aW5ncy5zaGVlbjtcbiAgICB0aGlzLnNoZWVuQ29sb3IgPSBzZXR0aW5ncy5zaGVlbkNvbG9yO1xuICAgIHRoaXMuc2hlZW5Db2xvck1hcCA9IHNldHRpbmdzLnNoZWVuQ29sb3JNYXA7XG4gICAgdGhpcy5zaGVlbkNvbG9yTWFwRmlsZW5hbWUgPSBzZXR0aW5ncy5zaGVlbkNvbG9yTWFwRmlsZW5hbWU7XG4gICAgdGhpcy50cmFuc21pc3Npb25NYXAgPSBzZXR0aW5ncy50cmFuc21pc3Npb25NYXA7XG4gICAgdGhpcy50cmFuc21pc3Npb25NYXBGaWxlbmFtZSA9IHNldHRpbmdzLnRyYW5zbWlzc2lvbk1hcEZpbGVuYW1lO1xuICAgIHRoaXMuc2hlZW5Sb3VnaG5lc3MgPSBzZXR0aW5ncy5zaGVlblJvdWdobmVzcztcbiAgICB0aGlzLnNoZWVuUm91Z2huZXNzTWFwID0gc2V0dGluZ3Muc2hlZW5Sb3VnaG5lc3NNYXA7XG4gICAgdGhpcy5zaGVlblJvdWdobmVzc01hcEZpbGVuYW1lID0gc2V0dGluZ3Muc2hlZW5Sb3VnaG5lc3NNYXBGaWxlbmFtZTtcbiAgICB0aGlzLmVtaXNzaXZlID0gc2V0dGluZ3MuZW1pc3NpdmU7XG4gICAgdGhpcy5lbWlzc2l2ZUZpbGVuYW1lID0gc2V0dGluZ3MuZW1pc3NpdmVGaWxlbmFtZTtcbiAgICB0aGlzLmVtaXNzaXZlSW50ZW5zaXR5ID0gc2V0dGluZ3MuZW1pc3NpdmVJbnRlbnNpdHk7XG4gICAgdGhpcy5lbWlzc2l2ZVZhbHVlID0gc2V0dGluZ3MuZW1pc3NpdmVWYWx1ZTtcbiAgICB0aGlzLm9wYWNpdHkgPSBzZXR0aW5ncy5vcGFjaXR5O1xuICAgIHRoaXMudHJhbnNwYXJlbnQgPSBzZXR0aW5ncy50cmFuc3BhcmVudDtcbiAgICB0aGlzLmVudk1hcCA9IHNldHRpbmdzLmVudk1hcDtcbiAgICB0aGlzLmVudk1hcEZpbGVuYW1lID0gc2V0dGluZ3MuZW52TWFwRmlsZW5hbWU7XG4gICAgdGhpcy5lbnZNYXBJbnRlbnNpdHkgPSBzZXR0aW5ncy5lbnZNYXBJbnRlbnNpdHk7XG4gICAgdGhpcy5yZWZsZWN0aXZpdHkgPSBzZXR0aW5ncy5yZWZsZWN0aXZpdHk7XG4gICAgdGhpcy5zaWRlID0gc2V0dGluZ3Muc2lkZTtcbiAgICB0aGlzLnRyYW5zbWlzc2lvbiA9IHNldHRpbmdzLnRyYW5zbWlzc2lvbjtcbiAgICB0aGlzLmlvciA9IHNldHRpbmdzLmlvcjtcbiAgICB0aGlzLnRoaWNrbmVzcyA9IHNldHRpbmdzLnRoaWNrbmVzcztcbiAgICB0aGlzLnNwZWN1bGFySW50ZW5zaXR5ID0gc2V0dGluZ3Muc3BlY3VsYXJJbnRlbnNpdHk7XG4gICAgdGhpcy5tYXRlcmlhbCA9IHNldHRpbmdzLm1hdGVyaWFsO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -8,82 +8,87 @@ export class AssetUtils {
|
|
|
8
8
|
static CreateMaterialFromAsset(asset) {
|
|
9
9
|
return __awaiter(this, void 0, void 0, function* () {
|
|
10
10
|
const material = new Material();
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (asset.settings) {
|
|
15
|
-
AssetUtils.setSettingsOfMaterial(material, asset.settings);
|
|
16
|
-
}
|
|
17
|
-
if (asset.texture) {
|
|
18
|
-
material.texture = yield ImageUtils.CreateTextureFromBase64(asset.id + '_texture', asset.texture, material);
|
|
19
|
-
material.texture.colorSpace = SRGBColorSpace;
|
|
20
|
-
material.textureFilename = asset.textureFilename;
|
|
21
|
-
}
|
|
22
|
-
if (asset.normal) {
|
|
23
|
-
material.normal = yield ImageUtils.CreateTextureFromBase64(asset.id + '_normal', asset.normal, material);
|
|
24
|
-
material.normalFilename = asset.normalFilename;
|
|
25
|
-
}
|
|
26
|
-
if (asset.orm) {
|
|
27
|
-
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_orm', asset.orm, material);
|
|
28
|
-
material.roughness = material.ao;
|
|
29
|
-
material.metalness = material.ao;
|
|
30
|
-
material.aoFilename = asset.ormFilename;
|
|
31
|
-
material.roughnessFilename = asset.ormFilename;
|
|
32
|
-
material.metalnessFilename = asset.ormFilename;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
if (asset.ao) {
|
|
36
|
-
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_ao', asset.ao, material);
|
|
37
|
-
material.aoFilename = asset.aoFilename;
|
|
11
|
+
try {
|
|
12
|
+
if (!asset) {
|
|
13
|
+
return material;
|
|
38
14
|
}
|
|
39
|
-
if (asset.
|
|
40
|
-
|
|
41
|
-
material.metalnessFilename = asset.metalnessFilename;
|
|
15
|
+
if (asset.settings) {
|
|
16
|
+
AssetUtils.setSettingsOfMaterial(material, asset.settings);
|
|
42
17
|
}
|
|
43
|
-
if (asset.
|
|
44
|
-
material.
|
|
45
|
-
material.
|
|
18
|
+
if (asset.texture) {
|
|
19
|
+
material.texture = yield ImageUtils.CreateTextureFromBase64(asset.id + '_texture', asset.texture, material);
|
|
20
|
+
material.texture.colorSpace = SRGBColorSpace;
|
|
21
|
+
material.textureFilename = asset.textureFilename;
|
|
46
22
|
}
|
|
23
|
+
if (asset.normal) {
|
|
24
|
+
material.normal = yield ImageUtils.CreateTextureFromBase64(asset.id + '_normal', asset.normal, material);
|
|
25
|
+
material.normalFilename = asset.normalFilename;
|
|
26
|
+
}
|
|
27
|
+
if (asset.orm) {
|
|
28
|
+
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_orm', asset.orm, material);
|
|
29
|
+
material.roughness = material.ao;
|
|
30
|
+
material.metalness = material.ao;
|
|
31
|
+
material.aoFilename = asset.ormFilename;
|
|
32
|
+
material.roughnessFilename = asset.ormFilename;
|
|
33
|
+
material.metalnessFilename = asset.ormFilename;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
if (asset.ao) {
|
|
37
|
+
material.ao = yield ImageUtils.CreateTextureFromBase64(asset.id + '_ao', asset.ao, material);
|
|
38
|
+
material.aoFilename = asset.aoFilename;
|
|
39
|
+
}
|
|
40
|
+
if (asset.metalness) {
|
|
41
|
+
material.metalness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_metalness', asset.metalness, material);
|
|
42
|
+
material.metalnessFilename = asset.metalnessFilename;
|
|
43
|
+
}
|
|
44
|
+
if (asset.roughness) {
|
|
45
|
+
material.roughness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_roughness', asset.roughness, material);
|
|
46
|
+
material.roughnessFilename = asset.roughnessFilename;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (asset.displacement) {
|
|
50
|
+
material.displacement = yield ImageUtils.CreateTextureFromBase64(asset.id + '_displacement', asset.displacement, material);
|
|
51
|
+
material.displacementFilename = asset.displacementFilename;
|
|
52
|
+
}
|
|
53
|
+
if (asset.envMap) {
|
|
54
|
+
material.envMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_env', asset.envMap, material, true);
|
|
55
|
+
material.envMapFilename = asset.envMapFilename;
|
|
56
|
+
}
|
|
57
|
+
if (asset.sheenColorMap) {
|
|
58
|
+
material.sheenColorMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_sheen_color', asset.sheenColorMap, material);
|
|
59
|
+
material.sheenColorMapFileName = asset.sheenColorMapFilename;
|
|
60
|
+
}
|
|
61
|
+
if (asset.sheenRoughnessMap) {
|
|
62
|
+
material.sheenRoughnessMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_sheen_roughness', asset.sheenRoughnessMap, material);
|
|
63
|
+
material.sheenRoughnessMapFileName = asset.sheenRoughnessMapFilename;
|
|
64
|
+
}
|
|
65
|
+
if (asset.transmissionMap) {
|
|
66
|
+
material.transmissionMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_transmission', asset.transmissionMap, material);
|
|
67
|
+
material.transmissionMapFileName = asset.transmissionMapFilename;
|
|
68
|
+
}
|
|
69
|
+
if (asset.emissive) {
|
|
70
|
+
material.emissive = yield ImageUtils.CreateTextureFromBase64(asset.id + '_emissive', asset.emissive, material);
|
|
71
|
+
material.emissiveFileName = asset.emissiveFilename;
|
|
72
|
+
}
|
|
73
|
+
material.sheen = asset.sheen;
|
|
74
|
+
material.emissiveIntensityValue = asset.emissiveIntensity;
|
|
75
|
+
material.emissiveValue = asset.emissiveValue;
|
|
76
|
+
material.side = asset.side;
|
|
77
|
+
material.sheenColor = asset.sheenColor;
|
|
78
|
+
material.sheenRoughness = asset.sheenRoughness;
|
|
79
|
+
material.opacity = asset.opacity;
|
|
80
|
+
material.transparent = asset.transparent;
|
|
81
|
+
material.envMapIntensity = asset.envMapIntensity;
|
|
82
|
+
material.reflectivity = asset.reflectivity;
|
|
83
|
+
material.displacementValue = asset.displacementValue;
|
|
84
|
+
material.transmission = asset.transmission;
|
|
85
|
+
material.ior = asset.ior;
|
|
86
|
+
material.thickness = asset.thickness;
|
|
87
|
+
material.specularIntensity = asset.specularIntensity;
|
|
47
88
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
material.displacementFilename = asset.displacementFilename;
|
|
51
|
-
}
|
|
52
|
-
if (asset.envMap) {
|
|
53
|
-
material.envMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_env', asset.envMap, material, true);
|
|
54
|
-
material.envMapFilename = asset.envMapFilename;
|
|
55
|
-
}
|
|
56
|
-
if (asset.sheenColorMap) {
|
|
57
|
-
material.sheenColorMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_sheen_color', asset.sheenColorMap, material);
|
|
58
|
-
material.sheenColorMapFileName = asset.sheenColorMapFilename;
|
|
59
|
-
}
|
|
60
|
-
if (asset.sheenRoughnessMap) {
|
|
61
|
-
material.sheenRoughnessMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_sheen_roughness', asset.sheenRoughnessMap, material);
|
|
62
|
-
material.sheenRoughnessMapFileName = asset.sheenRoughnessMapFilename;
|
|
63
|
-
}
|
|
64
|
-
if (asset.transmissionMap) {
|
|
65
|
-
material.transmissionMap = yield ImageUtils.CreateTextureFromBase64(asset.id + '_transmission', asset.transmissionMap, material);
|
|
66
|
-
material.transmissionMapFileName = asset.transmissionMapFilename;
|
|
67
|
-
}
|
|
68
|
-
if (asset.emissive) {
|
|
69
|
-
material.emissive = yield ImageUtils.CreateTextureFromBase64(asset.id + '_emissive', asset.emissive, material);
|
|
70
|
-
material.emissiveFileName = asset.emissiveFilename;
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.error(e);
|
|
71
91
|
}
|
|
72
|
-
material.sheen = asset.sheen;
|
|
73
|
-
material.emissiveIntensityValue = asset.emissiveIntensity;
|
|
74
|
-
material.emissiveValue = asset.emissiveValue;
|
|
75
|
-
material.side = asset.side;
|
|
76
|
-
material.sheenColor = asset.sheenColor;
|
|
77
|
-
material.sheenRoughness = asset.sheenRoughness;
|
|
78
|
-
material.opacity = asset.opacity;
|
|
79
|
-
material.transparent = asset.transparent;
|
|
80
|
-
material.envMapIntensity = asset.envMapIntensity;
|
|
81
|
-
material.reflectivity = asset.reflectivity;
|
|
82
|
-
material.displacementValue = asset.displacementValue;
|
|
83
|
-
material.transmission = asset.transmission;
|
|
84
|
-
material.ior = asset.ior;
|
|
85
|
-
material.thickness = asset.thickness;
|
|
86
|
-
material.specularIntensity = asset.specularIntensity;
|
|
87
92
|
return material;
|
|
88
93
|
});
|
|
89
94
|
}
|
|
@@ -116,4 +121,4 @@ export class AssetUtils {
|
|
|
116
121
|
}
|
|
117
122
|
}
|
|
118
123
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYXNzZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxLQUFLLEVBQUUsY0FBYyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBRTVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0NBYzlDO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFFZCxNQUFNLENBQU8sdUJBQXVCLENBQUMsS0FBd0I7O1lBQ2xFLE1BQU0sUUFBUSxHQUFzQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNqQixRQUFRLENBQUMsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztnQkFDN0MsUUFBUSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO2FBQ2xEO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcs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QyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDNUI7UUFFRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUM1QjtRQUVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQixRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tICcuL2ltYWdlLnV0aWxzJztcbmltcG9ydCB7VmFyaWF0aW9uU2V0dGluZ3N9IGZyb20gJy4uL21vZGVsL3ZhcmlhdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQge0NvbG9yLCBTUkdCQ29sb3JTcGFjZX0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgY2xhc3MgRnVybml0dXJlTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCB7XG5cbiAgcHVibGljIHRleHR1cmVGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG5vcm1hbEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgYW9GaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgcm91Z2huZXNzRmlsZW5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnRGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIGVudk1hcEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVGaWxlTmFtZT86IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXBGaWxlTmFtZT86IHN0cmluZztcbiAgcHVibGljIHNoZWVuUm91Z2huZXNzTWFwRmlsZU5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyB0cmFuc21pc3Npb25NYXBGaWxlTmFtZT86IHN0cmluZztcblxufVxuXG5leHBvcnQgY2xhc3MgQXNzZXRVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBDcmVhdGVNYXRlcmlhbEZyb21Bc3NldChhc3NldDogVmFyaWF0aW9uU2V0dGluZ3MpOiBQcm9taXNlPE1hdGVyaWFsPiB7XG4gICAgY29uc3QgbWF0ZXJpYWw6IEZ1cm5pdHVyZU1hdGVyaWFsID0gbmV3IE1hdGVyaWFsKCk7XG4gICAgaWYgKCFhc3NldCkge1xuICAgICAgcmV0dXJuIG1hdGVyaWFsO1xuICAgIH1cbiAgICBpZiAoYXNzZXQuc2V0dGluZ3MpIHtcbiAgICAgIEFzc2V0VXRpbHMuc2V0U2V0dGluZ3NPZk1hdGVyaWFsKG1hdGVyaWFsLCBhc3NldC5zZXR0aW5ncyk7XG4gICAgfVxuICAgIGlmIChhc3NldC50ZXh0dXJlKSB7XG4gICAgICBtYXRlcmlhbC50ZXh0dXJlID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfdGV4dHVyZScsIGFzc2V0LnRleHR1cmUsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLnRleHR1cmUuY29sb3JTcGFjZSA9IFNSR0JDb2xvclNwYWNlO1xuICAgICAgbWF0ZXJpYWwudGV4dHVyZUZpbGVuYW1lID0gYXNzZXQudGV4dHVyZUZpbGVuYW1lO1xuICAgIH1cbiAgICBpZiAoYXNzZXQubm9ybWFsKSB7XG4gICAgICBtYXRlcmlhbC5ub3JtYWwgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19ub3JtYWwnLCBhc3NldC5ub3JtYWwsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLm5vcm1hbEZpbGVuYW1lID0gYXNzZXQubm9ybWFsRmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC5vcm0pIHtcbiAgICAgIG1hdGVyaWFsLmFvID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfb3JtJywgYXNzZXQub3JtLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5yb3VnaG5lc3MgPSBtYXRlcmlhbC5hbztcbiAgICAgIG1hdGVyaWFsLm1ldGFsbmVzcyA9IG1hdGVyaWFsLmFvO1xuICAgICAgbWF0ZXJpYWwuYW9GaWxlbmFtZSA9IGFzc2V0Lm9ybUZpbGVuYW1lO1xuICAgICAgbWF0ZXJpYWwucm91Z2huZXNzRmlsZW5hbWUgPSBhc3NldC5vcm1GaWxlbmFtZTtcbiAgICAgIG1hdGVyaWFsLm1ldGFsbmVzc0ZpbGVuYW1lID0gYXNzZXQub3JtRmlsZW5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChhc3NldC5hbykge1xuICAgICAgICBtYXRlcmlhbC5hbyA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX2FvJywgYXNzZXQuYW8sIG1hdGVyaWFsKTtcbiAgICAgICAgbWF0ZXJpYWwuYW9GaWxlbmFtZSA9IGFzc2V0LmFvRmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQubWV0YWxuZXNzKSB7XG4gICAgICAgIG1hdGVyaWFsLm1ldGFsbmVzcyA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX21ldGFsbmVzcycsIGFzc2V0Lm1ldGFsbmVzcywgbWF0ZXJpYWwpO1xuICAgICAgICBtYXRlcmlhbC5tZXRhbG5lc3NGaWxlbmFtZSA9IGFzc2V0Lm1ldGFsbmVzc0ZpbGVuYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGFzc2V0LnJvdWdobmVzcykge1xuICAgICAgICBtYXRlcmlhbC5yb3VnaG5lc3MgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19yb3VnaG5lc3MnLCBhc3NldC5yb3VnaG5lc3MsIG1hdGVyaWFsKTtcbiAgICAgICAgbWF0ZXJpYWwucm91Z2huZXNzRmlsZW5hbWUgPSBhc3NldC5yb3VnaG5lc3NGaWxlbmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGFzc2V0LmRpc3BsYWNlbWVudCkge1xuICAgICAgbWF0ZXJpYWwuZGlzcGxhY2VtZW50ID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfZGlzcGxhY2VtZW50JywgYXNzZXQuZGlzcGxhY2VtZW50LCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5kaXNwbGFjZW1lbnRGaWxlbmFtZSA9IGFzc2V0LmRpc3BsYWNlbWVudEZpbGVuYW1lO1xuICAgIH1cbiAgICBpZiAoYXNzZXQuZW52TWFwKSB7XG4gICAgICBtYXRlcmlhbC5lbnZNYXAgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19lbnYnLCBhc3NldC5lbnZNYXAsIG1hdGVyaWFsLCB0cnVlKTtcbiAgICAgIG1hdGVyaWFsLmVudk1hcEZpbGVuYW1lID0gYXNzZXQuZW52TWFwRmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC5zaGVlbkNvbG9yTWFwKSB7XG4gICAgICBtYXRlcmlhbC5zaGVlbkNvbG9yTWFwID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfc2hlZW5fY29sb3InLCBhc3NldC5zaGVlbkNvbG9yTWFwLCBtYXRlcmlhbCk7XG4gICAgICBtYXRlcmlhbC5zaGVlbkNvbG9yTWFwRmlsZU5hbWUgPSBhc3NldC5zaGVlbkNvbG9yTWFwRmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC5zaGVlblJvdWdobmVzc01hcCkge1xuICAgICAgbWF0ZXJpYWwuc2hlZW5Sb3VnaG5lc3NNYXAgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19zaGVlbl9yb3VnaG5lc3MnLCBhc3NldC5zaGVlblJvdWdobmVzc01hcCwgbWF0ZXJpYWwpO1xuICAgICAgbWF0ZXJpYWwuc2hlZW5Sb3VnaG5lc3NNYXBGaWxlTmFtZSA9IGFzc2V0LnNoZWVuUm91Z2huZXNzTWFwRmlsZW5hbWU7XG4gICAgfVxuICAgIGlmIChhc3NldC50cmFuc21pc3Npb25NYXApIHtcbiAgICAgIG1hdGVyaWFsLnRyYW5zbWlzc2lvbk1hcCA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX3RyYW5zbWlzc2lvbicsIGFzc2V0LnRyYW5zbWlzc2lvbk1hcCwgbWF0ZXJpYWwpO1xuICAgICAgbWF0ZXJpYWwudHJhbnNtaXNzaW9uTWFwRmlsZU5hbWUgPSBhc3NldC50cmFuc21pc3Npb25NYXBGaWxlbmFtZTtcbiAgICB9XG4gICAgaWYgKGFzc2V0LmVtaXNzaXZlKSB7XG4gICAgICBtYXRlcmlhbC5lbWlzc2l2ZSA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX2VtaXNzaXZlJywgYXNzZXQuZW1pc3NpdmUsIG1hdGVyaWFsKTtcbiAgICAgIG1hdGVyaWFsLmVtaXNzaXZlRmlsZU5hbWUgPSBhc3NldC5lbWlzc2l2ZUZpbGVuYW1lO1xuICAgIH1cbiAgICBtYXRlcmlhbC5zaGVlbiA9IGFzc2V0LnNoZWVuO1xuICAgIG1hdGVyaWFsLmVtaXNzaXZlSW50ZW5zaXR5VmFsdWUgPSBhc3NldC5lbWlzc2l2ZUludGVuc2l0eTtcbiAgICBtYXRlcmlhbC5lbWlzc2l2ZVZhbHVlID0gYXNzZXQuZW1pc3NpdmVWYWx1ZTtcbiAgICBtYXRlcmlhbC5zaWRlID0gYXNzZXQuc2lkZTtcbiAgICBtYXRlcmlhbC5zaGVlbkNvbG9yID0gYXNzZXQuc2hlZW5Db2xvcjtcbiAgICBtYXRlcmlhbC5zaGVlblJvdWdobmVzcyA9IGFzc2V0LnNoZWVuUm91Z2huZXNzO1xuICAgIG1hdGVyaWFsLm9wYWNpdHkgPSBhc3NldC5vcGFjaXR5O1xuICAgIG1hdGVyaWFsLnRyYW5zcGFyZW50ID0gYXNzZXQudHJhbnNwYXJlbnQ7XG4gICAgbWF0ZXJpYWwuZW52TWFwSW50ZW5zaXR5ID0gYXNzZXQuZW52TWFwSW50ZW5zaXR5O1xuICAgIG1hdGVyaWFsLnJlZmxlY3Rpdml0eSA9IGFzc2V0LnJlZmxlY3Rpdml0eTtcbiAgICBtYXRlcmlhbC5kaXNwbGFjZW1lbnRWYWx1ZSA9IGFzc2V0LmRpc3BsYWNlbWVudFZhbHVlO1xuICAgIG1hdGVyaWFsLnRyYW5zbWlzc2lvbiA9IGFzc2V0LnRyYW5zbWlzc2lvbjtcbiAgICBtYXRlcmlhbC5pb3IgPSBhc3NldC5pb3I7XG4gICAgbWF0ZXJpYWwudGhpY2tuZXNzID0gYXNzZXQudGhpY2tuZXNzO1xuICAgIG1hdGVyaWFsLnNwZWN1bGFySW50ZW5zaXR5ID0gYXNzZXQuc3BlY3VsYXJJbnRlbnNpdHk7XG4gICAgcmV0dXJuIG1hdGVyaWFsO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBzZXRTZXR0aW5nc09mTWF0ZXJpYWwobWF0ZXJpYWw6IE1hdGVyaWFsLCBzZXR0aW5nczogYW55KTogdm9pZCB7XG4gICAgY29uc3Qgc2hpbmluZXNzID0gcGFyc2VGbG9hdChzZXR0aW5nc1sncG93ZXInXSk7XG4gICAgaWYgKCFpc05hTihzaGluaW5lc3MpKSB7XG4gICAgICBtYXRlcmlhbC5zaGluaW5lc3MgPSBzaGluaW5lc3M7XG4gICAgICAvLyBtYXRlcmlhbC5yb3VnaG5lc3MgPSAxIC0gKHNoaW5pbmVzcyAvIDEwMCk7XG4gICAgfVxuXG4gICAgY29uc3QgbGV2ZWwgPSBwYXJzZUZsb2F0KHNldHRpbmdzWydsZXZlbCddKTtcbiAgICBpZiAoIWlzTmFOKGxldmVsKSkge1xuICAgICAgbWF0ZXJpYWwuc3BlY3VsYXIgPSBuZXcgQ29sb3IobGV2ZWwsIGxldmVsLCBsZXZlbCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVwZWF0T2JqZWN0VXNlZDogYm9vbGVhbiA9IHNldHRpbmdzLmhhc093blByb3BlcnR5KCdyZXBlYXQnKTtcbiAgICBjb25zdCByZXBlYXR4ID0gcmVwZWF0T2JqZWN0VXNlZCA/IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JlcGVhdCddWydyZXBlYXR4J10pIDogcGFyc2VGbG9hdChzZXR0aW5nc1sncmVwZWF0eCddKTtcbiAgICBpZiAoIWlzTmFOKHJlcGVhdHgpKSB7XG4gICAgICBtYXRlcmlhbC5yZXBlYXRYID0gcmVwZWF0eDtcbiAgICB9XG5cbiAgICBjb25zdCByZXBlYXR5ID0gcmVwZWF0T2JqZWN0VXNlZCA/IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ3JlcGVhdCddWydyZXBlYXR5J10pIDogcGFyc2VGbG9hdChzZXR0aW5nc1sncmVwZWF0eSddKTtcbiAgICBpZiAoIWlzTmFOKHJlcGVhdHkpKSB7XG4gICAgICBtYXRlcmlhbC5yZXBlYXRZID0gcmVwZWF0eTtcbiAgICB9XG5cbiAgICBjb25zdCBtZXRhbG5lc3MgPSBwYXJzZUZsb2F0KHNldHRpbmdzWydtZXRhbG5lc3MnXSk7XG4gICAgaWYgKCFpc05hTihtZXRhbG5lc3MpKSB7XG4gICAgICBtYXRlcmlhbC5tZXRhbG5lc3NWYWx1ZSA9IE1hdGgubWluKDEsIG1ldGFsbmVzcyk7XG4gICAgfVxuXG4gICAgY29uc3Qgcm91Z2huZXNzID0gcGFyc2VGbG9hdChzZXR0aW5nc1sncm91Z2huZXNzJ10pO1xuICAgIGlmICghaXNOYU4ocm91Z2huZXNzKSkge1xuICAgICAgbWF0ZXJpYWwucm91Z2huZXNzVmFsdWUgPSBNYXRoLm1pbigxLCByb3VnaG5lc3MpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYXNzZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxLQUFLLEVBQUUsY0FBYyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBRTVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0NBYzlDO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFFZCxNQUFNLENBQU8sdUJBQXVCLENBQUMsS0FBd0I7O1lBQ2xFLE1BQU0sUUFBUSxHQUFzQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUk7Z0JBQ0YsSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDVixPQUFPLFFBQVEsQ0FBQztpQkFDakI7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO29CQUNsQixVQUFVLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztpQkFDNUQ7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUNqQixRQUFRLENBQUMsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7b0JBQzVHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztvQkFDN0MsUUFBUSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO2lCQUNsRDtnQkFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0JBQ2hCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FB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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tICcuL2ltYWdlLnV0aWxzJztcbmltcG9ydCB7VmFyaWF0aW9uU2V0dGluZ3N9IGZyb20gJy4uL21vZGVsL3ZhcmlhdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQge0NvbG9yLCBTUkdCQ29sb3JTcGFjZX0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgY2xhc3MgRnVybml0dXJlTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCB7XG5cbiAgcHVibGljIHRleHR1cmVGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG5vcm1hbEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgYW9GaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgcm91Z2huZXNzRmlsZW5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnRGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIGVudk1hcEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVGaWxlTmFtZT86IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXBGaWxlTmFtZT86IHN0cmluZztcbiAgcHVibGljIHNoZWVuUm91Z2huZXNzTWFwRmlsZU5hbWU/OiBzdHJpbmc7XG4gIHB1YmxpYyB0cmFuc21pc3Npb25NYXBGaWxlTmFtZT86IHN0cmluZztcblxufVxuXG5leHBvcnQgY2xhc3MgQXNzZXRVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyBhc3luYyBDcmVhdGVNYXRlcmlhbEZyb21Bc3NldChhc3NldDogVmFyaWF0aW9uU2V0dGluZ3MpOiBQcm9taXNlPE1hdGVyaWFsPiB7XG4gICAgY29uc3QgbWF0ZXJpYWw6IEZ1cm5pdHVyZU1hdGVyaWFsID0gbmV3IE1hdGVyaWFsKCk7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghYXNzZXQpIHtcbiAgICAgICAgcmV0dXJuIG1hdGVyaWFsO1xuICAgICAgfVxuICAgICAgaWYgKGFzc2V0LnNldHRpbmdzKSB7XG4gICAgICAgIEFzc2V0VXRpbHMuc2V0U2V0dGluZ3NPZk1hdGVyaWFsKG1hdGVyaWFsLCBhc3NldC5zZXR0aW5ncyk7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQudGV4dHVyZSkge1xuICAgICAgICBtYXRlcmlhbC50ZXh0dXJlID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfdGV4dHVyZScsIGFzc2V0LnRleHR1cmUsIG1hdGVyaWFsKTtcbiAgICAgICAgbWF0ZXJpYWwudGV4dHVyZS5jb2xvclNwYWNlID0gU1JHQkNvbG9yU3BhY2U7XG4gICAgICAgIG1hdGVyaWFsLnRleHR1cmVGaWxlbmFtZSA9IGFzc2V0LnRleHR1cmVGaWxlbmFtZTtcbiAgICAgIH1cbiAgICAgIGlmIChhc3NldC5ub3JtYWwpIHtcbiAgICAgICAgbWF0ZXJpYWwubm9ybWFsID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfbm9ybWFsJywgYXNzZXQubm9ybWFsLCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLm5vcm1hbEZpbGVuYW1lID0gYXNzZXQubm9ybWFsRmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQub3JtKSB7XG4gICAgICAgIG1hdGVyaWFsLmFvID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfb3JtJywgYXNzZXQub3JtLCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLnJvdWdobmVzcyA9IG1hdGVyaWFsLmFvO1xuICAgICAgICBtYXRlcmlhbC5tZXRhbG5lc3MgPSBtYXRlcmlhbC5hbztcbiAgICAgICAgbWF0ZXJpYWwuYW9GaWxlbmFtZSA9IGFzc2V0Lm9ybUZpbGVuYW1lO1xuICAgICAgICBtYXRlcmlhbC5yb3VnaG5lc3NGaWxlbmFtZSA9IGFzc2V0Lm9ybUZpbGVuYW1lO1xuICAgICAgICBtYXRlcmlhbC5tZXRhbG5lc3NGaWxlbmFtZSA9IGFzc2V0Lm9ybUZpbGVuYW1lO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFzc2V0LmFvKSB7XG4gICAgICAgICAgbWF0ZXJpYWwuYW8gPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19hbycsIGFzc2V0LmFvLCBtYXRlcmlhbCk7XG4gICAgICAgICAgbWF0ZXJpYWwuYW9GaWxlbmFtZSA9IGFzc2V0LmFvRmlsZW5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFzc2V0Lm1ldGFsbmVzcykge1xuICAgICAgICAgIG1hdGVyaWFsLm1ldGFsbmVzcyA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX21ldGFsbmVzcycsIGFzc2V0Lm1ldGFsbmVzcywgbWF0ZXJpYWwpO1xuICAgICAgICAgIG1hdGVyaWFsLm1ldGFsbmVzc0ZpbGVuYW1lID0gYXNzZXQubWV0YWxuZXNzRmlsZW5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFzc2V0LnJvdWdobmVzcykge1xuICAgICAgICAgIG1hdGVyaWFsLnJvdWdobmVzcyA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX3JvdWdobmVzcycsIGFzc2V0LnJvdWdobmVzcywgbWF0ZXJpYWwpO1xuICAgICAgICAgIG1hdGVyaWFsLnJvdWdobmVzc0ZpbGVuYW1lID0gYXNzZXQucm91Z2huZXNzRmlsZW5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChhc3NldC5kaXNwbGFjZW1lbnQpIHtcbiAgICAgICAgbWF0ZXJpYWwuZGlzcGxhY2VtZW50ID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfZGlzcGxhY2VtZW50JywgYXNzZXQuZGlzcGxhY2VtZW50LCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLmRpc3BsYWNlbWVudEZpbGVuYW1lID0gYXNzZXQuZGlzcGxhY2VtZW50RmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQuZW52TWFwKSB7XG4gICAgICAgIG1hdGVyaWFsLmVudk1hcCA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX2VudicsIGFzc2V0LmVudk1hcCwgbWF0ZXJpYWwsIHRydWUpO1xuICAgICAgICBtYXRlcmlhbC5lbnZNYXBGaWxlbmFtZSA9IGFzc2V0LmVudk1hcEZpbGVuYW1lO1xuICAgICAgfVxuICAgICAgaWYgKGFzc2V0LnNoZWVuQ29sb3JNYXApIHtcbiAgICAgICAgbWF0ZXJpYWwuc2hlZW5Db2xvck1hcCA9IGF3YWl0IEltYWdlVXRpbHMuQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoYXNzZXQuaWQgKyAnX3NoZWVuX2NvbG9yJywgYXNzZXQuc2hlZW5Db2xvck1hcCwgbWF0ZXJpYWwpO1xuICAgICAgICBtYXRlcmlhbC5zaGVlbkNvbG9yTWFwRmlsZU5hbWUgPSBhc3NldC5zaGVlbkNvbG9yTWFwRmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQuc2hlZW5Sb3VnaG5lc3NNYXApIHtcbiAgICAgICAgbWF0ZXJpYWwuc2hlZW5Sb3VnaG5lc3NNYXAgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19zaGVlbl9yb3VnaG5lc3MnLCBhc3NldC5zaGVlblJvdWdobmVzc01hcCwgbWF0ZXJpYWwpO1xuICAgICAgICBtYXRlcmlhbC5zaGVlblJvdWdobmVzc01hcEZpbGVOYW1lID0gYXNzZXQuc2hlZW5Sb3VnaG5lc3NNYXBGaWxlbmFtZTtcbiAgICAgIH1cbiAgICAgIGlmIChhc3NldC50cmFuc21pc3Npb25NYXApIHtcbiAgICAgICAgbWF0ZXJpYWwudHJhbnNtaXNzaW9uTWFwID0gYXdhaXQgSW1hZ2VVdGlscy5DcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChhc3NldC5pZCArICdfdHJhbnNtaXNzaW9uJywgYXNzZXQudHJhbnNtaXNzaW9uTWFwLCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLnRyYW5zbWlzc2lvbk1hcEZpbGVOYW1lID0gYXNzZXQudHJhbnNtaXNzaW9uTWFwRmlsZW5hbWU7XG4gICAgICB9XG4gICAgICBpZiAoYXNzZXQuZW1pc3NpdmUpIHtcbiAgICAgICAgbWF0ZXJpYWwuZW1pc3NpdmUgPSBhd2FpdCBJbWFnZVV0aWxzLkNyZWF0ZVRleHR1cmVGcm9tQmFzZTY0KGFzc2V0LmlkICsgJ19lbWlzc2l2ZScsIGFzc2V0LmVtaXNzaXZlLCBtYXRlcmlhbCk7XG4gICAgICAgIG1hdGVyaWFsLmVtaXNzaXZlRmlsZU5hbWUgPSBhc3NldC5lbWlzc2l2ZUZpbGVuYW1lO1xuICAgICAgfVxuICAgICAgbWF0ZXJpYWwuc2hlZW4gPSBhc3NldC5zaGVlbjtcbiAgICAgIG1hdGVyaWFsLmVtaXNzaXZlSW50ZW5zaXR5VmFsdWUgPSBhc3NldC5lbWlzc2l2ZUludGVuc2l0eTtcbiAgICAgIG1hdGVyaWFsLmVtaXNzaXZlVmFsdWUgPSBhc3NldC5lbWlzc2l2ZVZhbHVlO1xuICAgICAgbWF0ZXJpYWwuc2lkZSA9IGFzc2V0LnNpZGU7XG4gICAgICBtYXRlcmlhbC5zaGVlbkNvbG9yID0gYXNzZXQuc2hlZW5Db2xvcjtcbiAgICAgIG1hdGVyaWFsLnNoZWVuUm91Z2huZXNzID0gYXNzZXQuc2hlZW5Sb3VnaG5lc3M7XG4gICAgICBtYXRlcmlhbC5vcGFjaXR5ID0gYXNzZXQub3BhY2l0eTtcbiAgICAgIG1hdGVyaWFsLnRyYW5zcGFyZW50ID0gYXNzZXQudHJhbnNwYXJlbnQ7XG4gICAgICBtYXRlcmlhbC5lbnZNYXBJbnRlbnNpdHkgPSBhc3NldC5lbnZNYXBJbnRlbnNpdHk7XG4gICAgICBtYXRlcmlhbC5yZWZsZWN0aXZpdHkgPSBhc3NldC5yZWZsZWN0aXZpdHk7XG4gICAgICBtYXRlcmlhbC5kaXNwbGFjZW1lbnRWYWx1ZSA9IGFzc2V0LmRpc3BsYWNlbWVudFZhbHVlO1xuICAgICAgbWF0ZXJpYWwudHJhbnNtaXNzaW9uID0gYXNzZXQudHJhbnNtaXNzaW9uO1xuICAgICAgbWF0ZXJpYWwuaW9yID0gYXNzZXQuaW9yO1xuICAgICAgbWF0ZXJpYWwudGhpY2tuZXNzID0gYXNzZXQudGhpY2tuZXNzO1xuICAgICAgbWF0ZXJpYWwuc3BlY3VsYXJJbnRlbnNpdHkgPSBhc3NldC5zcGVjdWxhckludGVuc2l0eTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xuICAgIH1cbiAgICByZXR1cm4gbWF0ZXJpYWw7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHNldFNldHRpbmdzT2ZNYXRlcmlhbChtYXRlcmlhbDogTWF0ZXJpYWwsIHNldHRpbmdzOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCBzaGluaW5lc3MgPSBwYXJzZUZsb2F0KHNldHRpbmdzWydwb3dlciddKTtcbiAgICBpZiAoIWlzTmFOKHNoaW5pbmVzcykpIHtcbiAgICAgIG1hdGVyaWFsLnNoaW5pbmVzcyA9IHNoaW5pbmVzcztcbiAgICAgIC8vIG1hdGVyaWFsLnJvdWdobmVzcyA9IDEgLSAoc2hpbmluZXNzIC8gMTAwKTtcbiAgICB9XG5cbiAgICBjb25zdCBsZXZlbCA9IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ2xldmVsJ10pO1xuICAgIGlmICghaXNOYU4obGV2ZWwpKSB7XG4gICAgICBtYXRlcmlhbC5zcGVjdWxhciA9IG5ldyBDb2xvcihsZXZlbCwgbGV2ZWwsIGxldmVsKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXBlYXRPYmplY3RVc2VkOiBib29sZWFuID0gc2V0dGluZ3MuaGFzT3duUHJvcGVydHkoJ3JlcGVhdCcpO1xuICAgIGNvbnN0IHJlcGVhdHggPSByZXBlYXRPYmplY3RVc2VkID8gcGFyc2VGbG9hdChzZXR0aW5nc1sncmVwZWF0J11bJ3JlcGVhdHgnXSkgOiBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXR4J10pO1xuICAgIGlmICghaXNOYU4ocmVwZWF0eCkpIHtcbiAgICAgIG1hdGVyaWFsLnJlcGVhdFggPSByZXBlYXR4O1xuICAgIH1cblxuICAgIGNvbnN0IHJlcGVhdHkgPSByZXBlYXRPYmplY3RVc2VkID8gcGFyc2VGbG9hdChzZXR0aW5nc1sncmVwZWF0J11bJ3JlcGVhdHknXSkgOiBwYXJzZUZsb2F0KHNldHRpbmdzWydyZXBlYXR5J10pO1xuICAgIGlmICghaXNOYU4ocmVwZWF0eSkpIHtcbiAgICAgIG1hdGVyaWFsLnJlcGVhdFkgPSByZXBlYXR5O1xuICAgIH1cblxuICAgIGNvbnN0IG1ldGFsbmVzcyA9IHBhcnNlRmxvYXQoc2V0dGluZ3NbJ21ldGFsbmVzcyddKTtcbiAgICBpZiAoIWlzTmFOKG1ldGFsbmVzcykpIHtcbiAgICAgIG1hdGVyaWFsLm1ldGFsbmVzc1ZhbHVlID0gTWF0aC5taW4oMSwgbWV0YWxuZXNzKTtcbiAgICB9XG5cbiAgICBjb25zdCByb3VnaG5lc3MgPSBwYXJzZUZsb2F0KHNldHRpbmdzWydyb3VnaG5lc3MnXSk7XG4gICAgaWYgKCFpc05hTihyb3VnaG5lc3MpKSB7XG4gICAgICBtYXRlcmlhbC5yb3VnaG5lc3NWYWx1ZSA9IE1hdGgubWluKDEsIHJvdWdobmVzcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
import * as THREE from 'three';
|
|
2
3
|
// @dynamic
|
|
3
4
|
export class ImageUtils {
|
|
4
5
|
static CreateTextureFromBase64(id, base64, material, defaultFlip = false) {
|
|
5
|
-
return new Promise((resolve) => {
|
|
6
|
+
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
6
7
|
if (ImageUtils.textures.has(id)) {
|
|
7
8
|
resolve(ImageUtils.textures.get(id));
|
|
8
9
|
}
|
|
@@ -11,20 +12,28 @@ export class ImageUtils {
|
|
|
11
12
|
resolve(new THREE.Texture());
|
|
12
13
|
}
|
|
13
14
|
else {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
15
|
+
if (window.hasOwnProperty('textureLoader')) {
|
|
16
|
+
resolve(yield window.textureLoader(base64));
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
const loader = new THREE.TextureLoader();
|
|
20
|
+
loader.load(base64, (texture) => {
|
|
21
|
+
texture.anisotropy = 16;
|
|
22
|
+
texture.wrapS = THREE.RepeatWrapping;
|
|
23
|
+
texture.wrapT = THREE.RepeatWrapping;
|
|
24
|
+
texture.repeat = new THREE.Vector2(material ? material.repeatX : 1, material ? material.repeatY : 1);
|
|
25
|
+
texture.flipY = defaultFlip;
|
|
26
|
+
texture.needsUpdate = true;
|
|
27
|
+
ImageUtils.textures.set(id, texture);
|
|
28
|
+
resolve(texture);
|
|
29
|
+
}, () => {
|
|
30
|
+
}, () => {
|
|
31
|
+
resolve(new THREE.Texture());
|
|
32
|
+
});
|
|
33
|
+
}
|
|
25
34
|
}
|
|
26
35
|
}
|
|
27
|
-
});
|
|
36
|
+
}));
|
|
28
37
|
}
|
|
29
38
|
static getDocBodyWithMimeTypeDefinition(fileName, documentBody) {
|
|
30
39
|
if (documentBody === null) {
|
|
@@ -32,21 +41,21 @@ export class ImageUtils {
|
|
|
32
41
|
}
|
|
33
42
|
const fileExtension = fileName.substr(fileName.lastIndexOf('.') + 1);
|
|
34
43
|
switch (fileExtension.toLowerCase()) {
|
|
35
|
-
case
|
|
36
|
-
case
|
|
37
|
-
return
|
|
38
|
-
case
|
|
39
|
-
return
|
|
40
|
-
case
|
|
41
|
-
return
|
|
42
|
-
case
|
|
43
|
-
return
|
|
44
|
+
case 'jpg':
|
|
45
|
+
case 'jpeg':
|
|
46
|
+
return 'data:image/jpg;base64,' + documentBody;
|
|
47
|
+
case 'png':
|
|
48
|
+
return 'data:image/png;base64,' + documentBody;
|
|
49
|
+
case 'gif':
|
|
50
|
+
return 'data:image/gif;base64,' + documentBody;
|
|
51
|
+
case 'bmp':
|
|
52
|
+
return 'data:image/bmp;base64,' + documentBody;
|
|
44
53
|
default:
|
|
45
|
-
return
|
|
54
|
+
return 'data:image/png;base64,' + documentBody;
|
|
46
55
|
}
|
|
47
56
|
}
|
|
48
57
|
static getFixedImageFilepathUrl(imageFilepathUrl) {
|
|
49
|
-
return imageFilepathUrl.replace(
|
|
58
|
+
return imageFilepathUrl.replace('/content/', '/content43/');
|
|
50
59
|
}
|
|
51
60
|
static ClearCache() {
|
|
52
61
|
ImageUtils.textures.forEach(value => {
|
|
@@ -56,4 +65,4 @@ export class ImageUtils {
|
|
|
56
65
|
}
|
|
57
66
|
}
|
|
58
67
|
ImageUtils.textures = new Map();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW1hZ2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVTtJQUlkLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFVLEVBQUUsTUFBYyxFQUFFLFFBQWtCLEVBQUUsY0FBdUIsS0FBSztRQUNoSCxPQUFPLElBQUksT0FBTyxDQUFnQixDQUFPLE9BQU8sRUFBRSxFQUFFO1lBQ2xELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRTt3QkFDMUMsT0FBTyxDQUFDLE1BQU8sTUFBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3FCQUN0RDt5QkFBTTt3QkFDTCxNQUFNLE1BQU0sR0FBd0IsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzlELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBc0IsRUFBRSxFQUFFOzRCQUMzQyxPQUFPLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQzs0QkFDeEIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDOzRCQUNyQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7NEJBQ3JDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDOzRCQUM1QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs0QkFDM0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUNyQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ25CLENBQUMsRUFDRCxHQUFHLEVBQUU7d0JBQ0wsQ0FBQyxFQUNELEdBQUcsRUFBRTs0QkFDSCxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzt3QkFDL0IsQ0FBQyxDQUFDLENBQUM7cUJBQ047aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLGdDQUFnQyxDQUFDLFFBQWdCLEVBQUUsWUFBb0I7UUFDbkYsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxhQUFhLEdBQVcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVEsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25DLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxNQUFNO2dCQUNULE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pELEtBQUssS0FBSztnQkFDUixPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztZQUNqRCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyx3QkFBd0IsR0FBRyxZQUFZLENBQUM7WUFDakQsS0FBSyxLQUFLO2dCQUNSLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pEO2dCQUNFLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBd0I7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVTtRQUN0QixVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7O0FBaEVhLG1CQUFRLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQge01hdGVyaWFsfSBmcm9tICcuLi9tb2RlbC9tYXRlcmlhbCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgSW1hZ2VVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyB0ZXh0dXJlczogTWFwPHN0cmluZywgVEhSRUUuVGV4dHVyZT4gPSBuZXcgTWFwKCk7XG5cbiAgcHVibGljIHN0YXRpYyBDcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChpZDogc3RyaW5nLCBiYXNlNjQ6IHN0cmluZywgbWF0ZXJpYWw6IE1hdGVyaWFsLCBkZWZhdWx0RmxpcDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxUSFJFRS5UZXh0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFRIUkVFLlRleHR1cmU+KGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICBpZiAoSW1hZ2VVdGlscy50ZXh0dXJlcy5oYXMoaWQpKSB7XG4gICAgICAgIHJlc29sdmUoSW1hZ2VVdGlscy50ZXh0dXJlcy5nZXQoaWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghYmFzZTY0KSB7XG4gICAgICAgICAgcmVzb2x2ZShuZXcgVEhSRUUuVGV4dHVyZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAod2luZG93Lmhhc093blByb3BlcnR5KCd0ZXh0dXJlTG9hZGVyJykpIHtcbiAgICAgICAgICAgIHJlc29sdmUoYXdhaXQgKHdpbmRvdyBhcyBhbnkpLnRleHR1cmVMb2FkZXIoYmFzZTY0KSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRlcjogVEhSRUUuVGV4dHVyZUxvYWRlciA9IG5ldyBUSFJFRS5UZXh0dXJlTG9hZGVyKCk7XG4gICAgICAgICAgICBsb2FkZXIubG9hZChiYXNlNjQsICh0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS5hbmlzb3Ryb3B5ID0gMTY7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgICAgICAgICAgICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICAgICAgICB0ZXh0dXJlLnJlcGVhdCA9IG5ldyBUSFJFRS5WZWN0b3IyKG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WCA6IDEsIG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WSA6IDEpO1xuICAgICAgICAgICAgICAgIHRleHR1cmUuZmxpcFkgPSBkZWZhdWx0RmxpcDtcbiAgICAgICAgICAgICAgICB0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBJbWFnZVV0aWxzLnRleHR1cmVzLnNldChpZCwgdGV4dHVyZSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0ZXh0dXJlKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShuZXcgVEhSRUUuVGV4dHVyZSgpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldERvY0JvZHlXaXRoTWltZVR5cGVEZWZpbml0aW9uKGZpbGVOYW1lOiBzdHJpbmcsIGRvY3VtZW50Qm9keTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZG9jdW1lbnRCb2R5ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnRCb2R5O1xuICAgIH1cbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcgPSBmaWxlTmFtZS5zdWJzdHIoZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpO1xuICAgIHN3aXRjaCAoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdqcGcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICAgIHJldHVybiAnZGF0YTppbWFnZS9qcGc7YmFzZTY0LCcgKyBkb2N1bWVudEJvZHk7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgICByZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgZG9jdW1lbnRCb2R5O1xuICAgICAgY2FzZSAnZ2lmJzpcbiAgICAgICAgcmV0dXJuICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsJyArIGRvY3VtZW50Qm9keTtcbiAgICAgIGNhc2UgJ2JtcCc6XG4gICAgICAgIHJldHVybiAnZGF0YTppbWFnZS9ibXA7YmFzZTY0LCcgKyBkb2N1bWVudEJvZHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgZG9jdW1lbnRCb2R5O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Rml4ZWRJbWFnZUZpbGVwYXRoVXJsKGltYWdlRmlsZXBhdGhVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGltYWdlRmlsZXBhdGhVcmwucmVwbGFjZSgnL2NvbnRlbnQvJywgJy9jb250ZW50NDMvJyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIENsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgSW1hZ2VVdGlscy50ZXh0dXJlcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHZhbHVlLmRpc3Bvc2UoKTtcbiAgICB9KTtcbiAgICBJbWFnZVV0aWxzLnRleHR1cmVzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==
|