@plattar/plattar-ar-adapter 1.120.1 → 1.122.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -34,6 +34,140 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
34
34
  return (mod && mod.__esModule) ? mod : { "default": mod };
35
35
  };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.ModelAR = void 0;
38
+ const plattar_api_1 = require("@plattar/plattar-api");
39
+ const plattar_analytics_1 = require("@plattar/plattar-analytics");
40
+ const util_1 = require("../util/util");
41
+ const quicklook_viewer_1 = __importDefault(require("../viewers/quicklook-viewer"));
42
+ const reality_viewer_1 = __importDefault(require("../viewers/reality-viewer"));
43
+ const scene_viewer_1 = __importDefault(require("../viewers/scene-viewer"));
44
+ const launcher_ar_1 = require("./launcher-ar");
45
+ /**
46
+ * Performs AT Functionality using Plattar FileModel types
47
+ */
48
+ class ModelAR extends launcher_ar_1.LauncherAR {
49
+ constructor(modelID = null) {
50
+ super();
51
+ // analytics instance
52
+ this._analytics = null;
53
+ if (!modelID) {
54
+ throw new Error("ModelAR.constructor(modelID) - modelID must be defined");
55
+ }
56
+ this._modelID = modelID;
57
+ this._ar = null;
58
+ }
59
+ get modelID() {
60
+ return this._modelID;
61
+ }
62
+ _SetupAnalytics(model) {
63
+ let analytics = null;
64
+ const project = model.relationships.find(plattar_api_1.Project);
65
+ // setup scene stuff (if any)
66
+ if (project) {
67
+ analytics = new plattar_analytics_1.Analytics(project.id);
68
+ analytics.origin = plattar_api_1.Server.location().type;
69
+ analytics.data.push("applicationId", project.id);
70
+ analytics.data.push("applicationTitle", project.attributes.title);
71
+ analytics.data.push("modelId", model.id);
72
+ analytics.data.push("modelTitle", model.attributes.title);
73
+ this._analytics = analytics;
74
+ }
75
+ }
76
+ /**
77
+ * Initialise the ModelAR instance. This returns a Promise that resolves
78
+ * successfully if initialisation is successful, otherwise it will fail.
79
+ *
80
+ * filure can occur for a number of reasons but it generally means that AR
81
+ * cannot be performed.
82
+ */
83
+ init() {
84
+ return new Promise((accept, reject) => {
85
+ if (!util_1.Util.canAugment()) {
86
+ return reject(new Error("ModelAR.init() - cannot proceed as AR not available in context"));
87
+ }
88
+ const model = new plattar_api_1.FileModel(this.modelID);
89
+ model.include(plattar_api_1.Project);
90
+ model.get().then((model) => {
91
+ // setup the analytics data
92
+ this._SetupAnalytics(model);
93
+ // we need to define our AR module here
94
+ // we are in Safari/Quicklook mode here
95
+ if (util_1.Util.isSafari() || util_1.Util.isChromeOnIOS()) {
96
+ // model needs to have either USDZ or REALITY files defined
97
+ // we load REALITY stuff first if available
98
+ if (model.attributes.reality_filename && util_1.Util.canRealityViewer()) {
99
+ this._ar = new reality_viewer_1.default();
100
+ this._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.reality_filename;
101
+ return accept(this);
102
+ }
103
+ // otherwise, load the USDZ stuff second if available
104
+ if (model.attributes.usdz_filename && util_1.Util.canQuicklook()) {
105
+ this._ar = new quicklook_viewer_1.default();
106
+ this._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.usdz_filename;
107
+ return accept(this);
108
+ }
109
+ return reject(new Error("ModelAR.init() - cannot proceed as ModelFile does not have a defined .usdz or .reality file"));
110
+ }
111
+ // check android
112
+ if (util_1.Util.canSceneViewer()) {
113
+ this._ar = new scene_viewer_1.default();
114
+ this._ar.modelUrl = plattar_api_1.Server.location().cdn + model.attributes.path + model.attributes.original_filename;
115
+ return accept(this);
116
+ }
117
+ // otherwise, we didn't have AR available - it should never really reach this stage as this should be caught
118
+ // earlier in the process
119
+ return reject(new Error("ModelAR.init() - could not initialise AR correctly, check values"));
120
+ }).catch(reject);
121
+ });
122
+ }
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
+ /**
136
+ * Launches the internal AR instance using an appropriate version of AR Viewers
137
+ */
138
+ start() {
139
+ if (!this._ar) {
140
+ throw new Error("ModelAR.start() - cannot proceed as AR instance is null");
141
+ }
142
+ const analytics = this._analytics;
143
+ if (analytics) {
144
+ analytics.data.push("device", this._ar.device);
145
+ analytics.data.push("eventCategory", this._ar.nodeType);
146
+ analytics.data.push("eventAction", "Start Model Augment");
147
+ analytics.write();
148
+ analytics.startRecordEngagement();
149
+ }
150
+ // this was initialised via the init() function
151
+ this._ar.start();
152
+ }
153
+ canQuicklook() {
154
+ return this._ar && this._ar.nodeType === "Quick Look" ? true : false;
155
+ }
156
+ canRealityViewer() {
157
+ return this._ar && this._ar.nodeType === "Reality Viewer" ? true : false;
158
+ }
159
+ canSceneViewer() {
160
+ return this._ar && this._ar.nodeType === "Scene Viewer" ? true : false;
161
+ }
162
+ }
163
+ exports.ModelAR = ModelAR;
164
+
165
+ },{"../util/util":8,"../viewers/quicklook-viewer":11,"../viewers/reality-viewer":12,"../viewers/scene-viewer":13,"./launcher-ar":2,"@plattar/plattar-analytics":31,"@plattar/plattar-api":35}],4:[function(require,module,exports){
166
+ "use strict";
167
+ var __importDefault = (this && this.__importDefault) || function (mod) {
168
+ return (mod && mod.__esModule) ? mod : { "default": mod };
169
+ };
170
+ Object.defineProperty(exports, "__esModule", { value: true });
37
171
  exports.ProductAR = void 0;
38
172
  const plattar_api_1 = require("@plattar/plattar-api");
39
173
  const plattar_analytics_1 = require("@plattar/plattar-analytics");
@@ -204,7 +338,7 @@ class ProductAR extends launcher_ar_1.LauncherAR {
204
338
  }
205
339
  exports.ProductAR = ProductAR;
206
340
 
207
- },{"../util/util":7,"../viewers/quicklook-viewer":10,"../viewers/reality-viewer":11,"../viewers/scene-viewer":12,"./launcher-ar":2,"@plattar/plattar-analytics":30,"@plattar/plattar-api":34}],4:[function(require,module,exports){
341
+ },{"../util/util":8,"../viewers/quicklook-viewer":11,"../viewers/reality-viewer":12,"../viewers/scene-viewer":13,"./launcher-ar":2,"@plattar/plattar-analytics":31,"@plattar/plattar-api":35}],5:[function(require,module,exports){
208
342
  "use strict";
209
343
  Object.defineProperty(exports, "__esModule", { value: true });
210
344
  exports.SceneAR = void 0;
@@ -225,11 +359,22 @@ class SceneAR extends launcher_ar_1.LauncherAR {
225
359
  }
226
360
  exports.SceneAR = SceneAR;
227
361
 
228
- },{"./launcher-ar":2}],5:[function(require,module,exports){
362
+ },{"./launcher-ar":2}],6:[function(require,module,exports){
229
363
  "use strict";
230
364
  Object.defineProperty(exports, "__esModule", { value: true });
231
365
  const plattar_api_1 = require("@plattar/plattar-api");
232
366
  const product_ar_1 = require("../ar/product-ar");
367
+ /**
368
+ * This tracks the current state of the Embed
369
+ */
370
+ var EmbedState;
371
+ (function (EmbedState) {
372
+ EmbedState[EmbedState["None"] = 0] = "None";
373
+ EmbedState[EmbedState["SceneViewer"] = 1] = "SceneViewer";
374
+ EmbedState[EmbedState["ProductViewer"] = 2] = "ProductViewer";
375
+ EmbedState[EmbedState["ProductAR"] = 3] = "ProductAR";
376
+ EmbedState[EmbedState["QRCode"] = 4] = "QRCode";
377
+ })(EmbedState || (EmbedState = {}));
233
378
  /**
234
379
  * This is the primary <plattar-embed /> node that allows easy embedding
235
380
  * of Plattar related content
@@ -237,6 +382,13 @@ const product_ar_1 = require("../ar/product-ar");
237
382
  class PlattarEmbed extends HTMLElement {
238
383
  constructor() {
239
384
  super();
385
+ // this is the current state of the embed, none by default
386
+ this._currentState = EmbedState.None;
387
+ this._qrCodeOptions = {
388
+ color: "#101721",
389
+ qrType: "default",
390
+ margin: 0
391
+ };
240
392
  this._sceneID = null;
241
393
  this._productID = null;
242
394
  this._variationID = null;
@@ -250,6 +402,35 @@ class PlattarEmbed extends HTMLElement {
250
402
  return this._viewer;
251
403
  }
252
404
  connectedCallback() {
405
+ const observer = new MutationObserver((mutations) => {
406
+ mutations.forEach((mutation) => {
407
+ if (mutation.type === "attributes") {
408
+ const sceneID = this.hasAttribute("scene-id") ? this.getAttribute("scene-id") : null;
409
+ const productID = this.hasAttribute("product-id") ? this.getAttribute("product-id") : null;
410
+ const variationID = this.hasAttribute("variation-id") ? this.getAttribute("variation-id") : null;
411
+ let updated = false;
412
+ if (sceneID !== this._sceneID) {
413
+ this._sceneID = sceneID;
414
+ updated = true;
415
+ }
416
+ if (productID !== this._productID) {
417
+ this._productID = productID;
418
+ updated = true;
419
+ }
420
+ if (variationID !== this._variationID) {
421
+ this._variationID = variationID;
422
+ updated = true;
423
+ }
424
+ if (updated) {
425
+ // re-render based on internal state
426
+ this._OnAttributesUpdated();
427
+ }
428
+ }
429
+ });
430
+ });
431
+ observer.observe(this, {
432
+ attributes: true
433
+ });
253
434
  const server = this.hasAttribute("server") ? this.getAttribute("server") : "production";
254
435
  plattar_api_1.Server.create(plattar_api_1.Server.match(server || "production"));
255
436
  if (server) {
@@ -302,6 +483,13 @@ class PlattarEmbed extends HTMLElement {
302
483
  const product = new product_ar_1.ProductAR(this._productID, this._variationID);
303
484
  return product.init().then(accept).catch(reject);
304
485
  }
486
+ // If Product is set (under any scenario) then use ProductAR
487
+ // NOTE: At some point this should check for Scenes when SceneAR
488
+ // is implemented
489
+ if (this._productID) {
490
+ const product = new product_ar_1.ProductAR(this._productID, this._variationID);
491
+ return product.init().then(accept).catch(reject);
492
+ }
305
493
  // otherwise, scene was set so use SceneAR
306
494
  if (this._sceneID) {
307
495
  return reject(new Error("PlattarEmbed.initAR() - scene-id not yet supported"));
@@ -336,12 +524,19 @@ class PlattarEmbed extends HTMLElement {
336
524
  viewer.setAttribute("height", this._height);
337
525
  viewer.setAttribute("server", this._server);
338
526
  viewer.setAttribute("scene-id", this._sceneID);
527
+ if (this._productID) {
528
+ viewer.setAttribute("product-id", this._productID);
529
+ }
530
+ if (this._variationID) {
531
+ viewer.setAttribute("variation-id", this._variationID);
532
+ }
339
533
  viewer.onload = () => {
340
534
  return accept(viewer);
341
535
  };
342
536
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
343
537
  shadow.append(viewer);
344
538
  this._viewer = viewer;
539
+ this._currentState = EmbedState.SceneViewer;
345
540
  return;
346
541
  }
347
542
  // if product is set, we use <plattar-product /> node from plattar-web
@@ -360,6 +555,7 @@ class PlattarEmbed extends HTMLElement {
360
555
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
361
556
  shadow.append(viewer);
362
557
  this._viewer = viewer;
558
+ this._currentState = EmbedState.ProductViewer;
363
559
  return;
364
560
  }
365
561
  return reject(new Error("PlattarEmbed.startViewer() - minimum required attributes not set, use scene-id or product-id as a minimum"));
@@ -370,11 +566,9 @@ class PlattarEmbed extends HTMLElement {
370
566
  if (!this._isReady) {
371
567
  return reject(new Error("PlattarEmbed.startQRCode() - cannot execute as page has not loaded yet"));
372
568
  }
373
- const opt = options || {
374
- color: "#101721",
375
- qrType: "default",
376
- margin: 0
377
- };
569
+ const opt = options || this._qrCodeOptions;
570
+ // reset instance for later use
571
+ this._qrCodeOptions = opt;
378
572
  if (this._viewer) {
379
573
  this._viewer.remove();
380
574
  this._viewer = null;
@@ -393,7 +587,13 @@ class PlattarEmbed extends HTMLElement {
393
587
  if (opt.qrType) {
394
588
  viewer.setAttribute("qr-type", opt.qrType);
395
589
  }
396
- const dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + this._sceneID;
590
+ let dst = plattar_api_1.Server.location().base + "renderer/viewer.html?scene_id=" + this._sceneID;
591
+ if (this._productID) {
592
+ dst += "&productId=" + this._productID;
593
+ }
594
+ if (this._variationID) {
595
+ dst += "&variationId=" + this._variationID;
596
+ }
397
597
  viewer.setAttribute("url", dst);
398
598
  viewer.onload = () => {
399
599
  return accept(viewer);
@@ -401,6 +601,7 @@ class PlattarEmbed extends HTMLElement {
401
601
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
402
602
  shadow.append(viewer);
403
603
  this._viewer = viewer;
604
+ this._currentState = EmbedState.QRCode;
404
605
  return;
405
606
  }
406
607
  // if product is set, we embed a QR code that takes us to product.html
@@ -428,15 +629,46 @@ class PlattarEmbed extends HTMLElement {
428
629
  const shadow = this.shadowRoot || this.attachShadow({ mode: 'open' });
429
630
  shadow.append(viewer);
430
631
  this._viewer = viewer;
632
+ this._currentState = EmbedState.QRCode;
431
633
  return;
432
634
  }
433
635
  return reject(new Error("PlattarEmbed.startQRCode() - minimum required attributes not set, use scene-id or product-id as a minimum"));
434
636
  });
435
637
  }
638
+ /**
639
+ * This is called by the observer if any of the embed attributes have changed
640
+ * based on the state of the embed, we update the internal structure accordingly
641
+ */
642
+ _OnAttributesUpdated() {
643
+ // nothing to update in these scenarios
644
+ if (this._currentState === EmbedState.None || this._currentState === EmbedState.ProductAR) {
645
+ return;
646
+ }
647
+ // re-render the QR Code when attributes have changed
648
+ if (this._currentState === EmbedState.QRCode) {
649
+ this.startQRCode(this._qrCodeOptions);
650
+ return;
651
+ }
652
+ // use the messenger function to change variation when attributes have changed
653
+ if (this._currentState === EmbedState.SceneViewer) {
654
+ const viewer = this.viewer;
655
+ if (viewer) {
656
+ viewer.messenger.selectVariation(this._productID, this._variationID);
657
+ }
658
+ return;
659
+ }
660
+ if (this._currentState === EmbedState.ProductViewer) {
661
+ const viewer = this.viewer;
662
+ if (viewer) {
663
+ viewer.messenger.selectVariation(this._variationID);
664
+ }
665
+ return;
666
+ }
667
+ }
436
668
  }
437
669
  exports.default = PlattarEmbed;
438
670
 
439
- },{"../ar/product-ar":3,"@plattar/plattar-api":34}],6:[function(require,module,exports){
671
+ },{"../ar/product-ar":4,"@plattar/plattar-api":35}],7:[function(require,module,exports){
440
672
  "use strict";
441
673
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
442
674
  if (k2 === undefined) k2 = k;
@@ -461,7 +693,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
461
693
  return (mod && mod.__esModule) ? mod : { "default": mod };
462
694
  };
463
695
  Object.defineProperty(exports, "__esModule", { value: true });
464
- exports.Util = exports.SceneAR = exports.ProductAR = exports.ConfiguratorAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
696
+ exports.Util = exports.ModelAR = exports.SceneAR = exports.ProductAR = exports.ConfiguratorAR = exports.version = exports.PlattarQRCode = exports.PlattarWeb = void 0;
465
697
  exports.PlattarWeb = __importStar(require("@plattar/plattar-web"));
466
698
  exports.PlattarQRCode = __importStar(require("@plattar/plattar-qrcode"));
467
699
  exports.version = __importStar(require("./version"));
@@ -471,16 +703,20 @@ var product_ar_1 = require("./ar/product-ar");
471
703
  Object.defineProperty(exports, "ProductAR", { enumerable: true, get: function () { return product_ar_1.ProductAR; } });
472
704
  var scene_ar_1 = require("./ar/scene-ar");
473
705
  Object.defineProperty(exports, "SceneAR", { enumerable: true, get: function () { return scene_ar_1.SceneAR; } });
706
+ var model_ar_1 = require("./ar/model-ar");
707
+ Object.defineProperty(exports, "ModelAR", { enumerable: true, get: function () { return model_ar_1.ModelAR; } });
474
708
  var util_1 = require("./util/util");
475
709
  Object.defineProperty(exports, "Util", { enumerable: true, get: function () { return util_1.Util; } });
476
710
  const plattar_embed_1 = __importDefault(require("./embed/plattar-embed"));
477
711
  const version_1 = __importDefault(require("./version"));
478
712
  if (customElements) {
479
- customElements.define("plattar-embed", plattar_embed_1.default);
713
+ if (customElements.get("plattar-embed") === undefined) {
714
+ customElements.define("plattar-embed", plattar_embed_1.default);
715
+ }
480
716
  }
481
717
  console.log("using @plattar/plattar-ar-adapter v" + version_1.default);
482
718
 
483
- },{"./ar/configurator-ar":1,"./ar/product-ar":3,"./ar/scene-ar":4,"./embed/plattar-embed":5,"./util/util":7,"./version":8,"@plattar/plattar-qrcode":100,"@plattar/plattar-web":113}],7:[function(require,module,exports){
719
+ },{"./ar/configurator-ar":1,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/scene-ar":5,"./embed/plattar-embed":6,"./util/util":8,"./version":9,"@plattar/plattar-qrcode":101,"@plattar/plattar-web":114}],8:[function(require,module,exports){
484
720
  "use strict";
485
721
  Object.defineProperty(exports, "__esModule", { value: true });
486
722
  exports.Util = void 0;
@@ -567,12 +803,12 @@ class Util {
567
803
  }
568
804
  exports.Util = Util;
569
805
 
570
- },{}],8:[function(require,module,exports){
806
+ },{}],9:[function(require,module,exports){
571
807
  "use strict";
572
808
  Object.defineProperty(exports, "__esModule", { value: true });
573
- exports.default = "1.120.1";
809
+ exports.default = "1.122.2";
574
810
 
575
- },{}],9:[function(require,module,exports){
811
+ },{}],10:[function(require,module,exports){
576
812
  "use strict";
577
813
  Object.defineProperty(exports, "__esModule", { value: true });
578
814
  class ARViewer {
@@ -583,7 +819,7 @@ class ARViewer {
583
819
  }
584
820
  exports.default = ARViewer;
585
821
 
586
- },{}],10:[function(require,module,exports){
822
+ },{}],11:[function(require,module,exports){
587
823
  "use strict";
588
824
  var __importDefault = (this && this.__importDefault) || function (mod) {
589
825
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -633,7 +869,7 @@ class QuicklookViewer extends ar_viewer_1.default {
633
869
  }
634
870
  exports.default = QuicklookViewer;
635
871
 
636
- },{"./ar-viewer":9}],11:[function(require,module,exports){
872
+ },{"./ar-viewer":10}],12:[function(require,module,exports){
637
873
  "use strict";
638
874
  var __importDefault = (this && this.__importDefault) || function (mod) {
639
875
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -663,7 +899,7 @@ class RealityViewer extends ar_viewer_1.default {
663
899
  }
664
900
  exports.default = RealityViewer;
665
901
 
666
- },{"./ar-viewer":9}],12:[function(require,module,exports){
902
+ },{"./ar-viewer":10}],13:[function(require,module,exports){
667
903
  "use strict";
668
904
  var __importDefault = (this && this.__importDefault) || function (mod) {
669
905
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -716,7 +952,7 @@ class SceneViewer extends ar_viewer_1.default {
716
952
  }
717
953
  exports.default = SceneViewer;
718
954
 
719
- },{"./ar-viewer":9}],13:[function(require,module,exports){
955
+ },{"./ar-viewer":10}],14:[function(require,module,exports){
720
956
  "use strict";
721
957
  const Messenger = require("./messenger/messenger.js");
722
958
  const Memory = require("./memory/memory.js");
@@ -750,7 +986,7 @@ module.exports = {
750
986
  memory: GlobalEventHandler.instance().memoryInstance,
751
987
  version: Version
752
988
  }
753
- },{"./memory/memory.js":14,"./messenger/global-event-handler.js":21,"./messenger/messenger.js":22,"./version":27}],14:[function(require,module,exports){
989
+ },{"./memory/memory.js":15,"./messenger/global-event-handler.js":22,"./messenger/messenger.js":23,"./version":28}],15:[function(require,module,exports){
754
990
  const PermanentMemory = require("./permanent-memory");
755
991
  const TemporaryMemory = require("./temporary-memory");
756
992
 
@@ -784,7 +1020,7 @@ class Memory {
784
1020
  }
785
1021
 
786
1022
  module.exports = Memory;
787
- },{"./permanent-memory":15,"./temporary-memory":16}],15:[function(require,module,exports){
1023
+ },{"./permanent-memory":16,"./temporary-memory":17}],16:[function(require,module,exports){
788
1024
  const WrappedValue = require("./wrapped-value");
789
1025
 
790
1026
  class PermanentMemory {
@@ -853,7 +1089,7 @@ class PermanentMemory {
853
1089
  }
854
1090
 
855
1091
  module.exports = PermanentMemory;
856
- },{"./wrapped-value":17}],16:[function(require,module,exports){
1092
+ },{"./wrapped-value":18}],17:[function(require,module,exports){
857
1093
  const WrappedValue = require("./wrapped-value");
858
1094
 
859
1095
  class TemporaryMemory {
@@ -910,7 +1146,7 @@ class TemporaryMemory {
910
1146
  }
911
1147
 
912
1148
  module.exports = TemporaryMemory;
913
- },{"./wrapped-value":17}],17:[function(require,module,exports){
1149
+ },{"./wrapped-value":18}],18:[function(require,module,exports){
914
1150
  /**
915
1151
  * WrappedValue represents a generic value type with a callback function
916
1152
  * for when the value has changed
@@ -1022,7 +1258,7 @@ class WrappedValue {
1022
1258
  }
1023
1259
 
1024
1260
  module.exports = WrappedValue;
1025
- },{}],18:[function(require,module,exports){
1261
+ },{}],19:[function(require,module,exports){
1026
1262
  /**
1027
1263
  * Broadcaster is used to call functions in multiple contexts at the
1028
1264
  * same time. This can be useful without having to handle complex logic
@@ -1075,7 +1311,7 @@ class Broadcaster {
1075
1311
  }
1076
1312
 
1077
1313
  module.exports = Broadcaster;
1078
- },{}],19:[function(require,module,exports){
1314
+ },{}],20:[function(require,module,exports){
1079
1315
  const WrappedFunction = require("./wrapped-local-function");
1080
1316
 
1081
1317
  class CurrentFunctionList {
@@ -1126,7 +1362,7 @@ class CurrentFunctionList {
1126
1362
  }
1127
1363
 
1128
1364
  module.exports = CurrentFunctionList;
1129
- },{"./wrapped-local-function":20}],20:[function(require,module,exports){
1365
+ },{"./wrapped-local-function":21}],21:[function(require,module,exports){
1130
1366
  const Util = require("../util/util.js");
1131
1367
 
1132
1368
  /**
@@ -1213,7 +1449,7 @@ class WrappedLocalFunction {
1213
1449
  }
1214
1450
 
1215
1451
  module.exports = WrappedLocalFunction;
1216
- },{"../util/util.js":26}],21:[function(require,module,exports){
1452
+ },{"../util/util.js":27}],22:[function(require,module,exports){
1217
1453
  const RemoteInterface = require("./remote-interface.js");
1218
1454
 
1219
1455
  /**
@@ -1298,7 +1534,7 @@ GlobalEventHandler.instance = () => {
1298
1534
  };
1299
1535
 
1300
1536
  module.exports = GlobalEventHandler;
1301
- },{"./remote-interface.js":23}],22:[function(require,module,exports){
1537
+ },{"./remote-interface.js":24}],23:[function(require,module,exports){
1302
1538
  const CurrentFunctionList = require("./current/current-function-list");
1303
1539
  const RemoteInterface = require("./remote-interface");
1304
1540
  const RemoteFunctionList = require("./remote/remote-function-list");
@@ -1597,7 +1833,7 @@ class Messenger {
1597
1833
  }
1598
1834
 
1599
1835
  module.exports = Messenger;
1600
- },{"./broadcaster.js":18,"./current/current-function-list":19,"./global-event-handler.js":21,"./remote-interface":23,"./remote/remote-function-list":24,"./util/util.js":26}],23:[function(require,module,exports){
1836
+ },{"./broadcaster.js":19,"./current/current-function-list":20,"./global-event-handler.js":22,"./remote-interface":24,"./remote/remote-function-list":25,"./util/util.js":27}],24:[function(require,module,exports){
1601
1837
  /**
1602
1838
  * Provides a single useful interface for performing remote function calls
1603
1839
  */
@@ -1656,7 +1892,7 @@ class RemoteInterface {
1656
1892
  }
1657
1893
 
1658
1894
  module.exports = RemoteInterface;
1659
- },{}],24:[function(require,module,exports){
1895
+ },{}],25:[function(require,module,exports){
1660
1896
  const WrappedFunction = require("./wrapped-remote-function");
1661
1897
 
1662
1898
  class RemoteFunctionList {
@@ -1735,7 +1971,7 @@ class RemoteFunctionList {
1735
1971
  }
1736
1972
 
1737
1973
  module.exports = RemoteFunctionList;
1738
- },{"./wrapped-remote-function":25}],25:[function(require,module,exports){
1974
+ },{"./wrapped-remote-function":26}],26:[function(require,module,exports){
1739
1975
  const Util = require("../util/util.js");
1740
1976
  const GlobalEventHandler = require("../global-event-handler.js");
1741
1977
 
@@ -1816,7 +2052,7 @@ class WrappedRemoteFunction {
1816
2052
  }
1817
2053
 
1818
2054
  module.exports = WrappedRemoteFunction;
1819
- },{"../global-event-handler.js":21,"../util/util.js":26}],26:[function(require,module,exports){
2055
+ },{"../global-event-handler.js":22,"../util/util.js":27}],27:[function(require,module,exports){
1820
2056
  class Util {
1821
2057
 
1822
2058
  /**
@@ -1842,10 +2078,10 @@ class Util {
1842
2078
  }
1843
2079
 
1844
2080
  module.exports = Util;
1845
- },{}],27:[function(require,module,exports){
2081
+ },{}],28:[function(require,module,exports){
1846
2082
  module.exports = "1.113.6";
1847
2083
 
1848
- },{}],28:[function(require,module,exports){
2084
+ },{}],29:[function(require,module,exports){
1849
2085
  "use strict";
1850
2086
  Object.defineProperty(exports, "__esModule", { value: true });
1851
2087
  exports.AnalyticsData = void 0;
@@ -1892,7 +2128,7 @@ class AnalyticsData {
1892
2128
  }
1893
2129
  exports.AnalyticsData = AnalyticsData;
1894
2130
 
1895
- },{"../util/util":32}],29:[function(require,module,exports){
2131
+ },{"../util/util":33}],30:[function(require,module,exports){
1896
2132
  "use strict";
1897
2133
  var __importDefault = (this && this.__importDefault) || function (mod) {
1898
2134
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -1979,7 +2215,7 @@ class Analytics {
1979
2215
  }
1980
2216
  exports.Analytics = Analytics;
1981
2217
 
1982
- },{"../util/basic-http":31,"./analytics-data":28}],30:[function(require,module,exports){
2218
+ },{"../util/basic-http":32,"./analytics-data":29}],31:[function(require,module,exports){
1983
2219
  "use strict";
1984
2220
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
1985
2221
  if (k2 === undefined) k2 = k;
@@ -2011,7 +2247,7 @@ Object.defineProperty(exports, "Analytics", { enumerable: true, get: function ()
2011
2247
  const version_1 = __importDefault(require("./version"));
2012
2248
  console.log("using @plattar/plattar-analytics v" + version_1.default);
2013
2249
 
2014
- },{"./analytics/analytics":29,"./version":33}],31:[function(require,module,exports){
2250
+ },{"./analytics/analytics":30,"./version":34}],32:[function(require,module,exports){
2015
2251
  "use strict";
2016
2252
  Object.defineProperty(exports, "__esModule", { value: true });
2017
2253
  /**
@@ -2077,7 +2313,7 @@ class BasicHTTP {
2077
2313
  }
2078
2314
  exports.default = BasicHTTP;
2079
2315
 
2080
- },{}],32:[function(require,module,exports){
2316
+ },{}],33:[function(require,module,exports){
2081
2317
  "use strict";
2082
2318
  Object.defineProperty(exports, "__esModule", { value: true });
2083
2319
  exports.Util = void 0;
@@ -2103,12 +2339,12 @@ class Util {
2103
2339
  }
2104
2340
  exports.Util = Util;
2105
2341
 
2106
- },{}],33:[function(require,module,exports){
2342
+ },{}],34:[function(require,module,exports){
2107
2343
  "use strict";
2108
2344
  Object.defineProperty(exports, "__esModule", { value: true });
2109
2345
  exports.default = "1.117.2";
2110
2346
 
2111
- },{}],34:[function(require,module,exports){
2347
+ },{}],35:[function(require,module,exports){
2112
2348
  "use strict";
2113
2349
  const Server = require("./server/plattar-server.js");
2114
2350
  const Util = require("./util/plattar-util.js");
@@ -2263,7 +2499,7 @@ module.exports = {
2263
2499
  version: Version
2264
2500
  };
2265
2501
 
2266
- },{"./server/plattar-server.js":36,"./types/application.js":37,"./types/content-pipeline/brief.js":38,"./types/content-pipeline/comment-brief.js":39,"./types/content-pipeline/comment-quote.js":40,"./types/content-pipeline/comment-solution.js":41,"./types/content-pipeline/folder.js":42,"./types/content-pipeline/pipeline-user.js":43,"./types/content-pipeline/quote.js":44,"./types/content-pipeline/rating.js":45,"./types/content-pipeline/solution.js":46,"./types/file/file-audio.js":47,"./types/file/file-base.js":48,"./types/file/file-image.js":49,"./types/file/file-model.js":50,"./types/file/file-script.js":51,"./types/file/file-video.js":52,"./types/misc/application-build.js":56,"./types/misc/asset-library.js":57,"./types/misc/async-job.js":58,"./types/misc/script-event.js":59,"./types/misc/tag.js":60,"./types/page/card-base.js":61,"./types/page/card-button.js":62,"./types/page/card-html.js":63,"./types/page/card-iframe.js":64,"./types/page/card-image.js":65,"./types/page/card-map.js":66,"./types/page/card-paragraph.js":67,"./types/page/card-row.js":68,"./types/page/card-slider.js":69,"./types/page/card-title.js":70,"./types/page/card-video.js":71,"./types/page/card-youtube.js":72,"./types/page/page.js":73,"./types/product/product-annotation.js":74,"./types/product/product-base.js":75,"./types/product/product-variation.js":76,"./types/product/product.js":77,"./types/scene/scene-annotation.js":78,"./types/scene/scene-audio.js":79,"./types/scene/scene-base.js":80,"./types/scene/scene-button.js":81,"./types/scene/scene-camera.js":82,"./types/scene/scene-carousel.js":83,"./types/scene/scene-image.js":84,"./types/scene/scene-model.js":85,"./types/scene/scene-panorama.js":86,"./types/scene/scene-poller.js":87,"./types/scene/scene-product.js":88,"./types/scene/scene-script.js":89,"./types/scene/scene-shadow.js":90,"./types/scene/scene-video.js":91,"./types/scene/scene-volumetric.js":92,"./types/scene/scene-youtube.js":93,"./types/scene/scene.js":94,"./types/trigger/trigger-image.js":95,"./util/plattar-util.js":96,"./version":97}],35:[function(require,module,exports){
2502
+ },{"./server/plattar-server.js":37,"./types/application.js":38,"./types/content-pipeline/brief.js":39,"./types/content-pipeline/comment-brief.js":40,"./types/content-pipeline/comment-quote.js":41,"./types/content-pipeline/comment-solution.js":42,"./types/content-pipeline/folder.js":43,"./types/content-pipeline/pipeline-user.js":44,"./types/content-pipeline/quote.js":45,"./types/content-pipeline/rating.js":46,"./types/content-pipeline/solution.js":47,"./types/file/file-audio.js":48,"./types/file/file-base.js":49,"./types/file/file-image.js":50,"./types/file/file-model.js":51,"./types/file/file-script.js":52,"./types/file/file-video.js":53,"./types/misc/application-build.js":57,"./types/misc/asset-library.js":58,"./types/misc/async-job.js":59,"./types/misc/script-event.js":60,"./types/misc/tag.js":61,"./types/page/card-base.js":62,"./types/page/card-button.js":63,"./types/page/card-html.js":64,"./types/page/card-iframe.js":65,"./types/page/card-image.js":66,"./types/page/card-map.js":67,"./types/page/card-paragraph.js":68,"./types/page/card-row.js":69,"./types/page/card-slider.js":70,"./types/page/card-title.js":71,"./types/page/card-video.js":72,"./types/page/card-youtube.js":73,"./types/page/page.js":74,"./types/product/product-annotation.js":75,"./types/product/product-base.js":76,"./types/product/product-variation.js":77,"./types/product/product.js":78,"./types/scene/scene-annotation.js":79,"./types/scene/scene-audio.js":80,"./types/scene/scene-base.js":81,"./types/scene/scene-button.js":82,"./types/scene/scene-camera.js":83,"./types/scene/scene-carousel.js":84,"./types/scene/scene-image.js":85,"./types/scene/scene-model.js":86,"./types/scene/scene-panorama.js":87,"./types/scene/scene-poller.js":88,"./types/scene/scene-product.js":89,"./types/scene/scene-script.js":90,"./types/scene/scene-shadow.js":91,"./types/scene/scene-video.js":92,"./types/scene/scene-volumetric.js":93,"./types/scene/scene-youtube.js":94,"./types/scene/scene.js":95,"./types/trigger/trigger-image.js":96,"./util/plattar-util.js":97,"./version":98}],36:[function(require,module,exports){
2267
2503
  const fetch = require("node-fetch");
2268
2504
 
2269
2505
  class PlattarQuery {
@@ -2755,7 +2991,7 @@ PlattarQuery._DeleteGlobalCachedObject = (obj) => {
2755
2991
  };
2756
2992
 
2757
2993
  module.exports = PlattarQuery;
2758
- },{"../util/plattar-util.js":96,"node-fetch":116}],36:[function(require,module,exports){
2994
+ },{"../util/plattar-util.js":97,"node-fetch":117}],37:[function(require,module,exports){
2759
2995
  (function (process){(function (){
2760
2996
  const fetch = require("node-fetch");
2761
2997
 
@@ -2960,7 +3196,7 @@ PlattarServer.location = () => {
2960
3196
 
2961
3197
  module.exports = PlattarServer;
2962
3198
  }).call(this)}).call(this,require('_process'))
2963
- },{"_process":117,"node-fetch":116}],37:[function(require,module,exports){
3199
+ },{"_process":118,"node-fetch":117}],38:[function(require,module,exports){
2964
3200
  const PlattarBase = require("./interfaces/plattar-base.js");
2965
3201
 
2966
3202
  class Application extends PlattarBase {
@@ -2970,7 +3206,7 @@ class Application extends PlattarBase {
2970
3206
  }
2971
3207
 
2972
3208
  module.exports = Application;
2973
- },{"./interfaces/plattar-base.js":53}],38:[function(require,module,exports){
3209
+ },{"./interfaces/plattar-base.js":54}],39:[function(require,module,exports){
2974
3210
  const PlattarBase = require("../interfaces/plattar-base");
2975
3211
 
2976
3212
  class Brief extends PlattarBase {
@@ -2980,7 +3216,7 @@ class Brief extends PlattarBase {
2980
3216
  }
2981
3217
 
2982
3218
  module.exports = Brief;
2983
- },{"../interfaces/plattar-base":53}],39:[function(require,module,exports){
3219
+ },{"../interfaces/plattar-base":54}],40:[function(require,module,exports){
2984
3220
  const PlattarBase = require("../interfaces/plattar-base");
2985
3221
 
2986
3222
  class CommentBrief extends PlattarBase {
@@ -2990,7 +3226,7 @@ class CommentBrief extends PlattarBase {
2990
3226
  }
2991
3227
 
2992
3228
  module.exports = CommentBrief;
2993
- },{"../interfaces/plattar-base":53}],40:[function(require,module,exports){
3229
+ },{"../interfaces/plattar-base":54}],41:[function(require,module,exports){
2994
3230
  const PlattarBase = require("../interfaces/plattar-base");
2995
3231
 
2996
3232
  class CommentQuote extends PlattarBase {
@@ -3000,7 +3236,7 @@ class CommentQuote extends PlattarBase {
3000
3236
  }
3001
3237
 
3002
3238
  module.exports = CommentQuote;
3003
- },{"../interfaces/plattar-base":53}],41:[function(require,module,exports){
3239
+ },{"../interfaces/plattar-base":54}],42:[function(require,module,exports){
3004
3240
  const PlattarBase = require("../interfaces/plattar-base");
3005
3241
 
3006
3242
  class CommentSolution extends PlattarBase {
@@ -3010,7 +3246,7 @@ class CommentSolution extends PlattarBase {
3010
3246
  }
3011
3247
 
3012
3248
  module.exports = CommentSolution;
3013
- },{"../interfaces/plattar-base":53}],42:[function(require,module,exports){
3249
+ },{"../interfaces/plattar-base":54}],43:[function(require,module,exports){
3014
3250
  const PlattarBase = require("../interfaces/plattar-base");
3015
3251
 
3016
3252
  class Folder extends PlattarBase {
@@ -3020,7 +3256,7 @@ class Folder extends PlattarBase {
3020
3256
  }
3021
3257
 
3022
3258
  module.exports = Folder;
3023
- },{"../interfaces/plattar-base":53}],43:[function(require,module,exports){
3259
+ },{"../interfaces/plattar-base":54}],44:[function(require,module,exports){
3024
3260
  const PlattarBase = require("../interfaces/plattar-base");
3025
3261
 
3026
3262
  class PipelineUser extends PlattarBase {
@@ -3030,7 +3266,7 @@ class PipelineUser extends PlattarBase {
3030
3266
  }
3031
3267
 
3032
3268
  module.exports = PipelineUser;
3033
- },{"../interfaces/plattar-base":53}],44:[function(require,module,exports){
3269
+ },{"../interfaces/plattar-base":54}],45:[function(require,module,exports){
3034
3270
  const PlattarBase = require("../interfaces/plattar-base");
3035
3271
 
3036
3272
  class Quote extends PlattarBase {
@@ -3040,7 +3276,7 @@ class Quote extends PlattarBase {
3040
3276
  }
3041
3277
 
3042
3278
  module.exports = Quote;
3043
- },{"../interfaces/plattar-base":53}],45:[function(require,module,exports){
3279
+ },{"../interfaces/plattar-base":54}],46:[function(require,module,exports){
3044
3280
  const PlattarBase = require("../interfaces/plattar-base");
3045
3281
 
3046
3282
  class Rating extends PlattarBase {
@@ -3050,7 +3286,7 @@ class Rating extends PlattarBase {
3050
3286
  }
3051
3287
 
3052
3288
  module.exports = Rating;
3053
- },{"../interfaces/plattar-base":53}],46:[function(require,module,exports){
3289
+ },{"../interfaces/plattar-base":54}],47:[function(require,module,exports){
3054
3290
  const PlattarBase = require("../interfaces/plattar-base");
3055
3291
 
3056
3292
  class Solution extends PlattarBase {
@@ -3060,7 +3296,7 @@ class Solution extends PlattarBase {
3060
3296
  }
3061
3297
 
3062
3298
  module.exports = Solution;
3063
- },{"../interfaces/plattar-base":53}],47:[function(require,module,exports){
3299
+ },{"../interfaces/plattar-base":54}],48:[function(require,module,exports){
3064
3300
  const FileBase = require("./file-base.js");
3065
3301
 
3066
3302
  class FileAudio extends FileBase {
@@ -3070,7 +3306,7 @@ class FileAudio extends FileBase {
3070
3306
  }
3071
3307
 
3072
3308
  module.exports = FileAudio;
3073
- },{"./file-base.js":48}],48:[function(require,module,exports){
3309
+ },{"./file-base.js":49}],49:[function(require,module,exports){
3074
3310
  const PlattarBase = require("../interfaces/plattar-base.js");
3075
3311
  const Server = require("../../server/plattar-server.js");
3076
3312
 
@@ -3130,7 +3366,7 @@ class FileBase extends PlattarBase {
3130
3366
  }
3131
3367
 
3132
3368
  module.exports = FileBase;
3133
- },{"../../server/plattar-server.js":36,"../interfaces/plattar-base.js":53,"./file-audio.js":47,"./file-image.js":49,"./file-model.js":50,"./file-video.js":52}],49:[function(require,module,exports){
3369
+ },{"../../server/plattar-server.js":37,"../interfaces/plattar-base.js":54,"./file-audio.js":48,"./file-image.js":50,"./file-model.js":51,"./file-video.js":53}],50:[function(require,module,exports){
3134
3370
  const FileBase = require("./file-base.js");
3135
3371
 
3136
3372
  class FileImage extends FileBase {
@@ -3140,7 +3376,7 @@ class FileImage extends FileBase {
3140
3376
  }
3141
3377
 
3142
3378
  module.exports = FileImage;
3143
- },{"./file-base.js":48}],50:[function(require,module,exports){
3379
+ },{"./file-base.js":49}],51:[function(require,module,exports){
3144
3380
  const FileBase = require("./file-base.js");
3145
3381
 
3146
3382
  class FileModel extends FileBase {
@@ -3150,7 +3386,7 @@ class FileModel extends FileBase {
3150
3386
  }
3151
3387
 
3152
3388
  module.exports = FileModel;
3153
- },{"./file-base.js":48}],51:[function(require,module,exports){
3389
+ },{"./file-base.js":49}],52:[function(require,module,exports){
3154
3390
  const FileBase = require("./file-base.js");
3155
3391
 
3156
3392
  class FileScript extends FileBase {
@@ -3160,7 +3396,7 @@ class FileScript extends FileBase {
3160
3396
  }
3161
3397
 
3162
3398
  module.exports = FileScript;
3163
- },{"./file-base.js":48}],52:[function(require,module,exports){
3399
+ },{"./file-base.js":49}],53:[function(require,module,exports){
3164
3400
  const FileBase = require("./file-base.js");
3165
3401
 
3166
3402
  class FileVideo extends FileBase {
@@ -3170,7 +3406,7 @@ class FileVideo extends FileBase {
3170
3406
  }
3171
3407
 
3172
3408
  module.exports = FileVideo;
3173
- },{"./file-base.js":48}],53:[function(require,module,exports){
3409
+ },{"./file-base.js":49}],54:[function(require,module,exports){
3174
3410
  const PlattarObject = require("./plattar-object.js");
3175
3411
  const Server = require("../../server/plattar-server.js");
3176
3412
 
@@ -3185,7 +3421,7 @@ class PlattarBase extends PlattarObject {
3185
3421
  }
3186
3422
 
3187
3423
  module.exports = PlattarBase;
3188
- },{"../../server/plattar-server.js":36,"./plattar-object.js":55}],54:[function(require,module,exports){
3424
+ },{"../../server/plattar-server.js":37,"./plattar-object.js":56}],55:[function(require,module,exports){
3189
3425
  /**
3190
3426
  * Handles the list of relationships for the provided object
3191
3427
  */
@@ -3306,7 +3542,7 @@ class PlattarObjectRelations {
3306
3542
  }
3307
3543
 
3308
3544
  module.exports = PlattarObjectRelations;
3309
- },{"../../util/plattar-util.js":96}],55:[function(require,module,exports){
3545
+ },{"../../util/plattar-util.js":97}],56:[function(require,module,exports){
3310
3546
  const PlattarQuery = require("../../server/plattar-query.js");
3311
3547
  const PlattarObjectRelations = require("./plattar-object-relations.js");
3312
3548
 
@@ -3449,7 +3685,7 @@ class PlattarObject {
3449
3685
  }
3450
3686
 
3451
3687
  module.exports = PlattarObject;
3452
- },{"../../server/plattar-query.js":35,"./plattar-object-relations.js":54}],56:[function(require,module,exports){
3688
+ },{"../../server/plattar-query.js":36,"./plattar-object-relations.js":55}],57:[function(require,module,exports){
3453
3689
  const PlattarBase = require("../interfaces/plattar-base.js");
3454
3690
 
3455
3691
  class ApplicationBuild extends PlattarBase {
@@ -3459,7 +3695,7 @@ class ApplicationBuild extends PlattarBase {
3459
3695
  }
3460
3696
 
3461
3697
  module.exports = ApplicationBuild;
3462
- },{"../interfaces/plattar-base.js":53}],57:[function(require,module,exports){
3698
+ },{"../interfaces/plattar-base.js":54}],58:[function(require,module,exports){
3463
3699
  const PlattarBase = require("../interfaces/plattar-base.js");
3464
3700
 
3465
3701
  class AssetLibrary extends PlattarBase {
@@ -3469,7 +3705,7 @@ class AssetLibrary extends PlattarBase {
3469
3705
  }
3470
3706
 
3471
3707
  module.exports = AssetLibrary;
3472
- },{"../interfaces/plattar-base.js":53}],58:[function(require,module,exports){
3708
+ },{"../interfaces/plattar-base.js":54}],59:[function(require,module,exports){
3473
3709
  const PlattarBase = require("../interfaces/plattar-base.js");
3474
3710
 
3475
3711
  class AsyncJob extends PlattarBase {
@@ -3483,7 +3719,7 @@ class AsyncJob extends PlattarBase {
3483
3719
  }
3484
3720
 
3485
3721
  module.exports = AsyncJob;
3486
- },{"../interfaces/plattar-base.js":53}],59:[function(require,module,exports){
3722
+ },{"../interfaces/plattar-base.js":54}],60:[function(require,module,exports){
3487
3723
  const PlattarBase = require("../interfaces/plattar-base.js");
3488
3724
 
3489
3725
  class ScriptEvent extends PlattarBase {
@@ -3493,7 +3729,7 @@ class ScriptEvent extends PlattarBase {
3493
3729
  }
3494
3730
 
3495
3731
  module.exports = ScriptEvent;
3496
- },{"../interfaces/plattar-base.js":53}],60:[function(require,module,exports){
3732
+ },{"../interfaces/plattar-base.js":54}],61:[function(require,module,exports){
3497
3733
  const PlattarBase = require("../interfaces/plattar-base.js");
3498
3734
 
3499
3735
  class Tag extends PlattarBase {
@@ -3503,7 +3739,7 @@ class Tag extends PlattarBase {
3503
3739
  }
3504
3740
 
3505
3741
  module.exports = Tag;
3506
- },{"../interfaces/plattar-base.js":53}],61:[function(require,module,exports){
3742
+ },{"../interfaces/plattar-base.js":54}],62:[function(require,module,exports){
3507
3743
  const PlattarBase = require("../interfaces/plattar-base.js");
3508
3744
  const Server = require("../../server/plattar-server.js");
3509
3745
 
@@ -3534,7 +3770,7 @@ class CardBase extends PlattarBase {
3534
3770
  }
3535
3771
 
3536
3772
  module.exports = CardBase;
3537
- },{"../../server/plattar-server.js":36,"../interfaces/plattar-base.js":53,"./card-button.js":62,"./card-html.js":63,"./card-iframe.js":64,"./card-image.js":65,"./card-map.js":66,"./card-paragraph.js":67,"./card-row.js":68,"./card-slider.js":69,"./card-title.js":70,"./card-video.js":71,"./card-youtube.js":72}],62:[function(require,module,exports){
3773
+ },{"../../server/plattar-server.js":37,"../interfaces/plattar-base.js":54,"./card-button.js":63,"./card-html.js":64,"./card-iframe.js":65,"./card-image.js":66,"./card-map.js":67,"./card-paragraph.js":68,"./card-row.js":69,"./card-slider.js":70,"./card-title.js":71,"./card-video.js":72,"./card-youtube.js":73}],63:[function(require,module,exports){
3538
3774
  const CardBase = require("./card-base.js");
3539
3775
 
3540
3776
  class CardButton extends CardBase {
@@ -3544,7 +3780,7 @@ class CardButton extends CardBase {
3544
3780
  }
3545
3781
 
3546
3782
  module.exports = CardButton;
3547
- },{"./card-base.js":61}],63:[function(require,module,exports){
3783
+ },{"./card-base.js":62}],64:[function(require,module,exports){
3548
3784
  const CardBase = require("./card-base.js");
3549
3785
 
3550
3786
  class CardHTML extends CardBase {
@@ -3554,7 +3790,7 @@ class CardHTML extends CardBase {
3554
3790
  }
3555
3791
 
3556
3792
  module.exports = CardHTML;
3557
- },{"./card-base.js":61}],64:[function(require,module,exports){
3793
+ },{"./card-base.js":62}],65:[function(require,module,exports){
3558
3794
  const CardBase = require("./card-base.js");
3559
3795
 
3560
3796
  class CardIFrame extends CardBase {
@@ -3564,7 +3800,7 @@ class CardIFrame extends CardBase {
3564
3800
  }
3565
3801
 
3566
3802
  module.exports = CardIFrame;
3567
- },{"./card-base.js":61}],65:[function(require,module,exports){
3803
+ },{"./card-base.js":62}],66:[function(require,module,exports){
3568
3804
  const CardBase = require("./card-base.js");
3569
3805
 
3570
3806
  class CardImage extends CardBase {
@@ -3574,7 +3810,7 @@ class CardImage extends CardBase {
3574
3810
  }
3575
3811
 
3576
3812
  module.exports = CardImage;
3577
- },{"./card-base.js":61}],66:[function(require,module,exports){
3813
+ },{"./card-base.js":62}],67:[function(require,module,exports){
3578
3814
  const CardBase = require("./card-base.js");
3579
3815
 
3580
3816
  class CardMap extends CardBase {
@@ -3584,7 +3820,7 @@ class CardMap extends CardBase {
3584
3820
  }
3585
3821
 
3586
3822
  module.exports = CardMap;
3587
- },{"./card-base.js":61}],67:[function(require,module,exports){
3823
+ },{"./card-base.js":62}],68:[function(require,module,exports){
3588
3824
  const CardBase = require("./card-base.js");
3589
3825
 
3590
3826
  class CardParagraph extends CardBase {
@@ -3594,7 +3830,7 @@ class CardParagraph extends CardBase {
3594
3830
  }
3595
3831
 
3596
3832
  module.exports = CardParagraph;
3597
- },{"./card-base.js":61}],68:[function(require,module,exports){
3833
+ },{"./card-base.js":62}],69:[function(require,module,exports){
3598
3834
  const CardBase = require("./card-base.js");
3599
3835
 
3600
3836
  class CardRow extends CardBase {
@@ -3604,7 +3840,7 @@ class CardRow extends CardBase {
3604
3840
  }
3605
3841
 
3606
3842
  module.exports = CardRow;
3607
- },{"./card-base.js":61}],69:[function(require,module,exports){
3843
+ },{"./card-base.js":62}],70:[function(require,module,exports){
3608
3844
  const CardBase = require("./card-base.js");
3609
3845
 
3610
3846
  class CardSlider extends CardBase {
@@ -3614,7 +3850,7 @@ class CardSlider extends CardBase {
3614
3850
  }
3615
3851
 
3616
3852
  module.exports = CardSlider;
3617
- },{"./card-base.js":61}],70:[function(require,module,exports){
3853
+ },{"./card-base.js":62}],71:[function(require,module,exports){
3618
3854
  const CardBase = require("./card-base.js");
3619
3855
 
3620
3856
  class CardTitle extends CardBase {
@@ -3624,7 +3860,7 @@ class CardTitle extends CardBase {
3624
3860
  }
3625
3861
 
3626
3862
  module.exports = CardTitle;
3627
- },{"./card-base.js":61}],71:[function(require,module,exports){
3863
+ },{"./card-base.js":62}],72:[function(require,module,exports){
3628
3864
  const CardBase = require("./card-base.js");
3629
3865
 
3630
3866
  class CardVideo extends CardBase {
@@ -3634,7 +3870,7 @@ class CardVideo extends CardBase {
3634
3870
  }
3635
3871
 
3636
3872
  module.exports = CardVideo;
3637
- },{"./card-base.js":61}],72:[function(require,module,exports){
3873
+ },{"./card-base.js":62}],73:[function(require,module,exports){
3638
3874
  const CardBase = require("./card-base.js");
3639
3875
 
3640
3876
  class CardYoutube extends CardBase {
@@ -3644,7 +3880,7 @@ class CardYoutube extends CardBase {
3644
3880
  }
3645
3881
 
3646
3882
  module.exports = CardYoutube;
3647
- },{"./card-base.js":61}],73:[function(require,module,exports){
3883
+ },{"./card-base.js":62}],74:[function(require,module,exports){
3648
3884
  const PlattarBase = require("../interfaces/plattar-base.js");
3649
3885
 
3650
3886
  class Page extends PlattarBase {
@@ -3654,7 +3890,7 @@ class Page extends PlattarBase {
3654
3890
  }
3655
3891
 
3656
3892
  module.exports = Page;
3657
- },{"../interfaces/plattar-base.js":53}],74:[function(require,module,exports){
3893
+ },{"../interfaces/plattar-base.js":54}],75:[function(require,module,exports){
3658
3894
  const ProductBase = require("./product-base.js");
3659
3895
 
3660
3896
  class ProductAnnotation extends ProductBase {
@@ -3664,7 +3900,7 @@ class ProductAnnotation extends ProductBase {
3664
3900
  }
3665
3901
 
3666
3902
  module.exports = ProductAnnotation;
3667
- },{"./product-base.js":75}],75:[function(require,module,exports){
3903
+ },{"./product-base.js":76}],76:[function(require,module,exports){
3668
3904
  const PlattarBase = require("../interfaces/plattar-base.js");
3669
3905
  const Server = require("../../server/plattar-server.js");
3670
3906
 
@@ -3686,7 +3922,7 @@ class ProductBase extends PlattarBase {
3686
3922
  }
3687
3923
 
3688
3924
  module.exports = ProductBase;
3689
- },{"../../server/plattar-server.js":36,"../interfaces/plattar-base.js":53,"./product-annotation.js":74,"./product-variation.js":76}],76:[function(require,module,exports){
3925
+ },{"../../server/plattar-server.js":37,"../interfaces/plattar-base.js":54,"./product-annotation.js":75,"./product-variation.js":77}],77:[function(require,module,exports){
3690
3926
  const ProductBase = require("./product-base.js");
3691
3927
 
3692
3928
  class ProductVariation extends ProductBase {
@@ -3696,7 +3932,7 @@ class ProductVariation extends ProductBase {
3696
3932
  }
3697
3933
 
3698
3934
  module.exports = ProductVariation;
3699
- },{"./product-base.js":75}],77:[function(require,module,exports){
3935
+ },{"./product-base.js":76}],78:[function(require,module,exports){
3700
3936
  const PlattarBase = require("../interfaces/plattar-base.js");
3701
3937
 
3702
3938
  class Product extends PlattarBase {
@@ -3706,7 +3942,7 @@ class Product extends PlattarBase {
3706
3942
  }
3707
3943
 
3708
3944
  module.exports = Product;
3709
- },{"../interfaces/plattar-base.js":53}],78:[function(require,module,exports){
3945
+ },{"../interfaces/plattar-base.js":54}],79:[function(require,module,exports){
3710
3946
  const SceneBase = require("./scene-base.js");
3711
3947
 
3712
3948
  class SceneAnnotation extends SceneBase {
@@ -3716,7 +3952,7 @@ class SceneAnnotation extends SceneBase {
3716
3952
  }
3717
3953
 
3718
3954
  module.exports = SceneAnnotation;
3719
- },{"./scene-base.js":80}],79:[function(require,module,exports){
3955
+ },{"./scene-base.js":81}],80:[function(require,module,exports){
3720
3956
  const SceneBase = require("./scene-base.js");
3721
3957
 
3722
3958
  class SceneAudio extends SceneBase {
@@ -3726,7 +3962,7 @@ class SceneAudio extends SceneBase {
3726
3962
  }
3727
3963
 
3728
3964
  module.exports = SceneAudio;
3729
- },{"./scene-base.js":80}],80:[function(require,module,exports){
3965
+ },{"./scene-base.js":81}],81:[function(require,module,exports){
3730
3966
  const PlattarBase = require("../interfaces/plattar-base.js");
3731
3967
  const Server = require("../../server/plattar-server.js");
3732
3968
 
@@ -3760,7 +3996,7 @@ class SceneBase extends PlattarBase {
3760
3996
  }
3761
3997
 
3762
3998
  module.exports = SceneBase;
3763
- },{"../../server/plattar-server.js":36,"../interfaces/plattar-base.js":53,"./scene-annotation.js":78,"./scene-audio.js":79,"./scene-button.js":81,"./scene-camera.js":82,"./scene-carousel.js":83,"./scene-image.js":84,"./scene-model.js":85,"./scene-panorama.js":86,"./scene-poller.js":87,"./scene-product.js":88,"./scene-shadow.js":90,"./scene-video.js":91,"./scene-volumetric.js":92,"./scene-youtube.js":93}],81:[function(require,module,exports){
3999
+ },{"../../server/plattar-server.js":37,"../interfaces/plattar-base.js":54,"./scene-annotation.js":79,"./scene-audio.js":80,"./scene-button.js":82,"./scene-camera.js":83,"./scene-carousel.js":84,"./scene-image.js":85,"./scene-model.js":86,"./scene-panorama.js":87,"./scene-poller.js":88,"./scene-product.js":89,"./scene-shadow.js":91,"./scene-video.js":92,"./scene-volumetric.js":93,"./scene-youtube.js":94}],82:[function(require,module,exports){
3764
4000
  const SceneBase = require("./scene-base.js");
3765
4001
 
3766
4002
  class SceneButton extends SceneBase {
@@ -3770,7 +4006,7 @@ class SceneButton extends SceneBase {
3770
4006
  }
3771
4007
 
3772
4008
  module.exports = SceneButton;
3773
- },{"./scene-base.js":80}],82:[function(require,module,exports){
4009
+ },{"./scene-base.js":81}],83:[function(require,module,exports){
3774
4010
  const SceneBase = require("./scene-base.js");
3775
4011
 
3776
4012
  class SceneCamera extends SceneBase {
@@ -3780,7 +4016,7 @@ class SceneCamera extends SceneBase {
3780
4016
  }
3781
4017
 
3782
4018
  module.exports = SceneCamera;
3783
- },{"./scene-base.js":80}],83:[function(require,module,exports){
4019
+ },{"./scene-base.js":81}],84:[function(require,module,exports){
3784
4020
  const SceneBase = require("./scene-base.js");
3785
4021
 
3786
4022
  class SceneCarousel extends SceneBase {
@@ -3790,7 +4026,7 @@ class SceneCarousel extends SceneBase {
3790
4026
  }
3791
4027
 
3792
4028
  module.exports = SceneCarousel;
3793
- },{"./scene-base.js":80}],84:[function(require,module,exports){
4029
+ },{"./scene-base.js":81}],85:[function(require,module,exports){
3794
4030
  const SceneBase = require("./scene-base.js");
3795
4031
 
3796
4032
  class SceneImage extends SceneBase {
@@ -3800,7 +4036,7 @@ class SceneImage extends SceneBase {
3800
4036
  }
3801
4037
 
3802
4038
  module.exports = SceneImage;
3803
- },{"./scene-base.js":80}],85:[function(require,module,exports){
4039
+ },{"./scene-base.js":81}],86:[function(require,module,exports){
3804
4040
  const SceneBase = require("./scene-base.js");
3805
4041
 
3806
4042
  class SceneModel extends SceneBase {
@@ -3810,7 +4046,7 @@ class SceneModel extends SceneBase {
3810
4046
  }
3811
4047
 
3812
4048
  module.exports = SceneModel;
3813
- },{"./scene-base.js":80}],86:[function(require,module,exports){
4049
+ },{"./scene-base.js":81}],87:[function(require,module,exports){
3814
4050
  const SceneBase = require("./scene-base.js");
3815
4051
 
3816
4052
  class ScenePanorama extends SceneBase {
@@ -3820,7 +4056,7 @@ class ScenePanorama extends SceneBase {
3820
4056
  }
3821
4057
 
3822
4058
  module.exports = ScenePanorama;
3823
- },{"./scene-base.js":80}],87:[function(require,module,exports){
4059
+ },{"./scene-base.js":81}],88:[function(require,module,exports){
3824
4060
  const SceneBase = require("./scene-base.js");
3825
4061
 
3826
4062
  class ScenePoller extends SceneBase {
@@ -3830,7 +4066,7 @@ class ScenePoller extends SceneBase {
3830
4066
  }
3831
4067
 
3832
4068
  module.exports = ScenePoller;
3833
- },{"./scene-base.js":80}],88:[function(require,module,exports){
4069
+ },{"./scene-base.js":81}],89:[function(require,module,exports){
3834
4070
  const SceneBase = require("./scene-base.js");
3835
4071
 
3836
4072
  class SceneProduct extends SceneBase {
@@ -3840,7 +4076,7 @@ class SceneProduct extends SceneBase {
3840
4076
  }
3841
4077
 
3842
4078
  module.exports = SceneProduct;
3843
- },{"./scene-base.js":80}],89:[function(require,module,exports){
4079
+ },{"./scene-base.js":81}],90:[function(require,module,exports){
3844
4080
  const SceneBase = require("./scene-base.js");
3845
4081
 
3846
4082
  class SceneScript extends SceneBase {
@@ -3850,7 +4086,7 @@ class SceneScript extends SceneBase {
3850
4086
  }
3851
4087
 
3852
4088
  module.exports = SceneScript;
3853
- },{"./scene-base.js":80}],90:[function(require,module,exports){
4089
+ },{"./scene-base.js":81}],91:[function(require,module,exports){
3854
4090
  const SceneBase = require("./scene-base.js");
3855
4091
 
3856
4092
  class SceneShadow extends SceneBase {
@@ -3860,7 +4096,7 @@ class SceneShadow extends SceneBase {
3860
4096
  }
3861
4097
 
3862
4098
  module.exports = SceneShadow;
3863
- },{"./scene-base.js":80}],91:[function(require,module,exports){
4099
+ },{"./scene-base.js":81}],92:[function(require,module,exports){
3864
4100
  const SceneBase = require("./scene-base.js");
3865
4101
 
3866
4102
  class SceneVideo extends SceneBase {
@@ -3870,7 +4106,7 @@ class SceneVideo extends SceneBase {
3870
4106
  }
3871
4107
 
3872
4108
  module.exports = SceneVideo;
3873
- },{"./scene-base.js":80}],92:[function(require,module,exports){
4109
+ },{"./scene-base.js":81}],93:[function(require,module,exports){
3874
4110
  const SceneBase = require("./scene-base.js");
3875
4111
 
3876
4112
  class SceneVolumetric extends SceneBase {
@@ -3880,7 +4116,7 @@ class SceneVolumetric extends SceneBase {
3880
4116
  }
3881
4117
 
3882
4118
  module.exports = SceneVolumetric;
3883
- },{"./scene-base.js":80}],93:[function(require,module,exports){
4119
+ },{"./scene-base.js":81}],94:[function(require,module,exports){
3884
4120
  const SceneBase = require("./scene-base.js");
3885
4121
 
3886
4122
  class SceneYoutube extends SceneBase {
@@ -3890,7 +4126,7 @@ class SceneYoutube extends SceneBase {
3890
4126
  }
3891
4127
 
3892
4128
  module.exports = SceneYoutube;
3893
- },{"./scene-base.js":80}],94:[function(require,module,exports){
4129
+ },{"./scene-base.js":81}],95:[function(require,module,exports){
3894
4130
  const PlattarBase = require("../interfaces/plattar-base.js");
3895
4131
 
3896
4132
  class Scene extends PlattarBase {
@@ -3900,7 +4136,7 @@ class Scene extends PlattarBase {
3900
4136
  }
3901
4137
 
3902
4138
  module.exports = Scene;
3903
- },{"../interfaces/plattar-base.js":53}],95:[function(require,module,exports){
4139
+ },{"../interfaces/plattar-base.js":54}],96:[function(require,module,exports){
3904
4140
  const PlattarBase = require("../interfaces/plattar-base.js");
3905
4141
 
3906
4142
  class TriggerImage extends PlattarBase {
@@ -3910,7 +4146,7 @@ class TriggerImage extends PlattarBase {
3910
4146
  }
3911
4147
 
3912
4148
  module.exports = TriggerImage;
3913
- },{"../interfaces/plattar-base.js":53}],96:[function(require,module,exports){
4149
+ },{"../interfaces/plattar-base.js":54}],97:[function(require,module,exports){
3914
4150
  const Application = require("../types/application.js");
3915
4151
 
3916
4152
  // import Scene types and its children
@@ -4137,10 +4373,10 @@ PlattarUtil.match = (type) => {
4137
4373
 
4138
4374
 
4139
4375
  module.exports = PlattarUtil;
4140
- },{"../types/application.js":37,"../types/content-pipeline/brief.js":38,"../types/content-pipeline/comment-brief.js":39,"../types/content-pipeline/comment-quote.js":40,"../types/content-pipeline/comment-solution.js":41,"../types/content-pipeline/folder.js":42,"../types/content-pipeline/pipeline-user.js":43,"../types/content-pipeline/quote.js":44,"../types/content-pipeline/rating.js":45,"../types/content-pipeline/solution.js":46,"../types/file/file-audio.js":47,"../types/file/file-image.js":49,"../types/file/file-model.js":50,"../types/file/file-script.js":51,"../types/file/file-video.js":52,"../types/interfaces/plattar-object.js":55,"../types/misc/application-build.js":56,"../types/misc/asset-library":57,"../types/misc/async-job.js":58,"../types/misc/script-event.js":59,"../types/misc/tag.js":60,"../types/page/card-button.js":62,"../types/page/card-html.js":63,"../types/page/card-iframe.js":64,"../types/page/card-image.js":65,"../types/page/card-map.js":66,"../types/page/card-paragraph.js":67,"../types/page/card-row.js":68,"../types/page/card-slider.js":69,"../types/page/card-title.js":70,"../types/page/card-video.js":71,"../types/page/card-youtube.js":72,"../types/page/page.js":73,"../types/product/product-annotation.js":74,"../types/product/product-variation.js":76,"../types/product/product.js":77,"../types/scene/scene-annotation.js":78,"../types/scene/scene-audio.js":79,"../types/scene/scene-button.js":81,"../types/scene/scene-camera.js":82,"../types/scene/scene-carousel.js":83,"../types/scene/scene-image.js":84,"../types/scene/scene-model.js":85,"../types/scene/scene-panorama.js":86,"../types/scene/scene-poller.js":87,"../types/scene/scene-product.js":88,"../types/scene/scene-script.js":89,"../types/scene/scene-shadow.js":90,"../types/scene/scene-video.js":91,"../types/scene/scene-volumetric.js":92,"../types/scene/scene-youtube.js":93,"../types/scene/scene.js":94,"../types/trigger/trigger-image.js":95}],97:[function(require,module,exports){
4376
+ },{"../types/application.js":38,"../types/content-pipeline/brief.js":39,"../types/content-pipeline/comment-brief.js":40,"../types/content-pipeline/comment-quote.js":41,"../types/content-pipeline/comment-solution.js":42,"../types/content-pipeline/folder.js":43,"../types/content-pipeline/pipeline-user.js":44,"../types/content-pipeline/quote.js":45,"../types/content-pipeline/rating.js":46,"../types/content-pipeline/solution.js":47,"../types/file/file-audio.js":48,"../types/file/file-image.js":50,"../types/file/file-model.js":51,"../types/file/file-script.js":52,"../types/file/file-video.js":53,"../types/interfaces/plattar-object.js":56,"../types/misc/application-build.js":57,"../types/misc/asset-library":58,"../types/misc/async-job.js":59,"../types/misc/script-event.js":60,"../types/misc/tag.js":61,"../types/page/card-button.js":63,"../types/page/card-html.js":64,"../types/page/card-iframe.js":65,"../types/page/card-image.js":66,"../types/page/card-map.js":67,"../types/page/card-paragraph.js":68,"../types/page/card-row.js":69,"../types/page/card-slider.js":70,"../types/page/card-title.js":71,"../types/page/card-video.js":72,"../types/page/card-youtube.js":73,"../types/page/page.js":74,"../types/product/product-annotation.js":75,"../types/product/product-variation.js":77,"../types/product/product.js":78,"../types/scene/scene-annotation.js":79,"../types/scene/scene-audio.js":80,"../types/scene/scene-button.js":82,"../types/scene/scene-camera.js":83,"../types/scene/scene-carousel.js":84,"../types/scene/scene-image.js":85,"../types/scene/scene-model.js":86,"../types/scene/scene-panorama.js":87,"../types/scene/scene-poller.js":88,"../types/scene/scene-product.js":89,"../types/scene/scene-script.js":90,"../types/scene/scene-shadow.js":91,"../types/scene/scene-video.js":92,"../types/scene/scene-volumetric.js":93,"../types/scene/scene-youtube.js":94,"../types/scene/scene.js":95,"../types/trigger/trigger-image.js":96}],98:[function(require,module,exports){
4141
4377
  module.exports = "1.120.1";
4142
4378
 
4143
- },{}],98:[function(require,module,exports){
4379
+ },{}],99:[function(require,module,exports){
4144
4380
  const QRCodeStyling = require("qr-code-styling");
4145
4381
 
4146
4382
  class BaseElement extends HTMLElement {
@@ -4331,7 +4567,7 @@ class BaseElement extends HTMLElement {
4331
4567
  }
4332
4568
 
4333
4569
  module.exports = BaseElement;
4334
- },{"qr-code-styling":118}],99:[function(require,module,exports){
4570
+ },{"qr-code-styling":119}],100:[function(require,module,exports){
4335
4571
  const BaseElement = require("./base/base-element.js");
4336
4572
 
4337
4573
  class QRCodeElement extends BaseElement {
@@ -4341,7 +4577,7 @@ class QRCodeElement extends BaseElement {
4341
4577
  }
4342
4578
 
4343
4579
  module.exports = QRCodeElement;
4344
- },{"./base/base-element.js":98}],100:[function(require,module,exports){
4580
+ },{"./base/base-element.js":99}],101:[function(require,module,exports){
4345
4581
  "use strict";
4346
4582
  const QRCodeElement = require("./elements/qrcode-element.js");
4347
4583
  const Version = require("./version");
@@ -4353,10 +4589,10 @@ customElements.define("plattar-qrcode", QRCodeElement);
4353
4589
  module.exports = {
4354
4590
  version: Version
4355
4591
  };
4356
- },{"./elements/qrcode-element.js":99,"./version":101}],101:[function(require,module,exports){
4592
+ },{"./elements/qrcode-element.js":100,"./version":102}],102:[function(require,module,exports){
4357
4593
  module.exports = "1.120.3";
4358
4594
 
4359
- },{}],102:[function(require,module,exports){
4595
+ },{}],103:[function(require,module,exports){
4360
4596
  const ElementController = require("../controllers/element-controller");
4361
4597
 
4362
4598
  class BaseElement extends HTMLElement {
@@ -4479,7 +4715,7 @@ class BaseElement extends HTMLElement {
4479
4715
  let first = true;
4480
4716
 
4481
4717
  for (const [key, value] of attr.entries()) {
4482
- queryStr = first ? ("?" + key + "=" + value) : ("&" + key + "=" + value);
4718
+ queryStr += (first ? ("?" + key + "=" + value) : ("&" + key + "=" + value));
4483
4719
 
4484
4720
  first = false;
4485
4721
  }
@@ -4493,7 +4729,7 @@ class BaseElement extends HTMLElement {
4493
4729
  }
4494
4730
 
4495
4731
  module.exports = BaseElement;
4496
- },{"../controllers/element-controller":103}],103:[function(require,module,exports){
4732
+ },{"../controllers/element-controller":104}],104:[function(require,module,exports){
4497
4733
  const Util = require("../../util/util.js");
4498
4734
  const { messenger } = require("@plattar/context-messenger");
4499
4735
  const IFrameController = require("./iframe-controller.js");
@@ -4586,7 +4822,7 @@ class ElementController {
4586
4822
  }
4587
4823
 
4588
4824
  module.exports = ElementController;
4589
- },{"../../util/util.js":114,"./iframe-controller.js":104,"@plattar/context-messenger":13}],104:[function(require,module,exports){
4825
+ },{"../../util/util.js":115,"./iframe-controller.js":105,"@plattar/context-messenger":14}],105:[function(require,module,exports){
4590
4826
  const Util = require("../../util/util.js");
4591
4827
 
4592
4828
  class IFrameController {
@@ -4696,7 +4932,7 @@ class IFrameController {
4696
4932
  }
4697
4933
 
4698
4934
  module.exports = IFrameController;
4699
- },{"../../util/util.js":114}],105:[function(require,module,exports){
4935
+ },{"../../util/util.js":115}],106:[function(require,module,exports){
4700
4936
  const BaseElement = require("./base/base-element.js");
4701
4937
 
4702
4938
  class EditorElement extends BaseElement {
@@ -4714,7 +4950,7 @@ class EditorElement extends BaseElement {
4714
4950
  }
4715
4951
 
4716
4952
  module.exports = EditorElement;
4717
- },{"./base/base-element.js":102}],106:[function(require,module,exports){
4953
+ },{"./base/base-element.js":103}],107:[function(require,module,exports){
4718
4954
  const BaseElement = require("./base/base-element.js");
4719
4955
 
4720
4956
  class EWallElement extends BaseElement {
@@ -4751,7 +4987,7 @@ class EWallElement extends BaseElement {
4751
4987
  }
4752
4988
 
4753
4989
  module.exports = EWallElement;
4754
- },{"./base/base-element.js":102}],107:[function(require,module,exports){
4990
+ },{"./base/base-element.js":103}],108:[function(require,module,exports){
4755
4991
  const BaseElement = require("./base/base-element.js");
4756
4992
 
4757
4993
  class FaceARElement extends BaseElement {
@@ -4766,10 +5002,20 @@ class FaceARElement extends BaseElement {
4766
5002
  get elementType() {
4767
5003
  return "facear";
4768
5004
  }
5005
+
5006
+ get optionalAttributes() {
5007
+ return [{
5008
+ key: "variation-id",
5009
+ map: "variationId"
5010
+ }, {
5011
+ key: "product-id",
5012
+ map: "productId"
5013
+ }];
5014
+ }
4769
5015
  }
4770
5016
 
4771
5017
  module.exports = FaceARElement;
4772
- },{"./base/base-element.js":102}],108:[function(require,module,exports){
5018
+ },{"./base/base-element.js":103}],109:[function(require,module,exports){
4773
5019
  const BaseElement = require("./base/base-element.js");
4774
5020
 
4775
5021
  class ModelElement extends BaseElement {
@@ -4794,7 +5040,7 @@ class ModelElement extends BaseElement {
4794
5040
  }
4795
5041
 
4796
5042
  module.exports = ModelElement;
4797
- },{"./base/base-element.js":102}],109:[function(require,module,exports){
5043
+ },{"./base/base-element.js":103}],110:[function(require,module,exports){
4798
5044
  const BaseElement = require("./base/base-element.js");
4799
5045
 
4800
5046
  class ProductElement extends BaseElement {
@@ -4826,7 +5072,7 @@ class ProductElement extends BaseElement {
4826
5072
  }
4827
5073
 
4828
5074
  module.exports = ProductElement;
4829
- },{"./base/base-element.js":102}],110:[function(require,module,exports){
5075
+ },{"./base/base-element.js":103}],111:[function(require,module,exports){
4830
5076
  const BaseElement = require("./base/base-element.js");
4831
5077
 
4832
5078
  class StudioElement extends BaseElement {
@@ -4844,7 +5090,7 @@ class StudioElement extends BaseElement {
4844
5090
  }
4845
5091
 
4846
5092
  module.exports = StudioElement;
4847
- },{"./base/base-element.js":102}],111:[function(require,module,exports){
5093
+ },{"./base/base-element.js":103}],112:[function(require,module,exports){
4848
5094
  const BaseElement = require("./base/base-element.js");
4849
5095
 
4850
5096
  class ViewerElement extends BaseElement {
@@ -4859,10 +5105,20 @@ class ViewerElement extends BaseElement {
4859
5105
  get elementType() {
4860
5106
  return "viewer";
4861
5107
  }
5108
+
5109
+ get optionalAttributes() {
5110
+ return [{
5111
+ key: "variation-id",
5112
+ map: "variationId"
5113
+ }, {
5114
+ key: "product-id",
5115
+ map: "productId"
5116
+ }];
5117
+ }
4862
5118
  }
4863
5119
 
4864
5120
  module.exports = ViewerElement;
4865
- },{"./base/base-element.js":102}],112:[function(require,module,exports){
5121
+ },{"./base/base-element.js":103}],113:[function(require,module,exports){
4866
5122
  const BaseElement = require("./base/base-element.js");
4867
5123
 
4868
5124
  class WebXRElement extends BaseElement {
@@ -4880,7 +5136,7 @@ class WebXRElement extends BaseElement {
4880
5136
  }
4881
5137
 
4882
5138
  module.exports = WebXRElement;
4883
- },{"./base/base-element.js":102}],113:[function(require,module,exports){
5139
+ },{"./base/base-element.js":103}],114:[function(require,module,exports){
4884
5140
  "use strict";
4885
5141
  const WebXRElement = require("./elements/webxr-element.js");
4886
5142
  const ViewerElement = require("./elements/viewer-element.js");
@@ -4892,21 +5148,44 @@ const StudioElement = require("./elements/studio-element.js");
4892
5148
  const ModelElement = require("./elements/model-element.js");
4893
5149
  const Version = require("./version");
4894
5150
 
4895
- customElements.define("plattar-webxr", WebXRElement);
4896
- customElements.define("plattar-viewer", ViewerElement);
4897
- customElements.define("plattar-product", ProductElement);
4898
- customElements.define("plattar-editor", EditorElement);
4899
- customElements.define("plattar-facear", FaceARElement);
4900
- customElements.define("plattar-8wall", EWallElement);
4901
- customElements.define("plattar-studio", StudioElement);
4902
- customElements.define("plattar-model", ModelElement);
5151
+ if (customElements.get("plattar-webxr") === undefined) {
5152
+ customElements.define("plattar-webxr", WebXRElement);
5153
+ }
5154
+
5155
+ if (customElements.get("plattar-viewer") === undefined) {
5156
+ customElements.define("plattar-viewer", ViewerElement);
5157
+ }
5158
+
5159
+ if (customElements.get("plattar-product") === undefined) {
5160
+ customElements.define("plattar-product", ProductElement);
5161
+ }
5162
+
5163
+ if (customElements.get("plattar-editor") === undefined) {
5164
+ customElements.define("plattar-editor", EditorElement);
5165
+ }
5166
+
5167
+ if (customElements.get("plattar-facear") === undefined) {
5168
+ customElements.define("plattar-facear", FaceARElement);
5169
+ }
5170
+
5171
+ if (customElements.get("plattar-8wall") === undefined) {
5172
+ customElements.define("plattar-8wall", EWallElement);
5173
+ }
5174
+
5175
+ if (customElements.get("plattar-studio") === undefined) {
5176
+ customElements.define("plattar-studio", StudioElement);
5177
+ }
5178
+
5179
+ if (customElements.get("plattar-model") === undefined) {
5180
+ customElements.define("plattar-model", ModelElement);
5181
+ }
4903
5182
 
4904
5183
  console.log("using @plattar/plattar-web v" + Version);
4905
5184
 
4906
5185
  module.exports = {
4907
5186
  version: Version
4908
5187
  };
4909
- },{"./elements/editor-element.js":105,"./elements/ewall-element.js":106,"./elements/facear-element.js":107,"./elements/model-element.js":108,"./elements/product-element.js":109,"./elements/studio-element.js":110,"./elements/viewer-element.js":111,"./elements/webxr-element.js":112,"./version":115}],114:[function(require,module,exports){
5188
+ },{"./elements/editor-element.js":106,"./elements/ewall-element.js":107,"./elements/facear-element.js":108,"./elements/model-element.js":109,"./elements/product-element.js":110,"./elements/studio-element.js":111,"./elements/viewer-element.js":112,"./elements/webxr-element.js":113,"./version":116}],115:[function(require,module,exports){
4910
5189
  class Util {
4911
5190
  static getServerLocation(server) {
4912
5191
  switch (server) {
@@ -4980,10 +5259,10 @@ class Util {
4980
5259
  }
4981
5260
 
4982
5261
  module.exports = Util;
4983
- },{}],115:[function(require,module,exports){
4984
- module.exports = "1.117.1";
4985
-
4986
5262
  },{}],116:[function(require,module,exports){
5263
+ module.exports = "1.122.2";
5264
+
5265
+ },{}],117:[function(require,module,exports){
4987
5266
  (function (global){(function (){
4988
5267
  "use strict";
4989
5268
 
@@ -5011,7 +5290,7 @@ exports.Headers = global.Headers;
5011
5290
  exports.Request = global.Request;
5012
5291
  exports.Response = global.Response;
5013
5292
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
5014
- },{}],117:[function(require,module,exports){
5293
+ },{}],118:[function(require,module,exports){
5015
5294
  // shim for using process in browser
5016
5295
  var process = module.exports = {};
5017
5296
 
@@ -5197,8 +5476,8 @@ process.chdir = function (dir) {
5197
5476
  };
5198
5477
  process.umask = function() { return 0; };
5199
5478
 
5200
- },{}],118:[function(require,module,exports){
5479
+ },{}],119:[function(require,module,exports){
5201
5480
  !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}));
5202
5481
 
5203
- },{}]},{},[6])(6)
5482
+ },{}]},{},[7])(7)
5204
5483
  });