@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.
Files changed (32) hide show
  1. package/app/builder.d.ts +3 -1
  2. package/bundles/colijnit-configurator.umd.js +3799 -3398
  3. package/bundles/colijnit-configurator.umd.js.map +1 -1
  4. package/colijnit-configurator-259.1.1.tgz +0 -0
  5. package/colijnit-configurator.metadata.json +1 -1
  6. package/configurator/index.html +14 -0
  7. package/configurator/main.js +3555 -0
  8. package/configurator/main.js.map +1 -0
  9. package/configurator/polyfills.js +5683 -0
  10. package/configurator/polyfills.js.map +1 -0
  11. package/configurator/runtime.js +149 -0
  12. package/configurator/runtime.js.map +1 -0
  13. package/configurator/styles.css +48 -0
  14. package/configurator/styles.css.map +1 -0
  15. package/configurator/vendor.js +210213 -0
  16. package/configurator/vendor.js.map +1 -0
  17. package/esm2015/app/builder.js +60 -27
  18. package/esm2015/app/components/answers/answer/answer.component.js +1 -1
  19. package/esm2015/app/components/answers/answers.component.js +1 -1
  20. package/esm2015/app/components/selections/selections.component.js +1 -1
  21. package/esm2015/helper/variation-helper.js +101 -46
  22. package/esm2015/model/variation-settings.js +46 -3
  23. package/esm2015/utils/asset.utils.js +77 -72
  24. package/esm2015/utils/image.utils.js +34 -25
  25. package/esm2015/utils/scene-utils.js +90 -20
  26. package/esm2015/utils/variation-utils.js +28 -33
  27. package/fesm2015/colijnit-configurator.js +427 -220
  28. package/fesm2015/colijnit-configurator.js.map +1 -1
  29. package/helper/variation-helper.d.ts +5 -1
  30. package/model/variation-settings.d.ts +3 -2
  31. package/package.json +7 -7
  32. package/utils/scene-utils.d.ts +2 -2
