@plattar/plattar-ar-adapter 1.122.3 → 1.123.3

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 (35) hide show
  1. package/build/es2015/plattar-ar-adapter.js +8643 -5719
  2. package/build/es2015/plattar-ar-adapter.min.js +1 -1
  3. package/build/es2019/plattar-ar-adapter.js +1587 -459
  4. package/build/es2019/plattar-ar-adapter.min.js +9 -1
  5. package/dist/ar/launcher-ar.d.ts +8 -1
  6. package/dist/ar/launcher-ar.js +12 -0
  7. package/dist/ar/model-ar.d.ts +0 -5
  8. package/dist/ar/model-ar.js +1 -12
  9. package/dist/ar/product-ar.d.ts +1 -6
  10. package/dist/ar/product-ar.js +3 -14
  11. package/dist/ar/raw-ar.d.ts +0 -5
  12. package/dist/ar/raw-ar.js +0 -12
  13. package/dist/ar/scene-ar.d.ts +21 -1
  14. package/dist/ar/scene-ar.js +148 -5
  15. package/dist/embed/controllers/configurator-controller.d.ts +17 -0
  16. package/dist/embed/controllers/configurator-controller.js +178 -0
  17. package/dist/embed/controllers/plattar-controller.d.ts +62 -0
  18. package/dist/embed/controllers/plattar-controller.js +62 -0
  19. package/dist/embed/controllers/product-controller.d.ts +17 -0
  20. package/dist/embed/controllers/product-controller.js +133 -0
  21. package/dist/embed/controllers/viewer-controller.d.ts +17 -0
  22. package/dist/embed/controllers/viewer-controller.js +147 -0
  23. package/dist/embed/controllers/vto-controller.d.ts +17 -0
  24. package/dist/embed/controllers/vto-controller.js +169 -0
  25. package/dist/embed/plattar-embed.d.ts +8 -10
  26. package/dist/embed/plattar-embed.js +72 -223
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.js +3 -3
  29. package/dist/util/configurator-state.d.ts +26 -0
  30. package/dist/util/configurator-state.js +92 -0
  31. package/dist/version.d.ts +1 -1
  32. package/dist/version.js +1 -1
  33. package/package.json +7 -6
  34. package/dist/ar/configurator-ar.d.ts +0 -9
  35. package/dist/ar/configurator-ar.js +0 -19
@@ -1,34 +1,25 @@
1
1
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.PlattarARAdapter = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ConfiguratorAR = void 0;
5
- const launcher_ar_1 = require("./launcher-ar");
6
- /**
7
- * Performs AR related to Plattar Configurator functionalities
8
- */
9
- class ConfiguratorAR extends launcher_ar_1.LauncherAR {
10
- init() {
11
- throw new Error("Method not implemented.");
12
- }
13
- launch() {
14
- throw new Error("Method not implemented.");
15
- }
16
- start() {
17
- throw new Error("Method not implemented.");
18
- }
19
- }
20
- exports.ConfiguratorAR = ConfiguratorAR;
21
-
22
- },{"./launcher-ar":2}],2:[function(require,module,exports){
23
- "use strict";
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
4
  exports.LauncherAR = void 0;
26
5
  class LauncherAR {
27
6
  constructor() { }
7
+ /**
8
+ * Initialise and launch with a single function call. this is mostly for convenience.
9
+ * Use .init() and .start() separately for fine-grained control
10
+ */
11
+ launch() {
12
+ return new Promise((accept, reject) => {
13
+ this.init().then((value) => {
14
+ value.start();
15
+ return accept();
16
+ }).catch(reject);
17
+ });
18
+ }
28
19
  }
29
20
  exports.LauncherAR = LauncherAR;
30
21
 
31
- },{}],3:[function(require,module,exports){
22
+ },{}],2:[function(require,module,exports){
32
23
  "use strict";
33
24
  var __importDefault = (this && this.__importDefault) || function (mod) {
34
25
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -66,6 +57,7 @@ class ModelAR extends launcher_ar_1.LauncherAR {
66
57
  if (project) {
67
58
  analytics = new plattar_analytics_1.Analytics(project.id);
68
59
  analytics.origin = plattar_api_1.Server.location().type;
60
+ analytics.data.push("type", "model-ar");
69
61
  analytics.data.push("applicationId", project.id);
70
62
  analytics.data.push("applicationTitle", project.attributes.title);
71
63
  analytics.data.push("modelId", model.id);
@@ -120,18 +112,6 @@ class ModelAR extends launcher_ar_1.LauncherAR {
120
112
  }).catch(reject);
121
113
  });
122
114
  }
123
- /**
124
- * Initialise and launch with a single function call. this is mostly for convenience.
125
- * Use .init() and .start() separately for fine-grained control
126
- */
127
- launch() {
128
- return new Promise((accept, reject) => {
129
- this.init().then((value) => {
130
- value.start();
131
- return accept();
132
- }).catch(reject);
133
- });
134
- }
135
115
  /**
136
116
  * Launches the internal AR instance using an appropriate version of AR Viewers
137
117
  */
@@ -162,7 +142,7 @@ class ModelAR extends launcher_ar_1.LauncherAR {
162
142
  }
163
143
  exports.ModelAR = ModelAR;
164
144
 
165
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2,"@plattar/plattar-analytics":32,"@plattar/plattar-api":36}],4:[function(require,module,exports){
145
+ },{"../util/util":14,"../viewers/quicklook-viewer":17,"../viewers/reality-viewer":18,"../viewers/scene-viewer":19,"./launcher-ar":1,"@plattar/plattar-analytics":37,"@plattar/plattar-api":41}],3:[function(require,module,exports){
166
146
  "use strict";
167
147
  var __importDefault = (this && this.__importDefault) || function (mod) {
168
148
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -197,7 +177,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
197
177
  get variationID() {
198
178
  return this._variationID;
199
179
  }
200
- _setupAnalytics(product, variation) {
180
+ _SetupAnalytics(product, variation) {
201
181
  let analytics = null;
202
182
  const scene = product.relationships.find(plattar_api_1.Scene);
203
183
  // setup scene stuff (if any)
@@ -205,6 +185,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
205
185
  analytics = new plattar_analytics_1.Analytics(scene.attributes.application_id);
206
186
  analytics.origin = plattar_api_1.Server.location().type;
207
187
  this._analytics = analytics;
188
+ analytics.data.push("type", "product-ar");
208
189
  analytics.data.push("sceneId", scene.id);
209
190
  analytics.data.push("sceneTitle", scene.attributes.title);
210
191
  const application = scene.relationships.find(plattar_api_1.Project);
@@ -265,7 +246,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
265
246
  if (!model) {
266
247
  return reject(new Error("ProductAR.init() - cannot proceed as ModelFile for selected variation is corrupt"));
267
248
  }
268
- this._setupAnalytics(product, variation);
249
+ this._SetupAnalytics(product, variation);
269
250
  // we need to define our AR module here
270
251
  // we are in Safari/Quicklook mode here
271
252
  if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
@@ -296,18 +277,6 @@ class ProductAR extends launcher_ar_1.LauncherAR {
296
277
  }).catch(reject);
297
278
  });
298
279
  }
299
- /**
300
- * Initialise and launch with a single function call. this is mostly for convenience.
301
- * Use .init() and .start() separately for fine-grained control
302
- */
303
- launch() {
304
- return new Promise((accept, reject) => {
305
- this.init().then((value) => {
306
- value.start();
307
- return accept();
308
- }).catch(reject);
309
- });
310
- }
311
280
  /**
312
281
  * Launches the internal AR instance using an appropriate version of AR Viewers
313
282
  */
@@ -338,7 +307,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
338
307
  }
339
308
  exports.ProductAR = ProductAR;
340
309
 