@@ -1,11 +1,54 @@
1
- import { Subject } from "rxjs";
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 Subject();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWF0aW9uLXNldHRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3ZhcmlhdGlvbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE1BQU0sT0FBTyx5QkFBeUI7Q0FLckM7QUFFRCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBRVMsYUFBUSxHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7UUE0Q3RFLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsV0FBTSxHQUErQixJQUFJLE9BQU8sRUFBcUIsQ0FBQztJQUMvRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1N1YmplY3R9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBjbGFzcyBWYXJpYXRpb25TZXR0aW5nc1NldHRpbmdzIHtcbiAgcmVwZWF0eDogbnVtYmVyO1xuICByZXBlYXR5OiBudW1iZXI7XG4gIHJvdWdobmVzczogbnVtYmVyO1xuICBtZXRhbG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFZhcmlhdGlvblNldHRpbmdzIHtcbiAgcHVibGljIGlkOiBzdHJpbmc7XG4gIHB1YmxpYyBzZXR0aW5nczogVmFyaWF0aW9uU2V0dGluZ3NTZXR0aW5ncyA9IG5ldyBWYXJpYXRpb25TZXR0aW5nc1NldHRpbmdzKCk7XG4gIHB1YmxpYyB0ZXh0dXJlOiBzdHJpbmc7XG4gIHB1YmxpYyB0ZXh0dXJlRmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIG5vcm1hbDogc3RyaW5nO1xuICBwdWJsaWMgbm9ybWFsRmlsZW5hbWU6IHN0cmluZztcbiAgcHVibGljIGFvOiBzdHJpbmc7XG4gIHB1YmxpYyBhb0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBtZXRhbG5lc3M6IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByb3VnaG5lc3M6IHN0cmluZztcbiAgcHVibGljIHJvdWdobmVzc0ZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBvcm06IHN0cmluZztcbiAgcHVibGljIG9ybUZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnQ6IHN0cmluZztcbiAgcHVibGljIGRpc3BsYWNlbWVudFZhbHVlOiBudW1iZXI7XG4gIHB1YmxpYyBkaXNwbGFjZW1lbnRGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgc2hlZW46IG51bWJlcjtcbiAgcHVibGljIHNoZWVuQ29sb3I6IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXA6IHN0cmluZztcbiAgcHVibGljIHNoZWVuQ29sb3JNYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgdHJhbnNtaXNzaW9uTWFwOiBzdHJpbmc7XG4gIHB1YmxpYyB0cmFuc21pc3Npb25NYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgc2hlZW5Sb3VnaG5lc3M6IG51bWJlcjtcbiAgcHVibGljIHNoZWVuUm91Z2huZXNzTWFwOiBzdHJpbmc7XG4gIHB1YmxpYyBzaGVlblJvdWdobmVzc01hcEZpbGVuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBlbWlzc2l2ZTogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZW1pc3NpdmVJbnRlbnNpdHk6IG51bWJlcjtcbiAgcHVibGljIGVtaXNzaXZlVmFsdWU6IHN0cmluZztcbiAgcHVibGljIG9wYWNpdHk6IG51bWJlcjtcbiAgcHVibGljIHRyYW5zcGFyZW50OiBib29sZWFuO1xuICBwdWJsaWMgZW52TWFwOiBzdHJpbmc7XG4gIHB1YmxpYyBlbnZNYXBGaWxlbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgZW52TWFwSW50ZW5zaXR5OiBudW1iZXI7XG4gIHB1YmxpYyByZWZsZWN0aXZpdHk6IG51bWJlcjtcbiAgcHVibGljIHNpZGU6IG51bWJlcjtcbiAgcHVibGljIHRyYW5zbWlzc2lvbjogbnVtYmVyO1xuICBwdWJsaWMgaW9yOiBudW1iZXI7XG4gIHB1YmxpYyB0aGlja25lc3M6IG51bWJlcjtcbiAgcHVibGljIHNwZWN1bGFySW50ZW5zaXR5OiBudW1iZXI7XG5cbiAgLy8gZm9yIHByZS1zYXZlZCBtYXRlcmlhbHMgZG93bmxvYWRlZCBhcyB6aXBcbiAgcHVibGljIG1hdGVyaWFsOiBhbnk7XG5cbiAgcHVibGljIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGxvYWRlZDogU3ViamVjdDxWYXJpYXRpb25TZXR0aW5ncz4gPSBuZXcgU3ViamVjdDxWYXJpYXRpb25TZXR0aW5ncz4oKTtcbn1cbiJdfQ==
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
- if (!asset) {
12
- return material;
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.metalness) {
40
- material.metalness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_metalness', asset.metalness, material);
41
- material.metalnessFilename = asset.metalnessFilename;
15
+ if (asset.settings) {
16
+ AssetUtils.setSettingsOfMaterial(material, asset.settings);
42
17
  }
43
- if (asset.roughness) {
44
- material.roughness = yield ImageUtils.CreateTextureFromBase64(asset.id + '_roughness', asset.roughness, material);
45
- material.roughnessFilename = asset.roughnessFilename;
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
- if (asset.displacement) {
49
- material.displacement = yield ImageUtils.CreateTextureFromBase64(asset.id + '_displacement', asset.displacement, material);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYXNzZXQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxLQUFLLEVBQUUsY0FBYyxFQUFDLE1BQU0sT0FBTyxDQUFDO0FBRTVDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQUFRO0NBYzlDO0FBRUQsTUFBTSxPQUFPLFVBQVU7SUFFZCxNQUFNLENBQU8sdUJBQXVCLENBQUMsS0FBd0I7O1lBQ2xFLE1BQU0sUUFBUSxHQUFzQixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzVEO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNqQixRQUFRLENBQUMsT0FBTyxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVHLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztnQkFDN0MsUUFBUSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO2FBQ2xEO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3pHLFFBQVEsQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQzthQUNoRDtZQUNELElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRTtnQkFDYixRQUFRLENBQUMsRUFBRSxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9GLFFBQVEsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsUUFBUSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7Z0JBQ3hDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO2dCQUMvQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQzthQUNoRDtpQkFBTTtnQkFDTCxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ1osUUFBUSxDQUFDLEVBQUUsR0FBRyxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUM3RixRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7aUJBQ3hDO2dCQUNELElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDbkIsUUFBUSxDQUFDLFNBQVMsR0FBRyxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUNsSCxRQUFRLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2lCQUN0RDtnQkFDRCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7b0JBQ25CLFFBQVEsQ0FBQyxTQUFTLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDbEgsUUFBUSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztpQkFDdEQ7YUFDRjtZQUNELElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsUUFBUSxDQUFDLFlBQVksR0FBRyxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLGVBQWUsRUFBRSxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzSCxRQUFRLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDO2FBQzVEO1lBQ0QsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNoQixRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUM1RyxRQUFRLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7YUFDaEQ7WUFDRCxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLFFBQVEsQ0FBQyxhQUFhLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxjQUFjLEVBQUUsS0FBSyxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDNUgsUUFBUSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQzthQUM5RDtZQUNELElBQUksS0FBSyxDQUFDLGlCQUFpQixFQUFFO2dCQUMzQixRQUFRLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3hJLFFBQVEsQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQUM7YUFDdEU7WUFDRCxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQ3pCLFFBQVEsQ0FBQyxlQUFlLEdBQUcsTUFBTSxVQUFVLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDakksUUFBUSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQzthQUNsRTtZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLFVBQVUsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO2FBQ3BEO1lBQ0QsUUFBUSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzdCLFFBQVEsQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDMUQsUUFBUSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMzQixRQUFRLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDdkMsUUFBUSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQy9DLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNqQyxRQUFRLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDekMsUUFBUSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMzQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQ3JELFFBQVEsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMzQyxRQUFRLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDekIsUUFBUSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1lBQ3JDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDckQsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztLQUFBO0lBRU0sTUFBTSxDQUFDLHFCQUFxQixDQUFDLFFBQWtCLEVBQUUsUUFBYTtRQUNuRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQixRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMvQiw4Q0FBOEM7U0FDL0M7UUFFRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNqQixRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLGdCQUFnQixHQUFZLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQy9HLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkIsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7U0FDNUI7UUFFRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0csSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQixRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztTQUM1QjtRQUVELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JCLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDbEQ7UUFFRCxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQixRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYXRlcmlhbH0gZnJvbSAnLi4vbW9kZWwvbWF0ZXJpYWwnO1xuaW1wb3J0IHtJbWFnZVV0aWxzfSBmcm9tICcuL2ltYWdlLnV0aWxzJztcbmltcG9ydCB7VmFyaWF0aW9uU2V0dGluZ3N9IGZyb20gJy4uL21vZGVsL3ZhcmlhdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQge0NvbG9yLCBTUkdCQ29sb3JTcGFjZX0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgY2xhc3MgRnVybml0dXJlTWF0ZXJpYWwgZXh0ZW5kcyBNYXRlcmlhbCB7XG5cbiAgcHVibGljIHRleHR1cmVGaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG5vcm1hbEZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgYW9GaWxlbmFtZT86IHN0cmluZztcbiAgcHVibGljIG1ldGFsbmVzc0ZpbGVuYW1lPzogc3RyaW5nO1xuICBwdWJsaWMgcm91Z2huZXNzRmlsZW5hbWU/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
- const loader = new THREE.TextureLoader();
15
- loader.load(base64, (texture) => {
16
- texture.anisotropy = 16;
17
- texture.wrapS = THREE.RepeatWrapping;
18
- texture.wrapT = THREE.RepeatWrapping;
19
- texture.repeat = new THREE.Vector2(material ? material.repeatX : 1, material ? material.repeatY : 1);
20
- texture.flipY = defaultFlip;
21
- texture.needsUpdate = true;
22
- ImageUtils.textures.set(id, texture);
23
- resolve(texture);
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 "jpg":
36
- case "jpeg":
37
- return "data:image/jpg;base64," + documentBody;
38
- case "png":
39
- return "data:image/png;base64," + documentBody;
40
- case "gif":
41
- return "data:image/gif;base64," + documentBody;
42
- case "bmp":
43
- return "data:image/bmp;base64," + documentBody;
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 "data:image/png;base64," + documentBody;
54
+ return 'data:image/png;base64,' + documentBody;
46
55
  }
47
56
  }
48
57
  static getFixedImageFilepathUrl(imageFilepathUrl) {
49
- return imageFilepathUrl.replace("/content/", "/content43/");
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW1hZ2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFL0IsV0FBVztBQUNYLE1BQU0sT0FBTyxVQUFVO0lBSWQsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEVBQVUsRUFBRSxNQUFjLEVBQUUsUUFBa0IsRUFBRSxjQUF1QixLQUFLO1FBQ2hILE9BQU8sSUFBSSxPQUFPLENBQWdCLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRTtvQkFDWCxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztpQkFDOUI7cUJBQU07b0JBQ0wsTUFBTSxNQUFNLEdBQXdCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUM5RCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQXNCLEVBQUUsRUFBRTt3QkFDN0MsT0FBTyxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7d0JBQ3hCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQzt3QkFDckMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO3dCQUNyQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNyRyxPQUFPLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQzt3QkFDNUIsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQzNCLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDckMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO29CQUNuQixDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLGdDQUFnQyxDQUFDLFFBQWdCLEVBQUUsWUFBb0I7UUFDbkYsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxhQUFhLEdBQVcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVEsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25DLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxNQUFNO2dCQUNULE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pELEtBQUssS0FBSztnQkFDUixPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztZQUNqRCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyx3QkFBd0IsR0FBRyxZQUFZLENBQUM7WUFDakQsS0FBSyxLQUFLO2dCQUNSLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pEO2dCQUNFLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBd0I7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVTtRQUN0QixVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7O0FBdkRhLG1CQUFRLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQge01hdGVyaWFsfSBmcm9tICcuLi9tb2RlbC9tYXRlcmlhbCc7XG4vLyBAZHluYW1pY1xuZXhwb3J0IGNsYXNzIEltYWdlVXRpbHMge1xuXG4gIHB1YmxpYyBzdGF0aWMgdGV4dHVyZXM6IE1hcDxzdHJpbmcsIFRIUkVFLlRleHR1cmU+ID0gbmV3IE1hcCgpO1xuXG4gIHB1YmxpYyBzdGF0aWMgQ3JlYXRlVGV4dHVyZUZyb21CYXNlNjQoaWQ6IHN0cmluZywgYmFzZTY0OiBzdHJpbmcsIG1hdGVyaWFsOiBNYXRlcmlhbCwgZGVmYXVsdEZsaXA6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8VEhSRUUuVGV4dHVyZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxUSFJFRS5UZXh0dXJlPigocmVzb2x2ZSkgPT4ge1xuICAgICAgaWYgKEltYWdlVXRpbHMudGV4dHVyZXMuaGFzKGlkKSkge1xuICAgICAgICByZXNvbHZlKEltYWdlVXRpbHMudGV4dHVyZXMuZ2V0KGlkKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWJhc2U2NCkge1xuICAgICAgICAgIHJlc29sdmUobmV3IFRIUkVFLlRleHR1cmUoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbG9hZGVyOiBUSFJFRS5UZXh0dXJlTG9hZGVyID0gbmV3IFRIUkVFLlRleHR1cmVMb2FkZXIoKTtcbiAgICAgICAgICBsb2FkZXIubG9hZChiYXNlNjQsICh0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlKSA9PiB7XG4gICAgICAgICAgICB0ZXh0dXJlLmFuaXNvdHJvcHkgPSAxNjtcbiAgICAgICAgICAgIHRleHR1cmUud3JhcFMgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICAgIHRleHR1cmUucmVwZWF0ID0gbmV3IFRIUkVFLlZlY3RvcjIobWF0ZXJpYWwgPyBtYXRlcmlhbC5yZXBlYXRYIDogMSwgbWF0ZXJpYWwgPyBtYXRlcmlhbC5yZXBlYXRZIDogMSk7XG4gICAgICAgICAgICB0ZXh0dXJlLmZsaXBZID0gZGVmYXVsdEZsaXA7XG4gICAgICAgICAgICB0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgIEltYWdlVXRpbHMudGV4dHVyZXMuc2V0KGlkLCB0ZXh0dXJlKTtcbiAgICAgICAgICAgIHJlc29sdmUodGV4dHVyZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RG9jQm9keVdpdGhNaW1lVHlwZURlZmluaXRpb24oZmlsZU5hbWU6IHN0cmluZywgZG9jdW1lbnRCb2R5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChkb2N1bWVudEJvZHkgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudEJvZHk7XG4gICAgfVxuICAgIGNvbnN0IGZpbGVFeHRlbnNpb246IHN0cmluZyA9IGZpbGVOYW1lLnN1YnN0cihmaWxlTmFtZS5sYXN0SW5kZXhPZignLicpICsgMSk7XG4gICAgc3dpdGNoIChmaWxlRXh0ZW5zaW9uLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIGNhc2UgXCJqcGdcIjpcbiAgICAgIGNhc2UgXCJqcGVnXCI6XG4gICAgICAgIHJldHVybiBcImRhdGE6aW1hZ2UvanBnO2Jhc2U2NCxcIiArIGRvY3VtZW50Qm9keTtcbiAgICAgIGNhc2UgXCJwbmdcIjpcbiAgICAgICAgcmV0dXJuIFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LFwiICsgZG9jdW1lbnRCb2R5O1xuICAgICAgY2FzZSBcImdpZlwiOlxuICAgICAgICByZXR1cm4gXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsXCIgKyBkb2N1bWVudEJvZHk7XG4gICAgICBjYXNlIFwiYm1wXCI6XG4gICAgICAgIHJldHVybiBcImRhdGE6aW1hZ2UvYm1wO2Jhc2U2NCxcIiArIGRvY3VtZW50Qm9keTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxcIiArIGRvY3VtZW50Qm9keTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldEZpeGVkSW1hZ2VGaWxlcGF0aFVybChpbWFnZUZpbGVwYXRoVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbWFnZUZpbGVwYXRoVXJsLnJlcGxhY2UoXCIvY29udGVudC9cIiwgXCIvY29udGVudDQzL1wiKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgQ2xlYXJDYWNoZSgpOiB2b2lkIHtcbiAgICBJbWFnZVV0aWxzLnRleHR1cmVzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgdmFsdWUuZGlzcG9zZSgpO1xuICAgIH0pO1xuICAgIEltYWdlVXRpbHMudGV4dHVyZXMuY2xlYXIoKTtcbiAgfVxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvaW1hZ2UudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVTtJQUlkLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFVLEVBQUUsTUFBYyxFQUFFLFFBQWtCLEVBQUUsY0FBdUIsS0FBSztRQUNoSCxPQUFPLElBQUksT0FBTyxDQUFnQixDQUFPLE9BQU8sRUFBRSxFQUFFO1lBQ2xELElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ3RDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRTt3QkFDMUMsT0FBTyxDQUFDLE1BQU8sTUFBYyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO3FCQUN0RDt5QkFBTTt3QkFDTCxNQUFNLE1BQU0sR0FBd0IsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7d0JBQzlELE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBc0IsRUFBRSxFQUFFOzRCQUMzQyxPQUFPLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQzs0QkFDeEIsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDOzRCQUNyQyxPQUFPLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUM7NEJBQ3JDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLE9BQU8sQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDOzRCQUM1QixPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQzs0QkFDM0IsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzRCQUNyQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ25CLENBQUMsRUFDRCxHQUFHLEVBQUU7d0JBQ0wsQ0FBQyxFQUNELEdBQUcsRUFBRTs0QkFDSCxPQUFPLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzt3QkFDL0IsQ0FBQyxDQUFDLENBQUM7cUJBQ047aUJBQ0Y7YUFDRjtRQUNILENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLGdDQUFnQyxDQUFDLFFBQWdCLEVBQUUsWUFBb0I7UUFDbkYsSUFBSSxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE9BQU8sWUFBWSxDQUFDO1NBQ3JCO1FBQ0QsTUFBTSxhQUFhLEdBQVcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFFBQVEsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ25DLEtBQUssS0FBSyxDQUFDO1lBQ1gsS0FBSyxNQUFNO2dCQUNULE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pELEtBQUssS0FBSztnQkFDUixPQUFPLHdCQUF3QixHQUFHLFlBQVksQ0FBQztZQUNqRCxLQUFLLEtBQUs7Z0JBQ1IsT0FBTyx3QkFBd0IsR0FBRyxZQUFZLENBQUM7WUFDakQsS0FBSyxLQUFLO2dCQUNSLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1lBQ2pEO2dCQUNFLE9BQU8sd0JBQXdCLEdBQUcsWUFBWSxDQUFDO1NBQ2xEO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBd0I7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVTtRQUN0QixVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNsQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzlCLENBQUM7O0FBaEVhLG1CQUFRLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQge01hdGVyaWFsfSBmcm9tICcuLi9tb2RlbC9tYXRlcmlhbCc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgSW1hZ2VVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyB0ZXh0dXJlczogTWFwPHN0cmluZywgVEhSRUUuVGV4dHVyZT4gPSBuZXcgTWFwKCk7XG5cbiAgcHVibGljIHN0YXRpYyBDcmVhdGVUZXh0dXJlRnJvbUJhc2U2NChpZDogc3RyaW5nLCBiYXNlNjQ6IHN0cmluZywgbWF0ZXJpYWw6IE1hdGVyaWFsLCBkZWZhdWx0RmxpcDogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxUSFJFRS5UZXh0dXJlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFRIUkVFLlRleHR1cmU+KGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICBpZiAoSW1hZ2VVdGlscy50ZXh0dXJlcy5oYXMoaWQpKSB7XG4gICAgICAgIHJlc29sdmUoSW1hZ2VVdGlscy50ZXh0dXJlcy5nZXQoaWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICghYmFzZTY0KSB7XG4gICAgICAgICAgcmVzb2x2ZShuZXcgVEhSRUUuVGV4dHVyZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAod2luZG93Lmhhc093blByb3BlcnR5KCd0ZXh0dXJlTG9hZGVyJykpIHtcbiAgICAgICAgICAgIHJlc29sdmUoYXdhaXQgKHdpbmRvdyBhcyBhbnkpLnRleHR1cmVMb2FkZXIoYmFzZTY0KSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRlcjogVEhSRUUuVGV4dHVyZUxvYWRlciA9IG5ldyBUSFJFRS5UZXh0dXJlTG9hZGVyKCk7XG4gICAgICAgICAgICBsb2FkZXIubG9hZChiYXNlNjQsICh0ZXh0dXJlOiBUSFJFRS5UZXh0dXJlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS5hbmlzb3Ryb3B5ID0gMTY7XG4gICAgICAgICAgICAgICAgdGV4dHVyZS53cmFwUyA9IFRIUkVFLlJlcGVhdFdyYXBwaW5nO1xuICAgICAgICAgICAgICAgIHRleHR1cmUud3JhcFQgPSBUSFJFRS5SZXBlYXRXcmFwcGluZztcbiAgICAgICAgICAgICAgICB0ZXh0dXJlLnJlcGVhdCA9IG5ldyBUSFJFRS5WZWN0b3IyKG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WCA6IDEsIG1hdGVyaWFsID8gbWF0ZXJpYWwucmVwZWF0WSA6IDEpO1xuICAgICAgICAgICAgICAgIHRleHR1cmUuZmxpcFkgPSBkZWZhdWx0RmxpcDtcbiAgICAgICAgICAgICAgICB0ZXh0dXJlLm5lZWRzVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBJbWFnZVV0aWxzLnRleHR1cmVzLnNldChpZCwgdGV4dHVyZSk7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0ZXh0dXJlKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShuZXcgVEhSRUUuVGV4dHVyZSgpKTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldERvY0JvZHlXaXRoTWltZVR5cGVEZWZpbml0aW9uKGZpbGVOYW1lOiBzdHJpbmcsIGRvY3VtZW50Qm9keTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoZG9jdW1lbnRCb2R5ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnRCb2R5O1xuICAgIH1cbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uOiBzdHJpbmcgPSBmaWxlTmFtZS5zdWJzdHIoZmlsZU5hbWUubGFzdEluZGV4T2YoJy4nKSArIDEpO1xuICAgIHN3aXRjaCAoZmlsZUV4dGVuc2lvbi50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICBjYXNlICdqcGcnOlxuICAgICAgY2FzZSAnanBlZyc6XG4gICAgICAgIHJldHVybiAnZGF0YTppbWFnZS9qcGc7YmFzZTY0LCcgKyBkb2N1bWVudEJvZHk7XG4gICAgICBjYXNlICdwbmcnOlxuICAgICAgICByZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgZG9jdW1lbnRCb2R5O1xuICAgICAgY2FzZSAnZ2lmJzpcbiAgICAgICAgcmV0dXJuICdkYXRhOmltYWdlL2dpZjtiYXNlNjQsJyArIGRvY3VtZW50Qm9keTtcbiAgICAgIGNhc2UgJ2JtcCc6XG4gICAgICAgIHJldHVybiAnZGF0YTppbWFnZS9ibXA7YmFzZTY0LCcgKyBkb2N1bWVudEJvZHk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgZG9jdW1lbnRCb2R5O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZ2V0Rml4ZWRJbWFnZUZpbGVwYXRoVXJsKGltYWdlRmlsZXBhdGhVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGltYWdlRmlsZXBhdGhVcmwucmVwbGFjZSgnL2NvbnRlbnQvJywgJy9jb250ZW50NDMvJyk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIENsZWFyQ2FjaGUoKTogdm9pZCB7XG4gICAgSW1hZ2VVdGlscy50ZXh0dXJlcy5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHZhbHVlLmRpc3Bvc2UoKTtcbiAgICB9KTtcbiAgICBJbWFnZVV0aWxzLnRleHR1cmVzLmNsZWFyKCk7XG4gIH1cbn1cbiJdfQ==