341
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2,"@plattar/plattar-analytics":32,"@plattar/plattar-api":36}],5:[function(require,module,exports){
310
+ },{"../util/util":14,"../viewers/quicklook-viewer":17,"../viewers/reality-viewer":18,"../viewers/scene-viewer":19,"./launcher-ar":1,"@plattar/plattar-analytics":37,"@plattar/plattar-api":41}],4:[function(require,module,exports){
342
311
  "use strict";
343
312
  var __importDefault = (this && this.__importDefault) || function (mod) {
344
313
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -416,18 +385,6 @@ class RawAR extends launcher_ar_1.LauncherAR {
416
385
  return reject(new Error("RawAR.init() - could not initialise AR correctly, check values"));
417
386
  });
418
387
  }
419
- /**
420
- * Initialise and launch with a single function call. this is mostly for convenience.
421
- * Use .init() and .start() separately for fine-grained control
422
- */
423
- launch() {
424
- return new Promise((accept, reject) => {
425
- this.init().then((value) => {
426
- value.start();
427
- return accept();
428
- }).catch(reject);
429
- });
430
- }
431
388
  /**
432
389
  * Launches the internal AR instance using an appropriate version of AR Viewers
433
390
  */
@@ -450,246 +407,210 @@ class RawAR extends launcher_ar_1.LauncherAR {
450
407
  }
451
408
  exports.RawAR = RawAR;
452
409
 
453
- },{"../util/util":9,"../viewers/quicklook-viewer":12,"../viewers/reality-viewer":13,"../viewers/scene-viewer":14,"./launcher-ar":2}],6:[function(require,module,exports){
410
+ },{"../util/util":14,"../viewers/quicklook-viewer":17,"../viewers/reality-viewer":18,"../viewers/scene-viewer":19,"./launcher-ar":1}],5:[function(require,module,exports){
454
411
  "use strict";
412
+ var __importDefault = (this && this.__importDefault) || function (mod) {
413
+ return (mod && mod.__esModule) ? mod : { "default": mod };
414
+ };
455
415
  Object.defineProperty(exports, "__esModule", { value: true });
456
416
  exports.SceneAR = void 0;
417
+ const plattar_analytics_1 = require("@plattar/plattar-analytics");
418
+ const plattar_api_1 = require("@plattar/plattar-api");
419
+ const plattar_services_1 = require("@plattar/plattar-services");
420
+ const util_1 = require("../util/util");
421
+ const quicklook_viewer_1 = __importDefault(require("../viewers/quicklook-viewer"));
422
+ const reality_viewer_1 = __importDefault(require("../viewers/reality-viewer"));
423
+ const scene_viewer_1 = __importDefault(require("../viewers/scene-viewer"));
457
424
  const launcher_ar_1 = require("./launcher-ar");
458
425
  /**
459
426
  * Performs AR functionality related to Plattar Scenes
460
427
  */
461
428
  class SceneAR extends launcher_ar_1.LauncherAR {
462
- init() {
463
- throw new Error("Method not implemented.");
464
- }
465
- launch() {
466
- throw new Error("Method not implemented.");
467
- }
468
- start() {
469
- throw new Error("Method not implemented.");
470
- }
471
- }
472
- exports.SceneAR = SceneAR;
473
-
474
- },{"./launcher-ar":2}],7:[function(require,module,exports){
475
- "use strict";
476
- Object.defineProperty(exports, "__esModule", { value: true });
477
- const plattar_api_1 = require("@plattar/plattar-api");
478
- const product_ar_1 = require("../ar/product-ar");
479
- /**
480
- * This tracks the current state of the Embed
481
- */
482
- var EmbedState;
483
- (function (EmbedState) {
484
- EmbedState[EmbedState["None"] = 0] = "None";
485
- EmbedState[EmbedState["SceneViewer"] = 1] = "SceneViewer";
486
- EmbedState[EmbedState["ProductViewer"] = 2] = "ProductViewer";
487
- EmbedState[EmbedState["ProductAR"] = 3] = "ProductAR";
488
- EmbedState[EmbedState["QRCode"] = 4] = "QRCode";
489
- })(EmbedState || (EmbedState = {}));
490
- /**
491
- * This is the primary <plattar-embed /> node that allows easy embedding
492
- * of Plattar related content
493
- */
494
- class PlattarEmbed extends HTMLElement {
495
- constructor() {
429
+ constructor(sceneID = null) {
496
430
  super();
497
- // this is the current state of the embed, none by default
498
- this._currentState = EmbedState.None;
499
- this._qrCodeOptions = {
500
- color: "#101721",
501
- qrType: "default",
502
- margin: 0
503
- };
504
- this._sceneID = null;
505
- this._productID = null;
506
- this._variationID = null;
507
- this._isReady = false;
508
- this._width = "500px";
509
- this._height = "500px";
510
- this._server = "production";
511
- this._viewer = null;
512
- }
513
- get viewer() {
514
- return this._viewer;
515
- }
516
- connectedCallback() {
517
- const observer = new MutationObserver((mutations) => {
518
- mutations.forEach((mutation) => {
519
- if (mutation.type === "attributes") {
520
- const sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
521
- const productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
522
- const variationID = this.hasAttribute("variation-id") ? this.getAttribute("variation-id") : null;
523
- let updated = false;
524
- if (sceneID !== this._sceneID) {
525
- this._sceneID = sceneID;
526
- updated = true;
527
- }
528
- if (productID !== this._productID) {
529
- this._productID = productID;
530
- updated = true;
531
- }
532
- if (variationID !== this._variationID) {
533
- this._variationID = variationID;
534
- updated = true;
535
- }
536
- if (updated) {
537
- // re-render based on internal state
538
- this._OnAttributesUpdated();
539
- }
540
- }
541
- });
542
- });
543
- observer.observe(this, {
544
- attributes: true
545
- });
546
- const server = this.hasAttribute("server") ? this.getAttribute("server") : "production";
547
- plattar_api_1.Server.create(plattar_api_1.Server.match(server || "production"));
548
- if (server) {
549
- this._server = server;
550
- }
551
- this._sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
552
- this._productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
553
- this._variationID = this.hasAttribute("variation-id") ? this.getAttribute("variation-id") : null;
554
- const width = this.hasAttribute("width") ? this.getAttribute("width") : "500px";
555
- const height = this.hasAttribute("height") ? this.getAttribute("height") : "500px";
556
- if (width) {
557
- this._width = width;
558
- }
559
- if (height) {
560
- this._height = height;
561
- }
562
- this._isReady = true;
563
- const init = this.hasAttribute("init") ? this.getAttribute("init") : null;
564
- if (init === "ar") {
565
- this.startAR();
566
- }
567
- else if (init === "viewer") {
568
- this.startViewer();
569
- }
570
- else if (init === "qrcode") {
571
- this.startQRCode();
572
- }
573
- else if (init === "ar-fallback-qrcode") {
574
- this.startAR().then(() => {
575
- // nothing to do, launched successfully
576
- }).catch((_err) => {
577
- this.startQRCode();
578
- });
579
- }
580
- else if (init === "ar-fallback-viewer") {
581
- this.startAR().then(() => {
582
- // nothing to do, launched successfully
583
- }).catch((_err) => {
584
- this.startViewer();
585
- });
431
+ // analytics instance
432
+ this._analytics = null;
433
+ if (!sceneID) {
434
+ throw new Error("SceneAR.constructor(sceneID) - sceneID must be defined");
586
435
  }
436
+ this._sceneID = sceneID;
437
+ this._ar = null;
587
438
  }
588
- initAR() {
589
- return new Promise((accept, reject) => {
590
- if (!this._isReady) {
591
- return reject(new Error("PlattarEmbed.initAR() - cannot execute as page has not loaded yet"));
592
- }
593
- // if scene is not set but product is, then use ProductAR
594
- if (!this._sceneID && this._productID) {
595
- const product = new product_ar_1.ProductAR(this._productID, this._variationID);
596
- return product.init().then(accept).catch(reject);
597
- }
598
- // If Product is set (under any scenario) then use ProductAR
599
- // NOTE: At some point this should check for Scenes when SceneAR
600
- // is implemented
601
- if (this._productID) {
602
- const product = new product_ar_1.ProductAR(this._productID, this._variationID);
603
- return product.init().then(accept).catch(reject);
604
- }
605
- // otherwise, scene was set so use SceneAR
606
- if (this._sceneID) {
607
- return reject(new Error("PlattarEmbed.initAR() - scene-id not yet supported"));
439
+ get sceneID() {
440
+ return this._sceneID;
441
+ }
442
+ _SetupAnalytics(scene) {
443
+ let analytics = null;
444
+ // setup scene stuff (if any)
445
+ if (scene) {
446
+ analytics = new plattar_analytics_1.Analytics(scene.attributes.application_id);
447
+ analytics.origin = plattar_api_1.Server.location().type;
448
+ this._analytics = analytics;
449
+ analytics.data.push("type", "scene-ar");
450
+ analytics.data.push("sceneId", scene.id);
451
+ analytics.data.push("sceneTitle", scene.attributes.title);
452
+ const application = scene.relationships.find(plattar_api_1.Project);
453
+ // setup application stuff (if any)
454
+ if (application) {
455
+ analytics.data.push("applicationId", application.id);
456
+ analytics.data.push("applicationTitle", application.attributes.title);
608
457
  }
609
- return reject(new Error("PlattarEmbed.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
610
- });
458
+ }
611
459
  }
612
- startAR() {
460
+ /**
461
+ * Composes a Scene into an AR Model (remote operation) that can be used to launch
462
+ * an AR File
463
+ */
464
+ _ComposeScene(scene, output) {
613
465
  return new Promise((accept, reject) => {
614
- if (!this._isReady) {
615
- return reject(new Error("PlattarEmbed.startAR() - cannot execute as page has not loaded yet"));
466
+ const sceneProducts = scene.relationships.filter(plattar_api_1.SceneProduct);
467
+ // nothing to do if no AR components can be found
468
+ if (sceneProducts.length <= 0) {
469
+ return reject(new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain AR components"));
616
470
  }
617
- this.initAR().then((launcher) => {
618
- launcher.start();
619
- accept();
471
+ // define our configurator
472
+ const configurator = new plattar_services_1.Configurator();
473
+ configurator.server = plattar_api_1.Server.location().type;
474
+ configurator.output = output;
475
+ // add out scene models
476
+ sceneProducts.forEach((sceneProduct) => {
477
+ const product = sceneProduct.relationships.find(plattar_api_1.Product);
478
+ if (product && product.attributes.product_variation_id) {
479
+ configurator.addSceneProduct(sceneProduct.id, product.attributes.product_variation_id);
480
+ }
481
+ });
482
+ return configurator.get().then((result) => {
483
+ accept(result.filename);
620
484
  }).catch(reject);
621
485
  });
622
486
  }
623
- startViewer() {
487
+ /**
488
+ * Initialise the SceneAR instance. This returns a Promise that resolves
489
+ * successfully if initialisation is successful, otherwise it will fail.
490
+ *
491
+ * filure can occur for a number of reasons but it generally means that AR
492
+ * cannot be performed.
493
+ */
494
+ init() {
624
495
  return new Promise((accept, reject) => {
625
- if (!this._isReady) {
626
- return reject(new Error("PlattarEmbed.startViewer() - cannot execute as page has not loaded yet"));
627
- }
628
- if (this._viewer) {
629
- this._viewer.remove();
630
- this._viewer = null;
496
+ if (!util_1.Util.canAugment()) {
497
+ return reject(new Error("SceneAR.init() - cannot proceed as AR not available in context"));
631
498
  }
632
- // if scene is set, we use <plattar-viewer /> node from plattar-web
633
- if (this._sceneID) {
634
- const viewer = document.createElement("plattar-viewer");
635
- viewer.setAttribute("width", this._width);
636
- viewer.setAttribute("height", this._height);
637
- viewer.setAttribute("server", this._server);
638
- viewer.setAttribute("scene-id", this._sceneID);
639
- if (this._productID) {
640
- viewer.setAttribute("product-id", this._productID);
641
- }
642
- if (this._variationID) {
643
- viewer.setAttribute("variation-id", this._variationID);
499
+ const scene = new plattar_api_1.Scene(this.sceneID);
500
+ scene.include(plattar_api_1.Project);
501
+ scene.include(plattar_api_1.SceneProduct);
502
+ scene.include(plattar_api_1.SceneProduct.include(plattar_api_1.Product));
503
+ scene.get().then((scene) => {
504
+ this._SetupAnalytics(scene);
505
+ const sceneOpt = scene.attributes.custom_json || {};
506
+ // we need to define our AR module here
507
+ // we are in Safari/Quicklook mode here
508
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
509
+ // we need to launch a VTO experience here
510
+ // VTO requires Reality Support
511
+ if (sceneOpt.anchor === "face") {
512
+ if (util_1.Util.canRealityViewer()) {
513
+ return this._ComposeScene(scene, "vto").then((modelUrl) => {
514
+ this._ar = new reality_viewer_1.default();
515
+ this._ar.modelUrl = modelUrl;
516
+ return accept(this);
517
+ }).catch(reject);
518
+ }
519
+ else {
520
+ return reject(new Error("SceneAR.init() - cannot proceed as VTO AR requires Reality Viewer support"));
521
+ }
522
+ }
523
+ // otherwise, load the USDZ stuff second if available
524
+ if (util_1.Util.canQuicklook()) {
525
+ return this._ComposeScene(scene, "usdz").then((modelUrl) => {
526
+ this._ar = new quicklook_viewer_1.default();
527
+ this._ar.modelUrl = modelUrl;
528
+ return accept(this);
529
+ }).catch(reject);
530
+ }
531
+ return reject(new Error("SceneAR.init() - cannot proceed as IOS device does not support AR Mode"));
644
532
  }
645
- viewer.onload = () => {
646
- return accept(viewer);
647
- };
648
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
649
- shadow.append(viewer);
650
- this._viewer = viewer;
651
- this._currentState = EmbedState.SceneViewer;
652
- return;
653
- }
654
- // if product is set, we use <plattar-product /> node from plattar-web
655
- if (this._productID) {
656
- const viewer = document.createElement("plattar-product");
657
- viewer.setAttribute("width", this._width);
658
- viewer.setAttribute("height", this._height);
659
- viewer.setAttribute("server", this._server);
660
- viewer.setAttribute("product-id", this._productID);
661
- if (this._variationID) {
662
- viewer.setAttribute("variation-id", this._variationID);
533
+ // check android
534
+ if (util_1.Util.canSceneViewer()) {
535
+ return this._ComposeScene(scene, "glb").then((modelUrl) => {
536
+ this._ar = new scene_viewer_1.default();
537
+ this._ar.modelUrl = modelUrl;
538
+ return accept(this);
539
+ }).catch(reject);
663
540
  }
664
- viewer.onload = () => {
665
- return accept(viewer);
666
- };
667
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
668
- shadow.append(viewer);
669
- this._viewer = viewer;
670
- this._currentState = EmbedState.ProductViewer;
671
- return;
672
- }
673
- return reject(new Error("PlattarEmbed.startViewer() - minimum required attributes not set, use scene-id or product-id as a minimum"));
541
+ // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
542
+ // earlier in the process
543
+ return reject(new Error("SceneAR.init() - could not initialise AR correctly, check values"));
544
+ }).catch(reject);
674
545
  });
675
546
  }
676
- startQRCode(options = null) {
547
+ start() {
548
+ if (!this._ar) {
549
+ throw new Error("SceneAR.start() - cannot proceed as AR instance is null");
550
+ }
551
+ const analytics = this._analytics;
552
+ if (analytics) {
553
+ analytics.data.push("device", this._ar.device);
554
+ analytics.data.push("eventCategory", this._ar.nodeType);
555
+ analytics.data.push("eventAction", "Start Scene Augment");
556
+ analytics.write();
557
+ analytics.startRecordEngagement();
558
+ }
559
+ // this was initialised via the init() function
560
+ this._ar.start();
561
+ }
562
+ canQuicklook() {
563
+ return this._ar && this._ar.nodeType === "Quick Look" ? true : false;
564
+ }
565
+ canRealityViewer() {
566
+ return this._ar && this._ar.nodeType === "Reality Viewer" ? true : false;
567
+ }
568
+ canSceneViewer() {
569
+ return this._ar && this._ar.nodeType === "Scene Viewer" ? true : false;
570
+ }
571
+ }
572
+ exports.SceneAR = SceneAR;
573
+
574
+ },{"../util/util":14,"../viewers/quicklook-viewer":17,"../viewers/reality-viewer":18,"../viewers/scene-viewer":19,"./launcher-ar":1,"@plattar/plattar-analytics":37,"@plattar/plattar-api":41,"@plattar/plattar-services":112}],6:[function(require,module,exports){
575
+ "use strict";
576
+ Object.defineProperty(exports, "__esModule", { value: true });
577
+ exports.ConfiguratorController = void 0;
578
+ const plattar_api_1 = require("@plattar/plattar-api");
579
+ const plattar_services_1 = require("@plattar/plattar-services");
580
+ const raw_ar_1 = require("../../ar/raw-ar");
581
+ const util_1 = require("../../util/util");
582
+ const plattar_controller_1 = require("./plattar-controller");
583
+ /**
584
+ * Manages an instance of the <plattar-configurator> HTML Element
585
+ */
586
+ class ConfiguratorController extends plattar_controller_1.PlattarController {
587
+ constructor(parent) {
588
+ super(parent);
589
+ this._state = plattar_controller_1.ControllerState.None;
590
+ this._element = null;
591
+ this._prevQROpt = null;
592
+ }
593
+ onAttributesUpdated() {
594
+ const state = this._state;
595
+ // re-render the QR Code when attributes have changed
596
+ if (state === plattar_controller_1.ControllerState.QRCode) {
597
+ this.startQRCode(this._prevQROpt);
598
+ return;
599
+ }
600
+ }
601
+ startQRCode(options) {
677
602
  return new Promise((accept, reject) => {
678
- if (!this._isReady) {
679
- return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as page has not loaded yet"));
680
- }
681
- const opt = options || this._qrCodeOptions;
682
- // reset instance for later use
683
- this._qrCodeOptions = opt;
684
- if (this._viewer) {
685
- this._viewer.remove();
686
- this._viewer = null;
687
- }
688
- // if scene is set, we embed a QR code that takes us to viewer.html
689
- if (this._sceneID) {
603
+ // remove the old renderer instance if any
604
+ this.removeRenderer();
605
+ const sceneID = this.getAttribute("scene-id");
606
+ if (sceneID) {
607
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
690
608
  const viewer = document.createElement("plattar-qrcode");
691
- viewer.setAttribute("width", this._width);
692
- viewer.setAttribute("height", this._height);
609
+ // required attributes with defaults for plattar-viewer node
610
+ const width = this.getAttribute("width") || "500px";
611
+ const height = this.getAttribute("height") || "500px";
612
+ viewer.setAttribute("width", width);
613
+ viewer.setAttribute("height", height);
693
614
  if (opt.color) {
694
615
  viewer.setAttribute("color", opt.color);
695
616
  }
@@ -699,88 +620,815 @@ class PlattarEmbed extends HTMLElement {
699
620
  if (opt.qrType) {
700
621
  viewer.setAttribute("qr-type", opt.qrType);
701
622
  }
702
- let dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + this._sceneID;
703
- if (this._productID) {
704
- dst += "&productId=" + this._productID;
623
+ let dst = plattar_api_1.Server.location().base + "renderer/configurator.html?scene_id=" + sceneID;
624
+ // optional attributes
625
+ const configState = this.getAttribute("config-state");
626
+ const showAR = this.getAttribute("show-ar");
627
+ if (configState) {
628
+ dst += "&config_state=" + configState;
705
629
  }
706
- if (this._variationID) {
707
- dst += "&variationId=" + this._variationID;
630
+ if (showAR) {
631
+ dst += "&show_ar=" + showAR;
708
632
  }
709
- viewer.setAttribute("url", dst);
633
+ viewer.setAttribute("url", opt.url || dst);
710
634
  viewer.onload = () => {
711
635
  return accept(viewer);
712
636
  };
713
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
714
- shadow.append(viewer);
715
- this._viewer = viewer;
716
- this._currentState = EmbedState.QRCode;
637
+ this.append(viewer);
638
+ this._element = viewer;
639
+ this._state = plattar_controller_1.ControllerState.QRCode;
640
+ this._prevQROpt = opt;
717
641
  return;
718
642
  }
719
- // if product is set, we embed a QR code that takes us to product.html
720
- if (this._productID) {
721
- const viewer = document.createElement("plattar-qrcode");
722
- viewer.setAttribute("width", this._width);
723
- viewer.setAttribute("height", this._height);
724
- if (opt.color) {
725
- viewer.setAttribute("color", opt.color);
643
+ return reject(new Error("ConfiguratorController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
644
+ });
645
+ }
646
+ startRenderer() {
647
+ return new Promise((accept, reject) => {
648
+ // remove the old renderer instance if any
649
+ this.removeRenderer();
650
+ const sceneID = this.getAttribute("scene-id");
651
+ if (sceneID) {
652
+ // required attributes with defaults for plattar-configurator node
653
+ const width = this.getAttribute("width") || "500px";
654
+ const height = this.getAttribute("height") || "500px";
655
+ const server = this.getAttribute("server") || "production";
656
+ const viewer = document.createElement("plattar-configurator");
657
+ viewer.setAttribute("width", width);
658
+ viewer.setAttribute("height", height);
659
+ viewer.setAttribute("server", server);
660
+ viewer.setAttribute("scene-id", sceneID);
661
+ // optional attributes
662
+ const configState = this.getAttribute("config-state");
663
+ const showAR = this.getAttribute("show-ar");
664
+ if (configState) {
665
+ viewer.setAttribute("config-state", configState);
726
666
  }
727
- if (opt.margin) {
667
+ if (showAR) {
668
+ viewer.setAttribute("show-ar", showAR);
669
+ }
670
+ viewer.onload = () => {
671
+ return accept(viewer);
672
+ };
673
+ this.append(viewer);
674
+ this._element = viewer;
675
+ this._state = plattar_controller_1.ControllerState.Renderer;
676
+ return;
677
+ }
678
+ return reject(new Error("ConfiguratorController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
679
+ });
680
+ }
681
+ initAR() {
682
+ return new Promise((accept, reject) => {
683
+ if (!util_1.Util.canAugment()) {
684
+ return reject(new Error("ConfiguratorController.initAR() - cannot proceed as AR not available in context"));
685
+ }
686
+ // if scene ID is available and the state is a configurator viewer
687
+ // we can use the real-time configurator state to launch the AR view
688
+ const viewer = this.element;
689
+ const sceneID = this.getAttribute("scene-id");
690
+ if (viewer && sceneID) {
691
+ let output = "glb";
692
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
693
+ output = "usdz";
694
+ }
695
+ return viewer.messenger.getARFile(output).then((result) => {
696
+ const rawAR = new raw_ar_1.RawAR(result.filename);
697
+ return rawAR.init().then(accept).catch(reject);
698
+ }).catch(reject);
699
+ }
700
+ const configState = this.getAttribute("config-state");
701
+ // otherwise scene ID is available to the viewer is not launched
702
+ // we can use the static configuration state to launch the AR view
703
+ if (sceneID && configState) {
704
+ try {
705
+ const decodedb64State = atob(configState);
706
+ const state = JSON.parse(decodedb64State);
707
+ if (state.meta) {
708
+ const sceneProductIndex = state.meta.scene_product_index || 0;
709
+ const variationIndex = state.meta.product_variation_index || 1;
710
+ const states = state.states || [];
711
+ if (states.length > 0) {
712
+ const configurator = new plattar_services_1.Configurator();
713
+ states.forEach((productState) => {
714
+ configurator.addSceneProduct(productState[sceneProductIndex], productState[variationIndex]);
715
+ });
716
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
717
+ configurator.output = "usdz";
718
+ }
719
+ if (util_1.Util.canSceneViewer()) {
720
+ configurator.output = "glb";
721
+ }
722
+ const server = this.getAttribute("server") || "production";
723
+ configurator.server = server;
724
+ return configurator.get().then((result) => {
725
+ const rawAR = new raw_ar_1.RawAR(result.filename);
726
+ rawAR.init().then(accept).catch(reject);
727
+ }).catch(reject);
728
+ }
729
+ return reject(new Error("ConfiguratorController.initAR() - invalid config-state does not have any product states"));
730
+ }
731
+ return reject(new Error("ConfiguratorController.initAR() - invalid config-state for configurator"));
732
+ }
733
+ catch (err) {
734
+ return reject(err);
735
+ }
736
+ }
737
+ return reject(new Error("ConfiguratorController.initAR() - minimum required attributes not set, use scene-id as a minimum"));
738
+ });
739
+ }
740
+ removeRenderer() {
741
+ if (this._element) {
742
+ this._element.remove();
743
+ this._element = null;
744
+ return true;
745
+ }
746
+ return false;
747
+ }
748
+ get element() {
749
+ return this._element;
750
+ }
751
+ }
752
+ exports.ConfiguratorController = ConfiguratorController;
753
+
754
+ },{"../../ar/raw-ar":4,"../../util/util":14,"./plattar-controller":7,"@plattar/plattar-api":41,"@plattar/plattar-services":112}],7:[function(require,module,exports){
755
+ "use strict";
756
+ Object.defineProperty(exports, "__esModule", { value: true });
757
+ exports.PlattarController = exports.ControllerState = void 0;
758
+ var ControllerState;
759
+ (function (ControllerState) {
760
+ ControllerState[ControllerState["None"] = 0] = "None";
761
+ ControllerState[ControllerState["Renderer"] = 1] = "Renderer";
762
+ ControllerState[ControllerState["QRCode"] = 2] = "QRCode";
763
+ })(ControllerState = exports.ControllerState || (exports.ControllerState = {}));
764
+ /**
765
+ * All Plattar Controllers are derived from the same interface
766
+ */
767
+ class PlattarController {
768
+ constructor(parent) {
769
+ this._parent = parent;
770
+ }
771
+ /**
772
+ * Default QR Code rendering options
773
+ */
774
+ static get DEFAULT_QR_OPTIONS() {
775
+ return {
776
+ color: "#101721",
777
+ qrType: "default",
778
+ margin: 0
779
+ };
780
+ }
781
+ ;
782
+ /**
783
+ * Initialise and start AR mode if available
784
+ */
785
+ startAR() {
786
+ return new Promise((accept, reject) => {
787
+ this.initAR().then((launcher) => {
788
+ launcher.start();
789
+ accept();
790
+ }).catch(reject);
791
+ });
792
+ }
793
+ /**
794
+ * Returns the Parent Instance
795
+ */
796
+ get parent() {
797
+ return this._parent;
798
+ }
799
+ /**
800
+ * Returns the specified attribute from the parent
801
+ * @param attribute - The name of thhe attribute
802
+ * @returns - The attribute value or null
803
+ */
804
+ getAttribute(attribute) {
805
+ return this.parent ? (this.parent.hasAttribute(attribute) ? this.parent.getAttribute(attribute) : null) : null;
806
+ }
807
+ /**
808
+ * Appends the provided element into the shadow-root of the parent element
809
+ * @param element - The element to append
810
+ */
811
+ append(element) {
812
+ const shadow = this.parent.shadowRoot || this.parent.attachShadow({ mode: 'open' });
813
+ shadow.append(element);
814
+ }
815
+ }
816
+ exports.PlattarController = PlattarController;
817
+
818
+ },{}],8:[function(require,module,exports){
819
+ "use strict";
820
+ Object.defineProperty(exports, "__esModule", { value: true });
821
+ exports.ProductController = void 0;
822
+ const plattar_api_1 = require("@plattar/plattar-api");
823
+ const product_ar_1 = require("../../ar/product-ar");
824
+ const util_1 = require("../../util/util");
825
+ const plattar_controller_1 = require("./plattar-controller");
826
+ /**
827
+ * Manages an instance of the <plattar-product> HTML Element
828
+ */
829
+ class ProductController extends plattar_controller_1.PlattarController {
830
+ constructor(parent) {
831
+ super(parent);
832
+ this._state = plattar_controller_1.ControllerState.None;
833
+ this._element = null;
834
+ this._prevQROpt = null;
835
+ }
836
+ onAttributesUpdated() {
837
+ const state = this._state;
838
+ // re-render the QR Code when attributes have changed
839
+ if (state === plattar_controller_1.ControllerState.QRCode) {
840
+ this.startQRCode(this._prevQROpt);
841
+ return;
842
+ }
843
+ // use the messenger function to change variation when attributes have changed
844
+ if (state === plattar_controller_1.ControllerState.Renderer) {
845
+ const viewer = this._element;
846
+ if (viewer) {
847
+ const variationID = this.getAttribute("variation-id");
848
+ viewer.messenger.selectVariation(variationID);
849
+ }
850
+ return;
851
+ }
852
+ }
853
+ startQRCode(options) {
854
+ return new Promise((accept, reject) => {
855
+ // remove the old renderer instance if any
856
+ this.removeRenderer();
857
+ const productID = this.getAttribute("product-id");
858
+ if (productID) {
859
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
860
+ const viewer = document.createElement("plattar-qrcode");
861
+ // required attributes with defaults for plattar-viewer node
862
+ const width = this.getAttribute("width") || "500px";
863
+ const height = this.getAttribute("height") || "500px";
864
+ viewer.setAttribute("width", width);
865
+ viewer.setAttribute("height", height);
866
+ if (opt.color) {
867
+ viewer.setAttribute("color", opt.color);
868
+ }
869
+ if (opt.margin) {
728
870
  viewer.setAttribute("margin", "" + opt.margin);
729
871
  }
730
872
  if (opt.qrType) {
731
873
  viewer.setAttribute("qr-type", opt.qrType);
732
874
  }
733
- let dst = plattar_api_1.Server.location().base + "renderer/product.html?product_id=" + this._productID;
734
- if (this._variationID) {
735
- dst += "&variation_id=" + this._variationID;
875
+ // optional attributes
876
+ const variationID = this.getAttribute("variation-id");
877
+ let dst = plattar_api_1.Server.location().base + "renderer/product.html?product_id=" + productID;
878
+ if (variationID) {
879
+ dst += "&variation_id=" + variationID;
736
880
  }
737
- viewer.setAttribute("url", dst);
881
+ viewer.setAttribute("url", opt.url || dst);
738
882
  viewer.onload = () => {
739
883
  return accept(viewer);
740
884
  };
741
- const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
742
- shadow.append(viewer);
743
- this._viewer = viewer;
744
- this._currentState = EmbedState.QRCode;
885
+ this.append(viewer);
886
+ this._element = viewer;
887
+ this._state = plattar_controller_1.ControllerState.QRCode;
888
+ this._prevQROpt = opt;
745
889
  return;
746
890
  }
747
- return reject(new Error("PlattarEmbed.startQRCode() - minimum required attributes not set, use scene-id or product-id as a minimum"));
891
+ return reject(new Error("ProductController.startQRCode() - minimum required attributes not set, use product-id as a minimum"));
748
892
  });
749
893
  }
750
- /**
751
- * This is called by the observer if any of the embed attributes have changed
752
- * based on the state of the embed, we update the internal structure accordingly
753
- */
754
- _OnAttributesUpdated() {
755
- // nothing to update in these scenarios
756
- if (this._currentState === EmbedState.None || this._currentState === EmbedState.ProductAR) {
757
- return;
894
+ startRenderer() {
895
+ return new Promise((accept, reject) => {
896
+ // remove the old renderer instance if any
897
+ this.removeRenderer();
898
+ const productID = this.getAttribute("product-id");
899
+ if (productID) {
900
+ // required attributes with defaults for plattar-product node
901
+ const width = this.getAttribute("width") || "500px";
902
+ const height = this.getAttribute("height") || "500px";
903
+ const server = this.getAttribute("server") || "production";
904
+ const viewer = document.createElement("plattar-product");
905
+ viewer.setAttribute("width", width);
906
+ viewer.setAttribute("height", height);
907
+ viewer.setAttribute("server", server);
908
+ viewer.setAttribute("product-id", productID);
909
+ // optional attributes
910
+ const variationID = this.getAttribute("variation-id");
911
+ if (variationID) {
912
+ viewer.setAttribute("variation-id", variationID);
913
+ }
914
+ viewer.onload = () => {
915
+ return accept(viewer);
916
+ };
917
+ this.append(viewer);
918
+ this._element = viewer;
919
+ this._state = plattar_controller_1.ControllerState.Renderer;
920
+ return;
921
+ }
922
+ return reject(new Error("ProductController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
923
+ });
924
+ }
925
+ initAR() {
926
+ return new Promise((accept, reject) => {
927
+ if (!util_1.Util.canAugment()) {
928
+ return reject(new Error("ProductController.initAR() - cannot proceed as AR not available in context"));
929
+ }
930
+ const productID = this.getAttribute("product-id");
931
+ if (productID) {
932
+ const variationID = this.getAttribute("variation-id");
933
+ const product = new product_ar_1.ProductAR(productID, variationID);
934
+ return product.init().then(accept).catch(reject);
935
+ }
936
+ return reject(new Error("ProductController.initAR() - minimum required attributes not set, use product-id as a minimum"));
937
+ });
938
+ }
939
+ removeRenderer() {
940
+ if (this._element) {
941
+ this._element.remove();
942
+ this._element = null;
943
+ return true;
758
944
  }
945
+ return false;
946
+ }
947
+ get element() {
948
+ return this._element;
949
+ }
950
+ }
951
+ exports.ProductController = ProductController;
952
+
953
+ },{"../../ar/product-ar":3,"../../util/util":14,"./plattar-controller":7,"@plattar/plattar-api":41}],9:[function(require,module,exports){
954
+ "use strict";
955
+ Object.defineProperty(exports, "__esModule", { value: true });
956
+ exports.ViewerController = void 0;
957
+ const plattar_api_1 = require("@plattar/plattar-api");
958
+ const product_ar_1 = require("../../ar/product-ar");
959
+ const util_1 = require("../../util/util");
960
+ const plattar_controller_1 = require("./plattar-controller");
961
+ /**
962
+ * Manages an instance of the <plattar-viewer> HTML Element
963
+ */
964
+ class ViewerController extends plattar_controller_1.PlattarController {
965
+ constructor(parent) {
966
+ super(parent);
967
+ this._state = plattar_controller_1.ControllerState.None;
968
+ this._element = null;
969
+ this._prevQROpt = null;
970
+ }
971
+ onAttributesUpdated() {
972
+ const state = this._state;
759
973
  // re-render the QR Code when attributes have changed
760
- if (this._currentState === EmbedState.QRCode) {
761
- this.startQRCode(this._qrCodeOptions);
974
+ if (state === plattar_controller_1.ControllerState.QRCode) {
975
+ this.startQRCode(this._prevQROpt);
762
976
  return;
763
977
  }
764
978
  // use the messenger function to change variation when attributes have changed
765
- if (this._currentState === EmbedState.SceneViewer) {
766
- const viewer = this.viewer;
979
+ if (state === plattar_controller_1.ControllerState.Renderer) {
980
+ const viewer = this._element;
767
981
  if (viewer) {
768
- viewer.messenger.selectVariation(this._productID, this._variationID);
982
+ const productID = this.getAttribute("product-id");
983
+ const variationID = this.getAttribute("variation-id");
984
+ viewer.messenger.selectVariation(productID, variationID);
769
985
  }
770
986
  return;
771
987
  }
772
- if (this._currentState === EmbedState.ProductViewer) {
773
- const viewer = this.viewer;
774
- if (viewer) {
775
- viewer.messenger.selectVariation(this._variationID);
776
- }
777
- return;
988
+ }
989
+ startQRCode(options) {
990
+ return new Promise((accept, reject) => {
991
+ // remove the old renderer instance if any
992
+ this.removeRenderer();
993
+ const sceneID = this.getAttribute("scene-id");
994
+ if (sceneID) {
995
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
996
+ const viewer = document.createElement("plattar-qrcode");
997
+ // required attributes with defaults for plattar-viewer node
998
+ const width = this.getAttribute("width") || "500px";
999
+ const height = this.getAttribute("height") || "500px";
1000
+ viewer.setAttribute("width", width);
1001
+ viewer.setAttribute("height", height);
1002
+ if (opt.color) {
1003
+ viewer.setAttribute("color", opt.color);
1004
+ }
1005
+ if (opt.margin) {
1006
+ viewer.setAttribute("margin", "" + opt.margin);
1007
+ }
1008
+ if (opt.qrType) {
1009
+ viewer.setAttribute("qr-type", opt.qrType);
1010
+ }
1011
+ let dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + sceneID;
1012
+ // optional attributes
1013
+ const productID = this.getAttribute("product-id");
1014
+ const variationID = this.getAttribute("variation-id");
1015
+ if (productID) {
1016
+ dst += "&productId=" + productID;
1017
+ }
1018
+ if (variationID) {
1019
+ dst += "&variationId=" + variationID;
1020
+ }
1021
+ viewer.setAttribute("url", opt.url || dst);
1022
+ viewer.onload = () => {
1023
+ return accept(viewer);
1024
+ };
1025
+ this.append(viewer);
1026
+ this._element = viewer;
1027
+ this._state = plattar_controller_1.ControllerState.QRCode;
1028
+ this._prevQROpt = opt;
1029
+ return;
1030
+ }
1031
+ return reject(new Error("ViewerController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
1032
+ });
1033
+ }
1034
+ startRenderer() {
1035
+ return new Promise((accept, reject) => {
1036
+ // remove the old renderer instance if any
1037
+ this.removeRenderer();
1038
+ const sceneID = this.getAttribute("scene-id");
1039
+ if (sceneID) {
1040
+ // required attributes with defaults for plattar-viewer node
1041
+ const width = this.getAttribute("width") || "500px";
1042
+ const height = this.getAttribute("height") || "500px";
1043
+ const server = this.getAttribute("server") || "production";
1044
+ const viewer = document.createElement("plattar-viewer");
1045
+ viewer.setAttribute("width", width);
1046
+ viewer.setAttribute("height", height);
1047
+ viewer.setAttribute("server", server);
1048
+ viewer.setAttribute("scene-id", sceneID);
1049
+ // optional attributes
1050
+ const productID = this.getAttribute("product-id");
1051
+ const variationID = this.getAttribute("variation-id");
1052
+ if (productID) {
1053
+ viewer.setAttribute("product-id", productID);
1054
+ }
1055
+ if (variationID) {
1056
+ viewer.setAttribute("variation-id", variationID);
1057
+ }
1058
+ viewer.onload = () => {
1059
+ return accept(viewer);
1060
+ };
1061
+ this.append(viewer);
1062
+ this._element = viewer;
1063
+ this._state = plattar_controller_1.ControllerState.Renderer;
1064
+ return;
1065
+ }
1066
+ return reject(new Error("ViewerController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1067
+ });
1068
+ }
1069
+ initAR() {
1070
+ return new Promise((accept, reject) => {
1071
+ if (!util_1.Util.canAugment()) {
1072
+ return reject(new Error("ViewerController.initAR() - cannot proceed as AR not available in context"));
1073
+ }
1074
+ const productID = this.getAttribute("product-id");
1075
+ if (productID) {
1076
+ const variationID = this.getAttribute("variation-id");
1077
+ const product = new product_ar_1.ProductAR(productID, variationID);
1078
+ return product.init().then(accept).catch(reject);
1079
+ }
1080
+ const sceneID = this.getAttribute("scene-id");
1081
+ // otherwise, scene was set so use SceneAR
1082
+ if (sceneID) {
1083
+ return reject(new Error("ViewerController.initAR() - AR mode for scene-id not yet supported, use product-id"));
1084
+ }
1085
+ return reject(new Error("ViewerController.initAR() - minimum required attributes not set, use scene-id or product-id as a minimum"));
1086
+ });
1087
+ }
1088
+ removeRenderer() {
1089
+ if (this._element) {
1090
+ this._element.remove();
1091
+ this._element = null;
1092
+ return true;
1093
+ }
1094
+ return false;
1095
+ }
1096
+ get element() {
1097
+ return this._element;
1098
+ }
1099
+ }
1100
+ exports.ViewerController = ViewerController;
1101
+
1102
+ },{"../../ar/product-ar":3,"../../util/util":14,"./plattar-controller":7,"@plattar/plattar-api":41}],10:[function(require,module,exports){
1103
+ "use strict";
1104
+ Object.defineProperty(exports, "__esModule", { value: true });
1105
+ exports.VTOController = void 0;
1106
+ const plattar_api_1 = require("@plattar/plattar-api");
1107
+ const plattar_services_1 = require("@plattar/plattar-services");
1108
+ const __1 = require("../..");
1109
+ const raw_ar_1 = require("../../ar/raw-ar");
1110
+ const util_1 = require("../../util/util");
1111
+ const plattar_controller_1 = require("./plattar-controller");
1112
+ /**
1113
+ * Manages an instance of the <plattar-configurator> HTML Element
1114
+ */
1115
+ class VTOController extends plattar_controller_1.PlattarController {
1116
+ constructor(parent) {
1117
+ super(parent);
1118
+ this._state = plattar_controller_1.ControllerState.None;
1119
+ this._element = null;
1120
+ this._prevQROpt = null;
1121
+ }
1122
+ onAttributesUpdated() {
1123
+ const state = this._state;
1124
+ // re-render the QR Code when attributes have changed
1125
+ if (state === plattar_controller_1.ControllerState.QRCode) {
1126
+ this.startQRCode(this._prevQROpt);
1127
+ return;
1128
+ }
1129
+ }
1130
+ startQRCode(options) {
1131
+ return new Promise((accept, reject) => {
1132
+ // remove the old renderer instance if any
1133
+ this.removeRenderer();
1134
+ const sceneID = this.getAttribute("scene-id");
1135
+ if (sceneID) {
1136
+ const opt = options || plattar_controller_1.PlattarController.DEFAULT_QR_OPTIONS;
1137
+ const viewer = document.createElement("plattar-qrcode");
1138
+ // required attributes with defaults for plattar-viewer node
1139
+ const width = this.getAttribute("width") || "500px";
1140
+ const height = this.getAttribute("height") || "500px";
1141
+ viewer.setAttribute("width", width);
1142
+ viewer.setAttribute("height", height);
1143
+ if (opt.color) {
1144
+ viewer.setAttribute("color", opt.color);
1145
+ }
1146
+ if (opt.margin) {
1147
+ viewer.setAttribute("margin", "" + opt.margin);
1148
+ }
1149
+ if (opt.qrType) {
1150
+ viewer.setAttribute("qr-type", opt.qrType);
1151
+ }
1152
+ let dst = plattar_api_1.Server.location().base + "renderer/facear.html?scene_id=" + sceneID;
1153
+ // optional attributes
1154
+ const configState = this.getAttribute("config-state");
1155
+ const showAR = this.getAttribute("show-ar");
1156
+ if (configState) {
1157
+ dst += "&config_state=" + configState;
1158
+ }
1159
+ if (showAR) {
1160
+ dst += "&show_ar=" + showAR;
1161
+ }
1162
+ viewer.setAttribute("url", opt.url || dst);
1163
+ viewer.onload = () => {
1164
+ return accept(viewer);
1165
+ };
1166
+ this.append(viewer);
1167
+ this._element = viewer;
1168
+ this._state = plattar_controller_1.ControllerState.QRCode;
1169
+ this._prevQROpt = opt;
1170
+ return;
1171
+ }
1172
+ return reject(new Error("VTOController.startQRCode() - minimum required attributes not set, use scene-id as a minimum"));
1173
+ });
1174
+ }
1175
+ startRenderer() {
1176
+ return new Promise((accept, reject) => {
1177
+ // remove the old renderer instance if any
1178
+ this.removeRenderer();
1179
+ const sceneID = this.getAttribute("scene-id");
1180
+ if (sceneID) {
1181
+ // required attributes with defaults for plattar-facear node
1182
+ const width = this.getAttribute("width") || "500px";
1183
+ const height = this.getAttribute("height") || "500px";
1184
+ const server = this.getAttribute("server") || "production";
1185
+ const viewer = document.createElement("plattar-facear");
1186
+ viewer.setAttribute("width", width);
1187
+ viewer.setAttribute("height", height);
1188
+ viewer.setAttribute("server", server);
1189
+ viewer.setAttribute("scene-id", sceneID);
1190
+ // optional attributes
1191
+ const configState = this.getAttribute("config-state");
1192
+ const showAR = this.getAttribute("show-ar");
1193
+ if (configState) {
1194
+ viewer.setAttribute("config-state", configState);
1195
+ }
1196
+ if (showAR) {
1197
+ viewer.setAttribute("show-ar", showAR);
1198
+ }
1199
+ viewer.onload = () => {
1200
+ return accept(viewer);
1201
+ };
1202
+ this.append(viewer);
1203
+ this._element = viewer;
1204
+ this._state = plattar_controller_1.ControllerState.Renderer;
1205
+ return;
1206
+ }
1207
+ return reject(new Error("VTOController.startRenderer() - minimum required attributes not set, use scene-id as a minimum"));
1208
+ });
1209
+ }
1210
+ initAR() {
1211
+ return new Promise((accept, reject) => {
1212
+ if (!util_1.Util.canAugment()) {
1213
+ return reject(new Error("VTOController.initAR() - cannot proceed as VTO AR not available in context"));
1214
+ }
1215
+ if (!(util_1.Util.isSafari() || util_1.Util.isChromeOnIOS())) {
1216
+ return reject(new Error("VTOController.initAR() - cannot proceed as VTO AR only available on IOS Mobile devices"));
1217
+ }
1218
+ // if scene ID is available and the state is a configurator viewer
1219
+ // we can use the real-time configurator state to launch the AR view
1220
+ const viewer = this.element;
1221
+ const sceneID = this.getAttribute("scene-id");
1222
+ if (viewer && sceneID) {
1223
+ return viewer.messenger.getARFile("vto").then((result) => {
1224
+ const rawAR = new raw_ar_1.RawAR(result.filename);
1225
+ return rawAR.init().then(accept).catch(reject);
1226
+ }).catch(reject);
1227
+ }
1228
+ const configState = this.getAttribute("config-state");
1229
+ // otherwise scene ID is available to the viewer is not launched
1230
+ // we can use the static configuration state to launch the AR view
1231
+ if (sceneID && configState) {
1232
+ const state = __1.ConfiguratorState.decode(configState);
1233
+ if (state.length > 0) {
1234
+ const server = this.getAttribute("server") || "production";
1235
+ const configurator = new plattar_services_1.Configurator();
1236
+ configurator.server = server;
1237
+ configurator.output = "vto";
1238
+ state.forEach((productState) => {
1239
+ if (productState.meta_data.augment === true) {
1240
+ configurator.addSceneProduct(productState.scene_product_id, productState.product_variation_id);
1241
+ }
1242
+ });
1243
+ return configurator.get().then((result) => {
1244
+ const rawAR = new raw_ar_1.RawAR(result.filename);
1245
+ rawAR.init().then(accept).catch(reject);
1246
+ }).catch(reject);
1247
+ }
1248
+ return reject(new Error("VTOController.initAR() - invalid config-state does not have any product states"));
1249
+ }
1250
+ // otherwise no config-state or viewer is active
1251
+ // fallback to using default SceneAR implementation
1252
+ if (sceneID) {
1253
+ const sceneAR = new __1.SceneAR(sceneID);
1254
+ return sceneAR.init().then(accept).catch(reject);
1255
+ }
1256
+ return reject(new Error("VTOController.initAR() - minimum required attributes not set, use scene-id as a minimum"));
1257
+ });
1258
+ }
1259
+ removeRenderer() {
1260
+ if (this._element) {
1261
+ this._element.remove();
1262
+ this._element = null;
1263
+ return true;
1264
+ }
1265
+ return false;
1266
+ }
1267
+ get element() {
1268
+ return this._element;
1269
+ }
1270
+ }
1271
+ exports.VTOController = VTOController;
1272
+
1273
+ },{"../..":12,"../../ar/raw-ar":4,"../../util/util":14,"./plattar-controller":7,"@plattar/plattar-api":41,"@plattar/plattar-services":112}],11:[function(require,module,exports){
1274
+ "use strict";
1275
+ Object.defineProperty(exports, "__esModule", { value: true });
1276
+ const plattar_api_1 = require("@plattar/plattar-api");
1277
+ const product_controller_1 = require("./controllers/product-controller");
1278
+ const viewer_controller_1 = require("./controllers/viewer-controller");
1279
+ const configurator_controller_1 = require("./controllers/configurator-controller");
1280
+ const vto_controller_1 = require("./controllers/vto-controller");
1281
+ /**
1282
+ * This tracks the current embed type
1283
+ */
1284
+ var EmbedType;
1285
+ (function (EmbedType) {
1286
+ EmbedType[EmbedType["Viewer"] = 0] = "Viewer";
1287
+ EmbedType[EmbedType["Configurator"] = 1] = "Configurator";
1288
+ EmbedType[EmbedType["VTO"] = 2] = "VTO";
1289
+ })(EmbedType || (EmbedType = {}));
1290
+ /**
1291
+ * This is the primary <plattar-embed /> node that allows easy embedding
1292
+ * of Plattar related content
1293
+ */
1294
+ class PlattarEmbed extends HTMLElement {
1295
+ constructor() {
1296
+ super();
1297
+ // this is the current embed type, viewer by default
1298
+ this._currentType = EmbedType.Viewer;
1299
+ this._controller = null;
1300
+ }
1301
+ get viewer() {
1302
+ return this._controller ? this._controller.element : null;
1303
+ }
1304
+ connectedCallback() {
1305
+ const embedType = this.hasAttribute("embed-type") ? this.getAttribute("embed-type") : "viewer";
1306
+ if (embedType) {
1307
+ switch (embedType.toLowerCase()) {
1308
+ case "viewer":
1309
+ this._currentType = EmbedType.Viewer;
1310
+ break;
1311
+ case "vto":
1312
+ this._currentType = EmbedType.VTO;
1313
+ break;
1314
+ case "configurator":
1315
+ this._currentType = EmbedType.Configurator;
1316
+ break;
1317
+ default:
1318
+ this._currentType = EmbedType.Viewer;
1319
+ }
1320
+ }
1321
+ const observer = new MutationObserver((mutations) => {
1322
+ mutations.forEach((mutation) => {
1323
+ if (mutation.type === "attributes") {
1324
+ this._OnAttributesUpdated();
1325
+ }
1326
+ });
1327
+ });
1328
+ observer.observe(this, {
1329
+ attributes: true
1330
+ });
1331
+ const server = this.hasAttribute("server") ? this.getAttribute("server") : "production";
1332
+ plattar_api_1.Server.create(plattar_api_1.Server.match(server || "production"));
1333
+ const sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
1334
+ const productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
1335
+ // decide which controller to initialise
1336
+ if (this._currentType === EmbedType.Viewer) {
1337
+ // initialise product if scene-id is missing but product-id is defined
1338
+ if (!sceneID && productID) {
1339
+ this._controller = new product_controller_1.ProductController(this);
1340
+ }
1341
+ else if (sceneID) {
1342
+ this._controller = new viewer_controller_1.ViewerController(this);
1343
+ }
1344
+ }
1345
+ else if (this._currentType === EmbedType.Configurator) {
1346
+ this._controller = new configurator_controller_1.ConfiguratorController(this);
1347
+ }
1348
+ else if (this._currentType === EmbedType.VTO) {
1349
+ this._controller = new vto_controller_1.VTOController(this);
1350
+ }
1351
+ const init = this.hasAttribute("init") ? this.getAttribute("init") : null;
1352
+ if (init === "ar") {
1353
+ this.startAR();
1354
+ }
1355
+ else if (init === "viewer") {
1356
+ this.startViewer();
1357
+ }
1358
+ else if (init === "qrcode") {
1359
+ this.startQRCode();
1360
+ }
1361
+ else if (init === "ar-fallback-qrcode") {
1362
+ this.startAR().then(() => {
1363
+ // nothing to do, launched successfully
1364
+ }).catch((_err) => {
1365
+ this.startQRCode();
1366
+ });
1367
+ }
1368
+ else if (init === "ar-fallback-viewer") {
1369
+ this.startAR().then(() => {
1370
+ // nothing to do, launched successfully
1371
+ }).catch((_err) => {
1372
+ this.startViewer();
1373
+ });
1374
+ }
1375
+ }
1376
+ initAR() {
1377
+ return new Promise((accept, reject) => {
1378
+ if (!this._controller) {
1379
+ return reject(new Error("PlattarEmbed.initAR() - cannot execute as controller has not loaded yet"));
1380
+ }
1381
+ return this._controller.initAR().then(accept).catch(reject);
1382
+ });
1383
+ }
1384
+ startAR() {
1385
+ return new Promise((accept, reject) => {
1386
+ if (!this._controller) {
1387
+ return reject(new Error("PlattarEmbed.startAR() - cannot execute as controller has not loaded yet"));
1388
+ }
1389
+ return this._controller.startAR().then(accept).catch(reject);
1390
+ });
1391
+ }
1392
+ startViewer() {
1393
+ return new Promise((accept, reject) => {
1394
+ if (!this._controller) {
1395
+ return reject(new Error("PlattarEmbed.startViewer() - cannot execute as controller has not loaded yet"));
1396
+ }
1397
+ return this._controller.startRenderer().then(accept).catch(reject);
1398
+ });
1399
+ }
1400
+ startQRCode(options = null) {
1401
+ return new Promise((accept, reject) => {
1402
+ if (!this._controller) {
1403
+ return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as controller has not loaded yet"));
1404
+ }
1405
+ return this._controller.startQRCode(options).then(accept).catch(reject);
1406
+ });
1407
+ }
1408
+ /**
1409
+ * This will remove the currently active Renderer
1410
+ *
1411
+ * @returns - true if removed successfully, false otherwise
1412
+ */
1413
+ removeRenderer() {
1414
+ if (!this._controller) {
1415
+ return false;
1416
+ }
1417
+ return this._controller.removeRenderer();
1418
+ }
1419
+ /**
1420
+ * This is called by the observer if any of the embed attributes have changed
1421
+ * based on the state of the embed, we update the internal structure accordingly
1422
+ */
1423
+ _OnAttributesUpdated() {
1424
+ if (this._controller) {
1425
+ this._controller.onAttributesUpdated();
778
1426
  }
779
1427
  }
780
1428
  }
781
1429
  exports.default = PlattarEmbed;
782
1430
 
783
- },{"../ar/product-ar":4,"@plattar/plattar-api":36}],8:[function(require,module,exports){
1431
+ },{"./controllers/configurator-controller":6,"./controllers/product-controller":8,"./controllers/viewer-controller":9,"./controllers/vto-controller":10,"@plattar/plattar-api":41}],12:[function(require,module,exports){
784
1432
  "use strict";
785
1433
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
786
1434
  if (k2 === undefined) k2 = k;
@@ -805,12 +1453,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
805
1453
  return (mod && mod.__esModule) ? mod : { "default": mod };
806
1454
  };
807
1455
  Object.defineProperty(exports, "__esModule", { value: true });
808
- exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.ProductAR = exports.ConfiguratorAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
1456
+ exports.ConfiguratorState = exports.Util = exports.RawAR = exports.ModelAR = exports.SceneAR = exports.ProductAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
809
1457
  exports.PlattarWeb = __importStar(require("@plattar/plattar-web"));
810
1458
  exports.PlattarQRCode = __importStar(require("@plattar/plattar-qrcode"));
811
1459
  exports.version = __importStar(require("./version"));
812
- var configurator_ar_1 = require("./ar/configurator-ar");
813
- Object.defineProperty(exports, "ConfiguratorAR", { enumerable: true, get: function () { return configurator_ar_1.ConfiguratorAR; } });
814
1460
  var product_ar_1 = require("./ar/product-ar");
815
1461
  Object.defineProperty(exports, "ProductAR", { enumerable: true, get: function () { return product_ar_1.ProductAR; } });
816
1462
  var scene_ar_1 = require("./ar/scene-ar");
@@ -821,6 +1467,8 @@ var raw_ar_1 = require("./ar/raw-ar");
821
1467
  Object.defineProperty(exports, "RawAR", { enumerable: true, get: function () { return raw_ar_1.RawAR; } });
822
1468
  var util_1 = require("./util/util");
823
1469
  Object.defineProperty(exports, "Util", { enumerable: true, get: function () { return util_1.Util; } });
1470
+ var configurator_state_1 = require("./util/configurator-state");
1471
+ Object.defineProperty(exports, "ConfiguratorState", { enumerable: true, get: function () { return configurator_state_1.ConfiguratorState; } });
824
1472
  const plattar_embed_1 = __importDefault(require("./embed/plattar-embed"));
825
1473
  const version_1 = __importDefault(require("./version"));
826
1474
  if (customElements) {
@@ -830,7 +1478,101 @@ if (customElements) {
830
1478
  }
831
1479
  console.log("using @plattar/plattar-ar-adapter v" + version_1.default);
832
1480
 
833
- },{"./ar/configurator-ar":1,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/raw-ar":5,"./ar/scene-ar":6,"./embed/plattar-embed":7,"./util/util":9,"./version":10,"@plattar/plattar-qrcode":102,"@plattar/plattar-web":116}],9:[function(require,module,exports){
1481
+ },{"./ar/model-ar":2,"./ar/product-ar":3,"./ar/raw-ar":4,"./ar/scene-ar":5,"./embed/plattar-embed":11,"./util/configurator-state":13,"./util/util":14,"./version":15,"@plattar/plattar-qrcode":107,"@plattar/plattar-web":126}],13:[function(require,module,exports){
1482
+ "use strict";
1483
+ Object.defineProperty(exports, "__esModule", { value: true });
1484
+ exports.ConfiguratorState = void 0;
1485
+ class ConfiguratorState {
1486
+ constructor(state = null) {
1487
+ const defaultState = {
1488
+ meta: {
1489
+ scene_product_index: 0,
1490
+ product_variation_index: 1,
1491
+ meta_index: 2,
1492
+ },
1493
+ states: []
1494
+ };
1495
+ if (state) {
1496
+ try {
1497
+ const decodedb64State = atob(state);
1498
+ const parsedState = JSON.parse(decodedb64State);
1499
+ // set the meta data
1500
+ if (parsedState.meta) {
1501
+ defaultState.meta.scene_product_index = parsedState.meta.scene_product_index || 0;
1502
+ defaultState.meta.product_variation_index = parsedState.meta.product_variation_index || 1;
1503
+ defaultState.meta.meta_index = parsedState.meta.meta_index || 2;
1504
+ }
1505
+ defaultState.states = parsedState.states || [];
1506
+ }
1507
+ catch (err) {
1508
+ console.error("ConfiguratorState.constructor() - there was an error parsing configurator state");
1509
+ console.error(err);
1510
+ }
1511
+ }
1512
+ this._state = defaultState;
1513
+ }
1514
+ /**
1515
+ * Adds a new Scene Product/Variation combo with meta-data into the Configurator State
1516
+ *
1517
+ * @param sceneProductID - The Scene Product ID to be used (as defined in Plattar CMS)
1518
+ * @param productVariationID - The Product Variation ID to be used (as defined in Plattar CMS)
1519
+ * @param metaData - Arbitrary meta-data that can be used against certain operaions
1520
+ */
1521
+ addSceneProduct(sceneProductID, productVariationID, metaData = null) {
1522
+ if (sceneProductID && productVariationID) {
1523
+ const states = this._state.states;
1524
+ const meta = this._state.meta;
1525
+ const newData = [];
1526
+ newData.splice(meta.scene_product_index, 0, sceneProductID);
1527
+ newData.splice(meta.product_variation_index, 0, productVariationID);
1528
+ if (metaData) {
1529
+ newData.splice(meta.meta_index, 0, metaData);
1530
+ }
1531
+ states.push(newData);
1532
+ }
1533
+ }
1534
+ /**
1535
+ * Iterate over the internal state data
1536
+ */
1537
+ forEach(callback) {
1538
+ const states = this._state.states;
1539
+ const meta = this._state.meta;
1540
+ if (states.length > 0) {
1541
+ states.forEach((productState) => {
1542
+ if (productState.length === 2) {
1543
+ callback({
1544
+ scene_product_id: productState[meta.scene_product_index],
1545
+ product_variation_id: productState[meta.product_variation_index],
1546
+ meta_data: {
1547
+ augment: true
1548
+ }
1549
+ });
1550
+ }
1551
+ else if (productState.length === 3) {
1552
+ callback({
1553
+ scene_product_id: productState[meta.scene_product_index],
1554
+ product_variation_id: productState[meta.product_variation_index],
1555
+ meta_data: {
1556
+ augment: productState[meta.meta_index].augment || true
1557
+ }
1558
+ });
1559
+ }
1560
+ });
1561
+ }
1562
+ }
1563
+ get length() {
1564
+ return this._state.states.length;
1565
+ }
1566
+ static decode(state) {
1567
+ return new ConfiguratorState(state);
1568
+ }
1569
+ encode() {
1570
+ return btoa(JSON.stringify(this._state));
1571
+ }
1572
+ }
1573
+ exports.ConfiguratorState = ConfiguratorState;
1574
+
1575
+ },{}],14:[function(require,module,exports){
834
1576
  "use strict";
835
1577
  Object.defineProperty(exports, "__esModule", { value: true });
836
1578
  exports.Util = void 0;
@@ -917,12 +1659,12 @@ class Util {
917
1659
  }
918
1660
  exports.Util = Util;
919
1661
 
920
- },{}],10:[function(require,module,exports){
1662
+ },{}],15:[function(require,module,exports){
921
1663
  "use strict";
922
1664
  Object.defineProperty(exports, "__esModule", { value: true });
923
- exports.default = "1.122.3";
1665
+ exports.default = "1.123.3";
924
1666
 
925
- },{}],11:[function(require,module,exports){
1667
+ },{}],16:[function(require,module,exports){
926
1668
  "use strict";
927
1669
  Object.defineProperty(exports, "__esModule", { value: true });
928
1670
  class ARViewer {
@@ -933,7 +1675,7 @@ class ARViewer {
933
1675
  }
934
1676
  exports.default = ARViewer;
935
1677
 
936
- },{}],12:[function(require,module,exports){
1678
+ },{}],17:[function(require,module,exports){
937
1679
  "use strict";
938
1680
  var __importDefault = (this && this.__importDefault) || function (mod) {
939
1681
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -983,7 +1725,7 @@ class QuicklookViewer extends ar_viewer_1.default {
983
1725
  }
984
1726
  exports.default = QuicklookViewer;
985
1727
 
986
- },{"./ar-viewer":11}],13:[function(require,module,exports){
1728
+ },{"./ar-viewer":16}],18:[function(require,module,exports){
987
1729
  "use strict";
988
1730
  var __importDefault = (this && this.__importDefault) || function (mod) {
989
1731
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1013,7 +1755,7 @@ class RealityViewer extends ar_viewer_1.default {
1013
1755
  }
1014
1756
  exports.default = RealityViewer;
1015
1757
 
1016
- },{"./ar-viewer":11}],14:[function(require,module,exports){
1758
+ },{"./ar-viewer":16}],19:[function(require,module,exports){
1017
1759
  "use strict";
1018
1760
  var __importDefault = (this && this.__importDefault) || function (mod) {
1019
1761
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1066,7 +1808,7 @@ class SceneViewer extends ar_viewer_1.default {
1066
1808
  }
1067
1809
  exports.default = SceneViewer;
1068
1810
 
1069
- },{"./ar-viewer":11}],15:[function(require,module,exports){
1811
+ },{"./ar-viewer":16}],20:[function(require,module,exports){
1070
1812
  "use strict";
1071
1813
  const Messenger = require("./messenger/messenger.js");
1072
1814
  const Memory = require("./memory/memory.js");
@@ -1100,7 +1842,7 @@ module.exports = {
1100
1842
  memory: GlobalEventHandler.instance().memoryInstance,
1101
1843
  version: Version
1102
1844
  }
1103
- },{"./memory/memory.js":16,"./messenger/global-event-handler.js":23,"./messenger/messenger.js":24,"./version":29}],16:[function(require,module,exports){
1845
+ },{"./memory/memory.js":21,"./messenger/global-event-handler.js":28,"./messenger/messenger.js":29,"./version":34}],21:[function(require,module,exports){
1104
1846
  const PermanentMemory = require("./permanent-memory");
1105
1847
  const TemporaryMemory = require("./temporary-memory");
1106
1848
 
@@ -1134,7 +1876,7 @@ class Memory {
1134
1876
  }
1135
1877
 
1136
1878
  module.exports = Memory;
1137
- },{"./permanent-memory":17,"./temporary-memory":18}],17:[function(require,module,exports){
1879
+ },{"./permanent-memory":22,"./temporary-memory":23}],22:[function(require,module,exports){
1138
1880
  const WrappedValue = require("./wrapped-value");
1139
1881
 
1140
1882
  class PermanentMemory {
@@ -1203,7 +1945,7 @@ class PermanentMemory {
1203
1945
  }
1204
1946
 
1205
1947
  module.exports = PermanentMemory;
1206
- },{"./wrapped-value":19}],18:[function(require,module,exports){
1948
+ },{"./wrapped-value":24}],23:[function(require,module,exports){
1207
1949
  const WrappedValue = require("./wrapped-value");
1208
1950
 
1209
1951
  class TemporaryMemory {
@@ -1260,7 +2002,7 @@ class TemporaryMemory {
1260
2002
  }
1261
2003
 
1262
2004
  module.exports = TemporaryMemory;
1263
- },{"./wrapped-value":19}],19:[function(require,module,exports){
2005
+ },{"./wrapped-value":24}],24:[function(require,module,exports){
1264
2006
  /**
1265
2007
  * WrappedValue represents a generic value type with a callback function
1266
2008
  * for when the value has changed
@@ -1372,7 +2114,7 @@ class WrappedValue {
1372
2114
  }
1373
2115
 
1374
2116
  module.exports = WrappedValue;
1375
- },{}],20:[function(require,module,exports){
2117
+ },{}],25:[function(require,module,exports){
1376
2118
  /**
1377
2119
  * Broadcaster is used to call functions in multiple contexts at the
1378
2120
  * same time. This can be useful without having to handle complex logic
@@ -1425,7 +2167,7 @@ class Broadcaster {
1425
2167
  }
1426
2168
 
1427
2169
  module.exports = Broadcaster;
1428
- },{}],21:[function(require,module,exports){
2170
+ },{}],26:[function(require,module,exports){
1429
2171
  const WrappedFunction = require("./wrapped-local-function");
1430
2172
 
1431
2173
  class CurrentFunctionList {
@@ -1476,7 +2218,7 @@ class CurrentFunctionList {
1476
2218
  }
1477
2219
 
1478
2220
  module.exports = CurrentFunctionList;
1479
- },{"./wrapped-local-function":22}],22:[function(require,module,exports){
2221
+ },{"./wrapped-local-function":27}],27:[function(require,module,exports){
1480
2222
  const Util = require("../util/util.js");
1481
2223
 
1482
2224
  /**
@@ -1563,7 +2305,7 @@ class WrappedLocalFunction {
1563
2305
  }
1564
2306
 
1565
2307
  module.exports = WrappedLocalFunction;
1566
- },{"../util/util.js":28}],23:[function(require,module,exports){
2308
+ },{"../util/util.js":33}],28:[function(require,module,exports){
1567
2309
  const RemoteInterface = require("./remote-interface.js");
1568
2310
 
1569
2311
  /**
@@ -1648,7 +2390,7 @@ GlobalEventHandler.instance = () => {
1648
2390
  };
1649
2391
 
1650
2392
  module.exports = GlobalEventHandler;
1651
- },{"./remote-interface.js":25}],24:[function(require,module,exports){
2393
+ },{"./remote-interface.js":30}],29:[function(require,module,exports){
1652
2394
  const CurrentFunctionList = require("./current/current-function-list");
1653
2395
  const RemoteInterface = require("./remote-interface");
1654
2396
  const RemoteFunctionList = require("./remote/remote-function-list");
@@ -1947,7 +2689,7 @@ class Messenger {
1947
2689
  }
1948
2690
 
1949
2691
  module.exports = Messenger;
1950
- },{"./broadcaster.js":20,"./current/current-function-list":21,"./global-event-handler.js":23,"./remote-interface":25,"./remote/remote-function-list":26,"./util/util.js":28}],25:[function(require,module,exports){
2692
+ },{"./broadcaster.js":25,"./current/current-function-list":26,"./global-event-handler.js":28,"./remote-interface":30,"./remote/remote-function-list":31,"./util/util.js":33}],30:[function(require,module,exports){
1951
2693
  /**
1952
2694
  * Provides a single useful interface for performing remote function calls
1953
2695
  */
@@ -2006,7 +2748,7 @@ class RemoteInterface {
2006
2748
  }
2007
2749
 
2008
2750
  module.exports = RemoteInterface;
2009
- },{}],26:[function(require,module,exports){
2751
+ },{}],31:[function(require,module,exports){
2010
2752
  const WrappedFunction = require("./wrapped-remote-function");
2011
2753
 
2012
2754
  class RemoteFunctionList {
@@ -2085,7 +2827,7 @@ class RemoteFunctionList {
2085
2827
  }
2086
2828
 
2087
2829
  module.exports = RemoteFunctionList;
2088
- },{"./wrapped-remote-function":27}],27:[function(require,module,exports){
2830
+ },{"./wrapped-remote-function":32}],32:[function(require,module,exports){
2089
2831
  const Util = require("../util/util.js");
2090
2832
  const GlobalEventHandler = require("../global-event-handler.js");
2091
2833
 
@@ -2166,7 +2908,7 @@ class WrappedRemoteFunction {
2166
2908
  }
2167
2909
 
2168
2910
  module.exports = WrappedRemoteFunction;
2169
- },{"../global-event-handler.js":23,"../util/util.js":28}],28:[function(require,module,exports){
2911
+ },{"../global-event-handler.js":28,"../util/util.js":33}],33:[function(require,module,exports){
2170
2912
  class Util {
2171
2913
 
2172
2914
  /**
@@ -2192,10 +2934,10 @@ class Util {
2192
2934
  }
2193
2935
 
2194
2936
  module.exports = Util;
2195
- },{}],29:[function(require,module,exports){
2937
+ },{}],34:[function(require,module,exports){
2196
2938
  module.exports = "1.113.6";
2197
2939
 
2198
- },{}],30:[function(require,module,exports){
2940
+ },{}],35:[function(require,module,exports){
2199
2941
  "use strict";
2200
2942
  Object.defineProperty(exports, "__esModule", { value: true });
2201
2943
  exports.AnalyticsData = void 0;
@@ -2242,7 +2984,7 @@ class AnalyticsData {
2242
2984
  }
2243
2985
  exports.AnalyticsData = AnalyticsData;
2244
2986
 
2245
- },{"../util/util":34}],31:[function(require,module,exports){
2987
+ },{"../util/util":39}],36:[function(require,module,exports){
2246
2988
  "use strict";
2247
2989
  var __importDefault = (this && this.__importDefault) || function (mod) {
2248
2990
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -2329,7 +3071,7 @@ class Analytics {
2329
3071
  }
2330
3072
  exports.Analytics = Analytics;
2331
3073
 
2332
- },{"../util/basic-http":33,"./analytics-data":30}],32:[function(require,module,exports){
3074
+ },{"../util/basic-http":38,"./analytics-data":35}],37:[function(require,module,exports){
2333
3075
  "use strict";
2334
3076
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2335
3077
  if (k2 === undefined) k2 = k;
@@ -2361,7 +3103,7 @@ Object.defineProperty(exports, "Analytics", { enumerable: true, get: function ()
2361
3103
  const version_1 = __importDefault(require("./version"));
2362
3104
  console.log("using @plattar/plattar-analytics v" + version_1.default);
2363
3105
 
2364
- },{"./analytics/analytics":31,"./version":35}],33:[function(require,module,exports){
3106
+ },{"./analytics/analytics":36,"./version":40}],38:[function(require,module,exports){
2365
3107
  "use strict";
2366
3108
  Object.defineProperty(exports, "__esModule", { value: true });
2367
3109
  /**
@@ -2427,7 +3169,7 @@ class BasicHTTP {
2427
3169
  }
2428
3170
  exports.default = BasicHTTP;
2429
3171
 
2430
- },{}],34:[function(require,module,exports){
3172
+ },{}],39:[function(require,module,exports){
2431
3173
  "use strict";
2432
3174
  Object.defineProperty(exports, "__esModule", { value: true });
2433
3175
  exports.Util = void 0;
@@ -2453,12 +3195,12 @@ class Util {
2453
3195
  }
2454
3196
  exports.Util = Util;
2455
3197
 
2456
- },{}],35:[function(require,module,exports){
3198
+ },{}],40:[function(require,module,exports){
2457
3199
  "use strict";
2458
3200
  Object.defineProperty(exports, "__esModule", { value: true });
2459
3201
  exports.default = "1.117.2";
2460
3202
 
2461
- },{}],36:[function(require,module,exports){
3203
+ },{}],41:[function(require,module,exports){
2462
3204
  "use strict";
2463
3205
  const Server = require("./server/plattar-server.js");
2464
3206
  const Util = require("./util/plattar-util.js");
@@ -2613,7 +3355,7 @@ module.exports = {
2613
3355
  version: Version
2614
3356
  };
2615
3357
 
2616
- },{"./server/plattar-server.js":38,"./types/application.js":39,"./types/content-pipeline/brief.js":40,"./types/content-pipeline/comment-brief.js":41,"./types/content-pipeline/comment-quote.js":42,"./types/content-pipeline/comment-solution.js":43,"./types/content-pipeline/folder.js":44,"./types/content-pipeline/pipeline-user.js":45,"./types/content-pipeline/quote.js":46,"./types/content-pipeline/rating.js":47,"./types/content-pipeline/solution.js":48,"./types/file/file-audio.js":49,"./types/file/file-base.js":50,"./types/file/file-image.js":51,"./types/file/file-model.js":52,"./types/file/file-script.js":53,"./types/file/file-video.js":54,"./types/misc/application-build.js":58,"./types/misc/asset-library.js":59,"./types/misc/async-job.js":60,"./types/misc/script-event.js":61,"./types/misc/tag.js":62,"./types/page/card-base.js":63,"./types/page/card-button.js":64,"./types/page/card-html.js":65,"./types/page/card-iframe.js":66,"./types/page/card-image.js":67,"./types/page/card-map.js":68,"./types/page/card-paragraph.js":69,"./types/page/card-row.js":70,"./types/page/card-slider.js":71,"./types/page/card-title.js":72,"./types/page/card-video.js":73,"./types/page/card-youtube.js":74,"./types/page/page.js":75,"./types/product/product-annotation.js":76,"./types/product/product-base.js":77,"./types/product/product-variation.js":78,"./types/product/product.js":79,"./types/scene/scene-annotation.js":80,"./types/scene/scene-audio.js":81,"./types/scene/scene-base.js":82,"./types/scene/scene-button.js":83,"./types/scene/scene-camera.js":84,"./types/scene/scene-carousel.js":85,"./types/scene/scene-image.js":86,"./types/scene/scene-model.js":87,"./types/scene/scene-panorama.js":88,"./types/scene/scene-poller.js":89,"./types/scene/scene-product.js":90,"./types/scene/scene-script.js":91,"./types/scene/scene-shadow.js":92,"./types/scene/scene-video.js":93,"./types/scene/scene-volumetric.js":94,"./types/scene/scene-youtube.js":95,"./types/scene/scene.js":96,"./types/trigger/trigger-image.js":97,"./util/plattar-util.js":98,"./version":99}],37:[function(require,module,exports){
3358
+ },{"./server/plattar-server.js":43,"./types/application.js":44,"./types/content-pipeline/brief.js":45,"./types/content-pipeline/comment-brief.js":46,"./types/content-pipeline/comment-quote.js":47,"./types/content-pipeline/comment-solution.js":48,"./types/content-pipeline/folder.js":49,"./types/content-pipeline/pipeline-user.js":50,"./types/content-pipeline/quote.js":51,"./types/content-pipeline/rating.js":52,"./types/content-pipeline/solution.js":53,"./types/file/file-audio.js":54,"./types/file/file-base.js":55,"./types/file/file-image.js":56,"./types/file/file-model.js":57,"./types/file/file-script.js":58,"./types/file/file-video.js":59,"./types/misc/application-build.js":63,"./types/misc/asset-library.js":64,"./types/misc/async-job.js":65,"./types/misc/script-event.js":66,"./types/misc/tag.js":67,"./types/page/card-base.js":68,"./types/page/card-button.js":69,"./types/page/card-html.js":70,"./types/page/card-iframe.js":71,"./types/page/card-image.js":72,"./types/page/card-map.js":73,"./types/page/card-paragraph.js":74,"./types/page/card-row.js":75,"./types/page/card-slider.js":76,"./types/page/card-title.js":77,"./types/page/card-video.js":78,"./types/page/card-youtube.js":79,"./types/page/page.js":80,"./types/product/product-annotation.js":81,"./types/product/product-base.js":82,"./types/product/product-variation.js":83,"./types/product/product.js":84,"./types/scene/scene-annotation.js":85,"./types/scene/scene-audio.js":86,"./types/scene/scene-base.js":87,"./types/scene/scene-button.js":88,"./types/scene/scene-camera.js":89,"./types/scene/scene-carousel.js":90,"./types/scene/scene-image.js":91,"./types/scene/scene-model.js":92,"./types/scene/scene-panorama.js":93,"./types/scene/scene-poller.js":94,"./types/scene/scene-product.js":95,"./types/scene/scene-script.js":96,"./types/scene/scene-shadow.js":97,"./types/scene/scene-video.js":98,"./types/scene/scene-volumetric.js":99,"./types/scene/scene-youtube.js":100,"./types/scene/scene.js":101,"./types/trigger/trigger-image.js":102,"./util/plattar-util.js":103,"./version":104}],42:[function(require,module,exports){
2617
3359
  const fetch = require("node-fetch");
2618
3360
 
2619
3361
  class PlattarQuery {
@@ -3105,7 +3847,7 @@ PlattarQuery._DeleteGlobalCachedObject = (obj) => {
3105
3847
  };
3106
3848
 
3107
3849
  module.exports = PlattarQuery;
3108
- },{"../util/plattar-util.js":98,"node-fetch":119}],38:[function(require,module,exports){
3850
+ },{"../util/plattar-util.js":103,"node-fetch":129}],43:[function(require,module,exports){
3109
3851
  (function (process){(function (){
3110
3852
  const fetch = require("node-fetch");
3111
3853
 
@@ -3310,7 +4052,7 @@ PlattarServer.location = () => {
3310
4052
 
3311
4053
  module.exports = PlattarServer;
3312
4054
  }).call(this)}).call(this,require('_process'))
3313
- },{"_process":120,"node-fetch":119}],39:[function(require,module,exports){
4055
+ },{"_process":131,"node-fetch":129}],44:[function(require,module,exports){
3314
4056
  const PlattarBase = require("./interfaces/plattar-base.js");
3315
4057
 
3316
4058
  class Application extends PlattarBase {
@@ -3320,7 +4062,7 @@ class Application extends PlattarBase {
3320
4062
  }
3321
4063
 
3322
4064
  module.exports = Application;
3323
- },{"./interfaces/plattar-base.js":55}],40:[function(require,module,exports){
4065
+ },{"./interfaces/plattar-base.js":60}],45:[function(require,module,exports){
3324
4066
  const PlattarBase = require("../interfaces/plattar-base");
3325
4067
 
3326
4068
  class Brief extends PlattarBase {
@@ -3330,7 +4072,7 @@ class Brief extends PlattarBase {
3330
4072
  }
3331
4073
 
3332
4074
  module.exports = Brief;
3333
- },{"../interfaces/plattar-base":55}],41:[function(require,module,exports){
4075
+ },{"../interfaces/plattar-base":60}],46:[function(require,module,exports){
3334
4076
  const PlattarBase = require("../interfaces/plattar-base");
3335
4077
 
3336
4078
  class CommentBrief extends PlattarBase {
@@ -3340,7 +4082,7 @@ class CommentBrief extends PlattarBase {
3340
4082
  }
3341
4083
 
3342
4084
  module.exports = CommentBrief;
3343
- },{"../interfaces/plattar-base":55}],42:[function(require,module,exports){
4085
+ },{"../interfaces/plattar-base":60}],47:[function(require,module,exports){
3344
4086
  const PlattarBase = require("../interfaces/plattar-base");
3345
4087
 
3346
4088
  class CommentQuote extends PlattarBase {
@@ -3350,7 +4092,7 @@ class CommentQuote extends PlattarBase {
3350
4092
  }
3351
4093
 
3352
4094
  module.exports = CommentQuote;
3353
- },{"../interfaces/plattar-base":55}],43:[function(require,module,exports){
4095
+ },{"../interfaces/plattar-base":60}],48:[function(require,module,exports){
3354
4096
  const PlattarBase = require("../interfaces/plattar-base");
3355
4097
 
3356
4098
  class CommentSolution extends PlattarBase {
@@ -3360,7 +4102,7 @@ class CommentSolution extends PlattarBase {
3360
4102
  }
3361
4103
 
3362
4104
  module.exports = CommentSolution;
3363
- },{"../interfaces/plattar-base":55}],44:[function(require,module,exports){
4105
+ },{"../interfaces/plattar-base":60}],49:[function(require,module,exports){
3364
4106
  const PlattarBase = require("../interfaces/plattar-base");
3365
4107
 
3366
4108
  class Folder extends PlattarBase {
@@ -3370,7 +4112,7 @@ class Folder extends PlattarBase {
3370
4112
  }
3371
4113
 
3372
4114
  module.exports = Folder;
3373
- },{"../interfaces/plattar-base":55}],45:[function(require,module,exports){
4115
+ },{"../interfaces/plattar-base":60}],50:[function(require,module,exports){
3374
4116
  const PlattarBase = require("../interfaces/plattar-base");
3375
4117
 
3376
4118
  class PipelineUser extends PlattarBase {
@@ -3380,7 +4122,7 @@ class PipelineUser extends PlattarBase {
3380
4122
  }
3381
4123
 
3382
4124
  module.exports = PipelineUser;
3383
- },{"../interfaces/plattar-base":55}],46:[function(require,module,exports){
4125
+ },{"../interfaces/plattar-base":60}],51:[function(require,module,exports){
3384
4126
  const PlattarBase = require("../interfaces/plattar-base");
3385
4127
 
3386
4128
  class Quote extends PlattarBase {
@@ -3390,7 +4132,7 @@ class Quote extends PlattarBase {
3390
4132
  }
3391
4133
 
3392
4134
  module.exports = Quote;
3393
- },{"../interfaces/plattar-base":55}],47:[function(require,module,exports){
4135
+ },{"../interfaces/plattar-base":60}],52:[function(require,module,exports){
3394
4136
  const PlattarBase = require("../interfaces/plattar-base");
3395
4137
 
3396
4138
  class Rating extends PlattarBase {
@@ -3400,7 +4142,7 @@ class Rating extends PlattarBase {
3400
4142
  }
3401
4143
 
3402
4144
  module.exports = Rating;
3403
- },{"../interfaces/plattar-base":55}],48:[function(require,module,exports){
4145
+ },{"../interfaces/plattar-base":60}],53:[function(require,module,exports){
3404
4146
  const PlattarBase = require("../interfaces/plattar-base");
3405
4147
 
3406
4148
  class Solution extends PlattarBase {
@@ -3410,7 +4152,7 @@ class Solution extends PlattarBase {
3410
4152
  }
3411
4153
 
3412
4154
  module.exports = Solution;
3413
- },{"../interfaces/plattar-base":55}],49:[function(require,module,exports){
4155
+ },{"../interfaces/plattar-base":60}],54:[function(require,module,exports){
3414
4156
  const FileBase = require("./file-base.js");
3415
4157
 
3416
4158
  class FileAudio extends FileBase {
@@ -3420,7 +4162,7 @@ class FileAudio extends FileBase {
3420
4162
  }
3421
4163
 
3422
4164
  module.exports = FileAudio;
3423
- },{"./file-base.js":50}],50:[function(require,module,exports){
4165
+ },{"./file-base.js":55}],55:[function(require,module,exports){
3424
4166
  const PlattarBase = require("../interfaces/plattar-base.js");
3425
4167
  const Server = require("../../server/plattar-server.js");
3426
4168
 
@@ -3480,7 +4222,7 @@ class FileBase extends PlattarBase {
3480
4222
  }
3481
4223
 
3482
4224
  module.exports = FileBase;
3483
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./file-audio.js":49,"./file-image.js":51,"./file-model.js":52,"./file-video.js":54}],51:[function(require,module,exports){
4225
+ },{"../../server/plattar-server.js":43,"../interfaces/plattar-base.js":60,"./file-audio.js":54,"./file-image.js":56,"./file-model.js":57,"./file-video.js":59}],56:[function(require,module,exports){
3484
4226
  const FileBase = require("./file-base.js");
3485
4227
 
3486
4228
  class FileImage extends FileBase {
@@ -3490,7 +4232,7 @@ class FileImage extends FileBase {
3490
4232
  }
3491
4233
 
3492
4234
  module.exports = FileImage;
3493
- },{"./file-base.js":50}],52:[function(require,module,exports){
4235
+ },{"./file-base.js":55}],57:[function(require,module,exports){
3494
4236
  const FileBase = require("./file-base.js");
3495
4237
 
3496
4238
  class FileModel extends FileBase {
@@ -3500,7 +4242,7 @@ class FileModel extends FileBase {
3500
4242
  }
3501
4243
 
3502
4244
  module.exports = FileModel;
3503
- },{"./file-base.js":50}],53:[function(require,module,exports){
4245
+ },{"./file-base.js":55}],58:[function(require,module,exports){
3504
4246
  const FileBase = require("./file-base.js");
3505
4247
 
3506
4248
  class FileScript extends FileBase {
@@ -3510,7 +4252,7 @@ class FileScript extends FileBase {
3510
4252
  }
3511
4253
 
3512
4254
  module.exports = FileScript;
3513
- },{"./file-base.js":50}],54:[function(require,module,exports){
4255
+ },{"./file-base.js":55}],59:[function(require,module,exports){
3514
4256
  const FileBase = require("./file-base.js");
3515
4257
 
3516
4258
  class FileVideo extends FileBase {
@@ -3520,7 +4262,7 @@ class FileVideo extends FileBase {
3520
4262
  }
3521
4263
 
3522
4264
  module.exports = FileVideo;
3523
- },{"./file-base.js":50}],55:[function(require,module,exports){
4265
+ },{"./file-base.js":55}],60:[function(require,module,exports){
3524
4266
  const PlattarObject = require("./plattar-object.js");
3525
4267
  const Server = require("../../server/plattar-server.js");
3526
4268
 
@@ -3535,7 +4277,7 @@ class PlattarBase extends PlattarObject {
3535
4277
  }
3536
4278
 
3537
4279
  module.exports = PlattarBase;
3538
- },{"../../server/plattar-server.js":38,"./plattar-object.js":57}],56:[function(require,module,exports){
4280
+ },{"../../server/plattar-server.js":43,"./plattar-object.js":62}],61:[function(require,module,exports){
3539
4281
  /**
3540
4282
  * Handles the list of relationships for the provided object
3541
4283
  */
@@ -3656,7 +4398,7 @@ class PlattarObjectRelations {
3656
4398
  }
3657
4399
 
3658
4400
  module.exports = PlattarObjectRelations;
3659
- },{"../../util/plattar-util.js":98}],57:[function(require,module,exports){
4401
+ },{"../../util/plattar-util.js":103}],62:[function(require,module,exports){
3660
4402
  const PlattarQuery = require("../../server/plattar-query.js");
3661
4403
  const PlattarObjectRelations = require("./plattar-object-relations.js");
3662
4404
 
@@ -3799,7 +4541,7 @@ class PlattarObject {
3799
4541
  }
3800
4542
 
3801
4543
  module.exports = PlattarObject;
3802
- },{"../../server/plattar-query.js":37,"./plattar-object-relations.js":56}],58:[function(require,module,exports){
4544
+ },{"../../server/plattar-query.js":42,"./plattar-object-relations.js":61}],63:[function(require,module,exports){
3803
4545
  const PlattarBase = require("../interfaces/plattar-base.js");
3804
4546
 
3805
4547
  class ApplicationBuild extends PlattarBase {
@@ -3809,7 +4551,7 @@ class ApplicationBuild extends PlattarBase {
3809
4551
  }
3810
4552
 
3811
4553
  module.exports = ApplicationBuild;
3812
- },{"../interfaces/plattar-base.js":55}],59:[function(require,module,exports){
4554
+ },{"../interfaces/plattar-base.js":60}],64:[function(require,module,exports){
3813
4555
  const PlattarBase = require("../interfaces/plattar-base.js");
3814
4556
 
3815
4557
  class AssetLibrary extends PlattarBase {
@@ -3819,7 +4561,7 @@ class AssetLibrary extends PlattarBase {
3819
4561
  }
3820
4562
 
3821
4563
  module.exports = AssetLibrary;
3822
- },{"../interfaces/plattar-base.js":55}],60:[function(require,module,exports){
4564
+ },{"../interfaces/plattar-base.js":60}],65:[function(require,module,exports){
3823
4565
  const PlattarBase = require("../interfaces/plattar-base.js");
3824
4566
 
3825
4567
  class AsyncJob extends PlattarBase {
@@ -3833,7 +4575,7 @@ class AsyncJob extends PlattarBase {
3833
4575
  }
3834
4576
 
3835
4577
  module.exports = AsyncJob;
3836
- },{"../interfaces/plattar-base.js":55}],61:[function(require,module,exports){
4578
+ },{"../interfaces/plattar-base.js":60}],66:[function(require,module,exports){
3837
4579
  const PlattarBase = require("../interfaces/plattar-base.js");
3838
4580
 
3839
4581
  class ScriptEvent extends PlattarBase {
@@ -3843,7 +4585,7 @@ class ScriptEvent extends PlattarBase {
3843
4585
  }
3844
4586
 
3845
4587
  module.exports = ScriptEvent;
3846
- },{"../interfaces/plattar-base.js":55}],62:[function(require,module,exports){
4588
+ },{"../interfaces/plattar-base.js":60}],67:[function(require,module,exports){
3847
4589
  const PlattarBase = require("../interfaces/plattar-base.js");
3848
4590
 
3849
4591
  class Tag extends PlattarBase {
@@ -3853,7 +4595,7 @@ class Tag extends PlattarBase {
3853
4595
  }
3854
4596
 
3855
4597
  module.exports = Tag;
3856
- },{"../interfaces/plattar-base.js":55}],63:[function(require,module,exports){
4598
+ },{"../interfaces/plattar-base.js":60}],68:[function(require,module,exports){
3857
4599
  const PlattarBase = require("../interfaces/plattar-base.js");
3858
4600
  const Server = require("../../server/plattar-server.js");
3859
4601
 
@@ -3884,7 +4626,7 @@ class CardBase extends PlattarBase {
3884
4626
  }
3885
4627
 
3886
4628
  module.exports = CardBase;
3887
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./card-button.js":64,"./card-html.js":65,"./card-iframe.js":66,"./card-image.js":67,"./card-map.js":68,"./card-paragraph.js":69,"./card-row.js":70,"./card-slider.js":71,"./card-title.js":72,"./card-video.js":73,"./card-youtube.js":74}],64:[function(require,module,exports){
4629
+ },{"../../server/plattar-server.js":43,"../interfaces/plattar-base.js":60,"./card-button.js":69,"./card-html.js":70,"./card-iframe.js":71,"./card-image.js":72,"./card-map.js":73,"./card-paragraph.js":74,"./card-row.js":75,"./card-slider.js":76,"./card-title.js":77,"./card-video.js":78,"./card-youtube.js":79}],69:[function(require,module,exports){
3888
4630
  const CardBase = require("./card-base.js");
3889
4631
 
3890
4632
  class CardButton extends CardBase {
@@ -3894,7 +4636,7 @@ class CardButton extends CardBase {
3894
4636
  }
3895
4637
 
3896
4638
  module.exports = CardButton;
3897
- },{"./card-base.js":63}],65:[function(require,module,exports){
4639
+ },{"./card-base.js":68}],70:[function(require,module,exports){
3898
4640
  const CardBase = require("./card-base.js");
3899
4641
 
3900
4642
  class CardHTML extends CardBase {
@@ -3904,7 +4646,7 @@ class CardHTML extends CardBase {
3904
4646
  }
3905
4647
 
3906
4648
  module.exports = CardHTML;
3907
- },{"./card-base.js":63}],66:[function(require,module,exports){
4649
+ },{"./card-base.js":68}],71:[function(require,module,exports){
3908
4650
  const CardBase = require("./card-base.js");
3909
4651
 
3910
4652
  class CardIFrame extends CardBase {
@@ -3914,7 +4656,7 @@ class CardIFrame extends CardBase {
3914
4656
  }
3915
4657
 
3916
4658
  module.exports = CardIFrame;
3917
- },{"./card-base.js":63}],67:[function(require,module,exports){
4659
+ },{"./card-base.js":68}],72:[function(require,module,exports){
3918
4660
  const CardBase = require("./card-base.js");
3919
4661
 
3920
4662
  class CardImage extends CardBase {
@@ -3924,7 +4666,7 @@ class CardImage extends CardBase {
3924
4666
  }
3925
4667
 
3926
4668
  module.exports = CardImage;
3927
- },{"./card-base.js":63}],68:[function(require,module,exports){
4669
+ },{"./card-base.js":68}],73:[function(require,module,exports){
3928
4670
  const CardBase = require("./card-base.js");
3929
4671
 
3930
4672
  class CardMap extends CardBase {
@@ -3934,7 +4676,7 @@ class CardMap extends CardBase {
3934
4676
  }
3935
4677
 
3936
4678
  module.exports = CardMap;
3937
- },{"./card-base.js":63}],69:[function(require,module,exports){
4679
+ },{"./card-base.js":68}],74:[function(require,module,exports){
3938
4680
  const CardBase = require("./card-base.js");
3939
4681
 
3940
4682
  class CardParagraph extends CardBase {
@@ -3944,7 +4686,7 @@ class CardParagraph extends CardBase {
3944
4686
  }
3945
4687
 
3946
4688
  module.exports = CardParagraph;
3947
- },{"./card-base.js":63}],70:[function(require,module,exports){
4689
+ },{"./card-base.js":68}],75:[function(require,module,exports){
3948
4690
  const CardBase = require("./card-base.js");
3949
4691
 
3950
4692
  class CardRow extends CardBase {
@@ -3954,7 +4696,7 @@ class CardRow extends CardBase {
3954
4696
  }
3955
4697
 
3956
4698
  module.exports = CardRow;
3957
- },{"./card-base.js":63}],71:[function(require,module,exports){
4699
+ },{"./card-base.js":68}],76:[function(require,module,exports){
3958
4700
  const CardBase = require("./card-base.js");
3959
4701
 
3960
4702
  class CardSlider extends CardBase {
@@ -3964,7 +4706,7 @@ class CardSlider extends CardBase {
3964
4706
  }
3965
4707
 
3966
4708
  module.exports = CardSlider;
3967
- },{"./card-base.js":63}],72:[function(require,module,exports){
4709
+ },{"./card-base.js":68}],77:[function(require,module,exports){
3968
4710
  const CardBase = require("./card-base.js");
3969
4711
 
3970
4712
  class CardTitle extends CardBase {
@@ -3974,7 +4716,7 @@ class CardTitle extends CardBase {
3974
4716
  }
3975
4717
 
3976
4718
  module.exports = CardTitle;
3977
- },{"./card-base.js":63}],73:[function(require,module,exports){
4719
+ },{"./card-base.js":68}],78:[function(require,module,exports){
3978
4720
  const CardBase = require("./card-base.js");
3979
4721
 
3980
4722
  class CardVideo extends CardBase {
@@ -3984,7 +4726,7 @@ class CardVideo extends CardBase {
3984
4726
  }
3985
4727
 
3986
4728
  module.exports = CardVideo;
3987
- },{"./card-base.js":63}],74:[function(require,module,exports){
4729
+ },{"./card-base.js":68}],79:[function(require,module,exports){
3988
4730
  const CardBase = require("./card-base.js");
3989
4731
 
3990
4732
  class CardYoutube extends CardBase {
@@ -3994,7 +4736,7 @@ class CardYoutube extends CardBase {
3994
4736
  }
3995
4737
 
3996
4738
  module.exports = CardYoutube;
3997
- },{"./card-base.js":63}],75:[function(require,module,exports){
4739
+ },{"./card-base.js":68}],80:[function(require,module,exports){
3998
4740
  const PlattarBase = require("../interfaces/plattar-base.js");
3999
4741
 
4000
4742
  class Page extends PlattarBase {
@@ -4004,7 +4746,7 @@ class Page extends PlattarBase {
4004
4746
  }
4005
4747
 
4006
4748
  module.exports = Page;
4007
- },{"../interfaces/plattar-base.js":55}],76:[function(require,module,exports){
4749
+ },{"../interfaces/plattar-base.js":60}],81:[function(require,module,exports){
4008
4750
  const ProductBase = require("./product-base.js");
4009
4751
 
4010
4752
  class ProductAnnotation extends ProductBase {
@@ -4014,7 +4756,7 @@ class ProductAnnotation extends ProductBase {
4014
4756
  }
4015
4757
 
4016
4758
  module.exports = ProductAnnotation;
4017
- },{"./product-base.js":77}],77:[function(require,module,exports){
4759
+ },{"./product-base.js":82}],82:[function(require,module,exports){
4018
4760
  const PlattarBase = require("../interfaces/plattar-base.js");
4019
4761
  const Server = require("../../server/plattar-server.js");
4020
4762
 
@@ -4036,7 +4778,7 @@ class ProductBase extends PlattarBase {
4036
4778
  }
4037
4779
 
4038
4780
  module.exports = ProductBase;
4039
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./product-annotation.js":76,"./product-variation.js":78}],78:[function(require,module,exports){
4781
+ },{"../../server/plattar-server.js":43,"../interfaces/plattar-base.js":60,"./product-annotation.js":81,"./product-variation.js":83}],83:[function(require,module,exports){
4040
4782
  const ProductBase = require("./product-base.js");
4041
4783
 
4042
4784
  class ProductVariation extends ProductBase {
@@ -4046,7 +4788,7 @@ class ProductVariation extends ProductBase {
4046
4788
  }
4047
4789
 
4048
4790
  module.exports = ProductVariation;
4049
- },{"./product-base.js":77}],79:[function(require,module,exports){
4791
+ },{"./product-base.js":82}],84:[function(require,module,exports){
4050
4792
  const PlattarBase = require("../interfaces/plattar-base.js");
4051
4793
 
4052
4794
  class Product extends PlattarBase {
@@ -4056,7 +4798,7 @@ class Product extends PlattarBase {
4056
4798
  }
4057
4799
 
4058
4800
  module.exports = Product;
4059
- },{"../interfaces/plattar-base.js":55}],80:[function(require,module,exports){
4801
+ },{"../interfaces/plattar-base.js":60}],85:[function(require,module,exports){
4060
4802
  const SceneBase = require("./scene-base.js");
4061
4803
 
4062
4804
  class SceneAnnotation extends SceneBase {
@@ -4066,7 +4808,7 @@ class SceneAnnotation extends SceneBase {
4066
4808
  }
4067
4809
 
4068
4810
  module.exports = SceneAnnotation;
4069
- },{"./scene-base.js":82}],81:[function(require,module,exports){
4811
+ },{"./scene-base.js":87}],86:[function(require,module,exports){
4070
4812
  const SceneBase = require("./scene-base.js");
4071
4813
 
4072
4814
  class SceneAudio extends SceneBase {
@@ -4076,7 +4818,7 @@ class SceneAudio extends SceneBase {
4076
4818
  }
4077
4819
 
4078
4820
  module.exports = SceneAudio;
4079
- },{"./scene-base.js":82}],82:[function(require,module,exports){
4821
+ },{"./scene-base.js":87}],87:[function(require,module,exports){
4080
4822
  const PlattarBase = require("../interfaces/plattar-base.js");
4081
4823
  const Server = require("../../server/plattar-server.js");
4082
4824
 
@@ -4110,7 +4852,7 @@ class SceneBase extends PlattarBase {
4110
4852
  }
4111
4853
 
4112
4854
  module.exports = SceneBase;
4113
- },{"../../server/plattar-server.js":38,"../interfaces/plattar-base.js":55,"./scene-annotation.js":80,"./scene-audio.js":81,"./scene-button.js":83,"./scene-camera.js":84,"./scene-carousel.js":85,"./scene-image.js":86,"./scene-model.js":87,"./scene-panorama.js":88,"./scene-poller.js":89,"./scene-product.js":90,"./scene-shadow.js":92,"./scene-video.js":93,"./scene-volumetric.js":94,"./scene-youtube.js":95}],83:[function(require,module,exports){
4855
+ },{"../../server/plattar-server.js":43,"../interfaces/plattar-base.js":60,"./scene-annotation.js":85,"./scene-audio.js":86,"./scene-button.js":88,"./scene-camera.js":89,"./scene-carousel.js":90,"./scene-image.js":91,"./scene-model.js":92,"./scene-panorama.js":93,"./scene-poller.js":94,"./scene-product.js":95,"./scene-shadow.js":97,"./scene-video.js":98,"./scene-volumetric.js":99,"./scene-youtube.js":100}],88:[function(require,module,exports){
4114
4856
  const SceneBase = require("./scene-base.js");
4115
4857
 
4116
4858
  class SceneButton extends SceneBase {
@@ -4120,7 +4862,7 @@ class SceneButton extends SceneBase {
4120
4862
  }
4121
4863
 
4122
4864
  module.exports = SceneButton;
4123
- },{"./scene-base.js":82}],84:[function(require,module,exports){
4865
+ },{"./scene-base.js":87}],89:[function(require,module,exports){
4124
4866
  const SceneBase = require("./scene-base.js");
4125
4867
 
4126
4868
  class SceneCamera extends SceneBase {
@@ -4130,7 +4872,7 @@ class SceneCamera extends SceneBase {
4130
4872
  }
4131
4873
 
4132
4874
  module.exports = SceneCamera;
4133
- },{"./scene-base.js":82}],85:[function(require,module,exports){
4875
+ },{"./scene-base.js":87}],90:[function(require,module,exports){
4134
4876
  const SceneBase = require("./scene-base.js");
4135
4877
 
4136
4878
  class SceneCarousel extends SceneBase {
@@ -4140,7 +4882,7 @@ class SceneCarousel extends SceneBase {
4140
4882
  }
4141
4883
 
4142
4884
  module.exports = SceneCarousel;
4143
- },{"./scene-base.js":82}],86:[function(require,module,exports){
4885
+ },{"./scene-base.js":87}],91:[function(require,module,exports){
4144
4886
  const SceneBase = require("./scene-base.js");
4145
4887
 
4146
4888
  class SceneImage extends SceneBase {
@@ -4150,7 +4892,7 @@ class SceneImage extends SceneBase {
4150
4892
  }
4151
4893
 
4152
4894
  module.exports = SceneImage;
4153
- },{"./scene-base.js":82}],87:[function(require,module,exports){
4895
+ },{"./scene-base.js":87}],92:[function(require,module,exports){
4154
4896
  const SceneBase = require("./scene-base.js");
4155
4897
 
4156
4898
  class SceneModel extends SceneBase {
@@ -4160,7 +4902,7 @@ class SceneModel extends SceneBase {
4160
4902
  }
4161
4903
 
4162
4904
  module.exports = SceneModel;
4163
- },{"./scene-base.js":82}],88:[function(require,module,exports){
4905
+ },{"./scene-base.js":87}],93:[function(require,module,exports){
4164
4906
  const SceneBase = require("./scene-base.js");
4165
4907
 
4166
4908
  class ScenePanorama extends SceneBase {
@@ -4170,7 +4912,7 @@ class ScenePanorama extends SceneBase {
4170
4912
  }
4171
4913
 
4172
4914
  module.exports = ScenePanorama;
4173
- },{"./scene-base.js":82}],89:[function(require,module,exports){
4915
+ },{"./scene-base.js":87}],94:[function(require,module,exports){
4174
4916
  const SceneBase = require("./scene-base.js");
4175
4917
 
4176
4918
  class ScenePoller extends SceneBase {
@@ -4180,7 +4922,7 @@ class ScenePoller extends SceneBase {
4180
4922
  }
4181
4923
 
4182
4924
  module.exports = ScenePoller;
4183
- },{"./scene-base.js":82}],90:[function(require,module,exports){
4925
+ },{"./scene-base.js":87}],95:[function(require,module,exports){
4184
4926
  const SceneBase = require("./scene-base.js");
4185
4927
 
4186
4928
  class SceneProduct extends SceneBase {
@@ -4190,7 +4932,7 @@ class SceneProduct extends SceneBase {
4190
4932
  }
4191
4933
 
4192
4934
  module.exports = SceneProduct;
4193
- },{"./scene-base.js":82}],91:[function(require,module,exports){
4935
+ },{"./scene-base.js":87}],96:[function(require,module,exports){
4194
4936
  const SceneBase = require("./scene-base.js");
4195
4937
 
4196
4938
  class SceneScript extends SceneBase {
@@ -4200,7 +4942,7 @@ class SceneScript extends SceneBase {
4200
4942
  }
4201
4943
 
4202
4944
  module.exports = SceneScript;
4203
- },{"./scene-base.js":82}],92:[function(require,module,exports){
4945
+ },{"./scene-base.js":87}],97:[function(require,module,exports){
4204
4946
  const SceneBase = require("./scene-base.js");
4205
4947
 
4206
4948
  class SceneShadow extends SceneBase {
@@ -4210,7 +4952,7 @@ class SceneShadow extends SceneBase {
4210
4952
  }
4211
4953
 
4212
4954
  module.exports = SceneShadow;
4213
- },{"./scene-base.js":82}],93:[function(require,module,exports){
4955
+ },{"./scene-base.js":87}],98:[function(require,module,exports){
4214
4956
  const SceneBase = require("./scene-base.js");
4215
4957
 
4216
4958
  class SceneVideo extends SceneBase {
@@ -4220,7 +4962,7 @@ class SceneVideo extends SceneBase {
4220
4962
  }
4221
4963
 
4222
4964
  module.exports = SceneVideo;
4223
- },{"./scene-base.js":82}],94:[function(require,module,exports){
4965
+ },{"./scene-base.js":87}],99:[function(require,module,exports){
4224
4966
  const SceneBase = require("./scene-base.js");
4225
4967
 
4226
4968
  class SceneVolumetric extends SceneBase {
@@ -4230,7 +4972,7 @@ class SceneVolumetric extends SceneBase {
4230
4972
  }
4231
4973
 
4232
4974
  module.exports = SceneVolumetric;
4233
- },{"./scene-base.js":82}],95:[function(require,module,exports){
4975
+ },{"./scene-base.js":87}],100:[function(require,module,exports){
4234
4976
  const SceneBase = require("./scene-base.js");
4235
4977
 
4236
4978
  class SceneYoutube extends SceneBase {
@@ -4240,7 +4982,7 @@ class SceneYoutube extends SceneBase {
4240
4982
  }
4241
4983
 
4242
4984
  module.exports = SceneYoutube;
4243
- },{"./scene-base.js":82}],96:[function(require,module,exports){
4985
+ },{"./scene-base.js":87}],101:[function(require,module,exports){
4244
4986
  const PlattarBase = require("../interfaces/plattar-base.js");
4245
4987
 
4246
4988
  class Scene extends PlattarBase {
@@ -4250,7 +4992,7 @@ class Scene extends PlattarBase {
4250
4992
  }
4251
4993
 
4252
4994
  module.exports = Scene;
4253
- },{"../interfaces/plattar-base.js":55}],97:[function(require,module,exports){
4995
+ },{"../interfaces/plattar-base.js":60}],102:[function(require,module,exports){
4254
4996
  const PlattarBase = require("../interfaces/plattar-base.js");
4255
4997
 
4256
4998
  class TriggerImage extends PlattarBase {
@@ -4260,7 +5002,7 @@ class TriggerImage extends PlattarBase {
4260
5002
  }
4261
5003
 
4262
5004
  module.exports = TriggerImage;
4263
- },{"../interfaces/plattar-base.js":55}],98:[function(require,module,exports){
5005
+ },{"../interfaces/plattar-base.js":60}],103:[function(require,module,exports){
4264
5006
  const Application = require("../types/application.js");
4265
5007
 
4266
5008
  // import Scene types and its children
@@ -4487,10 +5229,10 @@ PlattarUtil.match = (type) => {
4487
5229
 
4488
5230
 
4489
5231
  module.exports = PlattarUtil;
4490
- },{"../types/application.js":39,"../types/content-pipeline/brief.js":40,"../types/content-pipeline/comment-brief.js":41,"../types/content-pipeline/comment-quote.js":42,"../types/content-pipeline/comment-solution.js":43,"../types/content-pipeline/folder.js":44,"../types/content-pipeline/pipeline-user.js":45,"../types/content-pipeline/quote.js":46,"../types/content-pipeline/rating.js":47,"../types/content-pipeline/solution.js":48,"../types/file/file-audio.js":49,"../types/file/file-image.js":51,"../types/file/file-model.js":52,"../types/file/file-script.js":53,"../types/file/file-video.js":54,"../types/interfaces/plattar-object.js":57,"../types/misc/application-build.js":58,"../types/misc/asset-library":59,"../types/misc/async-job.js":60,"../types/misc/script-event.js":61,"../types/misc/tag.js":62,"../types/page/card-button.js":64,"../types/page/card-html.js":65,"../types/page/card-iframe.js":66,"../types/page/card-image.js":67,"../types/page/card-map.js":68,"../types/page/card-paragraph.js":69,"../types/page/card-row.js":70,"../types/page/card-slider.js":71,"../types/page/card-title.js":72,"../types/page/card-video.js":73,"../types/page/card-youtube.js":74,"../types/page/page.js":75,"../types/product/product-annotation.js":76,"../types/product/product-variation.js":78,"../types/product/product.js":79,"../types/scene/scene-annotation.js":80,"../types/scene/scene-audio.js":81,"../types/scene/scene-button.js":83,"../types/scene/scene-camera.js":84,"../types/scene/scene-carousel.js":85,"../types/scene/scene-image.js":86,"../types/scene/scene-model.js":87,"../types/scene/scene-panorama.js":88,"../types/scene/scene-poller.js":89,"../types/scene/scene-product.js":90,"../types/scene/scene-script.js":91,"../types/scene/scene-shadow.js":92,"../types/scene/scene-video.js":93,"../types/scene/scene-volumetric.js":94,"../types/scene/scene-youtube.js":95,"../types/scene/scene.js":96,"../types/trigger/trigger-image.js":97}],99:[function(require,module,exports){
5232
+ },{"../types/application.js":44,"../types/content-pipeline/brief.js":45,"../types/content-pipeline/comment-brief.js":46,"../types/content-pipeline/comment-quote.js":47,"../types/content-pipeline/comment-solution.js":48,"../types/content-pipeline/folder.js":49,"../types/content-pipeline/pipeline-user.js":50,"../types/content-pipeline/quote.js":51,"../types/content-pipeline/rating.js":52,"../types/content-pipeline/solution.js":53,"../types/file/file-audio.js":54,"../types/file/file-image.js":56,"../types/file/file-model.js":57,"../types/file/file-script.js":58,"../types/file/file-video.js":59,"../types/interfaces/plattar-object.js":62,"../types/misc/application-build.js":63,"../types/misc/asset-library":64,"../types/misc/async-job.js":65,"../types/misc/script-event.js":66,"../types/misc/tag.js":67,"../types/page/card-button.js":69,"../types/page/card-html.js":70,"../types/page/card-iframe.js":71,"../types/page/card-image.js":72,"../types/page/card-map.js":73,"../types/page/card-paragraph.js":74,"../types/page/card-row.js":75,"../types/page/card-slider.js":76,"../types/page/card-title.js":77,"../types/page/card-video.js":78,"../types/page/card-youtube.js":79,"../types/page/page.js":80,"../types/product/product-annotation.js":81,"../types/product/product-variation.js":83,"../types/product/product.js":84,"../types/scene/scene-annotation.js":85,"../types/scene/scene-audio.js":86,"../types/scene/scene-button.js":88,"../types/scene/scene-camera.js":89,"../types/scene/scene-carousel.js":90,"../types/scene/scene-image.js":91,"../types/scene/scene-model.js":92,"../types/scene/scene-panorama.js":93,"../types/scene/scene-poller.js":94,"../types/scene/scene-product.js":95,"../types/scene/scene-script.js":96,"../types/scene/scene-shadow.js":97,"../types/scene/scene-video.js":98,"../types/scene/scene-volumetric.js":99,"../types/scene/scene-youtube.js":100,"../types/scene/scene.js":101,"../types/trigger/trigger-image.js":102}],104:[function(require,module,exports){
4491
5233
  module.exports = "1.120.1";
4492
5234
 
4493
- },{}],100:[function(require,module,exports){
5235
+ },{}],105:[function(require,module,exports){
4494
5236
  const QRCodeStyling = require("qr-code-styling");
4495
5237
 
4496
5238
  class BaseElement extends HTMLElement {
@@ -4619,7 +5361,6 @@ class BaseElement extends HTMLElement {
4619
5361
  type: "canvas"
4620
5362
  };
4621
5363
 
4622
- this._options.data = url;
4623
5364
  this._options.margin = margin;
4624
5365
  this._options.image = image;
4625
5366
 
@@ -4637,6 +5378,45 @@ class BaseElement extends HTMLElement {
4637
5378
  this._options.dotsOptions.type = "rounded";
4638
5379
  }
4639
5380
 
5381
+ const shortenURL = this.hasAttribute("shorten") ? this.getAttribute("shorten") : "false";
5382
+
5383
+ if (shortenURL && shortenURL.toLowerCase() === "true") {
5384
+ this._ShortenURL(url).then((newURL) => {
5385
+ this._GenerateQRCode(newURL, width, height);
5386
+ }).catch((_err) => {
5387
+ console.warn(_err);
5388
+ // ignore error and just generate normal QR Code
5389
+ this._GenerateQRCode(url, width, height);
5390
+ });
5391
+ }
5392
+ else {
5393
+ this._GenerateQRCode(url, width, height);
5394
+ }
5395
+ }
5396
+
5397
+ _UpdateCanvas(width, height) {
5398
+ if (!this._qrCode) {
5399
+ return;
5400
+ }
5401
+
5402
+ const canvas = this._qrCode._canvas;
5403
+
5404
+ if (canvas) {
5405
+ canvas.style.width = "100%";
5406
+ canvas.style.height = "100%";
5407
+ }
5408
+
5409
+ if (this._divContainer) {
5410
+ const div = this._divContainer;
5411
+
5412
+ div.style.width = width + "px";
5413
+ div.style.height = height + "px";
5414
+ }
5415
+ }
5416
+
5417
+ _GenerateQRCode(url, width, height) {
5418
+ this._options.data = url;
5419
+
4640
5420
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
4641
5421
 
4642
5422
  const qrCode = this._qrCode;
@@ -4659,29 +5439,41 @@ class BaseElement extends HTMLElement {
4659
5439
  this._UpdateCanvas(width, height);
4660
5440
  }
4661
5441
 
4662
- _UpdateCanvas(width, height) {
4663
- if (!this._qrCode) {
4664
- return;
4665
- }
5442
+ _IsFetchAPISupported() {
5443
+ return 'fetch' in window;
5444
+ }
4666
5445
 
4667
- const canvas = this._qrCode._canvas;
5446
+ _ShortenURL(url) {
5447
+ return new Promise((accept, reject) => {
5448
+ if (!this._IsFetchAPISupported()) {
5449
+ return reject(new Error("PlattarQR._ShortenURL() - fetch api not supported, cannot proceed"));
5450
+ }
4668
5451
 
4669
- if (canvas) {
4670
- canvas.style.width = "100%";
4671
- canvas.style.height = "100%";
4672
- }
5452
+ try {
5453
+ const b64 = btoa(url);
5454
+ const endpoint = "https://c.plattar.space/api/v2/shorten?base64=" + b64;
4673
5455
 
4674
- if (this._divContainer) {
4675
- const div = this._divContainer;
5456
+ fetch(endpoint).then((response) => {
5457
+ if (!response.ok) {
5458
+ throw new Error("PlattarQR._ShortenURL() - response was invalid");
5459
+ }
4676
5460
 
4677
- div.style.width = width + "px";
4678
- div.style.height = height + "px";
4679
- }
5461
+ return response.text();
5462
+ }).then((text) => {
5463
+ return accept(text);
5464
+ }).catch(() => {
5465
+ return reject(new Error("PlattarQR._ShortenURL() - there was an unexpected issue generating short url"));
5466
+ });
5467
+ }
5468
+ catch (err) {
5469
+ return reject(err);
5470
+ }
5471
+ });
4680
5472
  }
4681
5473
  }
4682
5474
 
4683
5475
  module.exports = BaseElement;
4684
- },{"qr-code-styling":121}],101:[function(require,module,exports){
5476
+ },{"qr-code-styling":132}],106:[function(require,module,exports){
4685
5477
  const BaseElement = require("./base/base-element.js");
4686
5478
 
4687
5479
  class QRCodeElement extends BaseElement {
@@ -4691,22 +5483,354 @@ class QRCodeElement extends BaseElement {
4691
5483
  }
4692
5484
 
4693
5485
  module.exports = QRCodeElement;
4694
- },{"./base/base-element.js":100}],102:[function(require,module,exports){
5486
+ },{"./base/base-element.js":105}],107:[function(require,module,exports){
4695
5487
  "use strict";
4696
5488
  const QRCodeElement = require("./elements/qrcode-element.js");
4697
5489
  const Version = require("./version");
4698
5490
 
4699
- console.log("using @plattar/plattar-qrcode v" + Version);
5491
+ if (customElements) {
5492
+ if (customElements.get("plattar-qrcode") === undefined) {
5493
+ customElements.define("plattar-qrcode", QRCodeElement);
5494
+ }
5495
+ }
4700
5496
 
4701
- customElements.define("plattar-qrcode", QRCodeElement);
5497
+ console.log("using @plattar/plattar-qrcode v" + Version);
4702
5498
 
4703
5499
  module.exports = {
4704
5500
  version: Version
4705
5501
  };
4706
- },{"./elements/qrcode-element.js":101,"./version":103}],103:[function(require,module,exports){
4707
- module.exports = "1.120.3";
5502
+ },{"./elements/qrcode-element.js":106,"./version":108}],108:[function(require,module,exports){
5503
+ module.exports = "1.122.1";
5504
+
5505
+ },{}],109:[function(require,module,exports){
5506
+ "use strict";
5507
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5508
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5509
+ };
5510
+ Object.defineProperty(exports, "__esModule", { value: true });
5511
+ exports.Configurator = void 0;
5512
+ const plattar_api_1 = require("@plattar/plattar-api");
5513
+ const object_hash_1 = __importDefault(require("object-hash"));
5514
+ const remote_request_1 = require("./remote-request");
5515
+ class Configurator {
5516
+ constructor() {
5517
+ this.quality = 100;
5518
+ this.output = "glb";
5519
+ this.server = "production";
5520
+ this.retry = 0;
5521
+ this._maps = [];
5522
+ this._attrHash = [];
5523
+ }
5524
+ add(sceneProduct = null, productVariation = null) {
5525
+ this.addSceneProduct(sceneProduct, productVariation);
5526
+ }
5527
+ addSceneProduct(sceneProduct = null, productVariation = null) {
5528
+ if (!sceneProduct) {
5529
+ throw new Error("Configurator.addSceneProduct() - sceneProduct input was null or undefined");
5530
+ }
5531
+ if (!productVariation) {
5532
+ throw new Error("Configurator.addSceneProduct() - productVariation input was null or undefined");
5533
+ }
5534
+ const map = {
5535
+ sceneproduct: null,
5536
+ productvariation: null
5537
+ };
5538
+ if ((sceneProduct instanceof plattar_api_1.SceneProduct) && (productVariation instanceof plattar_api_1.ProductVariation)) {
5539
+ map.sceneproduct = sceneProduct.id;
5540
+ map.productvariation = productVariation.id;
5541
+ this._maps.push(map);
5542
+ return;
5543
+ }
5544
+ if ((typeof sceneProduct === "string" || sceneProduct instanceof String) && (typeof productVariation === "string" || productVariation instanceof String)) {
5545
+ map.sceneproduct = sceneProduct;
5546
+ map.productvariation = productVariation;
5547
+ this._maps.push(map);
5548
+ return;
5549
+ }
5550
+ throw new Error("Configurator.addSceneProduct() - mismatched instance types for inputs");
5551
+ }
5552
+ addProduct(product = null, productVariation = null) {
5553
+ if (!product) {
5554
+ throw new Error("Configurator.addProduct() - product input was null or undefined");
5555
+ }
5556
+ if (!productVariation) {
5557
+ throw new Error("Configurator.addProduct() - productVariation input was null or undefined");
5558
+ }
5559
+ const map = {
5560
+ productvariation: null,
5561
+ product: null
5562
+ };
5563
+ if ((product instanceof plattar_api_1.Product) && (productVariation instanceof plattar_api_1.ProductVariation)) {
5564
+ map.product = product.id;
5565
+ map.productvariation = productVariation.id;
5566
+ this._maps.push(map);
5567
+ return;
5568
+ }
5569
+ if ((typeof product === "string" || product instanceof String) && (typeof productVariation === "string" || productVariation instanceof String)) {
5570
+ map.product = product;
5571
+ map.productvariation = productVariation;
5572
+ this._maps.push(map);
5573
+ return;
5574
+ }
5575
+ throw new Error("Configurator.addProduct() - mismatched instance types for inputs");
5576
+ }
5577
+ addModel(sceneModel = null) {
5578
+ if (!sceneModel) {
5579
+ throw new Error("Configurator.addModel() - sceneModel input was null or undefined");
5580
+ }
5581
+ const map = {
5582
+ scenemodel: null
5583
+ };
5584
+ if (sceneModel instanceof plattar_api_1.SceneModel) {
5585
+ map.scenemodel = sceneModel.id;
5586
+ this._maps.push(map);
5587
+ return;
5588
+ }
5589
+ if (typeof sceneModel === "string") {
5590
+ map.scenemodel = sceneModel;
5591
+ this._maps.push(map);
5592
+ return;
5593
+ }
5594
+ throw new Error("Configurator.addModel() - mismatched instance types for inputs");
5595
+ }
5596
+ get() {
5597
+ return new Promise((accept, reject) => {
5598
+ this._CalculateHash().then(() => {
5599
+ remote_request_1.RemoteRequest.request(this._GetPayload(), (this.retry < 0 ? 0 : this.retry)).then(accept).catch(reject);
5600
+ }).catch((_err) => {
5601
+ reject(new Error("Configurator.get() - one of the objects does not exist in Plattar API"));
5602
+ });
5603
+ });
5604
+ }
5605
+ _CalculateHash() {
5606
+ return new Promise((accept, reject) => {
5607
+ const promises = [];
5608
+ const oldOrigin = plattar_api_1.Server.default().originLocation.type;
5609
+ plattar_api_1.Server.create(plattar_api_1.Server.match(this.server));
5610
+ this._maps.forEach((map) => {
5611
+ if (map.productvariation) {
5612
+ promises.push(new plattar_api_1.ProductVariation(map.productvariation).get());
5613
+ }
5614
+ if (map.sceneproduct) {
5615
+ promises.push(new plattar_api_1.SceneProduct(map.sceneproduct).get());
5616
+ }
5617
+ if (map.scenemodel) {
5618
+ promises.push(new plattar_api_1.SceneModel(map.scenemodel).get());
5619
+ }
5620
+ if (map.product) {
5621
+ promises.push(new plattar_api_1.Product(map.product).get());
5622
+ }
5623
+ });
5624
+ Promise.all(promises).then((values) => {
5625
+ values.forEach((value) => {
5626
+ this._attrHash.push(value.attributes);
5627
+ });
5628
+ // reset server back
5629
+ plattar_api_1.Server.create(plattar_api_1.Server.match(oldOrigin));
5630
+ accept();
5631
+ }).catch(() => {
5632
+ // reset server back
5633
+ plattar_api_1.Server.create(plattar_api_1.Server.match(oldOrigin));
5634
+ reject(new Error("Configurator._CalculateHash() - unexpected error"));
5635
+ });
5636
+ });
5637
+ }
5638
+ _GetPayload() {
5639
+ const converter = this.output === "vto" ? "config_to_reality" : "config_to_model";
5640
+ const load = {
5641
+ options: {
5642
+ converter: converter,
5643
+ quality: this.quality,
5644
+ output: this.output,
5645
+ server: this.server
5646
+ },
5647
+ data: {
5648
+ maps: this._maps
5649
+ }
5650
+ };
5651
+ if (this._attrHash.length > 0) {
5652
+ load.options.hash = object_hash_1.default.MD5(this._attrHash) + object_hash_1.default.MD5(load);
5653
+ }
5654
+ else {
5655
+ load.options.hash = object_hash_1.default.MD5(load);
5656
+ }
5657
+ return load;
5658
+ }
5659
+ }
5660
+ exports.Configurator = Configurator;
5661
+
5662
+ },{"./remote-request":111,"@plattar/plattar-api":41,"object-hash":130}],110:[function(require,module,exports){
5663
+ "use strict";
5664
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5665
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5666
+ };
5667
+ Object.defineProperty(exports, "__esModule", { value: true });
5668
+ exports.ModelConverter = void 0;
5669
+ const plattar_api_1 = require("@plattar/plattar-api");
5670
+ const object_hash_1 = __importDefault(require("object-hash"));
5671
+ const remote_request_1 = require("./remote-request");
5672
+ class ModelConverter {
5673
+ constructor() {
5674
+ this._model = null;
5675
+ this.quality = 100;
5676
+ this.output = "glb";
5677
+ this.server = "production";
5678
+ this.retry = 0;
5679
+ this._attrHash = [];
5680
+ }
5681
+ get model() {
5682
+ return this._model;
5683
+ }
5684
+ set model(newModel) {
5685
+ if (!newModel) {
5686
+ return;
5687
+ }
5688
+ if (newModel instanceof plattar_api_1.FileModel) {
5689
+ this._model = newModel.id;
5690
+ this._attrHash.push(object_hash_1.default.MD5(newModel.attributes));
5691
+ return;
5692
+ }
5693
+ this._model = newModel;
5694
+ }
5695
+ get() {
5696
+ return new Promise((accept, reject) => {
5697
+ if (!this._model) {
5698
+ return reject(new Error("ModelConverter.get() - required .model attribute was not set"));
5699
+ }
5700
+ remote_request_1.RemoteRequest.request(this._Payload, (this.retry < 0 ? 0 : this.retry)).then(accept).catch(reject);
5701
+ });
5702
+ }
5703
+ get _Payload() {
5704
+ const load = {
5705
+ options: {
5706
+ converter: "gltf_to_model",
5707
+ quality: this.quality,
5708
+ output: this.output,
5709
+ server: this.server
5710
+ },
5711
+ data: {
5712
+ model: this._model
5713
+ }
5714
+ };
5715
+ if (this._attrHash.length > 0) {
5716
+ load.options.hash = object_hash_1.default.MD5(this._attrHash) + object_hash_1.default.MD5(load);
5717
+ }
5718
+ else {
5719
+ load.options.hash = object_hash_1.default.MD5(load);
5720
+ }
5721
+ return load;
5722
+ }
5723
+ }
5724
+ exports.ModelConverter = ModelConverter;
5725
+
5726
+ },{"./remote-request":111,"@plattar/plattar-api":41,"object-hash":130}],111:[function(require,module,exports){
5727
+ "use strict";
5728
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5729
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5730
+ };
5731
+ Object.defineProperty(exports, "__esModule", { value: true });
5732
+ exports.RemoteRequest = void 0;
5733
+ const node_fetch_1 = __importDefault(require("node-fetch"));
5734
+ /**
5735
+ * This is used by the core types to perform remote requests
5736
+ */
5737
+ class RemoteRequest {
5738
+ static request(payload, retry = 0) {
5739
+ return new Promise((accept, reject) => {
5740
+ if (retry >= 0) {
5741
+ RemoteRequest._send(payload).then(accept).catch((err) => {
5742
+ const newretry = retry - 1;
5743
+ if (newretry < 0) {
5744
+ return reject(err);
5745
+ }
5746
+ console.error("RemoteRequest.request() - retry number " + newretry);
5747
+ console.error(err);
5748
+ setTimeout(() => {
5749
+ RemoteRequest.request(payload, newretry).then(accept).catch(reject);
5750
+ }, 500);
5751
+ });
5752
+ }
5753
+ else {
5754
+ return reject(new Error("RemoteRequest.request() - attempted all retries without success"));
5755
+ }
5756
+ });
5757
+ }
5758
+ static _send(payload) {
5759
+ return new Promise((accept, reject) => {
5760
+ const endpoint = payload.options.server === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://3gbnq7wuw2.execute-api.ap-southeast-2.amazonaws.com/main/xrutils";
5761
+ const reqopts = {
5762
+ method: "POST",
5763
+ headers: {
5764
+ 'Accept': 'application/json',
5765
+ 'Content-Type': 'application/json'
5766
+ },
5767
+ body: JSON.stringify(payload)
5768
+ };
5769
+ (0, node_fetch_1.default)(endpoint, reqopts)
5770
+ .then((res) => {
5771
+ if (res.ok) {
5772
+ try {
5773
+ return res.json();
5774
+ }
5775
+ catch (err) {
5776
+ return new Error("RemoteRequest.request() - critical error occured, cannot proceed");
5777
+ }
5778
+ }
5779
+ return new Error("RemoteRequest.request() - unexpected error occured, cannot proceed. error message is " + res.statusText);
5780
+ })
5781
+ .then((json) => {
5782
+ if (json instanceof Error) {
5783
+ reject(json);
5784
+ }
5785
+ else {
5786
+ accept(json);
5787
+ }
5788
+ });
5789
+ });
5790
+ }
5791
+ }
5792
+ exports.RemoteRequest = RemoteRequest;
5793
+
5794
+ },{"node-fetch":129}],112:[function(require,module,exports){
5795
+ "use strict";
5796
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5797
+ if (k2 === undefined) k2 = k;
5798
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5799
+ }) : (function(o, m, k, k2) {
5800
+ if (k2 === undefined) k2 = k;
5801
+ o[k2] = m[k];
5802
+ }));
5803
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
5804
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
5805
+ }) : function(o, v) {
5806
+ o["default"] = v;
5807
+ });
5808
+ var __importStar = (this && this.__importStar) || function (mod) {
5809
+ if (mod && mod.__esModule) return mod;
5810
+ var result = {};
5811
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
5812
+ __setModuleDefault(result, mod);
5813
+ return result;
5814
+ };
5815
+ var __importDefault = (this && this.__importDefault) || function (mod) {
5816
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5817
+ };
5818
+ Object.defineProperty(exports, "__esModule", { value: true });
5819
+ exports.version = exports.ModelConverter = exports.Configurator = void 0;
5820
+ var configurator_1 = require("./core/configurator");
5821
+ Object.defineProperty(exports, "Configurator", { enumerable: true, get: function () { return configurator_1.Configurator; } });
5822
+ var model_converter_1 = require("./core/model-converter");
5823
+ Object.defineProperty(exports, "ModelConverter", { enumerable: true, get: function () { return model_converter_1.ModelConverter; } });
5824
+ exports.version = __importStar(require("./version"));
5825
+ const version_1 = __importDefault(require("./version"));
5826
+ console.log("using @plattar/plattar-services v" + version_1.default);
5827
+
5828
+ },{"./core/configurator":109,"./core/model-converter":110,"./version":113}],113:[function(require,module,exports){
5829
+ "use strict";
5830
+ Object.defineProperty(exports, "__esModule", { value: true });
5831
+ exports.default = "1.120.1";
4708
5832
 
4709
- },{}],104:[function(require,module,exports){
5833
+ },{}],114:[function(require,module,exports){
4710
5834
  const ElementController = require("../controllers/element-controller");
4711
5835
 
4712
5836
  class BaseElement extends HTMLElement {
@@ -4843,7 +5967,7 @@ class BaseElement extends HTMLElement {
4843
5967
  }
4844
5968
 
4845
5969
  module.exports = BaseElement;
4846
- },{"../controllers/element-controller":106}],105:[function(require,module,exports){
5970
+ },{"../controllers/element-controller":116}],115:[function(require,module,exports){
4847
5971
  const BaseElement = require("./base/base-element.js");
4848
5972
 
4849
5973
  class ConfiguratorElement extends BaseElement {
@@ -4871,7 +5995,7 @@ class ConfiguratorElement extends BaseElement {
4871
5995
  }
4872
5996
 
4873
5997
  module.exports = ConfiguratorElement;
4874
- },{"./base/base-element.js":104}],106:[function(require,module,exports){
5998
+ },{"./base/base-element.js":114}],116:[function(require,module,exports){
4875
5999
  const Util = require("../../util/util.js");
4876
6000
  const { messenger } = require("@plattar/context-messenger");
4877
6001
  const IFrameController = require("./iframe-controller.js");
@@ -4964,7 +6088,7 @@ class ElementController {
4964
6088
  }
4965
6089
 
4966
6090
  module.exports = ElementController;
4967
- },{"../../util/util.js":117,"./iframe-controller.js":107,"@plattar/context-messenger":15}],107:[function(require,module,exports){
6091
+ },{"../../util/util.js":127,"./iframe-controller.js":117,"@plattar/context-messenger":20}],117:[function(require,module,exports){
4968
6092
  const Util = require("../../util/util.js");
4969
6093
 
4970
6094
  class IFrameController {
@@ -5074,7 +6198,7 @@ class IFrameController {
5074
6198
  }
5075
6199
 
5076
6200
  module.exports = IFrameController;
5077
- },{"../../util/util.js":117}],108:[function(require,module,exports){
6201
+ },{"../../util/util.js":127}],118:[function(require,module,exports){
5078
6202
  const BaseElement = require("./base/base-element.js");
5079
6203
 
5080
6204
  class EditorElement extends BaseElement {
@@ -5092,7 +6216,7 @@ class EditorElement extends BaseElement {
5092
6216
  }
5093
6217
 
5094
6218
  module.exports = EditorElement;
5095
- },{"./base/base-element.js":104}],109:[function(require,module,exports){
6219
+ },{"./base/base-element.js":114}],119:[function(require,module,exports){
5096
6220
  const BaseElement = require("./base/base-element.js");
5097
6221
 
5098
6222
  class EWallElement extends BaseElement {
@@ -5129,7 +6253,7 @@ class EWallElement extends BaseElement {
5129
6253
  }
5130
6254
 
5131
6255
  module.exports = EWallElement;
5132
- },{"./base/base-element.js":104}],110:[function(require,module,exports){
6256
+ },{"./base/base-element.js":114}],120:[function(require,module,exports){
5133
6257
  const BaseElement = require("./base/base-element.js");
5134
6258
 
5135
6259
  class FaceARElement extends BaseElement {
@@ -5157,7 +6281,7 @@ class FaceARElement extends BaseElement {
5157
6281
  }
5158
6282
 
5159
6283
  module.exports = FaceARElement;
5160
- },{"./base/base-element.js":104}],111:[function(require,module,exports){
6284
+ },{"./base/base-element.js":114}],121:[function(require,module,exports){
5161
6285
  const BaseElement = require("./base/base-element.js");
5162
6286
 
5163
6287
  class ModelElement extends BaseElement {
@@ -5182,7 +6306,7 @@ class ModelElement extends BaseElement {
5182
6306
  }
5183
6307
 
5184
6308
  module.exports = ModelElement;
5185
- },{"./base/base-element.js":104}],112:[function(require,module,exports){
6309
+ },{"./base/base-element.js":114}],122:[function(require,module,exports){
5186
6310
  const BaseElement = require("./base/base-element.js");
5187
6311
 
5188
6312
  class ProductElement extends BaseElement {
@@ -5214,7 +6338,7 @@ class ProductElement extends BaseElement {
5214
6338
  }
5215
6339
 
5216
6340
  module.exports = ProductElement;
5217
- },{"./base/base-element.js":104}],113:[function(require,module,exports){
6341
+ },{"./base/base-element.js":114}],123:[function(require,module,exports){
5218
6342
  const BaseElement = require("./base/base-element.js");
5219
6343
 
5220
6344
  class StudioElement extends BaseElement {
@@ -5232,7 +6356,7 @@ class StudioElement extends BaseElement {
5232
6356
  }
5233
6357
 
5234
6358
  module.exports = StudioElement;
5235
- },{"./base/base-element.js":104}],114:[function(require,module,exports){
6359
+ },{"./base/base-element.js":114}],124:[function(require,module,exports){
5236
6360
  const BaseElement = require("./base/base-element.js");
5237
6361
 
5238
6362
  class ViewerElement extends BaseElement {
@@ -5260,7 +6384,7 @@ class ViewerElement extends BaseElement {
5260
6384
  }
5261
6385
 
5262
6386
  module.exports = ViewerElement;
5263
- },{"./base/base-element.js":104}],115:[function(require,module,exports){
6387
+ },{"./base/base-element.js":114}],125:[function(require,module,exports){
5264
6388
  const BaseElement = require("./base/base-element.js");
5265
6389
 
5266
6390
  class WebXRElement extends BaseElement {
@@ -5278,7 +6402,7 @@ class WebXRElement extends BaseElement {
5278
6402
  }
5279
6403
 
5280
6404
  module.exports = WebXRElement;
5281
- },{"./base/base-element.js":104}],116:[function(require,module,exports){
6405
+ },{"./base/base-element.js":114}],126:[function(require,module,exports){
5282
6406
  "use strict";
5283
6407
  const WebXRElement = require("./elements/webxr-element.js");
5284
6408
  const ViewerElement = require("./elements/viewer-element.js");
@@ -5332,7 +6456,7 @@ console.log("using @plattar/plattar-web v" + Version);
5332
6456
  module.exports = {
5333
6457
  version: Version
5334
6458
  };
5335
- },{"./elements/configurator-element.js":105,"./elements/editor-element.js":108,"./elements/ewall-element.js":109,"./elements/facear-element.js":110,"./elements/model-element.js":111,"./elements/product-element.js":112,"./elements/studio-element.js":113,"./elements/viewer-element.js":114,"./elements/webxr-element.js":115,"./version":118}],117:[function(require,module,exports){
6459
+ },{"./elements/configurator-element.js":115,"./elements/editor-element.js":118,"./elements/ewall-element.js":119,"./elements/facear-element.js":120,"./elements/model-element.js":121,"./elements/product-element.js":122,"./elements/studio-element.js":123,"./elements/viewer-element.js":124,"./elements/webxr-element.js":125,"./version":128}],127:[function(require,module,exports){
5336
6460
  class Util {
5337
6461
  static getServerLocation(server) {
5338
6462
  switch (server) {
@@ -5407,10 +6531,10 @@ class Util {
5407
6531
  }
5408
6532
 
5409
6533
  module.exports = Util;
5410
- },{}],118:[function(require,module,exports){
6534
+ },{}],128:[function(require,module,exports){
5411
6535
  module.exports = "1.122.3";
5412
6536
 
5413
- },{}],119:[function(require,module,exports){
6537
+ },{}],129:[function(require,module,exports){
5414
6538
  (function (global){(function (){
5415
6539
  "use strict";
5416
6540
 
@@ -5438,7 +6562,11 @@ exports.Headers = global.Headers;
5438
6562
  exports.Request = global.Request;
5439
6563
  exports.Response = global.Response;
5440
6564
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5441
- },{}],120:[function(require,module,exports){
6565
+ },{}],130:[function(require,module,exports){
6566
+ (function (global){(function (){
6567
+ !function(e){var t;"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):("undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function o(i,u,a){function s(n,e){if(!u[n]){if(!i[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(f)return f(n,!0);throw new Error("Cannot find module '"+n+"'")}var r=u[n]={exports:{}};i[n][0].call(r.exports,function(e){var t=i[n][1][e];return s(t||e)},r,r.exports,o,i,u,a)}return u[n].exports}for(var f="function"==typeof require&&require,e=0;e<a.length;e++)s(a[e]);return s}({1:[function(w,b,m){(function(e,t,f,n,r,o,i,u,a){"use strict";var s=w("crypto");function c(e,t){return function(e,t){var n;n="passthrough"!==t.algorithm?s.createHash(t.algorithm):new y;void 0===n.write&&(n.write=n.update,n.end=n.update);g(t,n).dispatch(e),n.update||n.end("");if(n.digest)return n.digest("buffer"===t.encoding?void 0:t.encoding);var r=n.read();return"buffer"!==t.encoding?r.toString(t.encoding):r}(e,t=h(e,t))}(m=b.exports=c).sha1=function(e){return c(e)},m.keys=function(e){return c(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},m.MD5=function(e){return c(e,{algorithm:"md5",encoding:"hex"})},m.keysMD5=function(e){return c(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var l=s.getHashes?s.getHashes().slice():["sha1","md5"];l.push("passthrough");var d=["buffer","hex","binary","base64"];function h(e,t){t=t||{};var n={};if(n.algorithm=t.algorithm||"sha1",n.encoding=t.encoding||"hex",n.excludeValues=!!t.excludeValues,n.algorithm=n.algorithm.toLowerCase(),n.encoding=n.encoding.toLowerCase(),n.ignoreUnknown=!0===t.ignoreUnknown,n.respectType=!1!==t.respectType,n.respectFunctionNames=!1!==t.respectFunctionNames,n.respectFunctionProperties=!1!==t.respectFunctionProperties,n.unorderedArrays=!0===t.unorderedArrays,n.unorderedSets=!1!==t.unorderedSets,n.unorderedObjects=!1!==t.unorderedObjects,n.replacer=t.replacer||void 0,n.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error("Object argument required.");for(var r=0;r<l.length;++r)l[r].toLowerCase()===n.algorithm.toLowerCase()&&(n.algorithm=l[r]);if(-1===l.indexOf(n.algorithm))throw new Error('Algorithm "'+n.algorithm+'" not supported. supported values: '+l.join(", "));if(-1===d.indexOf(n.encoding)&&"passthrough"!==n.algorithm)throw new Error('Encoding "'+n.encoding+'" not supported. supported values: '+d.join(", "));return n}function p(e){if("function"==typeof e){return null!=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e))}}function g(u,t,a){a=a||[];function s(e){return t.update?t.update(e,"utf8"):t.write(e,"utf8")}return{dispatch:function(e){return u.replacer&&(e=u.replacer(e)),this["_"+(null===e?"null":typeof e)](e)},_object:function(t){var e=Object.prototype.toString.call(t),n=/\[object (.*)\]/i.exec(e);n=(n=n?n[1]:"unknown:["+e+"]").toLowerCase();var r;if(0<=(r=a.indexOf(t)))return this.dispatch("[CIRCULAR:"+r+"]");if(a.push(t),void 0!==f&&f.isBuffer&&f.isBuffer(t))return s("buffer:"),s(t);if("object"===n||"function"===n||"asyncfunction"===n){var o=Object.keys(t);u.unorderedObjects&&(o=o.sort()),!1===u.respectType||p(t)||o.splice(0,0,"prototype","__proto__","constructor"),u.excludeKeys&&(o=o.filter(function(e){return!u.excludeKeys(e)})),s("object:"+o.length+":");var i=this;return o.forEach(function(e){i.dispatch(e),s(":"),u.excludeValues||i.dispatch(t[e]),s(",")})}if(!this["_"+n]){if(u.ignoreUnknown)return s("["+n+"]");throw new Error('Unknown object type "'+n+'"')}this["_"+n](t)},_array:function(e,t){t=void 0!==t?t:!1!==u.unorderedArrays;var n=this;if(s("array:"+e.length+":"),!t||e.length<=1)return e.forEach(function(e){return n.dispatch(e)});var r=[],o=e.map(function(e){var t=new y,n=a.slice();return g(u,t,n).dispatch(e),r=r.concat(n.slice(a.length)),t.read().toString()});return a=a.concat(r),o.sort(),this._array(o,!1)},_date:function(e){return s("date:"+e.toJSON())},_symbol:function(e){return s("symbol:"+e.toString())},_error:function(e){return s("error:"+e.toString())},_boolean:function(e){return s("bool:"+e.toString())},_string:function(e){s("string:"+e.length+":"),s(e.toString())},_function:function(e){s("fn:"),p(e)?this.dispatch("[native]"):this.dispatch(e.toString()),!1!==u.respectFunctionNames&&this.dispatch("function-name:"+String(e.name)),u.respectFunctionProperties&&this._object(e)},_number:function(e){return s("number:"+e.toString())},_xml:function(e){return s("xml:"+e.toString())},_null:function(){return s("Null")},_undefined:function(){return s("Undefined")},_regexp:function(e){return s("regex:"+e.toString())},_uint8array:function(e){return s("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return s("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return s("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return s("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return s("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return s("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return s("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return s("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return s("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return s("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return s("url:"+e.toString())},_map:function(e){s("map:");var t=Array.from(e);return this._array(t,!1!==u.unorderedSets)},_set:function(e){s("set:");var t=Array.from(e);return this._array(t,!1!==u.unorderedSets)},_file:function(e){return s("file:"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(u.ignoreUnknown)return s("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return s("domwindow")},_bigint:function(e){return s("bigint:"+e.toString())},_process:function(){return s("process")},_timer:function(){return s("timer")},_pipe:function(){return s("pipe")},_tcp:function(){return s("tcp")},_udp:function(){return s("udp")},_tty:function(){return s("tty")},_statwatcher:function(){return s("statwatcher")},_securecontext:function(){return s("securecontext")},_connection:function(){return s("connection")},_zlib:function(){return s("zlib")},_context:function(){return s("context")},_nodescript:function(){return s("nodescript")},_httpparser:function(){return s("httpparser")},_dataview:function(){return s("dataview")},_signal:function(){return s("signal")},_fsevent:function(){return s("fsevent")},_tlswrap:function(){return s("tlswrap")}}}function y(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}m.writeToStream=function(e,t,n){return void 0===n&&(n=t,t={}),g(t=h(e,t),n).dispatch(e)}}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_7eac155c.js","/")},{buffer:3,crypto:5,lYpoI2:10}],2:[function(e,t,f){(function(e,t,n,r,o,i,u,a,s){!function(e){"use strict";var f="undefined"!=typeof Uint8Array?Uint8Array:Array,n="+".charCodeAt(0),r="/".charCodeAt(0),o="0".charCodeAt(0),i="a".charCodeAt(0),u="A".charCodeAt(0),a="-".charCodeAt(0),s="_".charCodeAt(0);function c(e){var t=e.charCodeAt(0);return t===n||t===a?62:t===r||t===s?63:t<o?-1:t<o+10?t-o+26+26:t<u+26?t-u:t<i+26?t-i+26:void 0}e.toByteArray=function(e){var t,n;if(0<e.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.length,o="="===e.charAt(r-2)?2:"="===e.charAt(r-1)?1:0,i=new f(3*e.length/4-o),u=0<o?e.length-4:e.length,a=0;function s(e){i[a++]=e}for(t=0;t<u;t+=4,0)s((16711680&(n=c(e.charAt(t))<<18|c(e.charAt(t+1))<<12|c(e.charAt(t+2))<<6|c(e.charAt(t+3))))>>16),s((65280&n)>>8),s(255&n);return 2==o?s(255&(n=c(e.charAt(t))<<2|c(e.charAt(t+1))>>4)):1==o&&(s((n=c(e.charAt(t))<<10|c(e.charAt(t+1))<<4|c(e.charAt(t+2))>>2)>>8&255),s(255&n)),i},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u="";function a(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,r=e.length-i;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],u+=a((o=n)>>18&63)+a(o>>12&63)+a(o>>6&63)+a(63&o);switch(i){case 1:u+=a((n=e[e.length-1])>>2),u+=a(n<<4&63),u+="==";break;case 2:u+=a((n=(e[e.length-2]<<8)+e[e.length-1])>>10),u+=a(n>>4&63),u+=a(n<<2&63),u+="="}return u}}(void 0===f?this.base64js={}:f)}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:10}],3:[function(O,e,H){(function(e,t,g,n,r,o,i,u,a){var s=O("base64-js"),f=O("ieee754");function g(e,t,n){if(!(this instanceof g))return new g(e,t,n);var r,o,i,u,a,s=typeof e;if("base64"===t&&"string"==s)for(e=(r=e).trim?r.trim():r.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==s)o=x(e);else if("string"==s)o=g.byteLength(e,t);else{if("object"!=s)throw new Error("First argument needs to be a number, array or string.");o=x(e.length)}if(g._useTypedArrays?i=g._augment(new Uint8Array(o)):((i=this).length=o,i._isBuffer=!0),g._useTypedArrays&&"number"==typeof e.byteLength)i._set(e);else if(S(a=e)||g.isBuffer(a)||a&&"object"==typeof a&&"number"==typeof a.length)for(u=0;u<o;u++)g.isBuffer(e)?i[u]=e.readUInt8(u):i[u]=e[u];else if("string"==s)i.write(e,0,t);else if("number"==s&&!g._useTypedArrays&&!n)for(u=0;u<o;u++)i[u]=0;return i}function y(e,t,n,r){return g._charsWritten=T(function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function w(e,t,n,r){return g._charsWritten=T(function(e){for(var t,n,r,o=[],i=0;i<e.length;i++)t=e.charCodeAt(i),n=t>>8,r=t%256,o.push(r),o.push(n);return o}(t),e,n,r)}function c(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;o++)r+=String.fromCharCode(e[o]);return r}function l(e,t,n,r){r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+1<e.length,"Trying to read beyond buffer length"));var o,i=e.length;if(!(i<=t))return n?(o=e[t],t+1<i&&(o|=e[t+1]<<8)):(o=e[t]<<8,t+1<i&&(o|=e[t+1])),o}function d(e,t,n,r){r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+3<e.length,"Trying to read beyond buffer length"));var o,i=e.length;if(!(i<=t))return n?(t+2<i&&(o=e[t+2]<<16),t+1<i&&(o|=e[t+1]<<8),o|=e[t],t+3<i&&(o+=e[t+3]<<24>>>0)):(t+1<i&&(o=e[t+1]<<16),t+2<i&&(o|=e[t+2]<<8),t+3<i&&(o|=e[t+3]),o+=e[t]<<24>>>0),o}function h(e,t,n,r){if(r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+1<e.length,"Trying to read beyond buffer length")),!(e.length<=t)){var o=l(e,t,n,!0);return 32768&o?-1*(65535-o+1):o}}function p(e,t,n,r){if(r||(D("boolean"==typeof n,"missing or invalid endian"),D(null!=t,"missing offset"),D(t+3<e.length,"Trying to read beyond buffer length")),!(e.length<=t)){var o=d(e,t,n,!0);return 2147483648&o?-1*(4294967295-o+1):o}}function b(e,t,n,r){return r||(D("boolean"==typeof n,"missing or invalid endian"),D(t+3<e.length,"Trying to read beyond buffer length")),f.read(e,t,n,23,4)}function m(e,t,n,r){return r||(D("boolean"==typeof n,"missing or invalid endian"),D(t+7<e.length,"Trying to read beyond buffer length")),f.read(e,t,n,52,8)}function v(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+1<e.length,"trying to write beyond buffer length"),N(t,65535));var i=e.length;if(!(i<=n))for(var u=0,a=Math.min(i-n,2);u<a;u++)e[n+u]=(t&255<<8*(r?u:1-u))>>>8*(r?u:1-u)}function _(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"trying to write beyond buffer length"),N(t,4294967295));var i=e.length;if(!(i<=n))for(var u=0,a=Math.min(i-n,4);u<a;u++)e[n+u]=t>>>8*(r?u:3-u)&255}function E(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+1<e.length,"Trying to write beyond buffer length"),Y(t,32767,-32768)),e.length<=n||v(e,0<=t?t:65535+t+1,n,r,o)}function I(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"Trying to write beyond buffer length"),Y(t,2147483647,-2147483648)),e.length<=n||_(e,0<=t?t:4294967295+t+1,n,r,o)}function A(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+3<e.length,"Trying to write beyond buffer length"),F(t,34028234663852886e22,-34028234663852886e22)),e.length<=n||f.write(e,t,n,r,23,4)}function B(e,t,n,r,o){o||(D(null!=t,"missing value"),D("boolean"==typeof r,"missing or invalid endian"),D(null!=n,"missing offset"),D(n+7<e.length,"Trying to write beyond buffer length"),F(t,17976931348623157e292,-17976931348623157e292)),e.length<=n||f.write(e,t,n,r,52,8)}H.Buffer=g,H.SlowBuffer=g,H.INSPECT_MAX_BYTES=50,g.poolSize=8192,g._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(e){return!1}}(),g.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},g.isBuffer=function(e){return!(null==e||!e._isBuffer)},g.byteLength=function(e,t){var n;switch(e+="",t||"utf8"){case"hex":n=e.length/2;break;case"utf8":case"utf-8":n=C(e).length;break;case"ascii":case"binary":case"raw":n=e.length;break;case"base64":n=k(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":n=2*e.length;break;default:throw new Error("Unknown encoding")}return n},g.concat=function(e,t){if(D(S(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new g(0);if(1===e.length)return e[0];if("number"!=typeof t)for(o=t=0;o<e.length;o++)t+=e[o].length;for(var n=new g(t),r=0,o=0;o<e.length;o++){var i=e[o];i.copy(n,r),r+=i.length}return n},g.prototype.write=function(e,t,n,r){var o;isFinite(t)?isFinite(n)||(r=n,n=void 0):(o=r,r=t,t=n,n=o),t=Number(t)||0;var i,u,a,s,f,c,l,d,h,p=this.length-t;switch((!n||p<(n=Number(n)))&&(n=p),r=String(r||"utf8").toLowerCase()){case"hex":i=function(e,t,n,r){n=Number(n)||0;var o=e.length-n;(!r||o<(r=Number(r)))&&(r=o);var i=t.length;D(i%2==0,"Invalid hex string"),i/2<r&&(r=i/2);for(var u=0;u<r;u++){var a=parseInt(t.substr(2*u,2),16);D(!isNaN(a),"Invalid hex string"),e[n+u]=a}return g._charsWritten=2*u,u}(this,e,t,n);break;case"utf8":case"utf-8":c=this,l=e,d=t,h=n,i=g._charsWritten=T(C(l),c,d,h);break;case"ascii":case"binary":i=y(this,e,t,n);break;case"base64":u=this,a=e,s=t,f=n,i=g._charsWritten=T(k(a),u,s,f);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":i=w(this,e,t,n);break;default:throw new Error("Unknown encoding")}return i},g.prototype.toString=function(e,t,n){var r,o,i,u,a=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):n=a.length)===t)return"";switch(e){case"hex":r=function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||r<n)&&(n=r);for(var o="",i=t;i<n;i++)o+=j(e[i]);return o}(a,t,n);break;case"utf8":case"utf-8":r=function(e,t,n){var r="",o="";n=Math.min(e.length,n);for(var i=t;i<n;i++)e[i]<=127?(r+=M(o)+String.fromCharCode(e[i]),o=""):o+="%"+e[i].toString(16);return r+M(o)}(a,t,n);break;case"ascii":case"binary":r=c(a,t,n);break;case"base64":o=a,u=n,r=0===(i=t)&&u===o.length?s.fromByteArray(o):s.fromByteArray(o.slice(i,u));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":r=function(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}(a,t,n);break;default:throw new Error("Unknown encoding")}return r},g.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},g.prototype.copy=function(e,t,n,r){if(n=n||0,r||0===r||(r=this.length),t=t||0,r!==n&&0!==e.length&&0!==this.length){D(n<=r,"sourceEnd < sourceStart"),D(0<=t&&t<e.length,"targetStart out of bounds"),D(0<=n&&n<this.length,"sourceStart out of bounds"),D(0<=r&&r<=this.length,"sourceEnd out of bounds"),r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o=r-n;if(o<100||!g._useTypedArrays)for(var i=0;i<o;i++)e[i+t]=this[i+n];else e._set(this.subarray(n,n+o),t)}},g.prototype.slice=function(e,t){var n=this.length;if(e=U(e,n,0),t=U(t,n,n),g._useTypedArrays)return g._augment(this.subarray(e,t));for(var r=t-e,o=new g(r,void 0,!0),i=0;i<r;i++)o[i]=this[i+e];return o},g.prototype.get=function(e){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(e)},g.prototype.set=function(e,t){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(e,t)},g.prototype.readUInt8=function(e,t){if(t||(D(null!=e,"missing offset"),D(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return this[e]},g.prototype.readUInt16LE=function(e,t){return l(this,e,!0,t)},g.prototype.readUInt16BE=function(e,t){return l(this,e,!1,t)},g.prototype.readUInt32LE=function(e,t){return d(this,e,!0,t)},g.prototype.readUInt32BE=function(e,t){return d(this,e,!1,t)},g.prototype.readInt8=function(e,t){if(t||(D(null!=e,"missing offset"),D(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},g.prototype.readInt16LE=function(e,t){return h(this,e,!0,t)},g.prototype.readInt16BE=function(e,t){return h(this,e,!1,t)},g.prototype.readInt32LE=function(e,t){return p(this,e,!0,t)},g.prototype.readInt32BE=function(e,t){return p(this,e,!1,t)},g.prototype.readFloatLE=function(e,t){return b(this,e,!0,t)},g.prototype.readFloatBE=function(e,t){return b(this,e,!1,t)},g.prototype.readDoubleLE=function(e,t){return m(this,e,!0,t)},g.prototype.readDoubleBE=function(e,t){return m(this,e,!1,t)},g.prototype.writeUInt8=function(e,t,n){n||(D(null!=e,"missing value"),D(null!=t,"missing offset"),D(t<this.length,"trying to write beyond buffer length"),N(e,255)),t>=this.length||(this[t]=e)},g.prototype.writeUInt16LE=function(e,t,n){v(this,e,t,!0,n)},g.prototype.writeUInt16BE=function(e,t,n){v(this,e,t,!1,n)},g.prototype.writeUInt32LE=function(e,t,n){_(this,e,t,!0,n)},g.prototype.writeUInt32BE=function(e,t,n){_(this,e,t,!1,n)},g.prototype.writeInt8=function(e,t,n){n||(D(null!=e,"missing value"),D(null!=t,"missing offset"),D(t<this.length,"Trying to write beyond buffer length"),Y(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},g.prototype.writeInt16LE=function(e,t,n){E(this,e,t,!0,n)},g.prototype.writeInt16BE=function(e,t,n){E(this,e,t,!1,n)},g.prototype.writeInt32LE=function(e,t,n){I(this,e,t,!0,n)},g.prototype.writeInt32BE=function(e,t,n){I(this,e,t,!1,n)},g.prototype.writeFloatLE=function(e,t,n){A(this,e,t,!0,n)},g.prototype.writeFloatBE=function(e,t,n){A(this,e,t,!1,n)},g.prototype.writeDoubleLE=function(e,t,n){B(this,e,t,!0,n)},g.prototype.writeDoubleBE=function(e,t,n){B(this,e,t,!1,n)},g.prototype.fill=function(e,t,n){if(e=e||0,t=t||0,n=n||this.length,"string"==typeof e&&(e=e.charCodeAt(0)),D("number"==typeof e&&!isNaN(e),"value is not a number"),D(t<=n,"end < start"),n!==t&&0!==this.length){D(0<=t&&t<this.length,"start out of bounds"),D(0<=n&&n<=this.length,"end out of bounds");for(var r=t;r<n;r++)this[r]=e}},g.prototype.inspect=function(){for(var e=[],t=this.length,n=0;n<t;n++)if(e[n]=j(this[n]),n===H.INSPECT_MAX_BYTES){e[n+1]="...";break}return"<Buffer "+e.join(" ")+">"},g.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(g._useTypedArrays)return new g(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer};var L=g.prototype;function U(e,t,n){return"number"!=typeof e?n:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function x(e){return(e=~~Math.ceil(+e))<0?0:e}function S(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function j(e){return e<16?"0"+e.toString(16):e.toString(16)}function C(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(e.charCodeAt(n));else{var o=n;55296<=r&&r<=57343&&n++;for(var i=encodeURIComponent(e.slice(o,n+1)).substr(1).split("%"),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}}return t}function k(e){return s.toByteArray(e)}function T(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function M(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function N(e,t){D("number"==typeof e,"cannot write a non-number as a number"),D(0<=e,"specified a negative value for writing an unsigned value"),D(e<=t,"value is larger than maximum value for type"),D(Math.floor(e)===e,"value has a fractional component")}function Y(e,t,n){D("number"==typeof e,"cannot write a non-number as a number"),D(e<=t,"value larger than maximum allowed value"),D(n<=e,"value smaller than minimum allowed value"),D(Math.floor(e)===e,"value has a fractional component")}function F(e,t,n){D("number"==typeof e,"cannot write a non-number as a number"),D(e<=t,"value larger than maximum allowed value"),D(n<=e,"value smaller than minimum allowed value")}function D(e,t){if(!e)throw new Error(t||"Failed assertion")}g._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=L.get,e.set=L.set,e.write=L.write,e.toString=L.toString,e.toLocaleString=L.toString,e.toJSON=L.toJSON,e.copy=L.copy,e.slice=L.slice,e.readUInt8=L.readUInt8,e.readUInt16LE=L.readUInt16LE,e.readUInt16BE=L.readUInt16BE,e.readUInt32LE=L.readUInt32LE,e.readUInt32BE=L.readUInt32BE,e.readInt8=L.readInt8,e.readInt16LE=L.readInt16LE,e.readInt16BE=L.readInt16BE,e.readInt32LE=L.readInt32LE,e.readInt32BE=L.readInt32BE,e.readFloatLE=L.readFloatLE,e.readFloatBE=L.readFloatBE,e.readDoubleLE=L.readDoubleLE,e.readDoubleBE=L.readDoubleBE,e.writeUInt8=L.writeUInt8,e.writeUInt16LE=L.writeUInt16LE,e.writeUInt16BE=L.writeUInt16BE,e.writeUInt32LE=L.writeUInt32LE,e.writeUInt32BE=L.writeUInt32BE,e.writeInt8=L.writeInt8,e.writeInt16LE=L.writeInt16LE,e.writeInt16BE=L.writeInt16BE,e.writeInt32LE=L.writeInt32LE,e.writeInt32BE=L.writeInt32BE,e.writeFloatLE=L.writeFloatLE,e.writeFloatBE=L.writeFloatBE,e.writeDoubleLE=L.writeDoubleLE,e.writeDoubleBE=L.writeDoubleBE,e.fill=L.fill,e.inspect=L.inspect,e.toArrayBuffer=L.toArrayBuffer,e}}).call(this,O("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},O("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:11,lYpoI2:10}],4:[function(l,d,e){(function(e,t,u,n,r,o,i,a,s){var u=l("buffer").Buffer,f=4,c=new u(f);c.fill(0);d.exports={hash:function(e,t,n,r){return u.isBuffer(e)||(e=new u(e)),function(e,t,n){for(var r=new u(t),o=n?r.writeInt32BE:r.writeInt32LE,i=0;i<e.length;i++)o.call(r,e[i],4*i,!0);return r}(t(function(e,t){var n;e.length%f!=0&&(n=e.length+(f-e.length%f),e=u.concat([e,c],n));for(var r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;i<e.length;i+=f)r.push(o.call(e,i));return r}(e,r),8*e.length),n,r)}}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],5:[function(w,e,b){(function(e,t,a,n,r,o,i,u,s){var a=w("buffer").Buffer,f=w("./sha"),c=w("./sha256"),l=w("./rng"),d={sha1:f,sha256:c,md5:w("./md5")},h=64,p=new a(h);function g(e,r){var o=d[e=e||"sha1"],i=[];return o||y("algorithm:",e,"is not yet supported"),{update:function(e){return a.isBuffer(e)||(e=new a(e)),i.push(e),e.length,this},digest:function(e){var t=a.concat(i),n=r?function(e,t,n){a.isBuffer(t)||(t=new a(t)),a.isBuffer(n)||(n=new a(n)),t.length>h?t=e(t):t.length<h&&(t=a.concat([t,p],h));for(var r=new a(h),o=new a(h),i=0;i<h;i++)r[i]=54^t[i],o[i]=92^t[i];var u=e(a.concat([r,n]));return e(a.concat([o,u]))}(o,r,t):o(t);return i=null,e?n.toString(e):n}}}function y(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}p.fill(0),b.createHash=function(e){return g(e)},b.createHmac=g,b.randomBytes=function(e,t){if(!t||!t.call)return new a(l(e));try{t.call(this,void 0,new a(l(e)))}catch(e){t(e)}},function(e,t){for(var n in e)t(e[n],n)}(["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],function(e){b[e]=function(){y("sorry,",e,"is not implemented yet")}})}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:10}],6:[function(w,b,e){(function(e,t,n,r,o,i,u,a,s){var f=w("./helpers");function c(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var a=n,s=r,f=o,c=i,n=d(n,r,o,i,e[u+0],7,-680876936),i=d(i,n,r,o,e[u+1],12,-389564586),o=d(o,i,n,r,e[u+2],17,606105819),r=d(r,o,i,n,e[u+3],22,-1044525330);n=d(n,r,o,i,e[u+4],7,-176418897),i=d(i,n,r,o,e[u+5],12,1200080426),o=d(o,i,n,r,e[u+6],17,-1473231341),r=d(r,o,i,n,e[u+7],22,-45705983),n=d(n,r,o,i,e[u+8],7,1770035416),i=d(i,n,r,o,e[u+9],12,-1958414417),o=d(o,i,n,r,e[u+10],17,-42063),r=d(r,o,i,n,e[u+11],22,-1990404162),n=d(n,r,o,i,e[u+12],7,1804603682),i=d(i,n,r,o,e[u+13],12,-40341101),o=d(o,i,n,r,e[u+14],17,-1502002290),n=h(n,r=d(r,o,i,n,e[u+15],22,1236535329),o,i,e[u+1],5,-165796510),i=h(i,n,r,o,e[u+6],9,-1069501632),o=h(o,i,n,r,e[u+11],14,643717713),r=h(r,o,i,n,e[u+0],20,-373897302),n=h(n,r,o,i,e[u+5],5,-701558691),i=h(i,n,r,o,e[u+10],9,38016083),o=h(o,i,n,r,e[u+15],14,-660478335),r=h(r,o,i,n,e[u+4],20,-405537848),n=h(n,r,o,i,e[u+9],5,568446438),i=h(i,n,r,o,e[u+14],9,-1019803690),o=h(o,i,n,r,e[u+3],14,-187363961),r=h(r,o,i,n,e[u+8],20,1163531501),n=h(n,r,o,i,e[u+13],5,-1444681467),i=h(i,n,r,o,e[u+2],9,-51403784),o=h(o,i,n,r,e[u+7],14,1735328473),n=p(n,r=h(r,o,i,n,e[u+12],20,-1926607734),o,i,e[u+5],4,-378558),i=p(i,n,r,o,e[u+8],11,-2022574463),o=p(o,i,n,r,e[u+11],16,1839030562),r=p(r,o,i,n,e[u+14],23,-35309556),n=p(n,r,o,i,e[u+1],4,-1530992060),i=p(i,n,r,o,e[u+4],11,1272893353),o=p(o,i,n,r,e[u+7],16,-155497632),r=p(r,o,i,n,e[u+10],23,-1094730640),n=p(n,r,o,i,e[u+13],4,681279174),i=p(i,n,r,o,e[u+0],11,-358537222),o=p(o,i,n,r,e[u+3],16,-722521979),r=p(r,o,i,n,e[u+6],23,76029189),n=p(n,r,o,i,e[u+9],4,-640364487),i=p(i,n,r,o,e[u+12],11,-421815835),o=p(o,i,n,r,e[u+15],16,530742520),n=g(n,r=p(r,o,i,n,e[u+2],23,-995338651),o,i,e[u+0],6,-198630844),i=g(i,n,r,o,e[u+7],10,1126891415),o=g(o,i,n,r,e[u+14],15,-1416354905),r=g(r,o,i,n,e[u+5],21,-57434055),n=g(n,r,o,i,e[u+12],6,1700485571),i=g(i,n,r,o,e[u+3],10,-1894986606),o=g(o,i,n,r,e[u+10],15,-1051523),r=g(r,o,i,n,e[u+1],21,-2054922799),n=g(n,r,o,i,e[u+8],6,1873313359),i=g(i,n,r,o,e[u+15],10,-30611744),o=g(o,i,n,r,e[u+6],15,-1560198380),r=g(r,o,i,n,e[u+13],21,1309151649),n=g(n,r,o,i,e[u+4],6,-145523070),i=g(i,n,r,o,e[u+11],10,-1120210379),o=g(o,i,n,r,e[u+2],15,718787259),r=g(r,o,i,n,e[u+9],21,-343485551),n=y(n,a),r=y(r,s),o=y(o,f),i=y(i,c)}return Array(n,r,o,i)}function l(e,t,n,r,o,i){return y((u=y(y(t,e),y(r,i)))<<(a=o)|u>>>32-a,n);var u,a}function d(e,t,n,r,o,i,u){return l(t&n|~t&r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return l(t&r|n&~r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return l(t^n^r,e,t,o,i,u)}function g(e,t,n,r,o,i,u){return l(n^(t|~r),e,t,o,i,u)}function y(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return f.hash(e,c,16)}}).call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],7:[function(e,l,t){(function(e,t,n,r,o,i,u,a,s){var f,c;c=function(e){for(var t,n=new Array(e),r=0;r<e;r++)0==(3&r)&&(t=4294967296*Math.random()),n[r]=t>>>((3&r)<<3)&255;return n},l.exports=f||c}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:10}],8:[function(l,d,e){(function(e,t,n,r,o,i,u,a,s){var f=l("./helpers");function c(e,t){e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var n,r,o,i,u,a=Array(80),s=1732584193,f=-271733879,c=-1732584194,l=271733878,d=-1009589776,h=0;h<e.length;h+=16){for(var p=s,g=f,y=c,w=l,b=d,m=0;m<80;m++){a[m]=m<16?e[h+m]:E(a[m-3]^a[m-8]^a[m-14]^a[m-16],1);var v=_(_(E(s,5),(o=f,i=c,u=l,(r=m)<20?o&i|~o&u:!(r<40)&&r<60?o&i|o&u|i&u:o^i^u)),_(_(d,a[m]),(n=m)<20?1518500249:n<40?1859775393:n<60?-1894007588:-899497514)),d=l,l=c,c=E(f,30),f=s,s=v}s=_(s,p),f=_(f,g),c=_(c,y),l=_(l,w),d=_(d,b)}return Array(s,f,c,l,d)}function _(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function E(e,t){return e<<t|e>>>32-t}d.exports=function(e){return f.hash(e,c,20,!0)}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],9:[function(l,d,e){(function(e,t,n,r,o,i,u,a,s){function B(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function L(e,t){return e>>>t|e<<32-t}function f(e,t){var n,r,o,i,u,a,s,f,c,l,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),h=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),p=new Array(64);e[t>>5]|=128<<24-t%32,e[15+(t+64>>9<<4)]=t;for(var g,y,w,b,m,v,_,E,I=0;I<e.length;I+=16){n=h[0],r=h[1],o=h[2],i=h[3],u=h[4],a=h[5],s=h[6],f=h[7];for(var A=0;A<64;A++)p[A]=A<16?e[A+I]:B(B(B((E=p[A-2],L(E,17)^L(E,19)^E>>>10),p[A-7]),(_=p[A-15],L(_,7)^L(_,18)^_>>>3)),p[A-16]),c=B(B(B(B(f,L(v=u,6)^L(v,11)^L(v,25)),(m=u)&a^~m&s),d[A]),p[A]),l=B(L(b=n,2)^L(b,13)^L(b,22),(g=n)&(y=r)^g&(w=o)^y&w),f=s,s=a,a=u,u=B(i,c),i=o,o=r,r=n,n=B(c,l);h[0]=B(n,h[0]),h[1]=B(r,h[1]),h[2]=B(o,h[2]),h[3]=B(i,h[3]),h[4]=B(u,h[4]),h[5]=B(a,h[5]),h[6]=B(s,h[6]),h[7]=B(f,h[7])}return h}var c=l("./helpers");d.exports=function(e){return c.hash(e,f,32,!0)}}).call(this,l("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},l("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:10}],10:[function(e,c,t){(function(e,t,n,r,o,i,u,a,s){function f(){}(e=c.exports={}).nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),0<n.length&&n.shift()())},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=f,e.addListener=f,e.once=f,e.off=f,e.removeListener=f,e.removeAllListeners=f,e.emit=f,e.binding=function(e){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(e){throw new Error("process.chdir is not supported")}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:10}],11:[function(e,t,f){(function(e,t,n,r,o,i,u,a,s){f.read=function(e,t,n,r,o){var i,u,a=8*o-r-1,s=(1<<a)-1,f=s>>1,c=-7,l=n?o-1:0,d=n?-1:1,h=e[t+l];for(l+=d,i=h&(1<<-c)-1,h>>=-c,c+=a;0<c;i=256*i+e[t+l],l+=d,c-=8);for(u=i&(1<<-c)-1,i>>=-c,c+=r;0<c;u=256*u+e[t+l],l+=d,c-=8);if(0===i)i=1-f;else{if(i===s)return u?NaN:1/0*(h?-1:1);u+=Math.pow(2,r),i-=f}return(h?-1:1)*u*Math.pow(2,i-r)},f.write=function(e,t,n,r,o,i){var u,a,s,f=8*i-o-1,c=(1<<f)-1,l=c>>1,d=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,h=r?0:i-1,p=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,u=c):(u=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-u))<1&&(u--,s*=2),2<=(t+=1<=u+l?d/s:d*Math.pow(2,1-l))*s&&(u++,s/=2),c<=u+l?(a=0,u=c):1<=u+l?(a=(t*s-1)*Math.pow(2,o),u+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,o),u=0));8<=o;e[n+h]=255&a,h+=p,a/=256,o-=8);for(u=u<<o|a,f+=o;0<f;e[n+h]=255&u,h+=p,u/=256,f-=8);e[n+h-p]|=128*g}}).call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/ieee754/index.js","/node_modules/ieee754")},{buffer:3,lYpoI2:10}]},{},[1])(1)});
6568
+ }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
6569
+ },{}],131:[function(require,module,exports){
5442
6570
  // shim for using process in browser
5443
6571
  var process = module.exports = {};
5444
6572
 
@@ -5624,8 +6752,8 @@ process.chdir = function (dir) {
5624
6752
  };
5625
6753
  process.umask = function() { return 0; };
5626
6754
 
5627
- },{}],121:[function(require,module,exports){
6755
+ },{}],132:[function(require,module,exports){
5628
6756
  !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(self,(function(){return(()=>{var t={192:(t,e)=>{var r,n,o=function(){var t=function(t,e){var r=t,n=a[e],o=null,i=0,u=null,v=[],w={},m=function(t,e){o=function(t){for(var e=new Array(t),r=0;r<t;r+=1){e[r]=new Array(t);for(var n=0;n<t;n+=1)e[r][n]=null}return e}(i=4*r+17),b(0,0),b(i-7,0),b(0,i-7),x(),_(),M(t,e),r>=7&&S(t),null==u&&(u=A(r,n,v)),C(u,e)},b=function(t,e){for(var r=-1;r<=7;r+=1)if(!(t+r<=-1||i<=t+r))for(var n=-1;n<=7;n+=1)e+n<=-1||i<=e+n||(o[t+r][e+n]=0<=r&&r<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=n&&n<=4)},_=function(){for(var t=8;t<i-8;t+=1)null==o[t][6]&&(o[t][6]=t%2==0);for(var e=8;e<i-8;e+=1)null==o[6][e]&&(o[6][e]=e%2==0)},x=function(){for(var t=s.getPatternPosition(r),e=0;e<t.length;e+=1)for(var n=0;n<t.length;n+=1){var i=t[e],a=t[n];if(null==o[i][a])for(var u=-2;u<=2;u+=1)for(var h=-2;h<=2;h+=1)o[i+u][a+h]=-2==u||2==u||-2==h||2==h||0==u&&0==h}},S=function(t){for(var e=s.getBCHTypeNumber(r),n=0;n<18;n+=1){var a=!t&&1==(e>>n&1);o[Math.floor(n/3)][n%3+i-8-3]=a}for(n=0;n<18;n+=1)a=!t&&1==(e>>n&1),o[n%3+i-8-3][Math.floor(n/3)]=a},M=function(t,e){for(var r=n<<3|e,a=s.getBCHTypeInfo(r),u=0;u<15;u+=1){var h=!t&&1==(a>>u&1);u<6?o[u][8]=h:u<8?o[u+1][8]=h:o[i-15+u][8]=h}for(u=0;u<15;u+=1)h=!t&&1==(a>>u&1),u<8?o[8][i-u-1]=h:u<9?o[8][15-u-1+1]=h:o[8][15-u-1]=h;o[i-8][8]=!t},C=function(t,e){for(var r=-1,n=i-1,a=7,u=0,h=s.getMaskFunction(e),c=i-1;c>0;c-=2)for(6==c&&(c-=1);;){for(var l=0;l<2;l+=1)if(null==o[n][c-l]){var d=!1;u<t.length&&(d=1==(t[u]>>>a&1)),h(n,c-l)&&(d=!d),o[n][c-l]=d,-1==(a-=1)&&(u+=1,a=7)}if((n+=r)<0||i<=n){n-=r,r=-r;break}}},A=function(t,e,r){for(var n=c.getRSBlocks(t,e),o=l(),i=0;i<r.length;i+=1){var a=r[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<n.length;i+=1)u+=n[i].dataCount;if(o.getLengthInBits()>8*u)throw"code length overflow. ("+o.getLengthInBits()+">"+8*u+")";for(o.getLengthInBits()+4<=8*u&&o.put(0,4);o.getLengthInBits()%8!=0;)o.putBit(!1);for(;!(o.getLengthInBits()>=8*u||(o.put(236,8),o.getLengthInBits()>=8*u));)o.put(17,8);return function(t,e){for(var r=0,n=0,o=0,i=new Array(e.length),a=new Array(e.length),u=0;u<e.length;u+=1){var c=e[u].dataCount,l=e[u].totalCount-c;n=Math.max(n,c),o=Math.max(o,l),i[u]=new Array(c);for(var d=0;d<i[u].length;d+=1)i[u][d]=255&t.getBuffer()[d+r];r+=c;var f=s.getErrorCorrectPolynomial(l),g=h(i[u],f.getLength()-1).mod(f);for(a[u]=new Array(f.getLength()-1),d=0;d<a[u].length;d+=1){var p=d+g.getLength()-a[u].length;a[u][d]=p>=0?g.getAt(p):0}}var v=0;for(d=0;d<e.length;d+=1)v+=e[d].totalCount;var w=new Array(v),y=0;for(d=0;d<n;d+=1)for(u=0;u<e.length;u+=1)d<i[u].length&&(w[y]=i[u][d],y+=1);for(d=0;d<o;d+=1)for(u=0;u<e.length;u+=1)d<a[u].length&&(w[y]=a[u][d],y+=1);return w}(o,n)};w.addData=function(t,e){var r=null;switch(e=e||"Byte"){case"Numeric":r=d(t);break;case"Alphanumeric":r=f(t);break;case"Byte":r=g(t);break;case"Kanji":r=p(t);break;default:throw"mode:"+e}v.push(r),u=null},w.isDark=function(t,e){if(t<0||i<=t||e<0||i<=e)throw t+","+e;return o[t][e]},w.getModuleCount=function(){return i},w.make=function(){if(r<1){for(var t=1;t<40;t++){for(var e=c.getRSBlocks(t,n),o=l(),i=0;i<v.length;i++){var a=v[i];o.put(a.getMode(),4),o.put(a.getLength(),s.getLengthInBits(a.getMode(),t)),a.write(o)}var u=0;for(i=0;i<e.length;i++)u+=e[i].dataCount;if(o.getLengthInBits()<=8*u)break}r=t}m(!1,function(){for(var t=0,e=0,r=0;r<8;r+=1){m(!0,r);var n=s.getLostPoint(w);(0==r||t>n)&&(t=n,e=r)}return e}())},w.createTableTag=function(t,e){t=t||2;var r="";r+='<table style="',r+=" border-width: 0px; border-style: none;",r+=" border-collapse: collapse;",r+=" padding: 0px; margin: "+(e=void 0===e?4*t:e)+"px;",r+='">',r+="<tbody>";for(var n=0;n<w.getModuleCount();n+=1){r+="<tr>";for(var o=0;o<w.getModuleCount();o+=1)r+='<td style="',r+=" border-width: 0px; border-style: none;",r+=" border-collapse: collapse;",r+=" padding: 0px; margin: 0px;",r+=" width: "+t+"px;",r+=" height: "+t+"px;",r+=" background-color: ",r+=w.isDark(n,o)?"#000000":"#ffffff",r+=";",r+='"/>';r+="</tr>"}return(r+="</tbody>")+"</table>"},w.createSvgTag=function(t,e,r,n){var o={};"object"==typeof arguments[0]&&(t=(o=arguments[0]).cellSize,e=o.margin,r=o.alt,n=o.title),t=t||2,e=void 0===e?4*t:e,(r="string"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||"qrcode-description":null,(n="string"==typeof n?{text:n}:n||{}).text=n.text||null,n.id=n.text?n.id||"qrcode-title":null;var i,a,s,u,h=w.getModuleCount()*t+2*e,c="";for(u="l"+t+",0 0,"+t+" -"+t+",0 0,-"+t+"z ",c+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',c+=o.scalable?"":' width="'+h+'px" height="'+h+'px"',c+=' viewBox="0 0 '+h+" "+h+'" ',c+=' preserveAspectRatio="xMinYMin meet"',c+=n.text||r.text?' role="img" aria-labelledby="'+k([n.id,r.id].join(" ").trim())+'"':"",c+=">",c+=n.text?'<title id="'+k(n.id)+'">'+k(n.text)+"</title>":"",c+=r.text?'<description id="'+k(r.id)+'">'+k(r.text)+"</description>":"",c+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',c+='<path d="',a=0;a<w.getModuleCount();a+=1)for(s=a*t+e,i=0;i<w.getModuleCount();i+=1)w.isDark(a,i)&&(c+="M"+(i*t+e)+","+s+u);return(c+='" stroke="transparent" fill="black"/>')+"</svg>"},w.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var r=w.getModuleCount()*t+2*e,n=e,o=r-e;return y(r,r,(function(e,r){if(n<=e&&e<o&&n<=r&&r<o){var i=Math.floor((e-n)/t),a=Math.floor((r-n)/t);return w.isDark(a,i)?0:1}return 1}))},w.createImgTag=function(t,e,r){t=t||2,e=void 0===e?4*t:e;var n=w.getModuleCount()*t+2*e,o="";return o+="<img",o+=' src="',o+=w.createDataURL(t,e),o+='"',o+=' width="',o+=n,o+='"',o+=' height="',o+=n,o+='"',r&&(o+=' alt="',o+=k(r),o+='"'),o+"/>"};var k=function(t){for(var e="",r=0;r<t.length;r+=1){var n=t.charAt(r);switch(n){case"<":e+="&lt;";break;case">":e+="&gt;";break;case"&":e+="&amp;";break;case'"':e+="&quot;";break;default:e+=n}}return e};return w.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,r,n,o,i,a=1*w.getModuleCount()+2*t,s=t,u=a-t,h={"██":"█","█ ":"▀"," █":"▄"," ":" "},c={"██":"▀","█ ":"▀"," █":" "," ":" "},l="";for(e=0;e<a;e+=2){for(n=Math.floor((e-s)/1),o=Math.floor((e+1-s)/1),r=0;r<a;r+=1)i="█",s<=r&&r<u&&s<=e&&e<u&&w.isDark(n,Math.floor((r-s)/1))&&(i=" "),s<=r&&r<u&&s<=e+1&&e+1<u&&w.isDark(o,Math.floor((r-s)/1))?i+=" ":i+="█",l+=t<1&&e+1>=u?c[i]:h[i];l+="\n"}return a%2&&t>0?l.substring(0,l.length-a-1)+Array(a+1).join("▀"):l.substring(0,l.length-1)}(e);t-=1,e=void 0===e?2*t:e;var r,n,o,i,a=w.getModuleCount()*t+2*e,s=e,u=a-e,h=Array(t+1).join("██"),c=Array(t+1).join(" "),l="",d="";for(r=0;r<a;r+=1){for(o=Math.floor((r-s)/t),d="",n=0;n<a;n+=1)i=1,s<=n&&n<u&&s<=r&&r<u&&w.isDark(o,Math.floor((n-s)/t))&&(i=0),d+=i?h:c;for(o=0;o<t;o+=1)l+=d+"\n"}return l.substring(0,l.length-1)},w.renderTo2dContext=function(t,e){e=e||2;for(var r=w.getModuleCount(),n=0;n<r;n++)for(var o=0;o<r;o++)t.fillStyle=w.isDark(n,o)?"black":"white",t.fillRect(n*e,o*e,e,e)},w};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],r=0;r<t.length;r+=1){var n=t.charCodeAt(r);e.push(255&n)}return e}}).default,t.createStringToBytes=function(t,e){var r=function(){for(var r=w(t),n=function(){var t=r.read();if(-1==t)throw"eof";return t},o=0,i={};;){var a=r.read();if(-1==a)break;var s=n(),u=n()<<8|n();i[String.fromCharCode(a<<8|s)]=u,o+=1}if(o!=e)throw o+" != "+e;return i}(),n="?".charCodeAt(0);return function(t){for(var e=[],o=0;o<t.length;o+=1){var i=t.charCodeAt(o);if(i<128)e.push(i);else{var a=r[t.charAt(o)];"number"==typeof a?(255&a)==a?e.push(a):(e.push(a>>>8),e.push(255&a)):e.push(n)}}return e}};var e,r,n,o,i,a={L:1,M:0,Q:3,H:2},s=(e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],r=1335,n=7973,i=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(o={}).getBCHTypeInfo=function(t){for(var e=t<<10;i(e)-i(r)>=0;)e^=r<<i(e)-i(r);return 21522^(t<<10|e)},o.getBCHTypeNumber=function(t){for(var e=t<<12;i(e)-i(n)>=0;)e^=n<<i(e)-i(n);return t<<12|e},o.getPatternPosition=function(t){return e[t-1]},o.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw"bad maskPattern:"+t}},o.getErrorCorrectPolynomial=function(t){for(var e=h([1],0),r=0;r<t;r+=1)e=e.multiply(h([1,u.gexp(r)],0));return e},o.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw"mode:"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw"mode:"+t}else{if(!(e<41))throw"type:"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw"mode:"+t}}},o.getLostPoint=function(t){for(var e=t.getModuleCount(),r=0,n=0;n<e;n+=1)for(var o=0;o<e;o+=1){for(var i=0,a=t.isDark(n,o),s=-1;s<=1;s+=1)if(!(n+s<0||e<=n+s))for(var u=-1;u<=1;u+=1)o+u<0||e<=o+u||0==s&&0==u||a==t.isDark(n+s,o+u)&&(i+=1);i>5&&(r+=3+i-5)}for(n=0;n<e-1;n+=1)for(o=0;o<e-1;o+=1){var h=0;t.isDark(n,o)&&(h+=1),t.isDark(n+1,o)&&(h+=1),t.isDark(n,o+1)&&(h+=1),t.isDark(n+1,o+1)&&(h+=1),0!=h&&4!=h||(r+=3)}for(n=0;n<e;n+=1)for(o=0;o<e-6;o+=1)t.isDark(n,o)&&!t.isDark(n,o+1)&&t.isDark(n,o+2)&&t.isDark(n,o+3)&&t.isDark(n,o+4)&&!t.isDark(n,o+5)&&t.isDark(n,o+6)&&(r+=40);for(o=0;o<e;o+=1)for(n=0;n<e-6;n+=1)t.isDark(n,o)&&!t.isDark(n+1,o)&&t.isDark(n+2,o)&&t.isDark(n+3,o)&&t.isDark(n+4,o)&&!t.isDark(n+5,o)&&t.isDark(n+6,o)&&(r+=40);var c=0;for(o=0;o<e;o+=1)for(n=0;n<e;n+=1)t.isDark(n,o)&&(c+=1);return r+Math.abs(100*c/e/e-50)/5*10},o),u=function(){for(var t=new Array(256),e=new Array(256),r=0;r<8;r+=1)t[r]=1<<r;for(r=8;r<256;r+=1)t[r]=t[r-4]^t[r-5]^t[r-6]^t[r-8];for(r=0;r<255;r+=1)e[t[r]]=r;return{glog:function(t){if(t<1)throw"glog("+t+")";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function h(t,e){if(void 0===t.length)throw t.length+"/"+e;var r=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),n={getAt:function(t){return r[t]},getLength:function(){return r.length},multiply:function(t){for(var e=new Array(n.getLength()+t.getLength()-1),r=0;r<n.getLength();r+=1)for(var o=0;o<t.getLength();o+=1)e[r+o]^=u.gexp(u.glog(n.getAt(r))+u.glog(t.getAt(o)));return h(e,0)},mod:function(t){if(n.getLength()-t.getLength()<0)return n;for(var e=u.glog(n.getAt(0))-u.glog(t.getAt(0)),r=new Array(n.getLength()),o=0;o<n.getLength();o+=1)r[o]=n.getAt(o);for(o=0;o<t.getLength();o+=1)r[o]^=u.gexp(u.glog(t.getAt(o))+e);return h(r,0).mod(t)}};return n}var c=function(){var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e=function(t,e){var r={};return r.totalCount=t,r.dataCount=e,r},r={getRSBlocks:function(r,n){var o=function(e,r){switch(r){case a.L:return t[4*(e-1)+0];case a.M:return t[4*(e-1)+1];case a.Q:return t[4*(e-1)+2];case a.H:return t[4*(e-1)+3];default:return}}(r,n);if(void 0===o)throw"bad rs block @ typeNumber:"+r+"/errorCorrectionLevel:"+n;for(var i=o.length/3,s=[],u=0;u<i;u+=1)for(var h=o[3*u+0],c=o[3*u+1],l=o[3*u+2],d=0;d<h;d+=1)s.push(e(c,l));return s}};return r}(),l=function(){var t=[],e=0,r={getBuffer:function(){return t},getAt:function(e){var r=Math.floor(e/8);return 1==(t[r]>>>7-e%8&1)},put:function(t,e){for(var n=0;n<e;n+=1)r.putBit(1==(t>>>e-n-1&1))},getLengthInBits:function(){return e},putBit:function(r){var n=Math.floor(e/8);t.length<=n&&t.push(0),r&&(t[n]|=128>>>e%8),e+=1}};return r},d=function(t){var e=t,r={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+2<r.length;)t.put(n(r.substring(o,o+3)),10),o+=3;o<r.length&&(r.length-o==1?t.put(n(r.substring(o,o+1)),4):r.length-o==2&&t.put(n(r.substring(o,o+2)),7))}},n=function(t){for(var e=0,r=0;r<t.length;r+=1)e=10*e+o(t.charAt(r));return e},o=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);throw"illegal char :"+t};return r},f=function(t){var e=t,r={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var r=e,o=0;o+1<r.length;)t.put(45*n(r.charAt(o))+n(r.charAt(o+1)),11),o+=2;o<r.length&&t.put(n(r.charAt(o)),6)}},n=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);if("A"<=t&&t<="Z")return t.charCodeAt(0)-"A".charCodeAt(0)+10;switch(t){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+t}};return r},g=function(e){var r=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return r.length},write:function(t){for(var e=0;e<r.length;e+=1)t.put(r[e],8)}}},p=function(e){var r=t.stringToBytesFuncs.SJIS;if(!r)throw"sjis not supported.";!function(t,e){var n=r("友");if(2!=n.length||38726!=(n[0]<<8|n[1]))throw"sjis not supported."}();var n=r(e);return{getMode:function(){return 8},getLength:function(t){return~~(n.length/2)},write:function(t){for(var e=n,r=0;r+1<e.length;){var o=(255&e[r])<<8|255&e[r+1];if(33088<=o&&o<=40956)o-=33088;else{if(!(57408<=o&&o<=60351))throw"illegal char at "+(r+1)+"/"+o;o-=49472}o=192*(o>>>8&255)+(255&o),t.put(o,13),r+=2}if(r<e.length)throw"illegal char at "+(r+1)}}},v=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,r,n){r=r||0,n=n||t.length;for(var o=0;o<n;o+=1)e.writeByte(t[o+r])},writeString:function(t){for(var r=0;r<t.length;r+=1)e.writeByte(t.charCodeAt(r))},toByteArray:function(){return t},toString:function(){var e="";e+="[";for(var r=0;r<t.length;r+=1)r>0&&(e+=","),e+=t[r];return e+"]"}};return e},w=function(t){var e=t,r=0,n=0,o=0,i={read:function(){for(;o<8;){if(r>=e.length){if(0==o)return-1;throw"unexpected end of file./"+o}var t=e.charAt(r);if(r+=1,"="==t)return o=0,-1;t.match(/^\s$/)||(n=n<<6|a(t.charCodeAt(0)),o+=6)}var i=n>>>o-8&255;return o-=8,i}},a=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw"c:"+t};return i},y=function(t,e,r){for(var n=function(t,e){var r=t,n=e,o=new Array(t*e),i={setPixel:function(t,e,n){o[e*r+t]=n},write:function(t){t.writeString("GIF87a"),t.writeShort(r),t.writeShort(n),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(","),t.writeShort(0),t.writeShort(0),t.writeShort(r),t.writeShort(n),t.writeByte(0);var e=a(2);t.writeByte(2);for(var o=0;e.length-o>255;)t.writeByte(255),t.writeBytes(e,o,255),o+=255;t.writeByte(e.length-o),t.writeBytes(e,o,e.length-o),t.writeByte(0),t.writeString(";")}},a=function(t){for(var e=1<<t,r=1+(1<<t),n=t+1,i=s(),a=0;a<e;a+=1)i.add(String.fromCharCode(a));i.add(String.fromCharCode(e)),i.add(String.fromCharCode(r));var u,h,c,l=v(),d=(u=l,h=0,c=0,{write:function(t,e){if(t>>>e!=0)throw"length over";for(;h+e>=8;)u.writeByte(255&(t<<h|c)),e-=8-h,t>>>=8-h,c=0,h=0;c|=t<<h,h+=e},flush:function(){h>0&&u.writeByte(c)}});d.write(e,n);var f=0,g=String.fromCharCode(o[f]);for(f+=1;f<o.length;){var p=String.fromCharCode(o[f]);f+=1,i.contains(g+p)?g+=p:(d.write(i.indexOf(g),n),i.size()<4095&&(i.size()==1<<n&&(n+=1),i.add(g+p)),g=p)}return d.write(i.indexOf(g),n),d.write(r,n),d.flush(),l.toByteArray()},s=function(){var t={},e=0,r={add:function(n){if(r.contains(n))throw"dup key:"+n;t[n]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return r};return i}(t,e),o=0;o<e;o+=1)for(var i=0;i<t;i+=1)n.setPixel(i,o,r(i,o));var a=v();n.write(a);for(var s=function(){var t=0,e=0,r=0,n="",o={},i=function(t){n+=String.fromCharCode(a(63&t))},a=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw"n:"+t};return o.writeByte=function(n){for(t=t<<8|255&n,e+=8,r+=1;e>=6;)i(t>>>e-6),e-=6},o.flush=function(){if(e>0&&(i(t<<6-e),t=0,e=0),r%3!=0)for(var o=3-r%3,a=0;a<o;a+=1)n+="="},o.toString=function(){return n},o}(),u=a.toByteArray(),h=0;h<u.length;h+=1)s.writeByte(u[h]);return s.flush(),"data:image/gif;base64,"+s};return t}();o.stringToBytesFuncs["UTF-8"]=function(t){return function(t){for(var e=[],r=0;r<t.length;r++){var n=t.charCodeAt(r);n<128?e.push(n):n<2048?e.push(192|n>>6,128|63&n):n<55296||n>=57344?e.push(224|n>>12,128|n>>6&63,128|63&n):(r++,n=65536+((1023&n)<<10|1023&t.charCodeAt(r)),e.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return e}(t)},void 0===(n="function"==typeof(r=function(){return o})?r.apply(e,[]):r)||(t.exports=n)},676:(t,e,r)=>{"use strict";r.d(e,{default:()=>q});var n=function(){return(n=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)},o=function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<r;e++)for(var i=arguments[e],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n},i=function(t){return!!t&&"object"==typeof t&&!Array.isArray(t)};function a(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];if(!e.length)return t;var s=e.shift();return void 0!==s&&i(t)&&i(s)?(t=n({},t),Object.keys(s).forEach((function(e){var r=t[e],n=s[e];Array.isArray(r)&&Array.isArray(n)?t[e]=n:i(r)&&i(n)?t[e]=a(Object.assign({},r),n):t[e]=n})),a.apply(void 0,o([t],e))):t}function s(t,e){var r=document.createElement("a");r.download=e,r.href=t,document.body.appendChild(r),r.click(),document.body.removeChild(r)}function u(t){return e=this,r=void 0,o=function(){return function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}(this,(function(e){return[2,new Promise((function(e){var r=new XMLHttpRequest;r.onload=function(){var t=new FileReader;t.onloadend=function(){e(t.result)},t.readAsDataURL(r.response)},r.open("GET",t),r.responseType="blob",r.send()}))]}))},new((n=void 0)||(n=Promise))((function(t,i){function a(t){try{u(o.next(t))}catch(t){i(t)}}function s(t){try{u(o.throw(t))}catch(t){i(t)}}function u(e){var r;e.done?t(e.value):(r=e.value,r instanceof n?r:new n((function(t){t(r)}))).then(a,s)}u((o=o.apply(e,r||[])).next())}));var e,r,n,o}const h={L:.07,M:.15,Q:.25,H:.3};var c=function(){return(c=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const l=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"dots":o=this._drawDot;break;case"classy":o=this._drawClassy;break;case"classy-rounded":o=this._drawClassyRounded;break;case"rounded":o=this._drawRounded;break;case"extra-rounded":o=this._drawExtraRounded;break;case"square":default:o=this._drawSquare}o.call(this,{x:t,y:e,size:r,getNeighbor:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","circle"),e._element.setAttribute("cx",String(n+r/2)),e._element.setAttribute("cy",String(o+r/2)),e._element.setAttribute("r",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","rect"),e._element.setAttribute("x",String(n)),e._element.setAttribute("y",String(o)),e._element.setAttribute("width",String(r)),e._element.setAttribute("height",String(r))}}))},t.prototype._basicSideRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r/2+"a "+r/2+" "+r/2+", 0, 0, 0, 0 "+-r)}}))},t.prototype._basicCornerRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"v "+-r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+-r/2+" "+-r/2)}}))},t.prototype._basicCornerExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"a "+r+" "+r+", 0, 0, 0, "+-r+" "+-r)}}))},t.prototype._basicCornersRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(c(c({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("d","M "+n+" "+o+"v "+r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+r/2+" "+r/2+"h "+r/2+"v "+-r/2+"a "+r/2+" "+r/2+", 0, 0, 0, "+-r/2+" "+-r/2)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size;this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size;this._basicSquare({x:e,y:r,size:n,rotation:0})},t.prototype._drawRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0,h=i+a+s+u;if(0!==h)if(h>2||i&&a||s&&u)this._basicSquare({x:e,y:r,size:n,rotation:0});else{if(2===h){var c=0;return i&&s?c=Math.PI/2:s&&a?c=Math.PI:a&&u&&(c=-Math.PI/2),void this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:c})}if(1===h)return c=0,s?c=Math.PI/2:a?c=Math.PI:u&&(c=-Math.PI/2),void this._basicSideRounded({x:e,y:r,size:n,rotation:c})}else this._basicDot({x:e,y:r,size:n,rotation:0})},t.prototype._drawClassy=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t.prototype._drawClassyRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.getNeighbor,i=o?+o(-1,0):0,a=o?+o(1,0):0,s=o?+o(0,-1):0,u=o?+o(0,1):0;0!==i+a+s+u?i||s?a||u?this._basicSquare({x:e,y:r,size:n,rotation:0}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:e,y:r,size:n,rotation:-Math.PI/2}):this._basicCornersRounded({x:e,y:r,size:n,rotation:Math.PI/2})},t}();var d=function(){return(d=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const f=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"square":o=this._drawSquare;break;case"extra-rounded":o=this._drawExtraRounded;break;case"dot":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+(n+r/2)+" "+o+"a "+r/2+" "+r/2+" 0 1 0 0.1 0zm 0 "+i+"a "+(r/2-i)+" "+(r/2-i)+" 0 1 1 -0.1 0Z")}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+n+" "+o+"v "+r+"h "+r+"v "+-r+"zM "+(n+i)+" "+(o+i)+"h "+(r-2*i)+"v "+(r-2*i)+"h "+(2*i-r)+"z")}}))},t.prototype._basicExtraRounded=function(t){var e=this,r=t.size,n=t.x,o=t.y,i=r/7;this._rotateFigure(d(d({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","path"),e._element.setAttribute("clip-rule","evenodd"),e._element.setAttribute("d","M "+n+" "+(o+2.5*i)+"v "+2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*i+" "+2.5*i+"h "+2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*i+" "+2.5*-i+"v "+-2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*-i+" "+2.5*-i+"h "+-2*i+"a "+2.5*i+" "+2.5*i+", 0, 0, 0, "+2.5*-i+" "+2.5*i+"M "+(n+2.5*i)+" "+(o+i)+"h "+2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*i+" "+1.5*i+"v "+2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*-i+" "+1.5*i+"h "+-2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*-i+" "+1.5*-i+"v "+-2*i+"a "+1.5*i+" "+1.5*i+", 0, 0, 1, "+1.5*i+" "+1.5*-i)}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t.prototype._drawExtraRounded=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicExtraRounded({x:e,y:r,size:n,rotation:o})},t}();var g=function(){return(g=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};const p=function(){function t(t){var e=t.svg,r=t.type;this._svg=e,this._type=r}return t.prototype.draw=function(t,e,r,n){var o;switch(this._type){case"square":o=this._drawSquare;break;case"dot":default:o=this._drawDot}o.call(this,{x:t,y:e,size:r,rotation:n})},t.prototype._rotateFigure=function(t){var e,r=t.x,n=t.y,o=t.size,i=t.rotation,a=void 0===i?0:i,s=r+o/2,u=n+o/2;(0,t.draw)(),null===(e=this._element)||void 0===e||e.setAttribute("transform","rotate("+180*a/Math.PI+","+s+","+u+")")},t.prototype._basicDot=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","circle"),e._element.setAttribute("cx",String(n+r/2)),e._element.setAttribute("cy",String(o+r/2)),e._element.setAttribute("r",String(r/2))}}))},t.prototype._basicSquare=function(t){var e=this,r=t.size,n=t.x,o=t.y;this._rotateFigure(g(g({},t),{draw:function(){e._element=document.createElementNS("http://www.w3.org/2000/svg","rect"),e._element.setAttribute("x",String(n)),e._element.setAttribute("y",String(o)),e._element.setAttribute("width",String(r)),e._element.setAttribute("height",String(r))}}))},t.prototype._drawDot=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicDot({x:e,y:r,size:n,rotation:o})},t.prototype._drawSquare=function(t){var e=t.x,r=t.y,n=t.size,o=t.rotation;this._basicSquare({x:e,y:r,size:n,rotation:o})},t}(),v="circle";var w=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},y=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},m=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],b=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];const _=function(){function t(t){this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("width",String(t.width)),this._element.setAttribute("height",String(t.height)),this._defs=document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this._defs),this._options=t}return Object.defineProperty(t.prototype,"width",{get:function(){return this._options.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._options.height},enumerable:!1,configurable:!0}),t.prototype.getElement=function(){return this._element},t.prototype.drawQR=function(t){return w(this,void 0,void 0,(function(){var e,r,n,o,i,a,s,u,c,l,d=this;return y(this,(function(f){switch(f.label){case 0:return e=t.getModuleCount(),r=Math.min(this._options.width,this._options.height)-2*this._options.margin,n=this._options.shape===v?r/Math.sqrt(2):r,o=Math.floor(n/e),i={hideXDots:0,hideYDots:0,width:0,height:0},this._qr=t,this._options.image?[4,this.loadImage()]:[3,2];case 1:if(f.sent(),!this._image)return[2];a=this._options,s=a.imageOptions,u=a.qrOptions,c=s.imageSize*h[u.errorCorrectionLevel],l=Math.floor(c*e*e),i=function(t){var e=t.originalHeight,r=t.originalWidth,n=t.maxHiddenDots,o=t.maxHiddenAxisDots,i=t.dotSize,a={x:0,y:0},s={x:0,y:0};if(e<=0||r<=0||n<=0||i<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};var u=e/r;return a.x=Math.floor(Math.sqrt(n/u)),a.x<=0&&(a.x=1),o&&o<a.x&&(a.x=o),a.x%2==0&&a.x--,s.x=a.x*i,a.y=1+2*Math.ceil((a.x*u-1)/2),s.y=Math.round(s.x*u),(a.y*a.x>n||o&&o<a.y)&&(o&&o<a.y?(a.y=o,a.y%2==0&&a.x--):a.y-=2,s.y=a.y*i,a.x=1+2*Math.ceil((a.y/u-1)/2),s.x=Math.round(s.y/u)),{height:s.y,width:s.x,hideYDots:a.y,hideXDots:a.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:l,maxHiddenAxisDots:e-14,dotSize:o}),f.label=2;case 2:return this.drawBackground(),this.drawDots((function(t,r){var n,o,a,s,u,h;return!(d._options.imageOptions.hideBackgroundDots&&t>=(e-i.hideXDots)/2&&t<(e+i.hideXDots)/2&&r>=(e-i.hideYDots)/2&&r<(e+i.hideYDots)/2||(null===(n=m[t])||void 0===n?void 0:n[r])||(null===(o=m[t-e+7])||void 0===o?void 0:o[r])||(null===(a=m[t])||void 0===a?void 0:a[r-e+7])||(null===(s=b[t])||void 0===s?void 0:s[r])||(null===(u=b[t-e+7])||void 0===u?void 0:u[r])||(null===(h=b[t])||void 0===h?void 0:h[r-e+7]))})),this.drawCorners(),this._options.image?[4,this.drawImage({width:i.width,height:i.height,count:e,dotSize:o})]:[3,4];case 3:f.sent(),f.label=4;case 4:return[2]}}))}))},t.prototype.drawBackground=function(){var t,e,r,n=this._element,o=this._options;if(n){var i=null===(t=o.backgroundOptions)||void 0===t?void 0:t.gradient,a=null===(e=o.backgroundOptions)||void 0===e?void 0:e.color;if((i||a)&&this._createColor({options:i,color:a,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:"background-color"}),null===(r=o.backgroundOptions)||void 0===r?void 0:r.round){var s=Math.min(o.width,o.height),u=document.createElementNS("http://www.w3.org/2000/svg","rect");this._backgroundClipPath=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._backgroundClipPath.setAttribute("id","clip-path-background-color"),this._defs.appendChild(this._backgroundClipPath),u.setAttribute("x",String((o.width-s)/2)),u.setAttribute("y",String((o.height-s)/2)),u.setAttribute("width",String(s)),u.setAttribute("height",String(s)),u.setAttribute("rx",String(s/2*o.backgroundOptions.round)),this._backgroundClipPath.appendChild(u)}}},t.prototype.drawDots=function(t){var e,r,n=this;if(!this._qr)throw"QR code is not defined";var o=this._options,i=this._qr.getModuleCount();if(i>o.width||i>o.height)throw"The canvas is too small.";var a=Math.min(o.width,o.height)-2*o.margin,s=o.shape===v?a/Math.sqrt(2):a,u=Math.floor(s/i),h=Math.floor((o.width-i*u)/2),c=Math.floor((o.height-i*u)/2),d=new l({svg:this._element,type:o.dotsOptions.type});this._dotsClipPath=document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._dotsClipPath.setAttribute("id","clip-path-dot-color"),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=o.dotsOptions)||void 0===e?void 0:e.gradient,color:o.dotsOptions.color,additionalRotation:0,x:0,y:0,height:o.height,width:o.width,name:"dot-color"});for(var f=function(e){for(var o=function(o){return t&&!t(e,o)?"continue":(null===(r=g._qr)||void 0===r?void 0:r.isDark(e,o))?(d.draw(h+e*u,c+o*u,u,(function(r,a){return!(e+r<0||o+a<0||e+r>=i||o+a>=i)&&!(t&&!t(e+r,o+a))&&!!n._qr&&n._qr.isDark(e+r,o+a)})),void(d._element&&g._dotsClipPath&&g._dotsClipPath.appendChild(d._element))):"continue"},a=0;a<i;a++)o(a)},g=this,p=0;p<i;p++)f(p);if(o.shape===v){var w=Math.floor((a/u-i)/2),y=i+2*w,m=h-w*u,b=c-w*u,_=[],x=Math.floor(y/2);for(p=0;p<y;p++){_[p]=[];for(var S=0;S<y;S++)p>=w-1&&p<=y-w&&S>=w-1&&S<=y-w||Math.sqrt((p-x)*(p-x)+(S-x)*(S-x))>x?_[p][S]=0:_[p][S]=this._qr.isDark(S-2*w<0?S:S>=i?S-2*w:S-w,p-2*w<0?p:p>=i?p-2*w:p-w)?1:0}var M=function(t){for(var e=function(e){if(!_[t][e])return"continue";d.draw(m+t*u,b+e*u,u,(function(r,n){var o;return!!(null===(o=_[t+r])||void 0===o?void 0:o[e+n])})),d._element&&C._dotsClipPath&&C._dotsClipPath.appendChild(d._element)},r=0;r<y;r++)e(r)},C=this;for(p=0;p<y;p++)M(p)}},t.prototype.drawCorners=function(){var t=this;if(!this._qr)throw"QR code is not defined";var e=this._element,r=this._options;if(!e)throw"Element code is not defined";var n=this._qr.getModuleCount(),o=Math.min(r.width,r.height)-2*r.margin,i=r.shape===v?o/Math.sqrt(2):o,a=Math.floor(i/n),s=7*a,u=3*a,h=Math.floor((r.width-n*a)/2),c=Math.floor((r.height-n*a)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((function(e){var o,i,d,g,v,w,y,_,x,S,M,C,A=e[0],k=e[1],O=e[2],D=h+A*a*(n-7),P=c+k*a*(n-7),z=t._dotsClipPath,B=t._dotsClipPath;if(((null===(o=r.cornersSquareOptions)||void 0===o?void 0:o.gradient)||(null===(i=r.cornersSquareOptions)||void 0===i?void 0:i.color))&&((z=document.createElementNS("http://www.w3.org/2000/svg","clipPath")).setAttribute("id","clip-path-corners-square-color-"+A+"-"+k),t._defs.appendChild(z),t._cornersSquareClipPath=t._cornersDotClipPath=B=z,t._createColor({options:null===(d=r.cornersSquareOptions)||void 0===d?void 0:d.gradient,color:null===(g=r.cornersSquareOptions)||void 0===g?void 0:g.color,additionalRotation:O,x:D,y:P,height:s,width:s,name:"corners-square-color-"+A+"-"+k})),null===(v=r.cornersSquareOptions)||void 0===v?void 0:v.type){var q=new f({svg:t._element,type:r.cornersSquareOptions.type});q.draw(D,P,s,O),q._element&&z&&z.appendChild(q._element)}else for(var I=new l({svg:t._element,type:r.dotsOptions.type}),E=function(t){for(var e=function(e){if(!(null===(w=m[t])||void 0===w?void 0:w[e]))return"continue";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=m[t+r])||void 0===o?void 0:o[e+n])})),I._element&&z&&z.appendChild(I._element)},r=0;r<m[t].length;r++)e(r)},L=0;L<m.length;L++)E(L);if(((null===(y=r.cornersDotOptions)||void 0===y?void 0:y.gradient)||(null===(_=r.cornersDotOptions)||void 0===_?void 0:_.color))&&((B=document.createElementNS("http://www.w3.org/2000/svg","clipPath")).setAttribute("id","clip-path-corners-dot-color-"+A+"-"+k),t._defs.appendChild(B),t._cornersDotClipPath=B,t._createColor({options:null===(x=r.cornersDotOptions)||void 0===x?void 0:x.gradient,color:null===(S=r.cornersDotOptions)||void 0===S?void 0:S.color,additionalRotation:O,x:D+2*a,y:P+2*a,height:u,width:u,name:"corners-dot-color-"+A+"-"+k})),null===(M=r.cornersDotOptions)||void 0===M?void 0:M.type){var R=new p({svg:t._element,type:r.cornersDotOptions.type});R.draw(D+2*a,P+2*a,u,O),R._element&&B&&B.appendChild(R._element)}else{I=new l({svg:t._element,type:r.dotsOptions.type});var N=function(t){for(var e=function(e){if(!(null===(C=b[t])||void 0===C?void 0:C[e]))return"continue";I.draw(D+t*a,P+e*a,a,(function(r,n){var o;return!!(null===(o=b[t+r])||void 0===o?void 0:o[e+n])})),I._element&&B&&B.appendChild(I._element)},r=0;r<b[t].length;r++)e(r)};for(L=0;L<b.length;L++)N(L)}}))},t.prototype.loadImage=function(){var t=this;return new Promise((function(e,r){var n=t._options,o=new Image;if(!n.image)return r("Image is not defined");"string"==typeof n.imageOptions.crossOrigin&&(o.crossOrigin=n.imageOptions.crossOrigin),t._image=o,o.onload=function(){e()},o.src=n.image}))},t.prototype.drawImage=function(t){var e=t.width,r=t.height,n=t.count,o=t.dotSize;return w(this,void 0,void 0,(function(){var t,i,a,s,h,c,l,d,f;return y(this,(function(g){switch(g.label){case 0:return t=this._options,i=Math.floor((t.width-n*o)/2),a=Math.floor((t.height-n*o)/2),s=i+t.imageOptions.margin+(n*o-e)/2,h=a+t.imageOptions.margin+(n*o-r)/2,c=e-2*t.imageOptions.margin,l=r-2*t.imageOptions.margin,(d=document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("x",String(s)),d.setAttribute("y",String(h)),d.setAttribute("width",c+"px"),d.setAttribute("height",l+"px"),[4,u(t.image||"")];case 1:return f=g.sent(),d.setAttribute("href",f||""),this._element.appendChild(d),[2]}}))}))},t.prototype._createColor=function(t){var e=t.options,r=t.color,n=t.additionalRotation,o=t.x,i=t.y,a=t.height,s=t.width,u=t.name,h=s>a?s:a,c=document.createElementNS("http://www.w3.org/2000/svg","rect");if(c.setAttribute("x",String(o)),c.setAttribute("y",String(i)),c.setAttribute("height",String(a)),c.setAttribute("width",String(s)),c.setAttribute("clip-path","url('#clip-path-"+u+"')"),e){var l;if("radial"===e.type)(l=document.createElementNS("http://www.w3.org/2000/svg","radialGradient")).setAttribute("id",u),l.setAttribute("gradientUnits","userSpaceOnUse"),l.setAttribute("fx",String(o+s/2)),l.setAttribute("fy",String(i+a/2)),l.setAttribute("cx",String(o+s/2)),l.setAttribute("cy",String(i+a/2)),l.setAttribute("r",String(h/2));else{var d=((e.rotation||0)+n)%(2*Math.PI),f=(d+2*Math.PI)%(2*Math.PI),g=o+s/2,p=i+a/2,v=o+s/2,w=i+a/2;f>=0&&f<=.25*Math.PI||f>1.75*Math.PI&&f<=2*Math.PI?(g-=s/2,p-=a/2*Math.tan(d),v+=s/2,w+=a/2*Math.tan(d)):f>.25*Math.PI&&f<=.75*Math.PI?(p-=a/2,g-=s/2/Math.tan(d),w+=a/2,v+=s/2/Math.tan(d)):f>.75*Math.PI&&f<=1.25*Math.PI?(g+=s/2,p+=a/2*Math.tan(d),v-=s/2,w-=a/2*Math.tan(d)):f>1.25*Math.PI&&f<=1.75*Math.PI&&(p+=a/2,g+=s/2/Math.tan(d),w-=a/2,v-=s/2/Math.tan(d)),(l=document.createElementNS("http://www.w3.org/2000/svg","linearGradient")).setAttribute("id",u),l.setAttribute("gradientUnits","userSpaceOnUse"),l.setAttribute("x1",String(Math.round(g))),l.setAttribute("y1",String(Math.round(p))),l.setAttribute("x2",String(Math.round(v))),l.setAttribute("y2",String(Math.round(w)))}e.colorStops.forEach((function(t){var e=t.offset,r=t.color,n=document.createElementNS("http://www.w3.org/2000/svg","stop");n.setAttribute("offset",100*e+"%"),n.setAttribute("stop-color",r),l.appendChild(n)})),c.setAttribute("fill","url('#"+u+"')"),this._defs.appendChild(l)}else r&&c.setAttribute("fill",r);this._element.appendChild(c)},t}(),x="canvas";for(var S={},M=0;M<=40;M++)S[M]=M;const C={type:x,shape:"square",width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:S[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000"},backgroundOptions:{round:0,color:"#fff"}};var A=function(){return(A=Object.assign||function(t){for(var e,r=1,n=arguments.length;r<n;r++)for(var o in e=arguments[r])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t}).apply(this,arguments)};function k(t){var e=A({},t);if(!e.colorStops||!e.colorStops.length)throw"Field 'colorStops' is required in gradient";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((function(t){return A(A({},t),{offset:Number(t.offset)})})),e}function O(t){var e=A({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=A(A({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=A({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=k(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=A({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=k(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=A({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=k(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=A({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=k(e.backgroundOptions.gradient))),e}var D=r(192),P=r.n(D),z=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{u(n.next(t))}catch(t){i(t)}}function s(t){try{u(n.throw(t))}catch(t){i(t)}}function u(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,s)}u((n=n.apply(t,e||[])).next())}))},B=function(t,e){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=e.call(t,a)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}};const q=function(){function t(t){this._options=t?O(a(C,t)):C,this.update()}return t._clearContainer=function(t){t&&(t.innerHTML="")},t.prototype._setupSvg=function(){var t=this;if(this._qr){var e=new _(this._options);this._svg=e.getElement(),this._svgDrawingPromise=e.drawQR(this._qr).then((function(){var r;t._svg&&(null===(r=t._extension)||void 0===r||r.call(t,e.getElement(),t._options))}))}},t.prototype._setupCanvas=function(){var t,e=this;this._qr&&(this._canvas=document.createElement("canvas"),this._canvas.width=this._options.width,this._canvas.height=this._options.height,this._setupSvg(),this._canvasDrawingPromise=null===(t=this._svgDrawingPromise)||void 0===t?void 0:t.then((function(){if(e._svg){var t=e._svg,r=(new XMLSerializer).serializeToString(t),n="data:image/svg+xml;base64,"+btoa(r),o=new Image;return new Promise((function(t){o.onload=function(){var r,n;null===(n=null===(r=e._canvas)||void 0===r?void 0:r.getContext("2d"))||void 0===n||n.drawImage(o,0,0),t()},o.src=n}))}})))},t.prototype._getElement=function(t){return void 0===t&&(t="png"),z(this,void 0,void 0,(function(){return B(this,(function(e){switch(e.label){case 0:if(!this._qr)throw"QR code is empty";return"svg"!==t.toLowerCase()?[3,2]:(this._svg&&this._svgDrawingPromise||this._setupSvg(),[4,this._svgDrawingPromise]);case 1:return e.sent(),[2,this._svg];case 2:return this._canvas&&this._canvasDrawingPromise||this._setupCanvas(),[4,this._canvasDrawingPromise];case 3:return e.sent(),[2,this._canvas]}}))}))},t.prototype.update=function(e){t._clearContainer(this._container),this._options=e?O(a(this._options,e)):this._options,this._options.data&&(this._qr=P()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(t):return"Alphanumeric";default:return"Byte"}}(this._options.data)),this._qr.make(),this._options.type===x?this._setupCanvas():this._setupSvg(),this.append(this._container))},t.prototype.append=function(t){if(t){if("function"!=typeof t.appendChild)throw"Container should be a single DOM node";this._options.type===x?this._canvas&&t.appendChild(this._canvas):this._svg&&t.appendChild(this._svg),this._container=t}},t.prototype.applyExtension=function(t){if(!t)throw"Extension function should be defined.";this._extension=t,this.update()},t.prototype.deleteExtension=function(){this._extension=void 0,this.update()},t.prototype.getRawData=function(t){return void 0===t&&(t="png"),z(this,void 0,void 0,(function(){var e,r,n;return B(this,(function(o){switch(o.label){case 0:if(!this._qr)throw"QR code is empty";return[4,this._getElement(t)];case 1:return(e=o.sent())?"svg"===t.toLowerCase()?(r=new XMLSerializer,n=r.serializeToString(e),[2,new Blob(['<?xml version="1.0" standalone="no"?>\r\n'+n],{type:"image/svg+xml"})]):[2,new Promise((function(r){return e.toBlob(r,"image/"+t,1)}))]:[2,null]}}))}))},t.prototype.download=function(t){return z(this,void 0,void 0,(function(){var e,r,n,o,i;return B(this,(function(a){switch(a.label){case 0:if(!this._qr)throw"QR code is empty";return e="png",r="qr","string"==typeof t?(e=t,console.warn("Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument")):"object"==typeof t&&null!==t&&(t.name&&(r=t.name),t.extension&&(e=t.extension)),[4,this._getElement(e)];case 1:return(n=a.sent())?("svg"===e.toLowerCase()?(o=new XMLSerializer,i='<?xml version="1.0" standalone="no"?>\r\n'+(i=o.serializeToString(n)),s("data:image/svg+xml;charset=utf-8,"+encodeURIComponent(i),r+".svg")):s(n.toDataURL("image/"+e),r+"."+e),[2]):[2]}}))}))},t}()}},e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{}};return t[n](o,o.exports,r),o.exports}return r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r(676)})().default}));
5629
6757
 
5630
- },{}]},{},[8])(8)
6758
+ },{}]},{},[12])(12)
5631
6759
  });