PageSourceSearch

https://1440.space/wp-content/themes/ony-buro_1721304398/js/main.js?ver=1724405773

js 1440.space collected 2026-10-02 05:20:29 UTC 525,622 bytes, 13,677 lines download raw bytes

1
2/*!
3 * Webflow: Front-end site library
4 * @license MIT
5 * Inline scripts may access the api using an async handler:
6 *   var Webflow = Webflow || [];
7 *   Webflow.push(readyFunction);
8 */
9
10(() => {
11  var __create = Object.create;
12  var __defProp = Object.defineProperty;
13  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
14  var __getOwnPropNames = Object.getOwnPropertyNames;
15  var __getProtoOf = Object.getPrototypeOf;
16  var __hasOwnProp = Object.prototype.hasOwnProperty;
17  var __esm = (fn, res) => function __init() {
18    return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
19  };
20  var __commonJS = (cb, mod) => function __require() {
21    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
22  };
23  var __export = (target, all) => {
24    for (var name in all)
25      __defProp(target, name, { get: all[name], enumerable: true });
26  };
27  var __copyProps = (to, from, except, desc) => {
28    if (from && typeof from === "object" || typeof from === "function") {
29      for (let key of __getOwnPropNames(from))
30        if (!__hasOwnProp.call(to, key) && key !== except)
31          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
32    }
33    return to;
34  };
35  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
36    // If the importer is in node compatibility mode or this is not an ESM
37    // file that has been converted to a CommonJS file using a Babel-
38    // compatible transform (i.e. "__esModule" has not been set), then set
39    // "default" to the CommonJS "module.exports" for node compatibility.
40    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
41    mod
42  ));
43  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
44
45  
45// packages/shared/render/plugins/BackgroundVideo/objectFitPolyfill.basic.js
46  var require_objectFitPolyfill_basic = __commonJS({
47    "packages/shared/render/plugins/BackgroundVideo/objectFitPolyfill.basic.js"() {
48      "use strict";
49      (function() {
50        if (typeof window === "undefined")
51          return;
52        const edgeVersion = window.navigator.userAgent.match(/Edge\/(\d{2})\./);
53        const edgePartialSupport = edgeVersion ? parseInt(edgeVersion[1], 10) >= 16 : false;
54        const hasSupport = "objectFit" in document.documentElement.style !== false;
55        if (hasSupport && !edgePartialSupport) {
56          window.objectFitPolyfill = function() {
57            return false;
58          };
59          return;
60        }
61        const checkParentContainer = function($container) {
62          const styles = window.getComputedStyle($container, null);
63          const position = styles.getPropertyValue("position");
64          const overflow = styles.getPropertyValue("overflow");
65          const display = styles.getPropertyValue("display");
66          if (!position || position === "static") {
67            $container.style.position = "relative";
68          }
69          if (overflow !== "hidden") {
70            $container.style.overflow = "hidden";
71          }
72          if (!display || display === "inline") {
73            $container.style.display = "block";
74          }
75          if ($container.clientHeight === 0) {
76            $container.style.height = "100%";
77          }
78          if ($container.className.indexOf("object-fit-polyfill") === -1) {
79            $container.className += " object-fit-polyfill";
80          }
81        };
82        const checkMediaProperties = function($media) {
83          const styles = window.getComputedStyle($media, null);
84          const constraints = {
85            "max-width": "none",
86            "max-height": "none",
87            "min-width": "0px",
88            "min-height": "0px",
89            top: "auto",
90            right: "auto",
91            bottom: "auto",
92            left: "auto",
93            "margin-top": "0px",
94            "margin-right": "0px",
95            "margin-bottom": "0px",
96            "margin-left": "0px"
97          };
98          for (const property in constraints) {
99            const constraint = styles.getPropertyValue(property);
100            if (constraint !== constraints[property]) {
101              $media.style[property] = constraints[property];
102            }
103          }
104        };
105        const objectFit = function($media) {
106          const $container = $media.parentNode;
107          checkParentContainer($container);
108          checkMediaProperties($media);
109          $media.style.position = "absolute";
110          $media.style.height = "100%";
111          $media.style.width = "auto";
112          if ($media.clientWidth > $container.clientWidth) {
113            $media.style.top = "0";
114            $media.style.marginTop = "0";
115            $media.style.left = "50%";
116            $media.style.marginLeft = $media.clientWidth / -2 + "px";
117          } else {
118            $media.style.width = "100%";
119            $media.style.height = "auto";
120            $media.style.left = "0";
121            $media.style.marginLeft = "0";
122            $media.style.top = "50%";
123            $media.style.marginTop = $media.clientHeight / -2 + "px";
124          }
125        };
126        const objectFitPolyfill = function(media) {
127          if (typeof media === "undefined" || media instanceof Event) {
128            media = document.querySelectorAll("[data-object-fit]");
129          } else if (media && media.nodeName) {
130            media = [
131              media
132            ];
133          } else if (typeof media === "object" && media.length && media[0].nodeName) {
134            media = media;
135          } else {
136            return false;
137          }
138          for (let i = 0; i < media.length; i++) {
139            if (!media[i].nodeName)
140              continue;
141            const mediaType = media[i].nodeName.toLowerCase();
142            if (mediaType === "img") {
143              if (edgePartialSupport)
144                continue;
145              if (media[i].complete) {
146                objectFit(media[i]);
147              } else {
148                media[i].addEventListener("load", function() {
149                  objectFit(this);
150                });
151              }
152            } else if (mediaType === "video") {
153              if (media[i].readyState > 0) {
154                objectFit(media[i]);
155              } else {
156                media[i].addEventListener("loadedmetadata", function() {
157                  objectFit(this);
158                });
159              }
160            } else {
161              objectFit(media[i]);
162            }
163          }
164          return true;
165        };
166        if (document.readyState === "loading") {
167          document.addEventListener("DOMContentLoaded", objectFitPolyfill);
168        } else {
169          objectFitPolyfill();
170        }
171        window.addEventListener("resize", objectFitPolyfill);
172        window.objectFitPolyfill = objectFitPolyfill;
173      })();
174    }
175  });
176
177  
177// packages/shared/render/plugins/BackgroundVideo/webflow-bgvideo.js
178  var require_webflow_bgvideo = __commonJS({
179    "packages/shared/render/plugins/BackgroundVideo/webflow-bgvideo.js"() {
180      "use strict";
181      (function() {
182        if (typeof window === "undefined")
183          return;
184        function setAllBackgroundVideoStates(shouldPlay) {
185          if (Webflow.env("design")) {
186            return;
187          }
188          $("video").each(function() {
189            shouldPlay && $(this).prop("autoplay") ? this.play() : this.pause();
190          });
191          $(".w-background-video--control").each(function() {
192            if (shouldPlay) {
193              showPauseButton($(this));
194            } else {
195              showPlayButton($(this));
196            }
197          });
198        }
199        function showPlayButton($btn) {
200          $btn.find("> span").each(function(i) {
201            $(this).prop("hidden", () => i === 0);
202          });
203        }
204        function showPauseButton($btn) {
205          $btn.find("> span").each(function(i) {
206            $(this).prop("hidden", () => i === 1);
207          });
208        }
209        $(document).ready(() => {
210          const watcher = window.matchMedia("(prefers-reduced-motion: reduce)");
211          watcher.addEventListener("change", (e) => {
212            setAllBackgroundVideoStates(!e.matches);
213          });
214          if (watcher.matches) {
215            setAllBackgroundVideoStates(false);
216          }
217          $("video:not([autoplay])").each(function() {
218            $(this).parent().find(".w-background-video--control").each(function() {
219              showPlayButton($(this));
220            });
221          });
222          $(document).on("click", ".w-background-video--control", function(e) {
223            if (Webflow.env("design"))
224              return;
225            const btn = $(e.currentTarget);
226            const video = $(`video#${btn.attr("aria-controls")}`).get(0);
227            if (!video)
228              return;
229            if (video.paused) {
230              const play = video.play();
231              showPauseButton(btn);
232              if (play && typeof play.catch === "function") {
233                play.catch(() => {
234                  showPlayButton(btn);
235                });
236              }
237            } else {
238              video.pause();
239              showPlayButton(btn);
240            }
241          });
242        });
243      })();
244    }
245  });
246
247  
247// packages/shared/render/plugins/BaseSiteModules/tram-min.js
248  var require_tram_min = __commonJS({
249    "packages/shared/render/plugins/BaseSiteModules/tram-min.js"() {
250      "use strict";
251      window.tram = function(a) {
252        function b(a2, b2) {
253          var c2 = new M.Bare();
254          return c2.init(a2, b2);
255        }
256        function c(a2) {
257          return a2.replace(/[A-Z]/g, function(a3) {
258            return "-" + a3.toLowerCase();
259          });
260        }
261        function d(a2) {
262          var b2 = parseInt(a2.slice(1), 16), c2 = b2 >> 16 & 255, d2 = b2 >> 8 & 255, e2 = 255 & b2;
263          return [
264            c2,
265            d2,
266            e2
267          ];
268        }
269        function e(a2, b2, c2) {
270          return "#" + (1 << 24 | a2 << 16 | b2 << 8 | c2).toString(16).slice(1);
271        }
272        function f() {
273        }
274        function g(a2, b2) {
275          j("Type warning: Expected: [" + a2 + "] Got: [" + typeof b2 + "] " + b2);
276        }
277        function h(a2, b2, c2) {
278          j("Units do not match [" + a2 + "]: " + b2 + ", " + c2);
279        }
280        function i(a2, b2, c2) {
281          if (void 0 !== b2 && (c2 = b2), void 0 === a2)
282            return c2;
283          var d2 = c2;
284          return $2.test(a2) || !_.test(a2) ? d2 = parseInt(a2, 10) : _.test(a2) && (d2 = 1e3 * parseFloat(a2)), 0 > d2 && (d2 = 0), d2 === d2 ? d2 : c2;
285        }
286        function j(a2) {
287          U.debug && window && window.console.warn(a2);
288        }
289        function k(a2) {
290          for (var b2 = -1, c2 = a2 ? a2.length : 0, d2 = []; ++b2 < c2; ) {
291            var e2 = a2[b2];
292            e2 && d2.push(e2);
293          }
294          return d2;
295        }
296        var l = function(a2, b2, c2) {
297          function d2(a3) {
298            return "object" == typeof a3;
299          }
300          function e2(a3) {
301            return "function" == typeof a3;
302          }
303          function f2() {
304          }
305          function g2(h2, i2) {
306            function j2() {
307              var a3 = new k2();
308              return e2(a3.init) && a3.init.apply(a3, arguments), a3;
309            }
310            function k2() {
311            }
312            i2 === c2 && (i2 = h2, h2 = Object), j2.Bare = k2;
313            var l2, m2 = f2[a2] = h2[a2], n2 = k2[a2] = j2[a2] = new f2();
314            return n2.constructor = j2, j2.mixin = function(b3) {
315              return k2[a2] = j2[a2] = g2(j2, b3)[a2], j2;
316            }, j2.open = function(a3) {
317              if (l2 = {}, e2(a3) ? l2 = a3.call(j2, n2, m2, j2, h2) : d2(a3) && (l2 = a3), d2(l2))
318                for (var c3 in l2)
319                  b2.call(l2, c3) && (n2[c3] = l2[c3]);
320              return e2(n2.init) || (n2.init = h2), j2;
321            }, j2.open(i2);
322          }
323          return g2;
324        }("prototype", {}.hasOwnProperty), m = {
325          ease: [
326            "ease",
327            function(a2, b2, c2, d2) {
328              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
329              return b2 + c2 * (-2.75 * f2 * e2 + 11 * e2 * e2 + -15.5 * f2 + 8 * e2 + 0.25 * a2);
330            }
331          ],
332          "ease-in": [
333            "ease-in",
334            function(a2, b2, c2, d2) {
335              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
336              return b2 + c2 * (-1 * f2 * e2 + 3 * e2 * e2 + -3 * f2 + 2 * e2);
337            }
338          ],
339          "ease-out": [
340            "ease-out",
341            function(a2, b2, c2, d2) {
342              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
343              return b2 + c2 * (0.3 * f2 * e2 + -1.6 * e2 * e2 + 2.2 * f2 + -1.8 * e2 + 1.9 * a2);
344            }
345          ],
346          "ease-in-out": [
347            "ease-in-out",
348            function(a2, b2, c2, d2) {
349              var e2 = (a2 /= d2) * a2, f2 = e2 * a2;
350              return b2 + c2 * (2 * f2 * e2 + -5 * e2 * e2 + 2 * f2 + 2 * e2);
351            }
352          ],
353          linear: [
354            "linear",
355            function(a2, b2, c2, d2) {
356              return c2 * a2 / d2 + b2;
357            }
358          ],
359          "ease-in-quad": [
360            "cubic-bezier(0.550, 0.085, 0.680, 0.530)",
361            function(a2, b2, c2, d2) {
362              return c2 * (a2 /= d2) * a2 + b2;
363            }
364          ],
365          "ease-out-quad": [
366            "cubic-bezier(0.250, 0.460, 0.450, 0.940)",
367            function(a2, b2, c2, d2) {
368              return -c2 * (a2 /= d2) * (a2 - 2) + b2;
369            }
370          ],
371          "ease-in-out-quad": [
372            "cubic-bezier(0.455, 0.030, 0.515, 0.955)",
373            function(a2, b2, c2, d2) {
374              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 + b2 : -c2 / 2 * (--a2 * (a2 - 2) - 1) + b2;
375            }
376          ],
377          "ease-in-cubic": [
378            "cubic-bezier(0.550, 0.055, 0.675, 0.190)",
379            function(a2, b2, c2, d2) {
380              return c2 * (a2 /= d2) * a2 * a2 + b2;
381            }
382          ],
383          "ease-out-cubic": [
384            "cubic-bezier(0.215, 0.610, 0.355, 1)",
385            function(a2, b2, c2, d2) {
386              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 + 1) + b2;
387            }
388          ],
389          "ease-in-out-cubic": [
390            "cubic-bezier(0.645, 0.045, 0.355, 1)",
391            function(a2, b2, c2, d2) {
392              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 + 2) + b2;
393            }
394          ],
395          "ease-in-quart": [
396            "cubic-bezier(0.895, 0.030, 0.685, 0.220)",
397            function(a2, b2, c2, d2) {
398              return c2 * (a2 /= d2) * a2 * a2 * a2 + b2;
399            }
400          ],
401          "ease-out-quart": [
402            "cubic-bezier(0.165, 0.840, 0.440, 1)",
403            function(a2, b2, c2, d2) {
404              return -c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 - 1) + b2;
405            }
406          ],
407          "ease-in-out-quart": [
408            "cubic-bezier(0.770, 0, 0.175, 1)",
409            function(a2, b2, c2, d2) {
410              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 + b2 : -c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 - 2) + b2;
411            }
412          ],
413          "ease-in-quint": [
414            "cubic-bezier(0.755, 0.050, 0.855, 0.060)",
415            function(a2, b2, c2, d2) {
416              return c2 * (a2 /= d2) * a2 * a2 * a2 * a2 + b2;
417            }
418          ],
419          "ease-out-quint": [
420            "cubic-bezier(0.230, 1, 0.320, 1)",
421            function(a2, b2, c2, d2) {
422              return c2 * ((a2 = a2 / d2 - 1) * a2 * a2 * a2 * a2 + 1) + b2;
423            }
424          ],
425          "ease-in-out-quint": [
426            "cubic-bezier(0.860, 0, 0.070, 1)",
427            function(a2, b2, c2, d2) {
428              return (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * a2 * a2 * a2 + b2 : c2 / 2 * ((a2 -= 2) * a2 * a2 * a2 * a2 + 2) + b2;
429            }
430          ],
431          "ease-in-sine": [
432            "cubic-bezier(0.470, 0, 0.745, 0.715)",
433            function(a2, b2, c2, d2) {
434              return -c2 * Math.cos(a2 / d2 * (Math.PI / 2)) + c2 + b2;
435            }
436          ],
437          "ease-out-sine": [
438            "cubic-bezier(0.390, 0.575, 0.565, 1)",
439            function(a2, b2, c2, d2) {
440              return c2 * Math.sin(a2 / d2 * (Math.PI / 2)) + b2;
441            }
442          ],
443          "ease-in-out-sine": [
444            "cubic-bezier(0.445, 0.050, 0.550, 0.950)",
445            function(a2, b2, c2, d2) {
446              return -c2 / 2 * (Math.cos(Math.PI * a2 / d2) - 1) + b2;
447            }
448          ],
449          "ease-in-expo": [
450            "cubic-bezier(0.950, 0.050, 0.795, 0.035)",
451            function(a2, b2, c2, d2) {
452              return 0 === a2 ? b2 : c2 * Math.pow(2, 10 * (a2 / d2 - 1)) + b2;
453            }
454          ],
455          "ease-out-expo": [
456            "cubic-bezier(0.190, 1, 0.220, 1)",
457            function(a2, b2, c2, d2) {
458              return a2 === d2 ? b2 + c2 : c2 * (-Math.pow(2, -10 * a2 / d2) + 1) + b2;
459            }
460          ],
461          "ease-in-out-expo": [
462            "cubic-bezier(1, 0, 0, 1)",
463            function(a2, b2, c2, d2) {
464              return 0 === a2 ? b2 : a2 === d2 ? b2 + c2 : (a2 /= d2 / 2) < 1 ? c2 / 2 * Math.pow(2, 10 * (a2 - 1)) + b2 : c2 / 2 * (-Math.pow(2, -10 * --a2) + 2) + b2;
465            }
466          ],
467          "ease-in-circ": [
468            "cubic-bezier(0.600, 0.040, 0.980, 0.335)",
469            function(a2, b2, c2, d2) {
470              return -c2 * (Math.sqrt(1 - (a2 /= d2) * a2) - 1) + b2;
471            }
472          ],
473          "ease-out-circ": [
474            "cubic-bezier(0.075, 0.820, 0.165, 1)",
475            function(a2, b2, c2, d2) {
476              return c2 * Math.sqrt(1 - (a2 = a2 / d2 - 1) * a2) + b2;
477            }
478          ],
479          "ease-in-out-circ": [
480            "cubic-bezier(0.785, 0.135, 0.150, 0.860)",
481            function(a2, b2, c2, d2) {
482              return (a2 /= d2 / 2) < 1 ? -c2 / 2 * (Math.sqrt(1 - a2 * a2) - 1) + b2 : c2 / 2 * (Math.sqrt(1 - (a2 -= 2) * a2) + 1) + b2;
483            }
484          ],
485          "ease-in-back": [
486            "cubic-bezier(0.600, -0.280, 0.735, 0.045)",
487            function(a2, b2, c2, d2, e2) {
488              return void 0 === e2 && (e2 = 1.70158), c2 * (a2 /= d2) * a2 * ((e2 + 1) * a2 - e2) + b2;
489            }
490          ],
491          "ease-out-back": [
492            "cubic-bezier(0.175, 0.885, 0.320, 1.275)",
493            function(a2, b2, c2, d2, e2) {
494              return void 0 === e2 && (e2 = 1.70158), c2 * ((a2 = a2 / d2 - 1) * a2 * ((e2 + 1) * a2 + e2) + 1) + b2;
495            }
496          ],
497          "ease-in-out-back": [
498            "cubic-bezier(0.680, -0.550, 0.265, 1.550)",
499            function(a2, b2, c2, d2, e2) {
500              return void 0 === e2 && (e2 = 1.70158), (a2 /= d2 / 2) < 1 ? c2 / 2 * a2 * a2 * (((e2 *= 1.525) + 1) * a2 - e2) + b2 : c2 / 2 * ((a2 -= 2) * a2 * (((e2 *= 1.525) + 1) * a2 + e2) + 2) + b2;
501            }
502          ]
503        }, n = {
504          "ease-in-back": "cubic-bezier(0.600, 0, 0.735, 0.045)",
505          "ease-out-back": "cubic-bezier(0.175, 0.885, 0.320, 1)",
506          "ease-in-out-back": "cubic-bezier(0.680, 0, 0.265, 1)"
507        }, o = document, p = window, q = "bkwld-tram", r = /[\-\.0-9]/g, s = /[A-Z]/, t = "number", u = /^(rgb|#)/, v = /(em|cm|mm|in|pt|pc|px)$/, w = /(em|cm|mm|in|pt|pc|px|%)$/, x = /(deg|rad|turn)$/, y = "unitless", z = /(all|none) 0s ease 0s/, A = /^(width|height)$/, B = " ", C = o.createElement("a"), D = [
508          "Webkit",
509          "Moz",
510          "O",
511          "ms"
512        ], E = [
513          "-webkit-",
514          "-moz-",
515          "-o-",
516          "-ms-"
517        ], F = function(a2) {
518          if (a2 in C.style)
519            return {
520              dom: a2,
521              css: a2
522            };
523          var b2, c2, d2 = "", e2 = a2.split("-");
524          for (b2 = 0; b2 < e2.length; b2++)
525            d2 += e2[b2].charAt(0).toUpperCase() + e2[b2].slice(1);
526          for (b2 = 0; b2 < D.length; b2++)
527            if (c2 = D[b2] + d2, c2 in C.style)
528              return {
529                dom: c2,
530                css: E[b2] + a2
531              };
532        }, G = b.support = {
533          bind: Function.prototype.bind,
534          transform: F("transform"),
535          transition: F("transition"),
536          backface: F("backface-visibility"),
537          timing: F("transition-timing-function")
538        };
539        if (G.transition) {
540          var H = G.timing.dom;
541          if (C.style[H] = m["ease-in-back"][0], !C.style[H])
542            for (var I in n)
543              m[I][0] = n[I];
544        }
545        var J = b.frame = function() {
546          var a2 = p.requestAnimationFrame || p.webkitRequestAnimationFrame || p.mozRequestAnimationFrame || p.oRequestAnimationFrame || p.msRequestAnimationFrame;
547          return a2 && G.bind ? a2.bind(p) : function(a3) {
548            p.setTimeout(a3, 16);
549          };
550        }(), K = b.now = function() {
551          var a2 = p.performance, b2 = a2 && (a2.now || a2.webkitNow || a2.msNow || a2.mozNow);
552          return b2 && G.bind ? b2.bind(a2) : Date.now || function() {
553            return +/* @__PURE__ */ new Date();
554          };
555        }(), L = l(function(b2) {
556          function d2(a2, b3) {
557            var c2 = k(("" + a2).split(B)), d3 = c2[0];
558            b3 = b3 || {};
559            var e3 = Y[d3];
560            if (!e3)
561              return j("Unsupported property: " + d3);
562            if (!b3.weak || !this.props[d3]) {
563              var f3 = e3[0], g3 = this.props[d3];
564              return g3 || (g3 = this.props[d3] = new f3.Bare()), g3.init(this.$el, c2, e3, b3), g3;
565            }
566          }
567          function e2(a2, b3, c2) {
568            if (a2) {
569              var e3 = typeof a2;
570              if (b3 || (this.timer && this.timer.destroy(), this.queue = [], this.active = false), "number" == e3 && b3)
571                return this.timer = new S({
572                  duration: a2,
573                  context: this,
574                  complete: h2
575                }), void (this.active = true);
576              if ("string" == e3 && b3) {
577                switch (a2) {
578                  case "hide":
579                    o2.call(this);
580                    break;
581                  case "stop":
582                    l2.call(this);
583                    break;
584                  case "redraw":
585                    p2.call(this);
586                    break;
587                  default:
588                    d2.call(this, a2, c2 && c2[1]);
589                }
590                return h2.call(this);
591              }
592              if ("function" == e3)
593                return void a2.call(this, this);
594              if ("object" == e3) {
595                var f3 = 0;
596                u2.call(this, a2, function(a3, b4) {
597                  a3.span > f3 && (f3 = a3.span), a3.stop(), a3.animate(b4);
598                }, function(a3) {
599                  "wait" in a3 && (f3 = i(a3.wait, 0));
600                }), t2.call(this), f3 > 0 && (this.timer = new S({
601                  duration: f3,
602                  context: this
603                }), this.active = true, b3 && (this.timer.complete = h2));
604                var g3 = this, j2 = false, k2 = {};
605                J(function() {
606                  u2.call(g3, a2, function(a3) {
607                    a3.active && (j2 = true, k2[a3.name] = a3.nextStyle);
608                  }), j2 && g3.$el.css(k2);
609                });
610              }
611            }
612          }
613          function f2(a2) {
614            a2 = i(a2, 0), this.active ? this.queue.push({
615              options: a2
616            }) : (this.timer = new S({
617              duration: a2,
618              context: this,
619              complete: h2
620            }), this.active = true);
621          }
622          function g2(a2) {
623            return this.active ? (this.queue.push({
624              options: a2,
625              args: arguments
626            }), void (this.timer.complete = h2)) : j("No active transition timer. Use start() or wait() before then().");
627          }
628          function h2() {
629            if (this.timer && this.timer.destroy(), this.active = false, this.queue.length) {
630              var a2 = this.queue.shift();
631              e2.call(this, a2.options, true, a2.args);
632            }
633          }
634          function l2(a2) {
635            this.timer && this.timer.destroy(), this.queue = [], this.active = false;
636            var b3;
637            "string" == typeof a2 ? (b3 = {}, b3[a2] = 1) : b3 = "object" == typeof a2 && null != a2 ? a2 : this.props, u2.call(this, b3, v2), t2.call(this);
638          }
639          function m2(a2) {
640            l2.call(this, a2), u2.call(this, a2, w2, x2);
641          }
642          function n2(a2) {
643            "string" != typeof a2 && (a2 = "block"), this.el.style.display = a2;
644          }
645          function o2() {
646            l2.call(this), this.el.style.display = "none";
647          }
648          function p2() {
649            this.el.offsetHeight;
650          }
651          function r2() {
652            l2.call(this), a.removeData(this.el, q), this.$el = this.el = null;
653          }
654          function t2() {
655            var a2, b3, c2 = [];
656            this.upstream && c2.push(this.upstream);
657            for (a2 in this.props)
658              b3 = this.props[a2], b3.active && c2.push(b3.string);
659            c2 = c2.join(","), this.style !== c2 && (this.style = c2, this.el.style[G.transition.dom] = c2);
660          }
661          function u2(a2, b3, e3) {
662            var f3, g3, h3, i2, j2 = b3 !== v2, k2 = {};
663            for (f3 in a2)
664              h3 = a2[f3], f3 in Z ? (k2.transform || (k2.transform = {}), k2.transform[f3] = h3) : (s.test(f3) && (f3 = c(f3)), f3 in Y ? k2[f3] = h3 : (i2 || (i2 = {}), i2[f3] = h3));
665            for (f3 in k2) {
666              if (h3 = k2[f3], g3 = this.props[f3], !g3) {
667                if (!j2)
668                  continue;
669                g3 = d2.call(this, f3);
670              }
671              b3.call(this, g3, h3);
672            }
673            e3 && i2 && e3.call(this, i2);
674          }
675          function v2(a2) {
676            a2.stop();
677          }
678          function w2(a2, b3) {
679            a2.set(b3);
680          }
681          function x2(a2) {
682            this.$el.css(a2);
683          }
684          function y2(a2, c2) {
685            b2[a2] = function() {
686              return this.children ? A2.call(this, c2, arguments) : (this.el && c2.apply(this, arguments), this);
687            };
688          }
689          function A2(a2, b3) {
690            var c2, d3 = this.children.length;
691            for (c2 = 0; d3 > c2; c2++)
692              a2.apply(this.children[c2], b3);
693            return this;
694          }
695          b2.init = function(b3) {
696            if (this.$el = a(b3), this.el = this.$el[0], this.props = {}, this.queue = [], this.style = "", this.active = false, U.keepInherited && !U.fallback) {
697              var c2 = W(this.el, "transition");
698              c2 && !z.test(c2) && (this.upstream = c2);
699            }
700            G.backface && U.hideBackface && V(this.el, G.backface.css, "hidden");
701          }, y2("add", d2), y2("start", e2), y2("wait", f2), y2("then", g2), y2("next", h2), y2("stop", l2), y2("set", m2), y2("show", n2), y2("hide", o2), y2("redraw", p2), y2("destroy", r2);
702        }), M = l(L, function(b2) {
703          function c2(b3, c3) {
704            var d2 = a.data(b3, q) || a.data(b3, q, new L.Bare());
705            return d2.el || d2.init(b3), c3 ? d2.start(c3) : d2;
706          }
707          b2.init = function(b3, d2) {
708            var e2 = a(b3);
709            if (!e2.length)
710              return this;
711            if (1 === e2.length)
712              return c2(e2[0], d2);
713            var f2 = [];
714            return e2.each(function(a2, b4) {
715              f2.push(c2(b4, d2));
716            }), this.children = f2, this;
717          };
718        }), N = l(function(a2) {
719          function b2() {
720            var a3 = this.get();
721            this.update("auto");
722            var b3 = this.get();
723            return this.update(a3), b3;
724          }
725          function c2(a3, b3, c3) {
726            return void 0 !== b3 && (c3 = b3), a3 in m ? a3 : c3;
727          }
728          function d2(a3) {
729            var b3 = /rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(a3);
730            return (b3 ? e(b3[1], b3[2], b3[3]) : a3).replace(/#(\w)(\w)(\w)$/, "#$1$1$2$2$3$3");
731          }
732          var f2 = {
733            duration: 500,
734            ease: "ease",
735            delay: 0
736          };
737          a2.init = function(a3, b3, d3, e2) {
738            this.$el = a3, this.el = a3[0];
739            var g2 = b3[0];
740            d3[2] && (g2 = d3[2]), X[g2] && (g2 = X[g2]), this.name = g2, this.type = d3[1], this.duration = i(b3[1], this.duration, f2.duration), this.ease = c2(b3[2], this.ease, f2.ease), this.delay = i(b3[3], this.delay, f2.delay), this.span = this.duration + this.delay, this.active = false, this.nextStyle = null, this.auto = A.test(this.name), this.unit = e2.unit || this.unit || U.defaultUnit, this.angle = e2.angle || this.angle || U.defaultAngle, U.fallback || e2.fallback ? this.animate = this.fallback : (this.animate = this.transition, this.string = this.name + B + this.duration + "ms" + ("ease" != this.ease ? B + m[this.ease][0] : "") + (this.delay ? B + this.delay + "ms" : ""));
741          }, a2.set = function(a3) {
742            a3 = this.convert(a3, this.type), this.update(a3), this.redraw();
743          }, a2.transition = function(a3) {
744            this.active = true, a3 = this.convert(a3, this.type), this.auto && ("auto" == this.el.style[this.name] && (this.update(this.get()), this.redraw()), "auto" == a3 && (a3 = b2.call(this))), this.nextStyle = a3;
745          }, a2.fallback = function(a3) {
746            var c3 = this.el.style[this.name] || this.convert(this.get(), this.type);
747            a3 = this.convert(a3, this.type), this.auto && ("auto" == c3 && (c3 = this.convert(this.get(), this.type)), "auto" == a3 && (a3 = b2.call(this))), this.tween = new R({
748              from: c3,
749              to: a3,
750              duration: this.duration,
751              delay: this.delay,
752              ease: this.ease,
753              update: this.update,
754              context: this
755            });
756          }, a2.get = function() {
757            return W(this.el, this.name);
758          }, a2.update = function(a3) {
759            V(this.el, this.name, a3);
760          }, a2.stop = function() {
761            (this.active || this.nextStyle) && (this.active = false, this.nextStyle = null, V(this.el, this.name, this.get()));
762            var a3 = this.tween;
763            a3 && a3.context && a3.destroy();
764          }, a2.convert = function(a3, b3) {
765            if ("auto" == a3 && this.auto)
766              return a3;
767            var c3, e2 = "number" == typeof a3, f3 = "string" == typeof a3;
768            switch (b3) {
769              case t:
770                if (e2)
771                  return a3;
772                if (f3 && "" === a3.replace(r, ""))
773                  return +a3;
774                c3 = "number(unitless)";
775                break;
776              case u:
777                if (f3) {
778                  if ("" === a3 && this.original)
779                    return this.original;
780                  if (b3.test(a3))
781                    return "#" == a3.charAt(0) && 7 == a3.length ? a3 : d2(a3);
782                }
783                c3 = "hex or rgb string";
784                break;
785              case v:
786                if (e2)
787                  return a3 + this.unit;
788                if (f3 && b3.test(a3))
789                  return a3;
790                c3 = "number(px) or string(unit)";
791                break;
792              case w:
793                if (e2)
794                  return a3 + this.unit;
795                if (f3 && b3.test(a3))
796                  return a3;
797                c3 = "number(px) or string(unit or %)";
798                break;
799              case x:
800                if (e2)
801                  return a3 + this.angle;
802                if (f3 && b3.test(a3))
803                  return a3;
804                c3 = "number(deg) or string(angle)";
805                break;
806              case y:
807                if (e2)
808                  return a3;
809                if (f3 && w.test(a3))
810                  return a3;
811                c3 = "number(unitless) or string(unit or %)";
812            }
813            return g(c3, a3), a3;
814          }, a2.redraw = function() {
815            this.el.offsetHeight;
816          };
817        }), O = l(N, function(a2, b2) {
818          a2.init = function() {
819            b2.init.apply(this, arguments), this.original || (this.original = this.convert(this.get(), u));
820          };
821        }), P = l(N, function(a2, b2) {
822          a2.init = function() {
823            b2.init.apply(this, arguments), this.animate = this.fallback;
824          }, a2.get = function() {
825            return this.$el[this.name]();
826          }, a2.update = function(a3) {
827            this.$el[this.name](a3);
828          };
829        }), Q = l(N, function(a2, b2) {
830          function c2(a3, b3) {
831            var c3, d2, e2, f2, g2;
832            for (c3 in a3)
833              f2 = Z[c3], e2 = f2[0], d2 = f2[1] || c3, g2 = this.convert(a3[c3], e2), b3.call(this, d2, g2, e2);
834          }
835          a2.init = function() {
836            b2.init.apply(this, arguments), this.current || (this.current = {}, Z.perspective && U.perspective && (this.current.perspective = U.perspective, V(this.el, this.name, this.style(this.current)), this.redraw()));
837          }, a2.set = function(a3) {
838            c2.call(this, a3, function(a4, b3) {
839              this.current[a4] = b3;
840            }), V(this.el, this.name, this.style(this.current)), this.redraw();
841          }, a2.transition = function(a3) {
842            var b3 = this.values(a3);
843            this.tween = new T({
844              current: this.current,
845              values: b3,
846              duration: this.duration,
847              delay: this.delay,
848              ease: this.ease
849            });
850            var c3, d2 = {};
851            for (c3 in this.current)
852              d2[c3] = c3 in b3 ? b3[c3] : this.current[c3];
853            this.active = true, this.nextStyle = this.style(d2);
854          }, a2.fallback = function(a3) {
855            var b3 = this.values(a3);
856            this.tween = new T({
857              current: this.current,
858              values: b3,
859              duration: this.duration,
860              delay: this.delay,
861              ease: this.ease,
862              update: this.update,
863              context: this
864            });
865          }, a2.update = function() {
866            V(this.el, this.name, this.style(this.current));
867          }, a2.style = function(a3) {
868            var b3, c3 = "";
869            for (b3 in a3)
870              c3 += b3 + "(" + a3[b3] + ") ";
871            return c3;
872          }, a2.values = function(a3) {
873            var b3, d2 = {};
874            return c2.call(this, a3, function(a4, c3, e2) {
875              d2[a4] = c3, void 0 === this.current[a4] && (b3 = 0, ~a4.indexOf("scale") && (b3 = 1), this.current[a4] = this.convert(b3, e2));
876            }), d2;
877          };
878        }), R = l(function(b2) {
879          function c2(a2) {
880            1 === n2.push(a2) && J(g2);
881          }
882          function g2() {
883            var a2, b3, c3, d2 = n2.length;
884            if (d2)
885              for (J(g2), b3 = K(), a2 = d2; a2--; )
886                c3 = n2[a2], c3 && c3.render(b3);
887          }
888          function i2(b3) {
889            var c3, d2 = a.inArray(b3, n2);
890            d2 >= 0 && (c3 = n2.slice(d2 + 1), n2.length = d2, c3.length && (n2 = n2.concat(c3)));
891          }
892          function j2(a2) {
893            return Math.round(a2 * o2) / o2;
894          }
895          function k2(a2, b3, c3) {
896            return e(a2[0] + c3 * (b3[0] - a2[0]), a2[1] + c3 * (b3[1] - a2[1]), a2[2] + c3 * (b3[2] - a2[2]));
897          }
898          var l2 = {
899            ease: m.ease[1],
900            from: 0,
901            to: 1
902          };
903          b2.init = function(a2) {
904            this.duration = a2.duration || 0, this.delay = a2.delay || 0;
905            var b3 = a2.ease || l2.ease;
906            m[b3] && (b3 = m[b3][1]), "function" != typeof b3 && (b3 = l2.ease), this.ease = b3, this.update = a2.update || f, this.complete = a2.complete || f, this.context = a2.context || this, this.name = a2.name;
907            var c3 = a2.from, d2 = a2.to;
908            void 0 === c3 && (c3 = l2.from), void 0 === d2 && (d2 = l2.to), this.unit = a2.unit || "", "number" == typeof c3 && "number" == typeof d2 ? (this.begin = c3, this.change = d2 - c3) : this.format(d2, c3), this.value = this.begin + this.unit, this.start = K(), a2.autoplay !== false && this.play();
909          }, b2.play = function() {
910            this.active || (this.start || (this.start = K()), this.active = true, c2(this));
911          }, b2.stop = function() {
912            this.active && (this.active = false, i2(this));
913          }, b2.render = function(a2) {
914            var b3, c3 = a2 - this.start;
915            if (this.delay) {
916              if (c3 <= this.delay)
917                return;
918              c3 -= this.delay;
919            }
920            if (c3 < this.duration) {
921              var d2 = this.ease(c3, 0, 1, this.duration);
922              return b3 = this.startRGB ? k2(this.startRGB, this.endRGB, d2) : j2(this.begin + d2 * this.change), this.value = b3 + this.unit, void this.update.call(this.context, this.value);
923            }
924            b3 = this.endHex || this.begin + this.change, this.value = b3 + this.unit, this.update.call(this.context, this.value), this.complete.call(this.context), this.destroy();
925          }, b2.format = function(a2, b3) {
926            if (b3 += "", a2 += "", "#" == a2.charAt(0))
927              return this.startRGB = d(b3), this.endRGB = d(a2), this.endHex = a2, this.begin = 0, void (this.change = 1);
928            if (!this.unit) {
929              var c3 = b3.replace(r, ""), e2 = a2.replace(r, "");
930              c3 !== e2 && h("tween", b3, a2), this.unit = c3;
931            }
932            b3 = parseFloat(b3), a2 = parseFloat(a2), this.begin = this.value = b3, this.change = a2 - b3;
933          }, b2.destroy = function() {
934            this.stop(), this.context = null, this.ease = this.update = this.complete = f;
935          };
936          var n2 = [], o2 = 1e3;
937        }
937), S = l(R, function(a2) {
938          a2.init = function(a3) {
939            this.duration = a3.duration || 0, this.complete = a3.complete || f, this.context = a3.context, this.play();
940          }, a2.render = function(a3) {
941            var b2 = a3 - this.start;
942            b2 < this.duration || (this.complete.call(this.context), this.destroy());
943          };
944        }), T = l(R, function(a2, b2) {
945          a2.init = function(a3) {
946            this.context = a3.context, this.update = a3.update, this.tweens = [], this.current = a3.current;
947            var b3, c2;
948            for (b3 in a3.values)
949              c2 = a3.values[b3], this.current[b3] !== c2 && this.tweens.push(new R({
950                name: b3,
951                from: this.current[b3],
952                to: c2,
953                duration: a3.duration,
954                delay: a3.delay,
955                ease: a3.ease,
956                autoplay: false
957              }));
958            this.play();
959          }, a2.render = function(a3) {
960            var b3, c2, d2 = this.tweens.length, e2 = false;
961            for (b3 = d2; b3--; )
962              c2 = this.tweens[b3], c2.context && (c2.render(a3), this.current[c2.name] = c2.value, e2 = true);
963            return e2 ? void (this.update && this.update.call(this.context)) : this.destroy();
964          }, a2.destroy = function() {
965            if (b2.destroy.call(this), this.tweens) {
966              var a3, c2 = this.tweens.length;
967              for (a3 = c2; a3--; )
968                this.tweens[a3].destroy();
969              this.tweens = null, this.current = null;
970            }
971          };
972        }), U = b.config = {
973          debug: false,
974          defaultUnit: "px",
975          defaultAngle: "deg",
976          keepInherited: false,
977          hideBackface: false,
978          perspective: "",
979          fallback: !G.transition,
980          agentTests: []
981        };
982        b.fallback = function(a2) {
983          if (!G.transition)
984            return U.fallback = true;
985          U.agentTests.push("(" + a2 + ")");
986          var b2 = new RegExp(U.agentTests.join("|"), "i");
987          U.fallback = b2.test(navigator.userAgent);
988        }, b.fallback("6.0.[2-5] Safari"), b.tween = function(a2) {
989          return new R(a2);
990        }, b.delay = function(a2, b2, c2) {
991          return new S({
992            complete: b2,
993            duration: a2,
994            context: c2
995          });
996        }, a.fn.tram = function(a2) {
997          return b.call(null, this, a2);
998        };
999        var V = a.style, W = a.css, X = {
1000          transform: G.transform && G.transform.css
1001        }, Y = {
1002          color: [
1003            O,
1004            u
1005          ],
1006          background: [
1007            O,
1008            u,
1009            "background-color"
1010          ],
1011          "outline-color": [
1012            O,
1013            u
1014          ],
1015          "border-color": [
1016            O,
1017            u
1018          ],
1019          "border-top-color": [
1020            O,
1021            u
1022          ],
1023          "border-right-color": [
1024            O,
1025            u
1026          ],
1027          "border-bottom-color": [
1028            O,
1029            u
1030          ],
1031          "border-left-color": [
1032            O,
1033            u
1034          ],
1035          "border-width": [
1036            N,
1037            v
1038          ],
1039          "border-top-width": [
1040            N,
1041            v
1042          ],
1043          "border-right-width": [
1044            N,
1045            v
1046          ],
1047          "border-bottom-width": [
1048            N,
1049            v
1050          ],
1051          "border-left-width": [
1052            N,
1053            v
1054          ],
1055          "border-spacing": [
1056            N,
1057            v
1058          ],
1059          "letter-spacing": [
1060            N,
1061            v
1062          ],
1063          margin: [
1064            N,
1065            v
1066          ],
1067          "margin-top": [
1068            N,
1069            v
1070          ],
1071          "margin-right": [
1072            N,
1073            v
1074          ],
1075          "margin-bottom": [
1076            N,
1077            v
1078          ],
1079          "margin-left": [
1080            N,
1081            v
1082          ],
1083          padding: [
1084            N,
1085            v
1086          ],
1087          "padding-top": [
1088            N,
1089            v
1090          ],
1091          "padding-right": [
1092            N,
1093            v
1094          ],
1095          "padding-bottom": [
1096            N,
1097            v
1098          ],
1099          "padding-left": [
1100            N,
1101            v
1102          ],
1103          "outline-width": [
1104            N,
1105            v
1106          ],
1107          opacity: [
1108            N,
1109            t
1110          ],
1111          top: [
1112            N,
1113            w
1114          ],
1115          right: [
1116            N,
1117            w
1118          ],
1119          bottom: [
1120            N,
1121            w
1122          ],
1123          left: [
1124            N,
1125            w
1126          ],
1127          "font-size": [
1128            N,
1129            w
1130          ],
1131          "text-indent": [
1132            N,
1133            w
1134          ],
1135          "word-spacing": [
1136            N,
1137            w
1138          ],
1139          width: [
1140            N,
1141            w
1142          ],
1143          "min-width": [
1144            N,
1145            w
1146          ],
1147          "max-width": [
1148            N,
1149            w
1150          ],
1151          height: [
1152            N,
1153            w
1154          ],
1155          "min-height": [
1156            N,
1157            w
1158          ],
1159          "max-height": [
1160            N,
1161            w
1162          ],
1163          "line-height": [
1164            N,
1165            y
1166          ],
1167          "scroll-top": [
1168            P,
1169            t,
1170            "scrollTop"
1171          ],
1172          "scroll-left": [
1173            P,
1174            t,
1175            "scrollLeft"
1176          ]
1177        }, Z = {};
1178        G.transform && (Y.transform = [
1179          Q
1180        ], Z = {
1181          x: [
1182            w,
1183            "translateX"
1184          ],
1185          y: [
1186            w,
1187            "translateY"
1188          ],
1189          rotate: [
1190            x
1191          ],
1192          rotateX: [
1193            x
1194          ],
1195          rotateY: [
1196            x
1197          ],
1198          scale: [
1199            t
1200          ],
1201          scaleX: [
1202            t
1203          ],
1204          scaleY: [
1205            t
1206          ],
1207          skew: [
1208            x
1209          ],
1210          skewX: [
1211            x
1212          ],
1213          skewY: [
1214            x
1215          ]
1216        }), G.transform && G.backface && (Z.z = [
1217          w,
1218          "translateZ"
1219        ], Z.rotateZ = [
1220          x
1221        ], Z.scaleZ = [
1222          t
1223        ], Z.perspective = [
1224          v
1225        ]);
1226        var $2 = /ms/, _ = /s|\./;
1227        return a.tram = b;
1228      }(window.jQuery);
1229    }
1230  });
1231
1232  
1232// packages/shared/render/plugins/BaseSiteModules/underscore-custom.js
1233  var require_underscore_custom = __commonJS({
1234    "packages/shared/render/plugins/BaseSiteModules/underscore-custom.js"(exports, module) {
1235      "use strict";
1236      var $2 = window.$;
1237      var tram = require_tram_min() && $2.tram;
1238      module.exports = function() {
1239        var _ = {};
1240        _.VERSION = "1.6.0-Webflow";
1241        var breaker = {};
1242        var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
1243        var push = ArrayProto.push, slice = ArrayProto.slice, concat = ArrayProto.concat, toString = ObjProto.toString, hasOwnProperty = ObjProto.hasOwnProperty;
1244        var nativeForEach = ArrayProto.forEach, nativeMap = ArrayProto.map, nativeReduce = ArrayProto.reduce, nativeReduceRight = ArrayProto.reduceRight, nativeFilter = ArrayProto.filter, nativeEvery = ArrayProto.every, nativeSome = ArrayProto.some, nativeIndexOf = ArrayProto.indexOf, nativeLastIndexOf = ArrayProto.lastIndexOf, nativeIsArray = Array.isArray, nativeKeys = Object.keys, nativeBind = FuncProto.bind;
1245        var each = _.each = _.forEach = function(obj, iterator, context) {
1246          if (obj == null)
1247            return obj;
1248          if (nativeForEach && obj.forEach === nativeForEach) {
1249            obj.forEach(iterator, context);
1250          } else if (obj.length === +obj.length) {
1251            for (var i = 0, length = obj.length; i < length; i++) {
1252              if (iterator.call(context, obj[i], i, obj) === breaker)
1253                return;
1254            }
1255          } else {
1256            var keys = _.keys(obj);
1257            for (var i = 0, length = keys.length; i < length; i++) {
1258              if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker)
1259                return;
1260            }
1261          }
1262          return obj;
1263        };
1264        _.map = _.collect = function(obj, iterator, context) {
1265          var results = [];
1266          if (obj == null)
1267            return results;
1268          if (nativeMap && obj.map === nativeMap)
1269            return obj.map(iterator, context);
1270          each(obj, function(value, index, list) {
1271            results.push(iterator.call(context, value, index, list));
1272          });
1273          return results;
1274        };
1275        _.find = _.detect = function(obj, predicate, context) {
1276          var result;
1277          any(obj, function(value, index, list) {
1278            if (predicate.call(context, value, index, list)) {
1279              result = value;
1280              return true;
1281            }
1282          });
1283          return result;
1284        };
1285        _.filter = _.select = function(obj, predicate, context) {
1286          var results = [];
1287          if (obj == null)
1288            return results;
1289          if (nativeFilter && obj.filter === nativeFilter)
1290            return obj.filter(predicate, context);
1291          each(obj, function(value, index, list) {
1292            if (predicate.call(context, value, index, list))
1293              results.push(value);
1294          });
1295          return results;
1296        };
1297        var any = _.some = _.any = function(obj, predicate, context) {
1298          predicate || (predicate = _.identity);
1299          var result = false;
1300          if (obj == null)
1301            return result;
1302          if (nativeSome && obj.some === nativeSome)
1303            return obj.some(predicate, context);
1304          each(obj, function(value, index, list) {
1305            if (result || (result = predicate.call(context, value, index, list)))
1306              return breaker;
1307          });
1308          return !!result;
1309        };
1310        _.contains = _.include = function(obj, target) {
1311          if (obj == null)
1312            return false;
1313          if (nativeIndexOf && obj.indexOf === nativeIndexOf)
1314            return obj.indexOf(target) != -1;
1315          return any(obj, function(value) {
1316            return value === target;
1317          });
1318        };
1319        _.delay = function(func, wait) {
1320          var args = slice.call(arguments, 2);
1321          return setTimeout(function() {
1322            return func.apply(null, args);
1323          }, wait);
1324        };
1325        _.defer = function(func) {
1326          return _.delay.apply(_, [
1327            func,
1328            1
1329          ].concat(slice.call(arguments, 1)));
1330        };
1331        _.throttle = function(func) {
1332          var wait, args, context;
1333          return function() {
1334            if (wait)
1335              return;
1336            wait = true;
1337            args = arguments;
1338            context = this;
1339            tram.frame(function() {
1340              wait = false;
1341              func.apply(context, args);
1342            });
1343          };
1344        };
1345        _.debounce = function(func, wait, immediate) {
1346          var timeout, args, context, timestamp, result;
1347          var later = function() {
1348            var last = _.now() - timestamp;
1349            if (last < wait) {
1350              timeout = setTimeout(later, wait - last);
1351            } else {
1352              timeout = null;
1353              if (!immediate) {
1354                result = func.apply(context, args);
1355                context = args = null;
1356              }
1357            }
1358          };
1359          return function() {
1360            context = this;
1361            args = arguments;
1362            timestamp = _.now();
1363            var callNow = immediate && !timeout;
1364            if (!timeout) {
1365              timeout = setTimeout(later, wait);
1366            }
1367            if (callNow) {
1368              result = func.apply(context, args);
1369              context = args = null;
1370            }
1371            return result;
1372          };
1373        };
1374        _.defaults = function(obj) {
1375          if (!_.isObject(obj))
1376            return obj;
1377          for (var i = 1, length = arguments.length; i < length; i++) {
1378            var source = arguments[i];
1379            for (var prop in source) {
1380              if (obj[prop] === void 0)
1381                obj[prop] = source[prop];
1382            }
1383          }
1384          return obj;
1385        };
1386        _.keys = function(obj) {
1387          if (!_.isObject(obj))
1388            return [];
1389          if (nativeKeys)
1390            return nativeKeys(obj);
1391          var keys = [];
1392          for (var key in obj)
1393            if (_.has(obj, key))
1394              keys.push(key);
1395          return keys;
1396        };
1397        _.has = function(obj, key) {
1398          return hasOwnProperty.call(obj, key);
1399        };
1400        _.isObject = function(obj) {
1401          return obj === Object(obj);
1402        };
1403        _.now = Date.now || function() {
1404          return (/* @__PURE__ */ new Date()).getTime();
1405        };
1406        _.templateSettings = {
1407          evaluate: /<%([\s\S]+?)%>/g,
1408          interpolate: /<%=([\s\S]+?)%>/g,
1409          escape: /<%-([\s\S]+?)%>/g
1410        };
1411        var noMatch = /(.)^/;
1412        var escapes = {
1413          "'": "'",
1414          "\\": "\\",
1415          "\r": "r",
1416          "\n": "n",
1417          "\u2028": "u2028",
1418          "\u2029": "u2029"
1419        };
1420        var escapeRegExp = /\\|'|\r|\n|\u2028|\u2029/g;
1421        var escapeChar = function(match) {
1422          return "\\" + escapes[match];
1423        };
1424        var bareIdentifier = /^\s*(\w|\$)+\s*$/;
1425        _.template = function(text, settings, oldSettings) {
1426          if (!settings && oldSettings)
1427            settings = oldSettings;
1428          settings = _.defaults({}, settings, _.templateSettings);
1429          var matcher = RegExp([
vendor: 1,779 bytes, lines 1430-1476
1430            (settings.escape || noMatch).source,
1431            (settings.interpolate || noMatch).source,
1432            (settings.evaluate || noMatch).source
1433          ].join("|") + "|$", "g");
1434          var index = 0;
1435          var source = "__p+='";
1436          text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {
1437            source += text.slice(index, offset).replace(escapeRegExp, escapeChar);
1438            index = offset + match.length;
1439            if (escape) {
1440              source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'";
1441            } else if (interpolate) {
1442              source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
1443            } else if (evaluate) {
1444              source += "';\n" + evaluate + "\n__p+='";
1445            }
1446            return match;
1447          });
1448          source += "';\n";
1449          var argument = settings.variable;
1450          if (argument) {
1451            if (!bareIdentifier.test(argument))
1452              throw new Error("variable is not a bare identifier: " + argument);
1453          } else {
1454            source = "with(obj||{}){\n" + source + "}\n";
1455            argument = "obj";
1456          }
1457          source = "var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n" + source + "return __p;\n";
1458          var render;
1459          try {
1460            render = new Function(settings.variable || "obj", "_", source);
1461          } catch (e) {
1462            e.source = source;
1463            throw e;
1464          }
1465          var template = function(data) {
1466            return render.call(this, data, _);
1467          };
1468          template.source = "function(" + argument + "){\n" + source + "}";
1469          return template;
1470        };
1471        return _;
1472      }();
1473    }
1474  });
1475
1476  
1476// packages/shared/render/plugins/BaseSiteModules/webflow-lib.js
1477  var require_webflow_lib = __commonJS({
1478    "packages/shared/render/plugins/BaseSiteModules/webflow-lib.js"(exports, module) {
1479      "use strict";
1480      var Webflow2 = {};
1481      var modules = {};
1482      var primary = [];
1483      var secondary = window.Webflow || [];
1484      var $2 = window.jQuery;
1485      var $win = $2(window);
1486      var $doc = $2(document);
1487      var isFunction = $2.isFunction;
1488      var _ = Webflow2._ = require_underscore_custom();
1489      var tram = Webflow2.tram = require_tram_min() && $2.tram;
1490      var domready = false;
1491      var destroyed = false;
1492      tram.config.hideBackface = false;
1493      tram.config.keepInherited = true;
1494      Webflow2.define = function(name, factory, options) {
1495        if (modules[name]) {
1496          unbindModule(modules[name]);
1497        }
1498        var instance = modules[name] = factory($2, _, options) || {};
1499        bindModule(instance);
1500        return instance;
1501      };
1502      Webflow2.require = function(name) {
1503        return modules[name];
1504      };
1505      function bindModule(module1) {
1506        if (Webflow2.env()) {
1507          isFunction(module1.design) && $win.on("__wf_design", module1.design);
1508          isFunction(module1.preview) && $win.on("__wf_preview", module1.preview);
1509        }
1510        isFunction(module1.destroy) && $win.on("__wf_destroy", module1.destroy);
1511        if (module1.ready && isFunction(module1.ready)) {
1512          addReady(module1);
1513        }
1514      }
1515      function addReady(module1) {
1516        if (domready) {
1517          module1.ready();
1518          return;
1519        }
1520        if (_.contains(primary, module1.ready)) {
1521          return;
1522        }
1523        primary.push(module1.ready);
1524      }
1525      function unbindModule(module1) {
1526        isFunction(module1.design) && $win.off("__wf_design", module1.design);
1527        isFunction(module1.preview) && $win.off("__wf_preview", module1.preview);
1528        isFunction(module1.destroy) && $win.off("__wf_destroy", module1.destroy);
1529        if (module1.ready && isFunction(module1.ready)) {
1530          removeReady(module1);
1531        }
1532      }
1533      function removeReady(module1) {
1534        primary = _.filter(primary, function(readyFn) {
1535          return readyFn !== module1.ready;
1536        });
1537      }
1538      Webflow2.push = function(ready) {
1539        if (domready) {
1540          isFunction(ready) && ready();
1541          return;
1542        }
1543        secondary.push(ready);
1544      };
1545      Webflow2.env = function(mode) {
1546        var designFlag = window.__wf_design;
1547        var inApp = typeof designFlag !== "undefined";
1548        if (!mode) {
1549          return inApp;
1550        }
1551        if (mode === "design") {
1552          return inApp && designFlag;
1553        }
1554        if (mode === "preview") {
1555          return inApp && !designFlag;
1556        }
1557        if (mode === "slug") {
1558          return inApp && window.__wf_slug;
1559        }
1560        if (mode === "editor") {
1561          return window.WebflowEditor;
1562        }
1563        if (mode === "test") {
1564          return window.__wf_test;
1565        }
1566        if (mode === "frame") {
1567          return window !== window.top;
1568        }
1569      };
1570      var userAgent = navigator.userAgent.toLowerCase();
1571      var touch = Webflow2.env.touch = "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch;
1572      var chrome = Webflow2.env.chrome = /chrome/.test(userAgent) && /Google/.test(navigator.vendor) && parseInt(userAgent.match(/chrome\/(\d+)\./)[1], 10);
1573      var ios = Webflow2.env.ios = /(ipod|iphone|ipad)/.test(userAgent);
1574      Webflow2.env.safari = /safari/.test(userAgent) && !chrome && !ios;
1575      var touchTarget;
1576      touch && $doc.on("touchstart mousedown", function(evt) {
1577        touchTarget = evt.target;
1578      });
1579      Webflow2.validClick = touch ? function(clickTarget) {
1580        return clickTarget === touchTarget || $2.contains(clickTarget, touchTarget);
1581      } : function() {
1582        return true;
1583      };
1584      var resizeEvents = "resize.webflow orientationchange.webflow load.webflow";
1585      var scrollEvents = "scroll.webflow " + resizeEvents;
1586      Webflow2.resize = eventProxy($win, resizeEvents);
1587      Webflow2.scroll = eventProxy($win, scrollEvents);
1588      Webflow2.redraw = eventProxy();
1589      function eventProxy(target, types) {
1590        var handlers = [];
1591        var proxy = {};
1592        proxy.up = _.throttle(function(evt) {
1593          _.each(handlers, function(h) {
1594            h(evt);
1595          });
1596        });
1597        if (target && types) {
1598          target.on(types, proxy.up);
1599        }
1600        proxy.on = function(handler) {
1601          if (typeof handler !== "function") {
1602            return;
1603          }
1604          if (_.contains(handlers, handler)) {
1605            return;
1606          }
1607          handlers.push(handler);
1608        };
1609        proxy.off = function(handler) {
1610          if (!arguments.length) {
1611            handlers = [];
1612            return;
1613          }
1614          handlers = _.filter(handlers, function(h) {
1615            return h !== handler;
1616          });
1617        };
1618        return proxy;
1619      }
1620      Webflow2.location = function(url) {
1621        window.location = url;
1622      };
1623      if (Webflow2.env()) {
1624        Webflow2.location = function() {
1625        };
1626      }
1627      Webflow2.ready = function() {
1628        domready = true;
1629        if (destroyed) {
1630          restoreModules();
1631        } else {
1632          _.each(primary, callReady);
1633        }
1634        _.each(secondary, callReady);
1635        Webflow2.resize.up();
1636      };
1637      function callReady(readyFn) {
1638        isFunction(readyFn) && readyFn();
1639      }
1640      function restoreModules() {
1641        destroyed = false;
1642        _.each(modules, bindModule);
1643      }
1644      var deferLoad;
1645      Webflow2.load = function(handler) {
1646        deferLoad.then(handler);
1647      };
1648      function bindLoad() {
1649        if (deferLoad) {
1650          deferLoad.reject();
1651          $win.off("load", deferLoad.resolve);
1652        }
1653        deferLoad = new $2.Deferred();
1654        $win.on("load", deferLoad.resolve);
1655      }
1656      Webflow2.destroy = function(options) {
1657        options = options || {};
1658        destroyed = true;
1659        $win.triggerHandler("__wf_destroy");
1660        if (options.domready != null) {
1661          domready = options.domready;
1662        }
1663        _.each(modules, unbindModule);
1664        Webflow2.resize.off();
1665        Webflow2.scroll.off();
1666        Webflow2.redraw.off();
1667        primary = [];
1668        secondary = [];
1669        if (deferLoad.state() === "pending") {
1670          bindLoad();
1671        }
1672      };
1673      $2(Webflow2.ready);
1674      bindLoad();
1675      module.exports = window.Webflow = Webflow2;
1676    }
1677  });
1678
1679  
1679// packages/shared/render/plugins/BaseSiteModules/webflow-brand.js
1680  var require_webflow_brand = __commonJS({
1681    "packages/shared/render/plugins/BaseSiteModules/webflow-brand.js"(exports, module) {
1682      "use strict";
1683      var Webflow2 = require_webflow_lib();
1684      Webflow2.define("brand", module.exports = function($2) {
1685        var api = {};
1686        var doc = document;
1687        var $html = $2("html");
1688        var $body = $2("body");
1689        var namespace = ".w-webflow-badge";
1690        var location = window.location;
1691        var isPhantom = /PhantomJS/i.test(navigator.userAgent);
1692        var fullScreenEvents = "fullscreenchange webkitfullscreenchange mozfullscreenchange msfullscreenchange";
1693        var brandElement;
1694        api.ready = function() {
1695          var shouldBrand = $html.attr("data-wf-status");
1696          var publishedDomain = $html.attr("data-wf-domain") || "";
1697          if (/\.webflow\.io$/i.test(publishedDomain) && location.hostname !== publishedDomain) {
1698            shouldBrand = true;
1699          }
1700          if (shouldBrand && !isPhantom) {
1701            brandElement = brandElement || createBadge();
1702            ensureBrand();
1703            setTimeout(ensureBrand, 500);
1704            $2(doc).off(fullScreenEvents, onFullScreenChange).on(fullScreenEvents, onFullScreenChange);
1705          }
1706        };
1707        function onFullScreenChange() {
1708          var fullScreen = doc.fullScreen || doc.mozFullScreen || doc.webkitIsFullScreen || doc.msFullscreenElement || Boolean(doc.webkitFullscreenElement);
1709          $2(brandElement).attr("style", fullScreen ? "display: none !important;" : "");
1710        }
1711        function createBadge() {
1712          var $brand = $2('<a class="w-webflow-badge"></a>').attr("href", "https://webflow.com?utm_campaign=brandjs");
1713          var $logoArt = $2("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-icon-d2.89e12c322e.svg").attr("alt", "").css({
1714            marginRight: "4px",
1715            width: "26px"
1716          });
1717          var $logoText = $2("<img>").attr("src", "https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-text-d2.c82cec3b78.svg").attr("alt", "Made in Webflow");
1718          $brand.append($logoArt, $logoText);
1719          return $brand[0];
1720        }
1721        function ensureBrand() {
1722          var found = $body.children(namespace);
1723          var match = found.length && found.get(0) === brandElement;
1724          var inEditor = Webflow2.env("editor");
1725          if (match) {
1726            if (inEditor) {
1727              found.remove();
1728            }
1729            return;
1730          }
1731          if (found.length) {
1732            found.remove();
1733          }
1734          if (!inEditor) {
1735            $body.append(brandElement);
1736          }
1737        }
1738        return api;
1739      });
1740    }
1741  });
1742
1743  
1743// packages/shared/render/plugins/BaseSiteModules/webflow-edit.js
1744  var require_webflow_edit = __commonJS({
1745    "packages/shared/render/plugins/BaseSiteModules/webflow-edit.js"(exports, module) {
1746      "use strict";
1747      var Webflow2 = require_webflow_lib();
1748      Webflow2.define("edit", module.exports = function($2, _, options) {
1749        options = options || {};
1750        if (Webflow2.env("test") || Webflow2.env("frame")) {
1751          if (!options.fixture && !inCypress()) {
1752            return {
1753              exit: 1
1754            };
1755          }
1756        }
1757        var api = {};
1758        var $win = $2(window);
1759        var $html = $2(document.documentElement);
1760        var location = document.location;
1761        var hashchange = "hashchange";
1762        var loaded;
1763        var loadEditor = options.load || load;
1764        var hasLocalStorage = false;
1765        try {
1766          hasLocalStorage = localStorage && localStorage.getItem && localStorage.getItem("WebflowEditor");
1767        } catch (e) {
1768        }
1769        if (hasLocalStorage) {
1770          loadEditor();
1771        } else if (location.search) {
1772          if (/[?&](edit)(?:[=&?]|$)/.test(location.search) || /\?edit$/.test(location.href)) {
1773            loadEditor();
1774          }
1775        } else {
1776          $win.on(hashchange, checkHash).triggerHandler(hashchange);
1777        }
1778        function checkHash() {
1779          if (loaded) {
1780            return;
1781          }
1782          if (/\?edit/.test(location.hash)) {
1783            loadEditor();
1784          }
1785        }
1786        function load() {
1787          loaded = true;
1788          window.WebflowEditor = true;
1789          $win.off(hashchange, checkHash);
1790          checkThirdPartyCookieSupport(function(thirdPartyCookiesSupported) {
1791            $2.ajax({
1792              url: cleanSlashes("https://editor-api.webflow.com/api/editor/view"),
1793              data: {
1794                siteId: $html.attr("data-wf-site")
1795              },
1796              xhrFields: {
1797                withCredentials: true
1798              },
1799              dataType: "json",
1800              crossDomain: true,
1801              success: success(thirdPartyCookiesSupported)
1802            });
1803          });
1804        }
1805        function success(thirdPartyCookiesSupported) {
1806          return function(data) {
1807            if (!data) {
1808              console.error("Could not load editor data");
1809              return;
1810            }
1811            data.thirdPartyCookiesSupported = thirdPartyCookiesSupported;
1812            getScript(prefix(data.scriptPath), function() {
1813              window.WebflowEditor(data);
1814            });
1815          };
1816        }
1817        function getScript(url, done) {
1818          $2.ajax({
1819            type: "GET",
1820            url,
1821            dataType: "script",
1822            cache: true
1823          }).then(done, error);
1824        }
1825        function error(jqXHR, textStatus, errorThrown) {
1826          console.error("Could not load editor script: " + textStatus);
1827          throw errorThrown;
1828        }
1829        function prefix(url) {
1830          return url.indexOf("//") >= 0 ? url : cleanSlashes("https://editor-api.webflow.com" + url);
1831        }
1832        function cleanSlashes(url) {
1833          return url.replace(/([^:])\/\//g, "$1/");
1834        }
1835        function checkThirdPartyCookieSupport(callback) {
1836          var iframe = window.document.createElement("iframe");
1837          iframe.src = "https://webflow.com/site/third-party-cookie-check.html";
1838          iframe.style.display = "none";
1839          iframe.sandbox = "allow-scripts allow-same-origin";
1840          var handleMessage = function(event) {
1841            if (event.data === "WF_third_party_cookies_unsupported") {
1842              cleanUpCookieCheckerIframe(iframe, handleMessage);
1843              callback(false);
1844            } else if (event.data === "WF_third_party_cookies_supported") {
1845              cleanUpCookieCheckerIframe(iframe, handleMessage);
1846              callback(true);
1847            }
1848          };
1849          iframe.onerror = function() {
1850            cleanUpCookieCheckerIframe(iframe, handleMessage);
1851            callback(false);
1852          };
1853          window.addEventListener("message", handleMessage, false);
1854          window.document.body.appendChild(iframe);
1855        }
1856        function cleanUpCookieCheckerIframe(iframe, listener) {
1857          window.removeEventListener("message", listener, false);
1858          iframe.remove();
1859        }
1860        return api;
1861      });
1862      function inCypress() {
1863        try {
1864          return window.top.__Cypress__;
1865        } catch (e) {
1866          return false;
1867        }
1868      }
1869    }
1870  });
1871
1872  
vendor: 5,272 bytes, lines 1872-1996
1872// packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js
1873  var require_webflow_focus_visible = __commonJS({
1874    "packages/shared/render/plugins/BaseSiteModules/webflow-focus-visible.js"(exports, module) {
1875      "use strict";
1876      var Webflow2 = require_webflow_lib();
1877      Webflow2.define("focus-visible", module.exports = function() {
1878        function applyFocusVisiblePolyfill(scope) {
1879          var hadKeyboardEvent = true;
1880          var hadFocusVisibleRecently = false;
1881          var hadFocusVisibleRecentlyTimeout = null;
1882          var inputTypesAllowlist = {
1883            text: true,
1884            search: true,
1885            url: true,
1886            tel: true,
1887            email: true,
1888            password: true,
1889            number: true,
1890            date: true,
1891            month: true,
1892            week: true,
1893            time: true,
1894            datetime: true,
1895            "datetime-local": true
1896          };
1897          function isValidFocusTarget(el) {
1898            if (el && el !== document && el.nodeName !== "HTML" && el.nodeName !== "BODY" && "classList" in el && "contains" in el.classList) {
1899              return true;
1900            }
1901            return false;
1902          }
1903          function focusTriggersKeyboardModality(el) {
1904            var type = el.type;
1905            var tagName = el.tagName;
1906            if (tagName === "INPUT" && inputTypesAllowlist[type] && !el.readOnly) {
1907              return true;
1908            }
1909            if (tagName === "TEXTAREA" && !el.readOnly) {
1910              return true;
1911            }
1912            if (el.isContentEditable) {
1913              return true;
1914            }
1915            return false;
1916          }
1917          function addFocusVisibleAttribute(el) {
1918            if (el.getAttribute("data-wf-focus-visible")) {
1919              return;
1920            }
1921            el.setAttribute("data-wf-focus-visible", "true");
1922          }
1923          function removeFocusVisibleAttribute(el) {
1924            if (!el.getAttribute("data-wf-focus-visible")) {
1925              return;
1926            }
1927            el.removeAttribute("data-wf-focus-visible");
1928          }
1929          function onKeyDown(e) {
1930            if (e.metaKey || e.altKey || e.ctrlKey) {
1931              return;
1932            }
1933            if (isValidFocusTarget(scope.activeElement)) {
1934              addFocusVisibleAttribute(scope.activeElement);
1935            }
1936            hadKeyboardEvent = true;
1937          }
1938          function onPointerDown() {
1939            hadKeyboardEvent = false;
1940          }
1941          function onFocus(e) {
1942            if (!isValidFocusTarget(e.target)) {
1943              return;
1944            }
1945            if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
1946              addFocusVisibleAttribute(e.target);
1947            }
1948          }
1949          function onBlur(e) {
1950            if (!isValidFocusTarget(e.target)) {
1951              return;
1952            }
1953            if (e.target.hasAttribute("data-wf-focus-visible")) {
1954              hadFocusVisibleRecently = true;
1955              window.clearTimeout(hadFocusVisibleRecentlyTimeout);
1956              hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {
1957                hadFocusVisibleRecently = false;
1958              }, 100);
1959              removeFocusVisibleAttribute(e.target);
1960            }
1961          }
1962          function onVisibilityChange() {
1963            if (document.visibilityState === "hidden") {
1964              if (hadFocusVisibleRecently) {
1965                hadKeyboardEvent = true;
1966              }
1967              addInitialPointerMoveListeners();
1968            }
1969          }
1970          function addInitialPointerMoveListeners() {
1971            document.addEventListener("mousemove", onInitialPointerMove);
1972            document.addEventListener("mousedown", onInitialPointerMove);
1973            document.addEventListener("mouseup", onInitialPointerMove);
1974            document.addEventListener("pointermove", onInitialPointerMove);
1975            document.addEventListener("pointerdown", onInitialPointerMove);
1976            document.addEventListener("pointerup", onInitialPointerMove);
1977            document.addEventListener("touchmove", onInitialPointerMove);
1978            document.addEventListener("touchstart", onInitialPointerMove);
1979            document.addEventListener("touchend", onInitialPointerMove);
1980          }
1981          function removeInitialPointerMoveListeners() {
1982            document.removeEventListener("mousemove", onInitialPointerMove);
1983            document.removeEventListener("mousedown", onInitialPointerMove);
1984            document.removeEventListener("mouseup", onInitialPointerMove);
1985            document.removeEventListener("pointermove", onInitialPointerMove);
1986            document.removeEventListener("pointerdown", onInitialPointerMove);
1987            document.removeEventListener("pointerup", onInitialPointerMove);
1988            document.removeEventListener("touchmove", onInitialPointerMove);
1989            document.removeEventListener("touchstart", onInitialPointerMove);
1990            document.removeEventListener("touchend", onInitialPointerMove);
1991          }
1992          function onInitialPointerMove(e) {
1993            if (e.target.nodeName && e.target.nodeName.toLowerCase() === "html") {
1994              return;
1995            }
1996            hadKeyboardEvent = false;
1997            removeInitialPointerMoveListeners();
1998          }
1999          document.addEventListener("keydown", onKeyDown, true);
2000          document.addEventListener("mousedown", onPointerDown, true);
2001          document.addEventListener("pointerdown", onPointerDown, true);
2002          document.addEventListener("touchstart", onPointerDown, true);
2003          document.addEventListener("visibilitychange", onVisibilityChange, true);
2004          addInitialPointerMoveListeners();
2005          scope.addEventListener("focus", onFocus, true);
2006          scope.addEventListener("blur", onBlur, true);
2007        }
2008        function ready() {
2009          if (typeof document !== "undefined") {
2010            try {
2011              document.querySelector(":focus-visible");
2012            } catch (e) {
2013              applyFocusVisiblePolyfill(document);
2014            }
2015          }
2016        }
2017        return {
2018          ready
2019        };
2020      });
2021    }
2022  });
2023
2024  
2024// packages/shared/render/plugins/BaseSiteModules/webflow-focus.js
2025  var require_webflow_focus = __commonJS({
2026    "packages/shared/render/plugins/BaseSiteModules/webflow-focus.js"(exports, module) {
2027      "use strict";
2028      var Webflow2 = require_webflow_lib();
2029      Webflow2.define("focus", module.exports = function() {
2030        var capturedEvents = [];
2031        var capturing = false;
2032        function captureEvent(e) {
2033          if (capturing) {
2034            e.preventDefault();
2035            e.stopPropagation();
2036            e.stopImmediatePropagation();
2037            capturedEvents.unshift(e);
2038          }
2039        }
2040        function isPolyfilledFocusEvent(e) {
2041          var el = e.target;
2042          var tag = el.tagName;
2043          return /^a$/i.test(tag) && el.href != null || // (A)
2044          /^(button|textarea)$/i.test(tag) && el.disabled !== true || // (B) (C)
2045          /^input$/i.test(tag) && /^(button|reset|submit|radio|checkbox)$/i.test(el.type) && !el.disabled || // (D)
2046          !/^(button|input|textarea|select|a)$/i.test(tag) && !Number.isNaN(Number.parseFloat(el.tabIndex)) || // (E)
2047          /^audio$/i.test(tag) || // (F)
2048          /^video$/i.test(tag) && el.controls === true;
2049        }
2050        function handler(e) {
2051          if (isPolyfilledFocusEvent(e)) {
2052            capturing = true;
2053            setTimeout(() => {
2054              capturing = false;
2055              e.target.focus();
2056              while (capturedEvents.length > 0) {
2057                var event = capturedEvents.pop();
2058                event.target.dispatchEvent(new MouseEvent(event.type, event));
2059              }
2060            }, 0);
2061          }
2062        }
2063        function ready() {
2064          if (typeof document !== "undefined" && document.body.hasAttribute("data-wf-focus-within") && Webflow2.env.safari) {
2065            document.addEventListener("mousedown", handler, true);
2066            document.addEventListener("mouseup", captureEvent, true);
2067            document.addEventListener("click", captureEvent, true);
2068          }
2069        }
2070        return {
2071          ready
2072        };
2073      });
2074    }
2075  });
2076
2077  
2077// packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js
2078  var require_webflow_ix_events = __commonJS({
2079    "packages/shared/render/plugins/BaseSiteModules/webflow-ix-events.js"(exports, module) {
2080      "use strict";
2081      var $2 = window.jQuery;
2082      var api = {};
2083      var eventQueue = [];
2084      var namespace = ".w-ix";
2085      var eventTriggers = {
2086        reset: function(i, el) {
2087          el.__wf_intro = null;
2088        },
2089        intro: function(i, el) {
2090          if (el.__wf_intro) {
2091            return;
2092          }
2093          el.__wf_intro = true;
2094          $2(el).triggerHandler(api.types.INTRO);
2095        },
2096        outro: function(i, el) {
2097          if (!el.__wf_intro) {
2098            return;
2099          }
2100          el.__wf_intro = null;
2101          $2(el).triggerHandler(api.types.OUTRO);
2102        }
2103      };
2104      api.triggers = {};
2105      api.types = {
2106        INTRO: "w-ix-intro" + namespace,
2107        OUTRO: "w-ix-outro" + namespace
2108      };
2109      api.init = function() {
2110        var count = eventQueue.length;
2111        for (var i = 0; i < count; i++) {
2112          var memo = eventQueue[i];
2113          memo[0](0, memo[1]);
2114        }
2115        eventQueue = [];
2116        $2.extend(api.triggers, eventTriggers);
2117      };
2118      api.async = function() {
2119        for (var key in eventTriggers) {
2120          var func = eventTriggers[key];
2121          if (!eventTriggers.hasOwnProperty(key)) {
2122            continue;
2123          }
2124          api.triggers[key] = function(i, el) {
2125            eventQueue.push([
2126              func,
2127              el
2128            ]);
2129          };
2130        }
2131      };
2132      api.async();
2133      module.exports = api;
2134    }
2135  });
2136
2137  
2137// packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js
2138  var require_webflow_ix2_events = __commonJS({
2139    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2-events.js"(exports, module) {
2140      "use strict";
2141      var IXEvents = require_webflow_ix_events();
2142      function dispatchCustomEvent2(element, eventName) {
2143        var event = document.createEvent("CustomEvent");
2144        event.initCustomEvent(eventName, true, true, null);
2145        element.dispatchEvent(event);
2146      }
2147      var $2 = window.jQuery;
2148      var api = {};
2149      var namespace = ".w-ix";
2150      var eventTriggers = {
2151        reset: function(i, el) {
2152          IXEvents.triggers.reset(i, el);
2153        },
2154        intro: function(i, el) {
2155          IXEvents.triggers.intro(i, el);
2156          dispatchCustomEvent2(el, "COMPONENT_ACTIVE");
2157        },
2158        outro: function(i, el) {
2159          IXEvents.triggers.outro(i, el);
2160          dispatchCustomEvent2(el, "COMPONENT_INACTIVE");
2161        }
2162      };
2163      api.triggers = {};
2164      api.types = {
2165        INTRO: "w-ix-intro" + namespace,
2166        OUTRO: "w-ix-outro" + namespace
2167      };
2168      $2.extend(api.triggers, eventTriggers);
2169      module.exports = api;
2170    }
2171  });
2172
2173  
vendor: 286 bytes, lines 2173-2181
2173// node_modules/lodash/_freeGlobal.js
2174  var require_freeGlobal = __commonJS({
2175    "node_modules/lodash/_freeGlobal.js"(exports, module) {
2176      var freeGlobal = typeof global == "object" && global && global.Object === Object && global;
2177      module.exports = freeGlobal;
2178    }
2179  });
2180
2181  
vendor: 367 bytes, lines 2181-2191
2181// node_modules/lodash/_root.js
2182  var require_root = __commonJS({
2183    "node_modules/lodash/_root.js"(exports, module) {
2184      var freeGlobal = require_freeGlobal();
2185      var freeSelf = typeof self == "object" && self && self.Object === Object && self;
2186      var root = freeGlobal || freeSelf || Function("return this")();
2187      module.exports = root;
2188    }
2189  });
2190
2191  
vendor: 239 bytes, lines 2191-2200
2191// node_modules/lodash/_Symbol.js
2192  var require_Symbol = __commonJS({
2193    "node_modules/lodash/_Symbol.js"(exports, module) {
2194      var root = require_root();
2195      var Symbol2 = root.Symbol;
2196      module.exports = Symbol2;
2197    }
2198  });
2199
2200  
vendor: 944 bytes, lines 2200-2229
2200// node_modules/lodash/_getRawTag.js
2201  var require_getRawTag = __commonJS({
2202    "node_modules/lodash/_getRawTag.js"(exports, module) {
2203      var Symbol2 = require_Symbol();
2204      var objectProto = Object.prototype;
2205      var hasOwnProperty = objectProto.hasOwnProperty;
2206      var nativeObjectToString = objectProto.toString;
2207      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
2208      function getRawTag(value) {
2209        var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag];
2210        try {
2211          value[symToStringTag] = void 0;
2212          var unmasked = true;
2213        } catch (e) {
2214        }
2215        var result = nativeObjectToString.call(value);
2216        if (unmasked) {
2217          if (isOwn) {
2218            value[symToStringTag] = tag;
2219          } else {
2220            delete value[symToStringTag];
2221          }
2222        }
2223        return result;
2224      }
2225      module.exports = getRawTag;
2226    }
2227  });
2228
2229  
vendor: 397 bytes, lines 2229-2241
2229// node_modules/lodash/_objectToString.js
2230  var require_objectToString = __commonJS({
2231    "node_modules/lodash/_objectToString.js"(exports, module) {
2232      var objectProto = Object.prototype;
2233      var nativeObjectToString = objectProto.toString;
2234      function objectToString(value) {
2235        return nativeObjectToString.call(value);
2236      }
2237      module.exports = objectToString;
2238    }
2239  });
2240
2241  
vendor: 724 bytes, lines 2241-2260
2241// node_modules/lodash/_baseGetTag.js
2242  var require_baseGetTag = __commonJS({
2243    "node_modules/lodash/_baseGetTag.js"(exports, module) {
2244      var Symbol2 = require_Symbol();
2245      var getRawTag = require_getRawTag();
2246      var objectToString = require_objectToString();
2247      var nullTag = "[object Null]";
2248      var undefinedTag = "[object Undefined]";
2249      var symToStringTag = Symbol2 ? Symbol2.toStringTag : void 0;
2250      function baseGetTag(value) {
2251        if (value == null) {
2252          return value === void 0 ? undefinedTag : nullTag;
2253        }
2254        return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
2255      }
2256      module.exports = baseGetTag;
2257    }
2258  });
2259
2260  
vendor: 307 bytes, lines 2260-2272
2260// node_modules/lodash/_overArg.js
2261  var require_overArg = __commonJS({
2262    "node_modules/lodash/_overArg.js"(exports, module) {
2263      function overArg(func, transform) {
2264        return function(arg) {
2265          return func(transform(arg));
2266        };
2267      }
2268      module.exports = overArg;
2269    }
2270  });
2271
2272  
vendor: 300 bytes, lines 2272-2281
2272// node_modules/lodash/_getPrototype.js
2273  var require_getPrototype = __commonJS({
2274    "node_modules/lodash/_getPrototype.js"(exports, module) {
2275      var overArg = require_overArg();
2276      var getPrototype = overArg(Object.getPrototypeOf, Object);
2277      module.exports = getPrototype;
2278    }
2279  });
2280
2281  
vendor: 297 bytes, lines 2281-2291
2281// node_modules/lodash/isObjectLike.js
2282  var require_isObjectLike = __commonJS({
2283    "node_modules/lodash/isObjectLike.js"(exports, module) {
2284      function isObjectLike(value) {
2285        return value != null && typeof value == "object";
2286      }
2287      module.exports = isObjectLike;
2288    }
2289  });
2290
2291  
vendor: 1,072 bytes, lines 2291-2318
2291// node_modules/lodash/isPlainObject.js
2292  var require_isPlainObject = __commonJS({
2293    "node_modules/lodash/isPlainObject.js"(exports, module) {
2294      var baseGetTag = require_baseGetTag();
2295      var getPrototype = require_getPrototype();
2296      var isObjectLike = require_isObjectLike();
2297      var objectTag = "[object Object]";
2298      var funcProto = Function.prototype;
2299      var objectProto = Object.prototype;
2300      var funcToString = funcProto.toString;
2301      var hasOwnProperty = objectProto.hasOwnProperty;
2302      var objectCtorString = funcToString.call(Object);
2303      function isPlainObject(value) {
2304        if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
2305          return false;
2306        }
2307        var proto = getPrototype(value);
2308        if (proto === null) {
2309          return true;
2310        }
2311        var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor;
2312        return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
2313      }
2314      module.exports = isPlainObject;
2315    }
2316  });
2317
2318  
vendor: 795 bytes, lines 2318-2344
2318// node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js
2319  var require_ponyfill = __commonJS({
2320    "node_modules/redux/node_modules/symbol-observable/lib/ponyfill.js"(exports) {
2321      "use strict";
2322      Object.defineProperty(exports, "__esModule", {
2323        value: true
2324      });
2325      exports["default"] = symbolObservablePonyfill;
2326      function symbolObservablePonyfill(root) {
2327        var result;
2328        var _Symbol = root.Symbol;
2329        if (typeof _Symbol === "function") {
2330          if (_Symbol.observable) {
2331            result = _Symbol.observable;
2332          } else {
2333            result = _Symbol("observable");
2334            _Symbol.observable = result;
2335          }
2336        } else {
2337          result = "@@observable";
2338        }
2339        return result;
2340      }
2341    }
2342  });
2343
2344  
vendor: 973 bytes, lines 2344-2373
2344// node_modules/redux/node_modules/symbol-observable/lib/index.js
2345  var require_lib = __commonJS({
2346    "node_modules/redux/node_modules/symbol-observable/lib/index.js"(exports, module) {
2347      "use strict";
2348      Object.defineProperty(exports, "__esModule", {
2349        value: true
2350      });
2351      var _ponyfill = require_ponyfill();
2352      var _ponyfill2 = _interopRequireDefault(_ponyfill);
2353      function _interopRequireDefault(obj) {
2354        return obj && obj.__esModule ? obj : { "default": obj };
2355      }
2356      var root;
2357      if (typeof self !== "undefined") {
2358        root = self;
2359      } else if (typeof window !== "undefined") {
2360        root = window;
2361      } else if (typeof global !== "undefined") {
2362        root = global;
2363      } else if (typeof module !== "undefined") {
2364        root = module;
2365      } else {
2366        root = Function("return this")();
2367      }
2368      var result = (0, _ponyfill2["default"])(root);
2369      exports["default"] = result;
2370    }
2371  });
2372
2373  
vendor: 4,995 bytes, lines 2373-2504
2373// node_modules/redux/lib/createStore.js
2374  var require_createStore = __commonJS({
2375    "node_modules/redux/lib/createStore.js"(exports) {
2376      "use strict";
2377      exports.__esModule = true;
2378      exports.ActionTypes = void 0;
2379      exports["default"] = createStore;
2380      var _isPlainObject = require_isPlainObject();
2381      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
2382      var _symbolObservable = require_lib();
2383      var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
2384      function _interopRequireDefault(obj) {
2385        return obj && obj.__esModule ? obj : { "default": obj };
2386      }
2387      var ActionTypes = exports.ActionTypes = {
2388        INIT: "@@redux/INIT"
2389      };
2390      function createStore(reducer, preloadedState, enhancer) {
2391        var _ref2;
2392        if (typeof preloadedState === "function" && typeof enhancer === "undefined") {
2393          enhancer = preloadedState;
2394          preloadedState = void 0;
2395        }
2396        if (typeof enhancer !== "undefined") {
2397          if (typeof enhancer !== "function") {
2398            throw new Error("Expected the enhancer to be a function.");
2399          }
2400          return enhancer(createStore)(reducer, preloadedState);
2401        }
2402        if (typeof reducer !== "function") {
2403          throw new Error("Expected the reducer to be a function.");
2404        }
2405        var currentReducer = reducer;
2406        var currentState = preloadedState;
2407        var currentListeners = [];
2408        var nextListeners = currentListeners;
2409        var isDispatching = false;
2410        function ensureCanMutateNextListeners() {
2411          if (nextListeners === currentListeners) {
2412            nextListeners = currentListeners.slice();
2413          }
2414        }
2415        function getState() {
2416          return currentState;
2417        }
2418        function subscribe(listener) {
2419          if (typeof listener !== "function") {
2420            throw new Error("Expected listener to be a function.");
2421          }
2422          var isSubscribed = true;
2423          ensureCanMutateNextListeners();
2424          nextListeners.push(listener);
2425          return function unsubscribe() {
2426            if (!isSubscribed) {
2427              return;
2428            }
2429            isSubscribed = false;
2430            ensureCanMutateNextListeners();
2431            var index = nextListeners.indexOf(listener);
2432            nextListeners.splice(index, 1);
2433          };
2434        }
2435        function dispatch(action) {
2436          if (!(0, _isPlainObject2["default"])(action)) {
2437            throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
2438          }
2439          if (typeof action.type === "undefined") {
2440            throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
2441          }
2442          if (isDispatching) {
2443            throw new Error("Reducers may not dispatch actions.");
2444          }
2445          try {
2446            isDispatching = true;
2447            currentState = currentReducer(currentState, action);
2448          } finally {
2449            isDispatching = false;
2450          }
2451          var listeners = currentListeners = nextListeners;
2452          for (var i = 0; i < listeners.length; i++) {
2453            listeners[i]();
2454          }
2455          return action;
2456        }
2457        function replaceReducer(nextReducer) {
2458          if (typeof nextReducer !== "function") {
2459            throw new Error("Expected the nextReducer to be a function.");
2460          }
2461          currentReducer = nextReducer;
2462          dispatch({ type: ActionTypes.INIT });
2463        }
2464        function observable() {
2465          var _ref;
2466          var outerSubscribe = subscribe;
2467          return _ref = {
2468            /**
2469             * The minimal observable subscription method.
2470             * @param {Object} observer Any object that can be used as an observer.
2471             * The observer object should have a `next` method.
2472             * @returns {subscription} An object with an `unsubscribe` method that can
2473             * be used to unsubscribe the observable from the store, and prevent further
2474             * emission of values from the observable.
2475             */
2476            subscribe: function subscribe2(observer) {
2477              if (typeof observer !== "object") {
2478                throw new TypeError("Expected the observer to be an object.");
2479              }
2480              function observeState() {
2481                if (observer.next) {
2482                  observer.next(getState());
2483                }
2484              }
2485              observeState();
2486              var unsubscribe = outerSubscribe(observeState);
2487              return { unsubscribe };
2488            }
2489          }, _ref[_symbolObservable2["default"]] = function() {
2490            return this;
2491          }, _ref;
2492        }
2493        dispatch({ type: ActionTypes.INIT });
2494        return _ref2 = {
2495          dispatch,
2496          subscribe,
2497          getState,
2498          replaceReducer
2499        }, _ref2[_symbolObservable2["default"]] = observable, _ref2;
2500      }
2501    }
2502  });
2503
2504  
vendor: 494 bytes, lines 2504-2522
2504// node_modules/redux/lib/utils/warning.js
2505  var require_warning = __commonJS({
2506    "node_modules/redux/lib/utils/warning.js"(exports) {
2507      "use strict";
2508      exports.__esModule = true;
2509      exports["default"] = warning;
2510      function warning(message) {
2511        if (typeof console !== "undefined" && typeof console.error === "function") {
2512          console.error(message);
2513        }
2514        try {
2515          throw new Error(message);
2516        } catch (e) {
2517        }
2518      }
2519    }
2520  });
2521
2522  
vendor: 4,258 bytes, lines 2522-2610
2522// node_modules/redux/lib/combineReducers.js
2523  var require_combineReducers = __commonJS({
2524    "node_modules/redux/lib/combineReducers.js"(exports) {
2525      "use strict";
2526      exports.__esModule = true;
2527      exports["default"] = combineReducers2;
2528      var _createStore = require_createStore();
2529      var _isPlainObject = require_isPlainObject();
2530      var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
2531      var _warning = require_warning();
2532      var _warning2 = _interopRequireDefault(_warning);
2533      function _interopRequireDefault(obj) {
2534        return obj && obj.__esModule ? obj : { "default": obj };
2535      }
2536      function getUndefinedStateErrorMessage(key, action) {
2537        var actionType = action && action.type;
2538        var actionName = actionType && '"' + actionType.toString() + '"' || "an action";
2539        return "Given action " + actionName + ', reducer "' + key + '" returned undefined. To ignore an action, you must explicitly return the previous state.';
2540      }
2541      function assertReducerSanity(reducers) {
2542        Object.keys(reducers).forEach(function(key) {
2543          var reducer = reducers[key];
2544          var initialState4 = reducer(void 0, { type: _createStore.ActionTypes.INIT });
2545          if (typeof initialState4 === "undefined") {
2546            throw new Error('Reducer "' + key + '" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined.');
2547          }
2548          var type = "@@redux/PROBE_UNKNOWN_ACTION_" + Math.random().toString(36).substring(7).split("").join(".");
2549          if (typeof reducer(void 0, { type }) === "undefined") {
2550            throw new Error('Reducer "' + key + '" returned undefined when probed with a random type. ' + ("Don't try to handle " + _createStore.ActionTypes.INIT + ' or other actions in "redux/*" ') + "namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined.");
2551          }
2552        });
2553      }
2554      function combineReducers2(reducers) {
2555        var reducerKeys = Object.keys(reducers);
2556        var finalReducers = {};
2557        for (var i = 0; i < reducerKeys.length; i++) {
2558          var key = reducerKeys[i];
2559          if (false) {
2560            if (typeof reducers[key] === "undefined") {
2561              (0, _warning2["default"])('No reducer provided for key "' + key + '"');
2562            }
2563          }
2564          if (typeof reducers[key] === "function") {
2565            finalReducers[key] = reducers[key];
2566          }
2567        }
2568        var finalReducerKeys = Object.keys(finalReducers);
2569        if (false) {
2570          var unexpectedKeyCache = {};
2571        }
2572        var sanityError;
2573        try {
2574          assertReducerSanity(finalReducers);
2575        } catch (e) {
2576          sanityError = e;
2577        }
2578        return function combination() {
2579          var state = arguments.length <= 0 || arguments[0] === void 0 ? {} : arguments[0];
2580          var action = arguments[1];
2581          if (sanityError) {
2582            throw sanityError;
2583          }
2584          if (false) {
2585            var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
2586            if (warningMessage) {
2587              (0, _warning2["default"])(warningMessage);
2588            }
2589          }
2590          var hasChanged = false;
2591          var nextState = {};
2592          for (var i2 = 0; i2 < finalReducerKeys.length; i2++) {
2593            var key2 = finalReducerKeys[i2];
2594            var reducer = finalReducers[key2];
2595            var previousStateForKey = state[key2];
2596            var nextStateForKey = reducer(previousStateForKey, action);
2597            if (typeof nextStateForKey === "undefined") {
2598              var errorMessage = getUndefinedStateErrorMessage(key2, action);
2599              throw new Error(errorMessage);
2600            }
2601            nextState[key2] = nextStateForKey;
2602            hasChanged = hasChanged || nextStateForKey !== previousStateForKey;
2603          }
2604          return hasChanged ? nextState : state;
2605        };
2606      }
2607    }
2608  });
2609
2610  
vendor: 1,393 bytes, lines 2610-2642
2610// node_modules/redux/lib/bindActionCreators.js
2611  var require_bindActionCreators = __commonJS({
2612    "node_modules/redux/lib/bindActionCreators.js"(exports) {
2613      "use strict";
2614      exports.__esModule = true;
2615      exports["default"] = bindActionCreators;
2616      function bindActionCreator(actionCreator, dispatch) {
2617        return function() {
2618          return dispatch(actionCreator.apply(void 0, arguments));
2619        };
2620      }
2621      function bindActionCreators(actionCreators, dispatch) {
2622        if (typeof actionCreators === "function") {
2623          return bindActionCreator(actionCreators, dispatch);
2624        }
2625        if (typeof actionCreators !== "object" || actionCreators === null) {
2626          throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? "null" : typeof actionCreators) + '. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');
2627        }
2628        var keys = Object.keys(actionCreators);
2629        var boundActionCreators = {};
2630        for (var i = 0; i < keys.length; i++) {
2631          var key = keys[i];
2632          var actionCreator = actionCreators[key];
2633          if (typeof actionCreator === "function") {
2634            boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);
2635          }
2636        }
2637        return boundActionCreators;
2638      }
2639    }
2640  });
2641
2642  
vendor: 853 bytes, lines 2642-2671
2642// node_modules/redux/lib/compose.js
2643  var require_compose = __commonJS({
2644    "node_modules/redux/lib/compose.js"(exports) {
2645      "use strict";
2646      exports.__esModule = true;
2647      exports["default"] = compose;
2648      function compose() {
2649        for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {
2650          funcs[_key] = arguments[_key];
2651        }
2652        if (funcs.length === 0) {
2653          return function(arg) {
2654            return arg;
2655          };
2656        }
2657        if (funcs.length === 1) {
2658          return funcs[0];
2659        }
2660        var last = funcs[funcs.length - 1];
2661        var rest = funcs.slice(0, -1);
2662        return function() {
2663          return rest.reduceRight(function(composed, f) {
2664            return f(composed);
2665          }, last.apply(void 0, arguments));
2666        };
2667      }
2668    }
2669  });
2670
2671  
vendor: 1,804 bytes, lines 2671-2721
2671// node_modules/redux/lib/applyMiddleware.js
2672  var require_applyMiddleware = __commonJS({
2673    "node_modules/redux/lib/applyMiddleware.js"(exports) {
2674      "use strict";
2675      exports.__esModule = true;
2676      var _extends = Object.assign || function(target) {
2677        for (var i = 1; i < arguments.length; i++) {
2678          var source = arguments[i];
2679          for (var key in source) {
2680            if (Object.prototype.hasOwnProperty.call(source, key)) {
2681              target[key] = source[key];
2682            }
2683          }
2684        }
2685        return target;
2686      };
2687      exports["default"] = applyMiddleware;
2688      var _compose = require_compose();
2689      var _compose2 = _interopRequireDefault(_compose);
2690      function _interopRequireDefault(obj) {
2691        return obj && obj.__esModule ? obj : { "default": obj };
2692      }
2693      function applyMiddleware() {
2694        for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {
2695          middlewares[_key] = arguments[_key];
2696        }
2697        return function(createStore) {
2698          return function(reducer, preloadedState, enhancer) {
2699            var store = createStore(reducer, preloadedState, enhancer);
2700            var _dispatch = store.dispatch;
2701            var chain = [];
2702            var middlewareAPI = {
2703              getState: store.getState,
2704              dispatch: function dispatch(action) {
2705                return _dispatch(action);
2706              }
2707            };
2708            chain = middlewares.map(function(middleware) {
2709              return middleware(middlewareAPI);
2710            });
2711            _dispatch = _compose2["default"].apply(void 0, chain)(store.dispatch);
2712            return _extends({}, store, {
2713              dispatch: _dispatch
2714            });
2715          };
2716        };
2717      }
2718    }
2719  });
2720
2721  
vendor: 1,860 bytes, lines 2721-2753
2721// node_modules/redux/lib/index.js
2722  var require_lib2 = __commonJS({
2723    "node_modules/redux/lib/index.js"(exports) {
2724      "use strict";
2725      exports.__esModule = true;
2726      exports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = void 0;
2727      var _createStore = require_createStore();
2728      var _createStore2 = _interopRequireDefault(_createStore);
2729      var _combineReducers = require_combineReducers();
2730      var _combineReducers2 = _interopRequireDefault(_combineReducers);
2731      var _bindActionCreators = require_bindActionCreators();
2732      var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);
2733      var _applyMiddleware = require_applyMiddleware();
2734      var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);
2735      var _compose = require_compose();
2736      var _compose2 = _interopRequireDefault(_compose);
2737      var _warning = require_warning();
2738      var _warning2 = _interopRequireDefault(_warning);
2739      function _interopRequireDefault(obj) {
2740        return obj && obj.__esModule ? obj : { "default": obj };
2741      }
2742      if (false) {
2743        (0, _warning2["default"])("You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux. You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) to ensure you have the correct code for your production build.");
2744      }
2745      exports.createStore = _createStore2["default"];
2746      exports.combineReducers = _combineReducers2["default"];
2747      exports.bindActionCreators = _bindActionCreators2["default"];
2748      exports.applyMiddleware = _applyMiddleware2["default"];
2749      exports.compose = _compose2["default"];
2750    }
2751  });
2752
2753  
2753// packages/systems/ix2/shared-constants/trigger-events.ts
2754  var EventTypeConsts, EventAppliesTo, EventBasedOn, EventContinuousMouseAxes, EventLimitAffectedElements, QuickEffectIds, QuickEffectDirectionConsts;
2755  var init_trigger_events = __esm({
2756    "packages/systems/ix2/shared-constants/trigger-events.ts"() {
2757      "use strict";
2758      EventTypeConsts = {
2759        NAVBAR_OPEN: "NAVBAR_OPEN",
2760        NAVBAR_CLOSE: "NAVBAR_CLOSE",
2761        TAB_ACTIVE: "TAB_ACTIVE",
2762        TAB_INACTIVE: "TAB_INACTIVE",
2763        SLIDER_ACTIVE: "SLIDER_ACTIVE",
2764        SLIDER_INACTIVE: "SLIDER_INACTIVE",
2765        DROPDOWN_OPEN: "DROPDOWN_OPEN",
2766        DROPDOWN_CLOSE: "DROPDOWN_CLOSE",
2767        MOUSE_CLICK: "MOUSE_CLICK",
2768        MOUSE_SECOND_CLICK: "MOUSE_SECOND_CLICK",
2769        MOUSE_DOWN: "MOUSE_DOWN",
2770        MOUSE_UP: "MOUSE_UP",
2771        MOUSE_OVER: "MOUSE_OVER",
2772        MOUSE_OUT: "MOUSE_OUT",
2773        MOUSE_MOVE: "MOUSE_MOVE",
2774        MOUSE_MOVE_IN_VIEWPORT: "MOUSE_MOVE_IN_VIEWPORT",
2775        SCROLL_INTO_VIEW: "SCROLL_INTO_VIEW",
2776        SCROLL_OUT_OF_VIEW: "SCROLL_OUT_OF_VIEW",
2777        SCROLLING_IN_VIEW: "SCROLLING_IN_VIEW",
2778        ECOMMERCE_CART_OPEN: "ECOMMERCE_CART_OPEN",
2779        ECOMMERCE_CART_CLOSE: "ECOMMERCE_CART_CLOSE",
2780        PAGE_START: "PAGE_START",
2781        PAGE_FINISH: "PAGE_FINISH",
2782        PAGE_SCROLL_UP: "PAGE_SCROLL_UP",
2783        PAGE_SCROLL_DOWN: "PAGE_SCROLL_DOWN",
2784        PAGE_SCROLL: "PAGE_SCROLL"
2785      };
2786      EventAppliesTo = {
2787        ELEMENT: "ELEMENT",
2788        CLASS: "CLASS",
2789        PAGE: "PAGE"
2790      };
2791      EventBasedOn = {
2792        ELEMENT: "ELEMENT",
2793        VIEWPORT: "VIEWPORT"
2794      };
2795      EventContinuousMouseAxes = {
2796        X_AXIS: "X_AXIS",
2797        Y_AXIS: "Y_AXIS"
2798      };
2799      EventLimitAffectedElements = {
2800        CHILDREN: "CHILDREN",
2801        SIBLINGS: "SIBLINGS",
2802        IMMEDIATE_CHILDREN: "IMMEDIATE_CHILDREN"
2803      };
2804      QuickEffectIds = {
2805        FADE_EFFECT: "FADE_EFFECT",
2806        SLIDE_EFFECT: "SLIDE_EFFECT",
2807        GROW_EFFECT: "GROW_EFFECT",
2808        SHRINK_EFFECT: "SHRINK_EFFECT",
2809        SPIN_EFFECT: "SPIN_EFFECT",
2810        FLY_EFFECT: "FLY_EFFECT",
2811        POP_EFFECT: "POP_EFFECT",
2812        FLIP_EFFECT: "FLIP_EFFECT",
2813        JIGGLE_EFFECT: "JIGGLE_EFFECT",
2814        PULSE_EFFECT: "PULSE_EFFECT",
2815        DROP_EFFECT: "DROP_EFFECT",
2816        BLINK_EFFECT: "BLINK_EFFECT",
2817        BOUNCE_EFFECT: "BOUNCE_EFFECT",
2818        FLIP_LEFT_TO_RIGHT_EFFECT: "FLIP_LEFT_TO_RIGHT_EFFECT",
2819        FLIP_RIGHT_TO_LEFT_EFFECT: "FLIP_RIGHT_TO_LEFT_EFFECT",
2820        RUBBER_BAND_EFFECT: "RUBBER_BAND_EFFECT",
2821        JELLO_EFFECT: "JELLO_EFFECT",
2822        GROW_BIG_EFFECT: "GROW_BIG_EFFECT",
2823        SHRINK_BIG_EFFECT: "SHRINK_BIG_EFFECT",
2824        PLUGIN_LOTTIE_EFFECT: "PLUGIN_LOTTIE_EFFECT"
2825      };
2826      QuickEffectDirectionConsts = {
2827        LEFT: "LEFT",
2828        RIGHT: "RIGHT",
2829        BOTTOM: "BOTTOM",
2830        TOP: "TOP",
2831        BOTTOM_LEFT: "BOTTOM_LEFT",
2832        BOTTOM_RIGHT: "BOTTOM_RIGHT",
2833        TOP_RIGHT: "TOP_RIGHT",
2834        TOP_LEFT: "TOP_LEFT",
2835        CLOCKWISE: "CLOCKWISE",
2836        COUNTER_CLOCKWISE: "COUNTER_CLOCKWISE"
2837      };
2838    }
2839  });
2840
2841  
2841// packages/systems/ix2/shared-constants/animation-actions.ts
2842  var ActionTypeConsts, ActionAppliesTo;
2843  var init_animation_actions = __esm({
2844    "packages/systems/ix2/shared-constants/animation-actions.ts"() {
2845      "use strict";
2846      ActionTypeConsts = {
2847        TRANSFORM_MOVE: "TRANSFORM_MOVE",
2848        TRANSFORM_SCALE: "TRANSFORM_SCALE",
2849        TRANSFORM_ROTATE: "TRANSFORM_ROTATE",
2850        TRANSFORM_SKEW: "TRANSFORM_SKEW",
2851        STYLE_OPACITY: "STYLE_OPACITY",
2852        STYLE_SIZE: "STYLE_SIZE",
2853        STYLE_FILTER: "STYLE_FILTER",
2854        STYLE_FONT_VARIATION: "STYLE_FONT_VARIATION",
2855        STYLE_BACKGROUND_COLOR: "STYLE_BACKGROUND_COLOR",
2856        STYLE_BORDER: "STYLE_BORDER",
2857        STYLE_TEXT_COLOR: "STYLE_TEXT_COLOR",
2858        OBJECT_VALUE: "OBJECT_VALUE",
2859        PLUGIN_LOTTIE: "PLUGIN_LOTTIE",
2860        PLUGIN_SPLINE: "PLUGIN_SPLINE",
2861        PLUGIN_VARIABLE: "PLUGIN_VARIABLE",
2862        GENERAL_DISPLAY: "GENERAL_DISPLAY",
2863        GENERAL_START_ACTION: "GENERAL_START_ACTION",
2864        GENERAL_CONTINUOUS_ACTION: "GENERAL_CONTINUOUS_ACTION",
2865        // TODO: Clean these up below because they're not used at this time
2866        GENERAL_COMBO_CLASS: "GENERAL_COMBO_CLASS",
2867        GENERAL_STOP_ACTION: "GENERAL_STOP_ACTION",
2868        GENERAL_LOOP: "GENERAL_LOOP",
2869        STYLE_BOX_SHADOW: "STYLE_BOX_SHADOW"
2870      };
2871      ActionAppliesTo = {
2872        ELEMENT: "ELEMENT",
2873        ELEMENT_CLASS: "ELEMENT_CLASS",
2874        TRIGGER_ELEMENT: "TRIGGER_ELEMENT"
2875      };
2876    }
2877  });
2878
2879  
2879// packages/systems/ix2/shared-constants/trigger-interactions.ts
2880  var InteractionTypeConsts;
2881  var init_trigger_interactions = __esm({
2882    "packages/systems/ix2/shared-constants/trigger-interactions.ts"() {
2883      "use strict";
2884      InteractionTypeConsts = {
2885        MOUSE_CLICK_INTERACTION: "MOUSE_CLICK_INTERACTION",
2886        MOUSE_HOVER_INTERACTION: "MOUSE_HOVER_INTERACTION",
2887        MOUSE_MOVE_INTERACTION: "MOUSE_MOVE_INTERACTION",
2888        SCROLL_INTO_VIEW_INTERACTION: "SCROLL_INTO_VIEW_INTERACTION",
2889        SCROLLING_IN_VIEW_INTERACTION: "SCROLLING_IN_VIEW_INTERACTION",
2890        MOUSE_MOVE_IN_VIEWPORT_INTERACTION: "MOUSE_MOVE_IN_VIEWPORT_INTERACTION",
2891        PAGE_IS_SCROLLING_INTERACTION: "PAGE_IS_SCROLLING_INTERACTION",
2892        PAGE_LOAD_INTERACTION: "PAGE_LOAD_INTERACTION",
2893        PAGE_SCROLLED_INTERACTION: "PAGE_SCROLLED_INTERACTION",
2894        NAVBAR_INTERACTION: "NAVBAR_INTERACTION",
2895        DROPDOWN_INTERACTION: "DROPDOWN_INTERACTION",
2896        ECOMMERCE_CART_INTERACTION: "ECOMMERCE_CART_INTERACTION",
2897        TAB_INTERACTION: "TAB_INTERACTION",
2898        SLIDER_INTERACTION: "SLIDER_INTERACTION"
2899      };
2900    }
2901  });
2902
2903  
2903// packages/systems/ix2/shared-constants/reduced-motion.ts
2904  var TRANSFORM_MOVE, TRANSFORM_SCALE, TRANSFORM_ROTATE, TRANSFORM_SKEW, STYLE_SIZE, STYLE_FILTER, STYLE_FONT_VARIATION, ReducedMotionTypes;
2905  var init_reduced_motion = __esm({
2906    "packages/systems/ix2/shared-constants/reduced-motion.ts"() {
2907      "use strict";
2908      init_animation_actions();
2909      ({
2910        TRANSFORM_MOVE,
2911        TRANSFORM_SCALE,
2912        TRANSFORM_ROTATE,
2913        TRANSFORM_SKEW,
2914        STYLE_SIZE,
2915        STYLE_FILTER,
2916        STYLE_FONT_VARIATION
2917      } = ActionTypeConsts);
2918      ReducedMotionTypes = {
2919        [TRANSFORM_MOVE]: true,
2920        [TRANSFORM_SCALE]: true,
2921        [TRANSFORM_ROTATE]: true,
2922        [TRANSFORM_SKEW]: true,
2923        [STYLE_SIZE]: true,
2924        [STYLE_FILTER]: true,
2925        [STYLE_FONT_VARIATION]: true
2926      };
2927    }
2928  });
2929
2930  
2930// packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts
2931  var IX2EngineActionTypes_exports = {};
2932  __export(IX2EngineActionTypes_exports, {
2933    IX2_ACTION_LIST_PLAYBACK_CHANGED: () => IX2_ACTION_LIST_PLAYBACK_CHANGED,
2934    IX2_ANIMATION_FRAME_CHANGED: () => IX2_ANIMATION_FRAME_CHANGED,
2935    IX2_CLEAR_REQUESTED: () => IX2_CLEAR_REQUESTED,
2936    IX2_ELEMENT_STATE_CHANGED: () => IX2_ELEMENT_STATE_CHANGED,
2937    IX2_EVENT_LISTENER_ADDED: () => IX2_EVENT_LISTENER_ADDED,
2938    IX2_EVENT_STATE_CHANGED: () => IX2_EVENT_STATE_CHANGED,
2939    IX2_INSTANCE_ADDED: () => IX2_INSTANCE_ADDED,
2940    IX2_INSTANCE_REMOVED: () => IX2_INSTANCE_REMOVED,
2941    IX2_INSTANCE_STARTED: () => IX2_INSTANCE_STARTED,
2942    IX2_MEDIA_QUERIES_DEFINED: () => IX2_MEDIA_QUERIES_DEFINED,
2943    IX2_PARAMETER_CHANGED: () => IX2_PARAMETER_CHANGED,
2944    IX2_PLAYBACK_REQUESTED: () => IX2_PLAYBACK_REQUESTED,
2945    IX2_PREVIEW_REQUESTED: () => IX2_PREVIEW_REQUESTED,
2946    IX2_RAW_DATA_IMPORTED: () => IX2_RAW_DATA_IMPORTED,
2947    IX2_SESSION_INITIALIZED: () => IX2_SESSION_INITIALIZED,
2948    IX2_SESSION_STARTED: () => IX2_SESSION_STARTED,
2949    IX2_SESSION_STOPPED: () => IX2_SESSION_STOPPED,
2950    IX2_STOP_REQUESTED: () => IX2_STOP_REQUESTED,
2951    IX2_TEST_FRAME_RENDERED: () => IX2_TEST_FRAME_RENDERED,
2952    IX2_VIEWPORT_WIDTH_CHANGED: () => IX2_VIEWPORT_WIDTH_CHANGED
2953  });
2954  var IX2_RAW_DATA_IMPORTED, IX2_SESSION_INITIALIZED, IX2_SESSION_STARTED, IX2_SESSION_STOPPED, IX2_PREVIEW_REQUESTED, IX2_PLAYBACK_REQUESTED, IX2_STOP_REQUESTED, IX2_CLEAR_REQUESTED, IX2_EVENT_LISTENER_ADDED, IX2_EVENT_STATE_CHANGED, IX2_ANIMATION_FRAME_CHANGED, IX2_PARAMETER_CHANGED, IX2_INSTANCE_ADDED, IX2_INSTANCE_STARTED, IX2_INSTANCE_REMOVED, IX2_ELEMENT_STATE_CHANGED, IX2_ACTION_LIST_PLAYBACK_CHANGED, IX2_VIEWPORT_WIDTH_CHANGED, IX2_MEDIA_QUERIES_DEFINED, IX2_TEST_FRAME_RENDERED;
2955  var init_IX2EngineActionTypes = __esm({
2956    "packages/systems/ix2/shared-constants/IX2EngineActionTypes.ts"() {
2957      "use strict";
2958      IX2_RAW_DATA_IMPORTED = "IX2_RAW_DATA_IMPORTED";
2959      IX2_SESSION_INITIALIZED = "IX2_SESSION_INITIALIZED";
2960      IX2_SESSION_STARTED = "IX2_SESSION_STARTED";
2961      IX2_SESSION_STOPPED = "IX2_SESSION_STOPPED";
2962      IX2_PREVIEW_REQUESTED = "IX2_PREVIEW_REQUESTED";
2963      IX2_PLAYBACK_REQUESTED = "IX2_PLAYBACK_REQUESTED";
2964      IX2_STOP_REQUESTED = "IX2_STOP_REQUESTED";
2965      IX2_CLEAR_REQUESTED = "IX2_CLEAR_REQUESTED";
2966      IX2_EVENT_LISTENER_ADDED = "IX2_EVENT_LISTENER_ADDED";
2967      IX2_EVENT_STATE_CHANGED = "IX2_EVENT_STATE_CHANGED";
2968      IX2_ANIMATION_FRAME_CHANGED = "IX2_ANIMATION_FRAME_CHANGED";
2969      IX2_PARAMETER_CHANGED = "IX2_PARAMETER_CHANGED";
2970      IX2_INSTANCE_ADDED = "IX2_INSTANCE_ADDED";
2971      IX2_INSTANCE_STARTED = "IX2_INSTANCE_STARTED";
2972      IX2_INSTANCE_REMOVED = "IX2_INSTANCE_REMOVED";
2973      IX2_ELEMENT_STATE_CHANGED = "IX2_ELEMENT_STATE_CHANGED";
2974      IX2_ACTION_LIST_PLAYBACK_CHANGED = "IX2_ACTION_LIST_PLAYBACK_CHANGED";
2975      IX2_VIEWPORT_WIDTH_CHANGED = "IX2_VIEWPORT_WIDTH_CHANGED";
2976      IX2_MEDIA_QUERIES_DEFINED = "IX2_MEDIA_QUERIES_DEFINED";
2977      IX2_TEST_FRAME_RENDERED = "IX2_TEST_FRAME_RENDERED";
2978    }
2979  });
2980
2981  
2981// packages/systems/ix2/shared-constants/IX2EngineConstants.ts
2982  var IX2EngineConstants_exports = {};
2983  __export(IX2EngineConstants_exports, {
2984    ABSTRACT_NODE: () => ABSTRACT_NODE,
2985    AUTO: () => AUTO,
2986    BACKGROUND: () => BACKGROUND,
2987    BACKGROUND_COLOR: () => BACKGROUND_COLOR,
2988    BAR_DELIMITER: () => BAR_DELIMITER,
2989    BORDER_COLOR: () => BORDER_COLOR,
2990    BOUNDARY_SELECTOR: () => BOUNDARY_SELECTOR,
2991    CHILDREN: () => CHILDREN,
2992    COLON_DELIMITER: () => COLON_DELIMITER,
2993    COLOR: () => COLOR,
2994    COMMA_DELIMITER: () => COMMA_DELIMITER,
2995    CONFIG_UNIT: () => CONFIG_UNIT,
2996    CONFIG_VALUE: () => CONFIG_VALUE,
2997    CONFIG_X_UNIT: () => CONFIG_X_UNIT,
2998    CONFIG_X_VALUE: () => CONFIG_X_VALUE,
2999    CONFIG_Y_UNIT: () => CONFIG_Y_UNIT,
3000    CONFIG_Y_VALUE: () => CONFIG_Y_VALUE,
3001    CONFIG_Z_UNIT: () => CONFIG_Z_UNIT,
3002    CONFIG_Z_VALUE: () => CONFIG_Z_VALUE,
3003    DISPLAY: () => DISPLAY,
3004    FILTER: () => FILTER,
3005    FLEX: () => FLEX,
3006    FONT_VARIATION_SETTINGS: () => FONT_VARIATION_SETTINGS,
3007    HEIGHT: () => HEIGHT,
3008    HTML_ELEMENT: () => HTML_ELEMENT,
3009    IMMEDIATE_CHILDREN: () => IMMEDIATE_CHILDREN,
3010    IX2_ID_DELIMITER: () => IX2_ID_DELIMITER,
3011    OPACITY: () => OPACITY,
3012    PARENT: () => PARENT,
3013    PLAIN_OBJECT: () => PLAIN_OBJECT,
3014    PRESERVE_3D: () => PRESERVE_3D,
3015    RENDER_GENERAL: () => RENDER_GENERAL,
3016    RENDER_PLUGIN: () => RENDER_PLUGIN,
3017    RENDER_STYLE: () => RENDER_STYLE,
3018    RENDER_TRANSFORM: () => RENDER_TRANSFORM,
3019    ROTATE_X: () => ROTATE_X,
3020    ROTATE_Y: () => ROTATE_Y,
3021    ROTATE_Z: () => ROTATE_Z,
3022    SCALE_3D: () => SCALE_3D,
3023    SCALE_X: () => SCALE_X,
3024    SCALE_Y: () => SCALE_Y,
3025    SCALE_Z: () => SCALE_Z,
3026    SIBLINGS: () => SIBLINGS,
3027    SKEW: () => SKEW,
3028    SKEW_X: () => SKEW_X,
3029    SKEW_Y: () => SKEW_Y,
3030    TRANSFORM: () => TRANSFORM,
3031    TRANSLATE_3D: () => TRANSLATE_3D,
3032    TRANSLATE_X: () => TRANSLATE_X,
3033    TRANSLATE_Y: () => TRANSLATE_Y,
3034    TRANSLATE_Z: () => TRANSLATE_Z,
3035    WF_PAGE: () => WF_PAGE,
3036    WIDTH: () => WIDTH,
3037    WILL_CHANGE: () => WILL_CHANGE,
3038    W_MOD_IX: () => W_MOD_IX,
3039    W_MOD_JS: () => W_MOD_JS
3040  });
3041  var IX2_ID_DELIMITER, WF_PAGE, W_MOD_JS, W_MOD_IX, BOUNDARY_SELECTOR, CONFIG_X_VALUE, CONFIG_Y_VALUE, CONFIG_Z_VALUE, CONFIG_VALUE, CONFIG_X_UNIT, CONFIG_Y_UNIT, CONFIG_Z_UNIT, CONFIG_UNIT, TRANSFORM, TRANSLATE_X, TRANSLATE_Y, TRANSLATE_Z, TRANSLATE_3D, SCALE_X, SCALE_Y, SCALE_Z, SCALE_3D, ROTATE_X, ROTATE_Y, ROTATE_Z, SKEW, SKEW_X, SKEW_Y, OPACITY, FILTER, FONT_VARIATION_SETTINGS, WIDTH, HEIGHT, BACKGROUND_COLOR, BACKGROUND, BORDER_COLOR, COLOR, DISPLAY, FLEX, WILL_CHANGE, AUTO, COMMA_DELIMITER, COLON_DELIMITER, BAR_DELIMITER, CHILDREN, IMMEDIATE_CHILDREN, SIBLINGS, PARENT, PRESERVE_3D, HTML_ELEMENT, PLAIN_OBJECT, ABSTRACT_NODE, RENDER_TRANSFORM, RENDER_GENERAL, RENDER_STYLE, RENDER_PLUGIN;
3042  var init_IX2EngineConstants = __esm({
3043    "packages/systems/ix2/shared-constants/IX2EngineConstants.ts"() {
3044      "use strict";
3045      IX2_ID_DELIMITER = "|";
3046      WF_PAGE = "data-wf-page";
3047      W_MOD_JS = "w-mod-js";
3048      W_MOD_IX = "w-mod-ix";
3049      BOUNDARY_SELECTOR = ".w-dyn-item";
3050      CONFIG_X_VALUE = "xValue";
3051      CONFIG_Y_VALUE = "yValue";
3052      CONFIG_Z_VALUE = "zValue";
3053      CONFIG_VALUE = "value";
3054      CONFIG_X_UNIT = "xUnit";
3055      CONFIG_Y_UNIT = "yUnit";
3056      CONFIG_Z_UNIT = "zUnit";
3057      CONFIG_UNIT = "unit";
3058      TRANSFORM = "transform";
3059      TRANSLATE_X = "translateX";
3060      TRANSLATE_Y = "translateY";
3061      TRANSLATE_Z = "translateZ";
3062      TRANSLATE_3D = "translate3d";
3063      SCALE_X = "scaleX";
3064      SCALE_Y = "scaleY";
3065      SCALE_Z = "scaleZ";
3066      SCALE_3D = "scale3d";
3067      ROTATE_X = "rotateX";
3068      ROTATE_Y = "rotateY";
3069      ROTATE_Z = "rotateZ";
3070      SKEW = "skew";
3071      SKEW_X = "skewX";
3072      SKEW_Y = "skewY";
3073      OPACITY = "opacity";
3074      FILTER = "filter";
3075      FONT_VARIATION_SETTINGS = "font-variation-settings";
3076      WIDTH = "width";
3077      HEIGHT = "height";
3078      BACKGROUND_COLOR = "backgroundColor";
3079      BACKGROUND = "background";
3080      BORDER_COLOR = "borderColor";
3081      COLOR = "color";
3082      DISPLAY = "display";
3083      FLEX = "flex";
3084      WILL_CHANGE = "willChange";
3085      AUTO = "AUTO";
3086      COMMA_DELIMITER = ",";
3087      COLON_DELIMITER = ":";
3088      BAR_DELIMITER = "|";
3089      CHILDREN = "CHILDREN";
3090      IMMEDIATE_CHILDREN = "IMMEDIATE_CHILDREN";
3091      SIBLINGS = "SIBLINGS";
3092      PARENT = "PARENT";
3093      PRESERVE_3D = "preserve-3d";
3094      HTML_ELEMENT = "HTML_ELEMENT";
3095      PLAIN_OBJECT = "PLAIN_OBJECT";
3096      ABSTRACT_NODE = "ABSTRACT_NODE";
3097      RENDER_TRANSFORM = "RENDER_TRANSFORM";
3098      RENDER_GENERAL = "RENDER_GENERAL";
3099      RENDER_STYLE = "RENDER_STYLE";
3100      RENDER_PLUGIN = "RENDER_PLUGIN";
3101    }
3102  });
3103
3104  
3104// packages/systems/ix2/shared-constants/index.ts
3105  var shared_constants_exports = {};
3106  __export(shared_constants_exports, {
3107    ActionAppliesTo: () => ActionAppliesTo,
3108    ActionTypeConsts: () => ActionTypeConsts,
3109    EventAppliesTo: () => EventAppliesTo,
3110    EventBasedOn: () => EventBasedOn,
3111    EventContinuousMouseAxes: () => EventContinuousMouseAxes,
3112    EventLimitAffectedElements: () => EventLimitAffectedElements,
3113    EventTypeConsts: () => EventTypeConsts,
3114    IX2EngineActionTypes: () => IX2EngineActionTypes_exports,
3115    IX2EngineConstants: () => IX2EngineConstants_exports,
3116    InteractionTypeConsts: () => InteractionTypeConsts,
3117    QuickEffectDirectionConsts: () => QuickEffectDirectionConsts,
3118    QuickEffectIds: () => QuickEffectIds,
3119    ReducedMotionTypes: () => ReducedMotionTypes
3120  });
3121  var init_shared_constants = __esm({
3122    "packages/systems/ix2/shared-constants/index.ts"() {
3123      "use strict";
3124      init_trigger_events();
3125      init_animation_actions();
3126      init_trigger_interactions();
3127      init_reduced_motion();
3128      init_IX2EngineActionTypes();
3129      init_IX2EngineConstants();
3130      init_animation_actions();
3131      init_trigger_events();
3132    }
3133  });
3134
3135  
3135// packages/systems/ix2/engine/reducers/IX2DataReducer.ts
3136  var IX2_RAW_DATA_IMPORTED2, ixData;
3137  var init_IX2DataReducer = __esm({
3138    "packages/systems/ix2/engine/reducers/IX2DataReducer.ts"() {
3139      "use strict";
3140      init_shared_constants();
3141      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED2 } = IX2EngineActionTypes_exports);
3142      ixData = (state = Object.freeze(
3143        {}
3144      ), action) => {
3145        switch (action.type) {
3146          case IX2_RAW_DATA_IMPORTED2: {
3147            return action.payload.ixData || Object.freeze({});
3148          }
3149          default: {
3150            return state;
3151          }
3152        }
3153      };
3154    }
3155  });
3156
3157  
vendor: 9,055 bytes, lines 3157-3414
3157// node_modules/timm/lib/timm.js
3158  var require_timm = __commonJS({
3159    "node_modules/timm/lib/timm.js"(exports) {
3160      "use strict";
3161      Object.defineProperty(exports, "__esModule", {
3162        value: true
3163      });
3164      var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function(obj) {
3165        return typeof obj;
3166      } : function(obj) {
3167        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
3168      };
3169      exports.clone = clone;
3170      exports.addLast = addLast2;
3171      exports.addFirst = addFirst;
3172      exports.removeLast = removeLast;
3173      exports.removeFirst = removeFirst;
3174      exports.insert = insert;
3175      exports.removeAt = removeAt;
3176      exports.replaceAt = replaceAt;
3177      exports.getIn = getIn2;
3178      exports.set = set3;
3179      exports.setIn = setIn4;
3180      exports.update = update;
3181      exports.updateIn = updateIn;
3182      exports.merge = merge3;
3183      exports.mergeDeep = mergeDeep;
3184      exports.mergeIn = mergeIn4;
3185      exports.omit = omit;
3186      exports.addDefaults = addDefaults;
3187      var INVALID_ARGS = "INVALID_ARGS";
3188      function throwStr(msg) {
3189        throw new Error(msg);
3190      }
3191      function getKeysAndSymbols(obj) {
3192        var keys = Object.keys(obj);
3193        if (Object.getOwnPropertySymbols) {
3194          return keys.concat(Object.getOwnPropertySymbols(obj));
3195        }
3196        return keys;
3197      }
3198      var hasOwnProperty = {}.hasOwnProperty;
3199      function clone(obj) {
3200        if (Array.isArray(obj))
3201          return obj.slice();
3202        var keys = getKeysAndSymbols(obj);
3203        var out = {};
3204        for (var i = 0; i < keys.length; i++) {
3205          var key = keys[i];
3206          out[key] = obj[key];
3207        }
3208        return out;
3209      }
3210      function doMerge(fAddDefaults, fDeep, first) {
3211        var out = first;
3212        !(out != null) && throwStr(false ? "At least one object should be provided to merge()" : INVALID_ARGS);
3213        var fChanged = false;
3214        for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) {
3215          rest[_key - 3] = arguments[_key];
3216        }
3217        for (var idx = 0; idx < rest.length; idx++) {
3218          var obj = rest[idx];
3219          if (obj == null)
3220            continue;
3221          var keys = getKeysAndSymbols(obj);
3222          if (!keys.length)
3223            continue;
3224          for (var j = 0; j <= keys.length; j++) {
3225            var key = keys[j];
3226            if (fAddDefaults && out[key] !== void 0)
3227              continue;
3228            var nextVal = obj[key];
3229            if (fDeep && isObject(out[key]) && isObject(nextVal)) {
3230              nextVal = doMerge(fAddDefaults, fDeep, out[key], nextVal);
3231            }
3232            if (nextVal === void 0 || nextVal === out[key])
3233              continue;
3234            if (!fChanged) {
3235              fChanged = true;
3236              out = clone(out);
3237            }
3238            out[key] = nextVal;
3239          }
3240        }
3241        return out;
3242      }
3243      function isObject(o) {
3244        var type = typeof o === "undefined" ? "undefined" : _typeof(o);
3245        return o != null && (type === "object" || type === "function");
3246      }
3247      function addLast2(array, val) {
3248        if (Array.isArray(val))
3249          return array.concat(val);
3250        return array.concat([val]);
3251      }
3252      function addFirst(array, val) {
3253        if (Array.isArray(val))
3254          return val.concat(array);
3255        return [val].concat(array);
3256      }
3257      function removeLast(array) {
3258        if (!array.length)
3259          return array;
3260        return array.slice(0, array.length - 1);
3261      }
3262      function removeFirst(array) {
3263        if (!array.length)
3264          return array;
3265        return array.slice(1);
3266      }
3267      function insert(array, idx, val) {
3268        return array.slice(0, idx).concat(Array.isArray(val) ? val : [val]).concat(array.slice(idx));
3269      }
3270      function removeAt(array, idx) {
3271        if (idx >= array.length || idx < 0)
3272          return array;
3273        return array.slice(0, idx).concat(array.slice(idx + 1));
3274      }
3275      function replaceAt(array, idx, newItem) {
3276        if (array[idx] === newItem)
3277          return array;
3278        var len = array.length;
3279        var result = Array(len);
3280        for (var i = 0; i < len; i++) {
3281          result[i] = array[i];
3282        }
3283        result[idx] = newItem;
3284        return result;
3285      }
3286      function getIn2(obj, path) {
3287        !Array.isArray(path) && throwStr(false ? "A path array should be provided when calling getIn()" : INVALID_ARGS);
3288        if (obj == null)
3289          return void 0;
3290        var ptr = obj;
3291        for (var i = 0; i < path.length; i++) {
3292          var key = path[i];
3293          ptr = ptr != null ? ptr[key] : void 0;
3294          if (ptr === void 0)
3295            return ptr;
3296        }
3297        return ptr;
3298      }
3299      function set3(obj, key, val) {
3300        var fallback = typeof key === "number" ? [] : {};
3301        var finalObj = obj == null ? fallback : obj;
3302        if (finalObj[key] === val)
3303          return finalObj;
3304        var obj2 = clone(finalObj);
3305        obj2[key] = val;
3306        return obj2;
3307      }
3308      function doSetIn(obj, path, val, idx) {
3309        var newValue = void 0;
3310        var key = path[idx];
3311        if (idx === path.length - 1) {
3312          newValue = val;
3313        } else {
3314          var nestedObj = isObject(obj) && isObject(obj[key]) ? obj[key] : typeof path[idx + 1] === "number" ? [] : {};
3315          newValue = doSetIn(nestedObj, path, val, idx + 1);
3316        }
3317        return set3(obj, key, newValue);
3318      }
3319      function setIn4(obj, path, val) {
3320        if (!path.length)
3321          return val;
3322        return doSetIn(obj, path, val, 0);
3323      }
3324      function update(obj, key, fnUpdate) {
3325        var prevVal = obj == null ? void 0 : obj[key];
3326        var nextVal = fnUpdate(prevVal);
3327        return set3(obj, key, nextVal);
3328      }
3329      function updateIn(obj, path, fnUpdate) {
3330        var prevVal = getIn2(obj, path);
3331        var nextVal = fnUpdate(prevVal);
3332        return setIn4(obj, path, nextVal);
3333      }
3334      function merge3(a, b, c, d, e, f) {
3335        for (var _len2 = arguments.length, rest = Array(_len2 > 6 ? _len2 - 6 : 0), _key2 = 6; _key2 < _len2; _key2++) {
3336          rest[_key2 - 6] = arguments[_key2];
3337        }
3338        return rest.length ? doMerge.call.apply(doMerge, [null, false, false, a, b, c, d, e, f].concat(rest)) : doMerge(false, false, a, b, c, d, e, f);
3339      }
3340      function mergeDeep(a, b, c, d, e, f) {
3341        for (var _len3 = arguments.length, rest = Array(_len3 > 6 ? _len3 - 6 : 0), _key3 = 6; _key3 < _len3; _key3++) {
3342          rest[_key3 - 6] = arguments[_key3];
3343        }
3344        return rest.length ? doMerge.call.apply(doMerge, [null, false, true, a, b, c, d, e, f].concat(rest)) : doMerge(false, true, a, b, c, d, e, f);
3345      }
3346      function mergeIn4(a, path, b, c, d, e, f) {
3347        var prevVal = getIn2(a, path);
3348        if (prevVal == null)
3349          prevVal = {};
3350        var nextVal = void 0;
3351        for (var _len4 = arguments.length, rest = Array(_len4 > 7 ? _len4 - 7 : 0), _key4 = 7; _key4 < _len4; _key4++) {
3352          rest[_key4 - 7] = arguments[_key4];
3353        }
3354        if (rest.length) {
3355          nextVal = doMerge.call.apply(doMerge, [null, false, false, prevVal, b, c, d, e, f].concat(rest));
3356        } else {
3357          nextVal = doMerge(false, false, prevVal, b, c, d, e, f);
3358        }
3359        return setIn4(a, path, nextVal);
3360      }
3361      function omit(obj, attrs) {
3362        var omitList = Array.isArray(attrs) ? attrs : [attrs];
3363        var fDoSomething = false;
3364        for (var i = 0; i < omitList.length; i++) {
3365          if (hasOwnProperty.call(obj, omitList[i])) {
3366            fDoSomething = true;
3367            break;
3368          }
3369        }
3370        if (!fDoSomething)
3371          return obj;
3372        var out = {};
3373        var keys = getKeysAndSymbols(obj);
3374        for (var _i = 0; _i < keys.length; _i++) {
3375          var key = keys[_i];
3376          if (omitList.indexOf(key) >= 0)
3377            continue;
3378          out[key] = obj[key];
3379        }
3380        return out;
3381      }
3382      function addDefaults(a, b, c, d, e, f) {
3383        for (var _len5 = arguments.length, rest = Array(_len5 > 6 ? _len5 - 6 : 0), _key5 = 6; _key5 < _len5; _key5++) {
3384          rest[_key5 - 6] = arguments[_key5];
3385        }
3386        return rest.length ? doMerge.call.apply(doMerge, [null, true, false, a, b, c, d, e, f].concat(rest)) : doMerge(true, false, a, b, c, d, e, f);
3387      }
3388      var timm = {
3389        clone,
3390        addLast: addLast2,
3391        addFirst,
3392        removeLast,
3393        removeFirst,
3394        insert,
3395        removeAt,
3396        replaceAt,
3397        getIn: getIn2,
3398        // eslint-disable-next-line object-shorthand
3399        set: set3,
3400        // so that flow doesn't complain
3401        setIn: setIn4,
3402        update,
3403        updateIn,
3404        merge: merge3,
3405        mergeDeep,
3406        mergeIn: mergeIn4,
3407        omit,
3408        addDefaults
3409      };
3410      exports.default = timm;
3411    }
3412  });
3413
3414  
3414// packages/systems/ix2/engine/reducers/IX2RequestReducer.ts
3415  var import_timm, IX2_PREVIEW_REQUESTED2, IX2_PLAYBACK_REQUESTED2, IX2_STOP_REQUESTED2, IX2_CLEAR_REQUESTED2, initialState, stateKeys, ixRequest;
3416  var init_IX2RequestReducer = __esm({
3417    "packages/systems/ix2/engine/reducers/IX2RequestReducer.ts"() {
3418      "use strict";
3419      init_shared_constants();
3420      import_timm = __toESM(require_timm());
3421      ({
3422        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED2,
3423        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED2,
3424        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED2,
3425        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED2
3426      } = IX2EngineActionTypes_exports);
3427      initialState = {
3428        preview: {},
3429        playback: {},
3430        stop: {},
3431        clear: {}
3432      };
3433      stateKeys = Object.create(null, {
3434        [IX2_PREVIEW_REQUESTED2]: { value: "preview" },
3435        [IX2_PLAYBACK_REQUESTED2]: { value: "playback" },
3436        [IX2_STOP_REQUESTED2]: { value: "stop" },
3437        [IX2_CLEAR_REQUESTED2]: { value: "clear" }
3438      });
3439      ixRequest = (state = initialState, action) => {
3440        if (action.type in stateKeys) {
3441          const key = [stateKeys[action.type]];
3442          return (0, import_timm.setIn)(state, [key], { ...action.payload });
3443        }
3444        return state;
3445      };
3446    }
3447  });
3448
3449  
3449// packages/systems/ix2/engine/reducers/IX2SessionReducer.ts
3450  var import_timm2, IX2_SESSION_INITIALIZED2, IX2_SESSION_STARTED2, IX2_TEST_FRAME_RENDERED2, IX2_SESSION_STOPPED2, IX2_EVENT_LISTENER_ADDED2, IX2_EVENT_STATE_CHANGED2, IX2_ANIMATION_FRAME_CHANGED2, IX2_ACTION_LIST_PLAYBACK_CHANGED2, IX2_VIEWPORT_WIDTH_CHANGED2, IX2_MEDIA_QUERIES_DEFINED2, initialState2, TEST_FRAME_STEPS_SIZE, ixSession;
3451  var init_IX2SessionReducer = __esm({
3452    "packages/systems/ix2/engine/reducers/IX2SessionReducer.ts"() {
3453      "use strict";
3454      init_shared_constants();
3455      import_timm2 = __toESM(require_timm());
3456      ({
3457        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED2,
3458        IX2_SESSION_STARTED: IX2_SESSION_STARTED2,
3459        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED2,
3460        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED2,
3461        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED2,
3462        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED2,
3463        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED2,
3464        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED2,
3465        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED2,
3466        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED2
3467      } = IX2EngineActionTypes_exports);
3468      initialState2 = {
3469        active: false,
3470        tick: 0,
3471        eventListeners: [],
3472        eventState: {},
3473        playbackState: {},
3474        viewportWidth: 0,
3475        mediaQueryKey: null,
3476        hasBoundaryNodes: false,
3477        hasDefinedMediaQueries: false,
3478        reducedMotion: false
3479      };
3480      TEST_FRAME_STEPS_SIZE = 20;
3481      ixSession = (state = initialState2, action) => {
3482        switch (action.type) {
3483          case IX2_SESSION_INITIALIZED2: {
3484            const { hasBoundaryNodes, reducedMotion } = action.payload;
3485            return (0, import_timm2.merge)(state, {
3486              hasBoundaryNodes,
3487              reducedMotion
3488            });
3489          }
3490          case IX2_SESSION_STARTED2: {
3491            return (0, import_timm2.set)(state, "active", true);
3492          }
3493          case IX2_TEST_FRAME_RENDERED2: {
3494            const {
3495              payload: { step = TEST_FRAME_STEPS_SIZE }
3496            } = action;
3497            return (0, import_timm2.set)(state, "tick", state.tick + step);
3498          }
3499          case IX2_SESSION_STOPPED2: {
3500            return initialState2;
3501          }
3502          case IX2_ANIMATION_FRAME_CHANGED2: {
3503            const {
3504              payload: { now }
3505            } = action;
3506            return (0, import_timm2.set)(state, "tick", now);
3507          }
3508          case IX2_EVENT_LISTENER_ADDED2: {
3509            const eventListeners = (0, import_timm2.addLast)(state.eventListeners, action.payload);
3510            return (0, import_timm2.set)(state, "eventListeners", eventListeners);
3511          }
3512          case IX2_EVENT_STATE_CHANGED2: {
3513            const { stateKey, newState } = action.payload;
3514            return (0, import_timm2.setIn)(state, ["eventState", stateKey], newState);
3515          }
3516          case IX2_ACTION_LIST_PLAYBACK_CHANGED2: {
3517            const { actionListId, isPlaying } = action.payload;
3518            return (0, import_timm2.setIn)(state, ["playbackState", actionListId], isPlaying);
3519          }
3520          case IX2_VIEWPORT_WIDTH_CHANGED2: {
3521            const { width, mediaQueries } = action.payload;
3522            const mediaQueryCount = mediaQueries.length;
3523            let mediaQueryKey = null;
3524            for (let i = 0; i < mediaQueryCount; i++) {
3525              const { key, min, max } = mediaQueries[i];
3526              if (width >= min && width <= max) {
3527                mediaQueryKey = key;
3528                break;
3529              }
3530            }
3531            return (0, import_timm2.merge)(state, {
3532              viewportWidth: width,
3533              mediaQueryKey
3534            });
3535          }
3536          case IX2_MEDIA_QUERIES_DEFINED2: {
3537            return (0, import_timm2.set)(state, "hasDefinedMediaQueries", true);
3538          }
3539          default: {
3540            return state;
3541          }
3542        }
3543      };
3544    }
3545  });
3546
3547  
vendor: 297 bytes, lines 3547-3558
3547// node_modules/lodash/_listCacheClear.js
3548  var require_listCacheClear = __commonJS({
3549    "node_modules/lodash/_listCacheClear.js"(exports, module) {
3550      function listCacheClear() {
3551        this.__data__ = [];
3552        this.size = 0;
3553      }
3554      module.exports = listCacheClear;
3555    }
3556  });
3557
3558  
vendor: 266 bytes, lines 3558-3568
3558// node_modules/lodash/eq.js
3559  var require_eq = __commonJS({
3560    "node_modules/lodash/eq.js"(exports, module) {
3561      function eq(value, other) {
3562        return value === other || value !== value && other !== other;
3563      }
3564      module.exports = eq;
3565    }
3566  });
3567
3568  
vendor: 448 bytes, lines 3568-3585
3568// node_modules/lodash/_assocIndexOf.js
3569  var require_assocIndexOf = __commonJS({
3570    "node_modules/lodash/_assocIndexOf.js"(exports, module) {
3571      var eq = require_eq();
3572      function assocIndexOf(array, key) {
3573        var length = array.length;
3574        while (length--) {
3575          if (eq(array[length][0], key)) {
3576            return length;
3577          }
3578        }
3579        return -1;
3580      }
3581      module.exports = assocIndexOf;
3582    }
3583  });
3584
3585  
vendor: 712 bytes, lines 3585-3609
3585// node_modules/lodash/_listCacheDelete.js
3586  var require_listCacheDelete = __commonJS({
3587    "node_modules/lodash/_listCacheDelete.js"(exports, module) {
3588      var assocIndexOf = require_assocIndexOf();
3589      var arrayProto = Array.prototype;
3590      var splice = arrayProto.splice;
3591      function listCacheDelete(key) {
3592        var data = this.__data__, index = assocIndexOf(data, key);
3593        if (index < 0) {
3594          return false;
3595        }
3596        var lastIndex = data.length - 1;
3597        if (index == lastIndex) {
3598          data.pop();
3599        } else {
3600          splice.call(data, index, 1);
3601        }
3602        --this.size;
3603        return true;
3604      }
3605      module.exports = listCacheDelete;
3606    }
3607  });
3608
3609  
vendor: 407 bytes, lines 3609-3621
3609// node_modules/lodash/_listCacheGet.js
3610  var require_listCacheGet = __commonJS({
3611    "node_modules/lodash/_listCacheGet.js"(exports, module) {
3612      var assocIndexOf = require_assocIndexOf();
3613      function listCacheGet(key) {
3614        var data = this.__data__, index = assocIndexOf(data, key);
3615        return index < 0 ? void 0 : data[index][1];
3616      }
3617      module.exports = listCacheGet;
3618    }
3619  });
3620
3621  
vendor: 342 bytes, lines 3621-3632
3621// node_modules/lodash/_listCacheHas.js
3622  var require_listCacheHas = __commonJS({
3623    "node_modules/lodash/_listCacheHas.js"(exports, module) {
3624      var assocIndexOf = require_assocIndexOf();
3625      function listCacheHas(key) {
3626        return assocIndexOf(this.__data__, key) > -1;
3627      }
3628      module.exports = listCacheHas;
3629    }
3630  });
3631
3632  
vendor: 527 bytes, lines 3632-3650
3632// node_modules/lodash/_listCacheSet.js
3633  var require_listCacheSet = __commonJS({
3634    "node_modules/lodash/_listCacheSet.js"(exports, module) {
3635      var assocIndexOf = require_assocIndexOf();
3636      function listCacheSet(key, value) {
3637        var data = this.__data__, index = assocIndexOf(data, key);
3638        if (index < 0) {
3639          ++this.size;
3640          data.push([key, value]);
3641        } else {
3642          data[index][1] = value;
3643        }
3644        return this;
3645      }
3646      module.exports = listCacheSet;
3647    }
3648  });
3649
3650  
vendor: 942 bytes, lines 3650-3675
3650// node_modules/lodash/_ListCache.js
3651  var require_ListCache = __commonJS({
3652    "node_modules/lodash/_ListCache.js"(exports, module) {
3653      var listCacheClear = require_listCacheClear();
3654      var listCacheDelete = require_listCacheDelete();
3655      var listCacheGet = require_listCacheGet();
3656      var listCacheHas = require_listCacheHas();
3657      var listCacheSet = require_listCacheSet();
3658      function ListCache(entries) {
3659        var index = -1, length = entries == null ? 0 : entries.length;
3660        this.clear();
3661        while (++index < length) {
3662          var entry = entries[index];
3663          this.set(entry[0], entry[1]);
3664        }
3665      }
3666      ListCache.prototype.clear = listCacheClear;
3667      ListCache.prototype["delete"] = listCacheDelete;
3668      ListCache.prototype.get = listCacheGet;
3669      ListCache.prototype.has = listCacheHas;
3670      ListCache.prototype.set = listCacheSet;
3671      module.exports = ListCache;
3672    }
3673  });
3674
3675  
vendor: 333 bytes, lines 3675-3687
3675// node_modules/lodash/_stackClear.js
3676  var require_stackClear = __commonJS({
3677    "node_modules/lodash/_stackClear.js"(exports, module) {
3678      var ListCache = require_ListCache();
3679      function stackClear() {
3680        this.__data__ = new ListCache();
3681        this.size = 0;
3682      }
3683      module.exports = stackClear;
3684    }
3685  });
3686
3687  
vendor: 352 bytes, lines 3687-3699
3687// node_modules/lodash/_stackDelete.js
3688  var require_stackDelete = __commonJS({
3689    "node_modules/lodash/_stackDelete.js"(exports, module) {
3690      function stackDelete(key) {
3691        var data = this.__data__, result = data["delete"](key);
3692        this.size = data.size;
3693        return result;
3694      }
3695      module.exports = stackDelete;
3696    }
3697  });
3698
3699  
vendor: 258 bytes, lines 3699-3709
3699// node_modules/lodash/_stackGet.js
3700  var require_stackGet = __commonJS({
3701    "node_modules/lodash/_stackGet.js"(exports, module) {
3702      function stackGet(key) {
3703        return this.__data__.get(key);
3704      }
3705      module.exports = stackGet;
3706    }
3707  });
3708
3709  
vendor: 258 bytes, lines 3709-3719
3709// node_modules/lodash/_stackHas.js
3710  var require_stackHas = __commonJS({
3711    "node_modules/lodash/_stackHas.js"(exports, module) {
3712      function stackHas(key) {
3713        return this.__data__.has(key);
3714      }
3715      module.exports = stackHas;
3716    }
3717  });
3718
3719  
vendor: 326 bytes, lines 3719-3730
3719// node_modules/lodash/isObject.js
3720  var require_isObject = __commonJS({
3721    "node_modules/lodash/isObject.js"(exports, module) {
3722      function isObject(value) {
3723        var type = typeof value;
3724        return value != null && (type == "object" || type == "function");
3725      }
3726      module.exports = isObject;
3727    }
3728  });
3729
3730  
vendor: 680 bytes, lines 3730-3750
3730// node_modules/lodash/isFunction.js
3731  var require_isFunction = __commonJS({
3732    "node_modules/lodash/isFunction.js"(exports, module) {
3733      var baseGetTag = require_baseGetTag();
3734      var isObject = require_isObject();
3735      var asyncTag = "[object AsyncFunction]";
3736      var funcTag = "[object Function]";
3737      var genTag = "[object GeneratorFunction]";
3738      var proxyTag = "[object Proxy]";
3739      function isFunction(value) {
3740        if (!isObject(value)) {
3741          return false;
3742        }
3743        var tag = baseGetTag(value);
3744        return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
3745      }
3746      module.exports = isFunction;
3747    }
3748  });
3749
3750  
vendor: 272 bytes, lines 3750-3759
3750// node_modules/lodash/_coreJsData.js
3751  var require_coreJsData = __commonJS({
3752    "node_modules/lodash/_coreJsData.js"(exports, module) {
3753      var root = require_root();
3754      var coreJsData = root["__core-js_shared__"];
3755      module.exports = coreJsData;
3756    }
3757  });
3758
3759  
vendor: 511 bytes, lines 3759-3774
3759// node_modules/lodash/_isMasked.js
3760  var require_isMasked = __commonJS({
3761    "node_modules/lodash/_isMasked.js"(exports, module) {
3762      var coreJsData = require_coreJsData();
3763      var maskSrcKey = function() {
3764        var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
3765        return uid ? "Symbol(src)_1." + uid : "";
3766      }();
3767      function isMasked(func) {
3768        return !!maskSrcKey && maskSrcKey in func;
3769      }
3770      module.exports = isMasked;
3771    }
3772  });
3773
3774  
vendor: 542 bytes, lines 3774-3796
3774// node_modules/lodash/_toSource.js
3775  var require_toSource = __commonJS({
3776    "node_modules/lodash/_toSource.js"(exports, module) {
3777      var funcProto = Function.prototype;
3778      var funcToString = funcProto.toString;
3779      function toSource(func) {
3780        if (func != null) {
3781          try {
3782            return funcToString.call(func);
3783          } catch (e) {
3784          }
3785          try {
3786            return func + "";
3787          } catch (e) {
3788          }
3789        }
3790        return "";
3791      }
3792      module.exports = toSource;
3793    }
3794  });
3795
3796  
vendor: 1,096 bytes, lines 3796-3823
3796// node_modules/lodash/_baseIsNative.js
3797  var require_baseIsNative = __commonJS({
3798    "node_modules/lodash/_baseIsNative.js"(exports, module) {
3799      var isFunction = require_isFunction();
3800      var isMasked = require_isMasked();
3801      var isObject = require_isObject();
3802      var toSource = require_toSource();
3803      var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
3804      var reIsHostCtor = /^\[object .+?Constructor\]$/;
3805      var funcProto = Function.prototype;
3806      var objectProto = Object.prototype;
3807      var funcToString = funcProto.toString;
3808      var hasOwnProperty = objectProto.hasOwnProperty;
3809      var reIsNative = RegExp(
3810        "^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"
3811      );
3812      function baseIsNative(value) {
3813        if (!isObject(value) || isMasked(value)) {
3814          return false;
3815        }
3816        var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
3817        return pattern.test(toSource(value));
3818      }
3819      module.exports = baseIsNative;
3820    }
3821  });
3822
3823  
vendor: 281 bytes, lines 3823-3833
3823// node_modules/lodash/_getValue.js
3824  var require_getValue = __commonJS({
3825    "node_modules/lodash/_getValue.js"(exports, module) {
3826      function getValue(object, key) {
3827        return object == null ? void 0 : object[key];
3828      }
3829      module.exports = getValue;
3830    }
3831  });
3832
3833  
vendor: 418 bytes, lines 3833-3846
3833// node_modules/lodash/_getNative.js
3834  var require_getNative = __commonJS({
3835    "node_modules/lodash/_getNative.js"(exports, module) {
3836      var baseIsNative = require_baseIsNative();
3837      var getValue = require_getValue();
3838      function getNative(object, key) {
3839        var value = getValue(object, key);
3840        return baseIsNative(value) ? value : void 0;
3841      }
3842      module.exports = getNative;
3843    }
3844  });
3845
3846  
vendor: 278 bytes, lines 3846-3856
3846// node_modules/lodash/_Map.js
3847  var require_Map = __commonJS({
3848    "node_modules/lodash/_Map.js"(exports, module) {
3849      var getNative = require_getNative();
3850      var root = require_root();
3851      var Map2 = getNative(root, "Map");
3852      module.exports = Map2;
3853    }
3854  });
3855
3856  
vendor: 293 bytes, lines 3856-3865
3856// node_modules/lodash/_nativeCreate.js
3857  var require_nativeCreate = __commonJS({
3858    "node_modules/lodash/_nativeCreate.js"(exports, module) {
3859      var getNative = require_getNative();
3860      var nativeCreate = getNative(Object, "create");
3861      module.exports = nativeCreate;
3862    }
3863  });
3864
3865  
vendor: 357 bytes, lines 3865-3877
3865// node_modules/lodash/_hashClear.js
3866  var require_hashClear = __commonJS({
3867    "node_modules/lodash/_hashClear.js"(exports, module) {
3868      var nativeCreate = require_nativeCreate();
3869      function hashClear() {
3870        this.__data__ = nativeCreate ? nativeCreate(null) : {};
3871        this.size = 0;
3872      }
3873      module.exports = hashClear;
3874    }
3875  });
3876
3877  
vendor: 354 bytes, lines 3877-3889
3877// node_modules/lodash/_hashDelete.js
3878  var require_hashDelete = __commonJS({
3879    "node_modules/lodash/_hashDelete.js"(exports, module) {
3880      function hashDelete(key) {
3881        var result = this.has(key) && delete this.__data__[key];
3882        this.size -= result ? 1 : 0;
3883        return result;
3884      }
3885      module.exports = hashDelete;
3886    }
3887  });
3888
3889  
vendor: 652 bytes, lines 3889-3908
3889// node_modules/lodash/_hashGet.js
3890  var require_hashGet = __commonJS({
3891    "node_modules/lodash/_hashGet.js"(exports, module) {
3892      var nativeCreate = require_nativeCreate();
3893      var HASH_UNDEFINED = "__lodash_hash_undefined__";
3894      var objectProto = Object.prototype;
3895      var hasOwnProperty = objectProto.hasOwnProperty;
3896      function hashGet(key) {
3897        var data = this.__data__;
3898        if (nativeCreate) {
3899          var result = data[key];
3900          return result === HASH_UNDEFINED ? void 0 : result;
3901        }
3902        return hasOwnProperty.call(data, key) ? data[key] : void 0;
3903      }
3904      module.exports = hashGet;
3905    }
3906  });
3907
3908  
vendor: 479 bytes, lines 3908-3922
3908// node_modules/lodash/_hashHas.js
3909  var require_hashHas = __commonJS({
3910    "node_modules/lodash/_hashHas.js"(exports, module) {
3911      var nativeCreate = require_nativeCreate();
3912      var objectProto = Object.prototype;
3913      var hasOwnProperty = objectProto.hasOwnProperty;
3914      function hashHas(key) {
3915        var data = this.__data__;
3916        return nativeCreate ? data[key] !== void 0 : hasOwnProperty.call(data, key);
3917      }
3918      module.exports = hashHas;
3919    }
3920  });
3921
3922  
vendor: 504 bytes, lines 3922-3937
3922// node_modules/lodash/_hashSet.js
3923  var require_hashSet = __commonJS({
3924    "node_modules/lodash/_hashSet.js"(exports, module) {
3925      var nativeCreate = require_nativeCreate();
3926      var HASH_UNDEFINED = "__lodash_hash_undefined__";
3927      function hashSet(key, value) {
3928        var data = this.__data__;
3929        this.size += this.has(key) ? 0 : 1;
3930        data[key] = nativeCreate && value === void 0 ? HASH_UNDEFINED : value;
3931        return this;
3932      }
3933      module.exports = hashSet;
3934    }
3935  });
3936
3937  
vendor: 817 bytes, lines 3937-3962
3937// node_modules/lodash/_Hash.js
3938  var require_Hash = __commonJS({
3939    "node_modules/lodash/_Hash.js"(exports, module) {
3940      var hashClear = require_hashClear();
3941      var hashDelete = require_hashDelete();
3942      var hashGet = require_hashGet();
3943      var hashHas = require_hashHas();
3944      var hashSet = require_hashSet();
3945      function Hash(entries) {
3946        var index = -1, length = entries == null ? 0 : entries.length;
3947        this.clear();
3948        while (++index < length) {
3949          var entry = entries[index];
3950          this.set(entry[0], entry[1]);
3951        }
3952      }
3953      Hash.prototype.clear = hashClear;
3954      Hash.prototype["delete"] = hashDelete;
3955      Hash.prototype.get = hashGet;
3956      Hash.prototype.has = hashHas;
3957      Hash.prototype.set = hashSet;
3958      module.exports = Hash;
3959    }
3960  });
3961
3962  
vendor: 514 bytes, lines 3962-3980
3962// node_modules/lodash/_mapCacheClear.js
3963  var require_mapCacheClear = __commonJS({
3964    "node_modules/lodash/_mapCacheClear.js"(exports, module) {
3965      var Hash = require_Hash();
3966      var ListCache = require_ListCache();
3967      var Map2 = require_Map();
3968      function mapCacheClear() {
3969        this.size = 0;
3970        this.__data__ = {
3971          "hash": new Hash(),
3972          "map": new (Map2 || ListCache)(),
3973          "string": new Hash()
3974        };
3975      }
3976      module.exports = mapCacheClear;
3977    }
3978  });
3979
3980  
vendor: 394 bytes, lines 3980-3991
3980// node_modules/lodash/_isKeyable.js
3981  var require_isKeyable = __commonJS({
3982    "node_modules/lodash/_isKeyable.js"(exports, module) {
3983      function isKeyable(value) {
3984        var type = typeof value;
3985        return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
3986      }
3987      module.exports = isKeyable;
3988    }
3989  });
3990
3991  
vendor: 403 bytes, lines 3991-4003
3991// node_modules/lodash/_getMapData.js
3992  var require_getMapData = __commonJS({
3993    "node_modules/lodash/_getMapData.js"(exports, module) {
3994      var isKeyable = require_isKeyable();
3995      function getMapData(map, key) {
3996        var data = map.__data__;
3997        return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map;
3998      }
3999      module.exports = getMapData;
4000    }
4001  });
4002
4003  
vendor: 413 bytes, lines 4003-4016
4003// node_modules/lodash/_mapCacheDelete.js
4004  var require_mapCacheDelete = __commonJS({
4005    "node_modules/lodash/_mapCacheDelete.js"(exports, module) {
4006      var getMapData = require_getMapData();
4007      function mapCacheDelete(key) {
4008        var result = getMapData(this, key)["delete"](key);
4009        this.size -= result ? 1 : 0;
4010        return result;
4011      }
4012      module.exports = mapCacheDelete;
4013    }
4014  });
4015
4016  
vendor: 326 bytes, lines 4016-4027
4016// node_modules/lodash/_mapCacheGet.js
4017  var require_mapCacheGet = __commonJS({
4018    "node_modules/lodash/_mapCacheGet.js"(exports, module) {
4019      var getMapData = require_getMapData();
4020      function mapCacheGet(key) {
4021        return getMapData(this, key).get(key);
4022      }
4023      module.exports = mapCacheGet;
4024    }
4025  });
4026
4027  
vendor: 326 bytes, lines 4027-4038
4027// node_modules/lodash/_mapCacheHas.js
4028  var require_mapCacheHas = __commonJS({
4029    "node_modules/lodash/_mapCacheHas.js"(exports, module) {
4030      var getMapData = require_getMapData();
4031      function mapCacheHas(key) {
4032        return getMapData(this, key).has(key);
4033      }
4034      module.exports = mapCacheHas;
4035    }
4036  });
4037
4038  
vendor: 447 bytes, lines 4038-4052
4038// node_modules/lodash/_mapCacheSet.js
4039  var require_mapCacheSet = __commonJS({
4040    "node_modules/lodash/_mapCacheSet.js"(exports, module) {
4041      var getMapData = require_getMapData();
4042      function mapCacheSet(key, value) {
4043        var data = getMapData(this, key), size2 = data.size;
4044        data.set(key, value);
4045        this.size += data.size == size2 ? 0 : 1;
4046        return this;
4047      }
4048      module.exports = mapCacheSet;
4049    }
4050  });
4051
4052  
vendor: 917 bytes, lines 4052-4077
4052// node_modules/lodash/_MapCache.js
4053  var require_MapCache = __commonJS({
4054    "node_modules/lodash/_MapCache.js"(exports, module) {
4055      var mapCacheClear = require_mapCacheClear();
4056      var mapCacheDelete = require_mapCacheDelete();
4057      var mapCacheGet = require_mapCacheGet();
4058      var mapCacheHas = require_mapCacheHas();
4059      var mapCacheSet = require_mapCacheSet();
4060      function MapCache(entries) {
4061        var index = -1, length = entries == null ? 0 : entries.length;
4062        this.clear();
4063        while (++index < length) {
4064          var entry = entries[index];
4065          this.set(entry[0], entry[1]);
4066        }
4067      }
4068      MapCache.prototype.clear = mapCacheClear;
4069      MapCache.prototype["delete"] = mapCacheDelete;
4070      MapCache.prototype.get = mapCacheGet;
4071      MapCache.prototype.has = mapCacheHas;
4072      MapCache.prototype.set = mapCacheSet;
4073      module.exports = MapCache;
4074    }
4075  });
4076
4077  
vendor: 808 bytes, lines 4077-4103
4077// node_modules/lodash/_stackSet.js
4078  var require_stackSet = __commonJS({
4079    "node_modules/lodash/_stackSet.js"(exports, module) {
4080      var ListCache = require_ListCache();
4081      var Map2 = require_Map();
4082      var MapCache = require_MapCache();
4083      var LARGE_ARRAY_SIZE = 200;
4084      function stackSet(key, value) {
4085        var data = this.__data__;
4086        if (data instanceof ListCache) {
4087          var pairs = data.__data__;
4088          if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) {
4089            pairs.push([key, value]);
4090            this.size = ++data.size;
4091            return this;
4092          }
4093          data = this.__data__ = new MapCache(pairs);
4094        }
4095        data.set(key, value);
4096        this.size = data.size;
4097        return this;
4098      }
4099      module.exports = stackSet;
4100    }
4101  });
4102
4103  
vendor: 759 bytes, lines 4103-4125
4103// node_modules/lodash/_Stack.js
4104  var require_Stack = __commonJS({
4105    "node_modules/lodash/_Stack.js"(exports, module) {
4106      var ListCache = require_ListCache();
4107      var stackClear = require_stackClear();
4108      var stackDelete = require_stackDelete();
4109      var stackGet = require_stackGet();
4110      var stackHas = require_stackHas();
4111      var stackSet = require_stackSet();
4112      function Stack(entries) {
4113        var data = this.__data__ = new ListCache(entries);
4114        this.size = data.size;
4115      }
4116      Stack.prototype.clear = stackClear;
4117      Stack.prototype["delete"] = stackDelete;
4118      Stack.prototype.get = stackGet;
4119      Stack.prototype.has = stackHas;
4120      Stack.prototype.set = stackSet;
4121      module.exports = Stack;
4122    }
4123  });
4124
4125  
vendor: 363 bytes, lines 4125-4137
4125// node_modules/lodash/_setCacheAdd.js
4126  var require_setCacheAdd = __commonJS({
4127    "node_modules/lodash/_setCacheAdd.js"(exports, module) {
4128      var HASH_UNDEFINED = "__lodash_hash_undefined__";
4129      function setCacheAdd(value) {
4130        this.__data__.set(value, HASH_UNDEFINED);
4131        return this;
4132      }
4133      module.exports = setCacheAdd;
4134    }
4135  });
4136
4137  
vendor: 277 bytes, lines 4137-4147
4137// node_modules/lodash/_setCacheHas.js
4138  var require_setCacheHas = __commonJS({
4139    "node_modules/lodash/_setCacheHas.js"(exports, module) {
4140      function setCacheHas(value) {
4141        return this.__data__.has(value);
4142      }
4143      module.exports = setCacheHas;
4144    }
4145  });
4146
4147  
vendor: 660 bytes, lines 4147-4166
4147// node_modules/lodash/_SetCache.js
4148  var require_SetCache = __commonJS({
4149    "node_modules/lodash/_SetCache.js"(exports, module) {
4150      var MapCache = require_MapCache();
4151      var setCacheAdd = require_setCacheAdd();
4152      var setCacheHas = require_setCacheHas();
4153      function SetCache(values) {
4154        var index = -1, length = values == null ? 0 : values.length;
4155        this.__data__ = new MapCache();
4156        while (++index < length) {
4157          this.add(values[index]);
4158        }
4159      }
4160      SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
4161      SetCache.prototype.has = setCacheHas;
4162      module.exports = SetCache;
4163    }
4164  });
4165
4166  
vendor: 463 bytes, lines 4166-4182
4166// node_modules/lodash/_arraySome.js
4167  var require_arraySome = __commonJS({
4168    "node_modules/lodash/_arraySome.js"(exports, module) {
4169      function arraySome(array, predicate) {
4170        var index = -1, length = array == null ? 0 : array.length;
4171        while (++index < length) {
4172          if (predicate(array[index], index, array)) {
4173            return true;
4174          }
4175        }
4176        return false;
4177      }
4178      module.exports = arraySome;
4179    }
4180  });
4181
4182  
vendor: 257 bytes, lines 4182-4192
4182// node_modules/lodash/_cacheHas.js
4183  var require_cacheHas = __commonJS({
4184    "node_modules/lodash/_cacheHas.js"(exports, module) {
4185      function cacheHas(cache, key) {
4186        return cache.has(key);
4187      }
4188      module.exports = cacheHas;
4189    }
4190  });
4191
4192  
vendor: 2,169 bytes, lines 4192-4247
4192// node_modules/lodash/_equalArrays.js
4193  var require_equalArrays = __commonJS({
4194    "node_modules/lodash/_equalArrays.js"(exports, module) {
4195      var SetCache = require_SetCache();
4196      var arraySome = require_arraySome();
4197      var cacheHas = require_cacheHas();
4198      var COMPARE_PARTIAL_FLAG = 1;
4199      var COMPARE_UNORDERED_FLAG = 2;
4200      function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
4201        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length;
4202        if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
4203          return false;
4204        }
4205        var arrStacked = stack.get(array);
4206        var othStacked = stack.get(other);
4207        if (arrStacked && othStacked) {
4208          return arrStacked == other && othStacked == array;
4209        }
4210        var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache() : void 0;
4211        stack.set(array, other);
4212        stack.set(other, array);
4213        while (++index < arrLength) {
4214          var arrValue = array[index], othValue = other[index];
4215          if (customizer) {
4216            var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack);
4217          }
4218          if (compared !== void 0) {
4219            if (compared) {
4220              continue;
4221            }
4222            result = false;
4223            break;
4224          }
4225          if (seen) {
4226            if (!arraySome(other, function(othValue2, othIndex) {
4227              if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) {
4228                return seen.push(othIndex);
4229              }
4230            })) {
4231              result = false;
4232              break;
4233            }
4234          } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {
4235            result = false;
4236            break;
4237          }
4238        }
4239        stack["delete"](array);
4240        stack["delete"](other);
4241        return result;
4242      }
4243      module.exports = equalArrays;
4244    }
4245  });
4246
4247  
vendor: 263 bytes, lines 4247-4256
4247// node_modules/lodash/_Uint8Array.js
4248  var require_Uint8Array = __commonJS({
4249    "node_modules/lodash/_Uint8Array.js"(exports, module) {
4250      var root = require_root();
4251      var Uint8Array2 = root.Uint8Array;
4252      module.exports = Uint8Array2;
4253    }
4254  });
4255
4256  
vendor: 399 bytes, lines 4256-4270
4256// node_modules/lodash/_mapToArray.js
4257  var require_mapToArray = __commonJS({
4258    "node_modules/lodash/_mapToArray.js"(exports, module) {
4259      function mapToArray(map) {
4260        var index = -1, result = Array(map.size);
4261        map.forEach(function(value, key) {
4262          result[++index] = [key, value];
4263        });
4264        return result;
4265      }
4266      module.exports = mapToArray;
4267    }
4268  });
4269
4270  
vendor: 390 bytes, lines 4270-4284
4270// node_modules/lodash/_setToArray.js
4271  var require_setToArray = __commonJS({
4272    "node_modules/lodash/_setToArray.js"(exports, module) {
4273      function setToArray(set3) {
4274        var index = -1, result = Array(set3.size);
4275        set3.forEach(function(value) {
4276          result[++index] = value;
4277        });
4278        return result;
4279      }
4280      module.exports = setToArray;
4281    }
4282  });
4283
4284  
vendor: 2,836 bytes, lines 4284-4358
4284// node_modules/lodash/_equalByTag.js
4285  var require_equalByTag = __commonJS({
4286    "node_modules/lodash/_equalByTag.js"(exports, module) {
4287      var Symbol2 = require_Symbol();
4288      var Uint8Array2 = require_Uint8Array();
4289      var eq = require_eq();
4290      var equalArrays = require_equalArrays();
4291      var mapToArray = require_mapToArray();
4292      var setToArray = require_setToArray();
4293      var COMPARE_PARTIAL_FLAG = 1;
4294      var COMPARE_UNORDERED_FLAG = 2;
4295      var boolTag = "[object Boolean]";
4296      var dateTag = "[object Date]";
4297      var errorTag = "[object Error]";
4298      var mapTag = "[object Map]";
4299      var numberTag = "[object Number]";
4300      var regexpTag = "[object RegExp]";
4301      var setTag = "[object Set]";
4302      var stringTag = "[object String]";
4303      var symbolTag = "[object Symbol]";
4304      var arrayBufferTag = "[object ArrayBuffer]";
4305      var dataViewTag = "[object DataView]";
4306      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
4307      var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0;
4308      function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {
4309        switch (tag) {
4310          case dataViewTag:
4311            if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) {
4312              return false;
4313            }
4314            object = object.buffer;
4315            other = other.buffer;
4316          case arrayBufferTag:
4317            if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) {
4318              return false;
4319            }
4320            return true;
4321          case boolTag:
4322          case dateTag:
4323          case numberTag:
4324            return eq(+object, +other);
4325          case errorTag:
4326            return object.name == other.name && object.message == other.message;
4327          case regexpTag:
4328          case stringTag:
4329            return object == other + "";
4330          case mapTag:
4331            var convert = mapToArray;
4332          case setTag:
4333            var isPartial = bitmask & COMPARE_PARTIAL_FLAG;
4334            convert || (convert = setToArray);
4335            if (object.size != other.size && !isPartial) {
4336              return false;
4337            }
4338            var stacked = stack.get(object);
4339            if (stacked) {
4340              return stacked == other;
4341            }
4342            bitmask |= COMPARE_UNORDERED_FLAG;
4343            stack.set(object, other);
4344            var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);
4345            stack["delete"](object);
4346            return result;
4347          case symbolTag:
4348            if (symbolValueOf) {
4349              return symbolValueOf.call(object) == symbolValueOf.call(other);
4350            }
4351        }
4352        return false;
4353      }
4354      module.exports = equalByTag;
4355    }
4356  });
4357
4358  
vendor: 421 bytes, lines 4358-4372
4358// node_modules/lodash/_arrayPush.js
4359  var require_arrayPush = __commonJS({
4360    "node_modules/lodash/_arrayPush.js"(exports, module) {
4361      function arrayPush(array, values) {
4362        var index = -1, length = values.length, offset = array.length;
4363        while (++index < length) {
4364          array[offset + index] = values[index];
4365        }
4366        return array;
4367      }
4368      module.exports = arrayPush;
4369    }
4370  });
4371
4372  
vendor: 209 bytes, lines 4372-4380
4372// node_modules/lodash/isArray.js
4373  var require_isArray = __commonJS({
4374    "node_modules/lodash/isArray.js"(exports, module) {
4375      var isArray = Array.isArray;
4376      module.exports = isArray;
4377    }
4378  });
4379
4380  
vendor: 478 bytes, lines 4380-4393
4380// node_modules/lodash/_baseGetAllKeys.js
4381  var require_baseGetAllKeys = __commonJS({
4382    "node_modules/lodash/_baseGetAllKeys.js"(exports, module) {
4383      var arrayPush = require_arrayPush();
4384      var isArray = require_isArray();
4385      function baseGetAllKeys(object, keysFunc, symbolsFunc) {
4386        var result = keysFunc(object);
4387        return isArray(object) ? result : arrayPush(result, symbolsFunc(object));
4388      }
4389      module.exports = baseGetAllKeys;
4390    }
4391  });
4392
4393  
vendor: 545 bytes, lines 4393-4410
4393// node_modules/lodash/_arrayFilter.js
4394  var require_arrayFilter = __commonJS({
4395    "node_modules/lodash/_arrayFilter.js"(exports, module) {
4396      function arrayFilter(array, predicate) {
4397        var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
4398        while (++index < length) {
4399          var value = array[index];
4400          if (predicate(value, index, array)) {
4401            result[resIndex++] = value;
4402          }
4403        }
4404        return result;
4405      }
4406      module.exports = arrayFilter;
4407    }
4408  });
4409
4410  
vendor: 238 bytes, lines 4410-4420
4410// node_modules/lodash/stubArray.js
4411  var require_stubArray = __commonJS({
4412    "node_modules/lodash/stubArray.js"(exports, module) {
4413      function stubArray() {
4414        return [];
4415      }
4416      module.exports = stubArray;
4417    }
4418  });
4419
4420  
vendor: 767 bytes, lines 4420-4441
4420// node_modules/lodash/_getSymbols.js
4421  var require_getSymbols = __commonJS({
4422    "node_modules/lodash/_getSymbols.js"(exports, module) {
4423      var arrayFilter = require_arrayFilter();
4424      var stubArray = require_stubArray();
4425      var objectProto = Object.prototype;
4426      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
4427      var nativeGetSymbols = Object.getOwnPropertySymbols;
4428      var getSymbols = !nativeGetSymbols ? stubArray : function(object) {
4429        if (object == null) {
4430          return [];
4431        }
4432        object = Object(object);
4433        return arrayFilter(nativeGetSymbols(object), function(symbol) {
4434          return propertyIsEnumerable.call(object, symbol);
4435        });
4436      };
4437      module.exports = getSymbols;
4438    }
4439  });
4440
4441  
vendor: 381 bytes, lines 4441-4455
4441// node_modules/lodash/_baseTimes.js
4442  var require_baseTimes = __commonJS({
4443    "node_modules/lodash/_baseTimes.js"(exports, module) {
4444      function baseTimes(n, iteratee) {
4445        var index = -1, result = Array(n);
4446        while (++index < n) {
4447          result[index] = iteratee(index);
4448        }
4449        return result;
4450      }
4451      module.exports = baseTimes;
4452    }
4453  });
4454
4455  
vendor: 460 bytes, lines 4455-4468
4455// node_modules/lodash/_baseIsArguments.js
4456  var require_baseIsArguments = __commonJS({
4457    "node_modules/lodash/_baseIsArguments.js"(exports, module) {
4458      var baseGetTag = require_baseGetTag();
4459      var isObjectLike = require_isObjectLike();
4460      var argsTag = "[object Arguments]";
4461      function baseIsArguments(value) {
4462        return isObjectLike(value) && baseGetTag(value) == argsTag;
4463      }
4464      module.exports = baseIsArguments;
4465    }
4466  });
4467
4468  
vendor: 718 bytes, lines 4468-4485
4468// node_modules/lodash/isArguments.js
4469  var require_isArguments = __commonJS({
4470    "node_modules/lodash/isArguments.js"(exports, module) {
4471      var baseIsArguments = require_baseIsArguments();
4472      var isObjectLike = require_isObjectLike();
4473      var objectProto = Object.prototype;
4474      var hasOwnProperty = objectProto.hasOwnProperty;
4475      var propertyIsEnumerable = objectProto.propertyIsEnumerable;
4476      var isArguments = baseIsArguments(function() {
4477        return arguments;
4478      }()) ? baseIsArguments : function(value) {
4479        return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
4480      };
4481      module.exports = isArguments;
4482    }
4483  });
4484
4485  
vendor: 241 bytes, lines 4485-4495
4485// node_modules/lodash/stubFalse.js
4486  var require_stubFalse = __commonJS({
4487    "node_modules/lodash/stubFalse.js"(exports, module) {
4488      function stubFalse() {
4489        return false;
4490      }
4491      module.exports = stubFalse;
4492    }
4493  });
4494
4495  
vendor: 702 bytes, lines 4495-4510
4495// node_modules/lodash/isBuffer.js
4496  var require_isBuffer = __commonJS({
4497    "node_modules/lodash/isBuffer.js"(exports, module) {
4498      var root = require_root();
4499      var stubFalse = require_stubFalse();
4500      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
4501      var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
4502      var moduleExports = freeModule && freeModule.exports === freeExports;
4503      var Buffer2 = moduleExports ? root.Buffer : void 0;
4504      var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
4505      var isBuffer = nativeIsBuffer || stubFalse;
4506      module.exports = isBuffer;
4507    }
4508  });
4509
4510  
vendor: 549 bytes, lines 4510-4524
4510// node_modules/lodash/_isIndex.js
4511  var require_isIndex = __commonJS({
4512    "node_modules/lodash/_isIndex.js"(exports, module) {
4513      var MAX_SAFE_INTEGER = 9007199254740991;
4514      var reIsUint = /^(?:0|[1-9]\d*)$/;
4515      function isIndex(value, length) {
4516        var type = typeof value;
4517        length = length == null ? MAX_SAFE_INTEGER : length;
4518        return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length);
4519      }
4520      module.exports = isIndex;
4521    }
4522  });
4523
4524  
vendor: 368 bytes, lines 4524-4535
4524// node_modules/lodash/isLength.js
4525  var require_isLength = __commonJS({
4526    "node_modules/lodash/isLength.js"(exports, module) {
4527      var MAX_SAFE_INTEGER = 9007199254740991;
4528      function isLength(value) {
4529        return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
4530      }
4531      module.exports = isLength;
4532    }
4533  });
4534
4535  
vendor: 2,251 bytes, lines 4535-4575
4535// node_modules/lodash/_baseIsTypedArray.js
4536  var require_baseIsTypedArray = __commonJS({
4537    "node_modules/lodash/_baseIsTypedArray.js"(exports, module) {
4538      var baseGetTag = require_baseGetTag();
4539      var isLength = require_isLength();
4540      var isObjectLike = require_isObjectLike();
4541      var argsTag = "[object Arguments]";
4542      var arrayTag = "[object Array]";
4543      var boolTag = "[object Boolean]";
4544      var dateTag = "[object Date]";
4545      var errorTag = "[object Error]";
4546      var funcTag = "[object Function]";
4547      var mapTag = "[object Map]";
4548      var numberTag = "[object Number]";
4549      var objectTag = "[object Object]";
4550      var regexpTag = "[object RegExp]";
4551      var setTag = "[object Set]";
4552      var stringTag = "[object String]";
4553      var weakMapTag = "[object WeakMap]";
4554      var arrayBufferTag = "[object ArrayBuffer]";
4555      var dataViewTag = "[object DataView]";
4556      var float32Tag = "[object Float32Array]";
4557      var float64Tag = "[object Float64Array]";
4558      var int8Tag = "[object Int8Array]";
4559      var int16Tag = "[object Int16Array]";
4560      var int32Tag = "[object Int32Array]";
4561      var uint8Tag = "[object Uint8Array]";
4562      var uint8ClampedTag = "[object Uint8ClampedArray]";
4563      var uint16Tag = "[object Uint16Array]";
4564      var uint32Tag = "[object Uint32Array]";
4565      var typedArrayTags = {};
4566      typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
4567      typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
4568      function baseIsTypedArray(value) {
4569        return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
4570      }
4571      module.exports = baseIsTypedArray;
4572    }
4573  });
4574
4575  
vendor: 299 bytes, lines 4575-4587
4575// node_modules/lodash/_baseUnary.js
4576  var require_baseUnary = __commonJS({
4577    "node_modules/lodash/_baseUnary.js"(exports, module) {
4578      function baseUnary(func) {
4579        return function(value) {
4580          return func(value);
4581        };
4582      }
4583      module.exports = baseUnary;
4584    }
4585  });
4586
4587  
vendor: 890 bytes, lines 4587-4609
4587// node_modules/lodash/_nodeUtil.js
4588  var require_nodeUtil = __commonJS({
4589    "node_modules/lodash/_nodeUtil.js"(exports, module) {
4590      var freeGlobal = require_freeGlobal();
4591      var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
4592      var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
4593      var moduleExports = freeModule && freeModule.exports === freeExports;
4594      var freeProcess = moduleExports && freeGlobal.process;
4595      var nodeUtil = function() {
4596        try {
4597          var types = freeModule && freeModule.require && freeModule.require("util").types;
4598          if (types) {
4599            return types;
4600          }
4601          return freeProcess && freeProcess.binding && freeProcess.binding("util");
4602        } catch (e) {
4603        }
4604      }();
4605      module.exports = nodeUtil;
4606    }
4607  });
4608
4609  
vendor: 491 bytes, lines 4609-4621
4609// node_modules/lodash/isTypedArray.js
4610  var require_isTypedArray = __commonJS({
4611    "node_modules/lodash/isTypedArray.js"(exports, module) {
4612      var baseIsTypedArray = require_baseIsTypedArray();
4613      var baseUnary = require_baseUnary();
4614      var nodeUtil = require_nodeUtil();
4615      var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
4616      var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
4617      module.exports = isTypedArray;
4618    }
4619  });
4620
4621  
vendor: 1,550 bytes, lines 4621-4649
4621// node_modules/lodash/_arrayLikeKeys.js
4622  var require_arrayLikeKeys = __commonJS({
4623    "node_modules/lodash/_arrayLikeKeys.js"(exports, module) {
4624      var baseTimes = require_baseTimes();
4625      var isArguments = require_isArguments();
4626      var isArray = require_isArray();
4627      var isBuffer = require_isBuffer();
4628      var isIndex = require_isIndex();
4629      var isTypedArray = require_isTypedArray();
4630      var objectProto = Object.prototype;
4631      var hasOwnProperty = objectProto.hasOwnProperty;
4632      function arrayLikeKeys(value, inherited) {
4633        var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
4634        for (var key in value) {
4635          if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
4636          (key == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
4637          isBuff && (key == "offset" || key == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
4638          isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || // Skip index properties.
4639          isIndex(key, length)))) {
4640            result.push(key);
4641          }
4642        }
4643        return result;
4644      }
4645      module.exports = arrayLikeKeys;
4646    }
4647  });
4648
4649  
vendor: 425 bytes, lines 4649-4661
4649// node_modules/lodash/_isPrototype.js
4650  var require_isPrototype = __commonJS({
4651    "node_modules/lodash/_isPrototype.js"(exports, module) {
4652      var objectProto = Object.prototype;
4653      function isPrototype(value) {
4654        var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto;
4655        return value === proto;
4656      }
4657      module.exports = isPrototype;
4658    }
4659  });
4660
4661  
vendor: 280 bytes, lines 4661-4670
4661// node_modules/lodash/_nativeKeys.js
4662  var require_nativeKeys = __commonJS({
4663    "node_modules/lodash/_nativeKeys.js"(exports, module) {
4664      var overArg = require_overArg();
4665      var nativeKeys = overArg(Object.keys, Object);
4666      module.exports = nativeKeys;
4667    }
4668  });
4669
4670  
vendor: 710 bytes, lines 4670-4693
4670// node_modules/lodash/_baseKeys.js
4671  var require_baseKeys = __commonJS({
4672    "node_modules/lodash/_baseKeys.js"(exports, module) {
4673      var isPrototype = require_isPrototype();
4674      var nativeKeys = require_nativeKeys();
4675      var objectProto = Object.prototype;
4676      var hasOwnProperty = objectProto.hasOwnProperty;
4677      function baseKeys(object) {
4678        if (!isPrototype(object)) {
4679          return nativeKeys(object);
4680        }
4681        var result = [];
4682        for (var key in Object(object)) {
4683          if (hasOwnProperty.call(object, key) && key != "constructor") {
4684            result.push(key);
4685          }
4686        }
4687        return result;
4688      }
4689      module.exports = baseKeys;
4690    }
4691  });
4692
4693  
vendor: 398 bytes, lines 4693-4705
4693// node_modules/lodash/isArrayLike.js
4694  var require_isArrayLike = __commonJS({
4695    "node_modules/lodash/isArrayLike.js"(exports, module) {
4696      var isFunction = require_isFunction();
4697      var isLength = require_isLength();
4698      function isArrayLike(value) {
4699        return value != null && isLength(value.length) && !isFunction(value);
4700      }
4701      module.exports = isArrayLike;
4702    }
4703  });
4704
4705  
vendor: 418 bytes, lines 4705-4718
4705// node_modules/lodash/keys.js
4706  var require_keys = __commonJS({
4707    "node_modules/lodash/keys.js"(exports, module) {
4708      var arrayLikeKeys = require_arrayLikeKeys();
4709      var baseKeys = require_baseKeys();
4710      var isArrayLike = require_isArrayLike();
4711      function keys(object) {
4712        return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
4713      }
4714      module.exports = keys;
4715    }
4716  });
4717
4718  
vendor: 420 bytes, lines 4718-4731
4718// node_modules/lodash/_getAllKeys.js
4719  var require_getAllKeys = __commonJS({
4720    "node_modules/lodash/_getAllKeys.js"(exports, module) {
4721      var baseGetAllKeys = require_baseGetAllKeys();
4722      var getSymbols = require_getSymbols();
4723      var keys = require_keys();
4724      function getAllKeys(object) {
4725        return baseGetAllKeys(object, keys, getSymbols);
4726      }
4727      module.exports = getAllKeys;
4728    }
4729  });
4730
4731  
vendor: 2,332 bytes, lines 4731-4785
4731// node_modules/lodash/_equalObjects.js
4732  var require_equalObjects = __commonJS({
4733    "node_modules/lodash/_equalObjects.js"(exports, module) {
4734      var getAllKeys = require_getAllKeys();
4735      var COMPARE_PARTIAL_FLAG = 1;
4736      var objectProto = Object.prototype;
4737      var hasOwnProperty = objectProto.hasOwnProperty;
4738      function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
4739        var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length;
4740        if (objLength != othLength && !isPartial) {
4741          return false;
4742        }
4743        var index = objLength;
4744        while (index--) {
4745          var key = objProps[index];
4746          if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {
4747            return false;
4748          }
4749        }
4750        var objStacked = stack.get(object);
4751        var othStacked = stack.get(other);
4752        if (objStacked && othStacked) {
4753          return objStacked == other && othStacked == object;
4754        }
4755        var result = true;
4756        stack.set(object, other);
4757        stack.set(other, object);
4758        var skipCtor = isPartial;
4759        while (++index < objLength) {
4760          key = objProps[index];
4761          var objValue = object[key], othValue = other[key];
4762          if (customizer) {
4763            var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack);
4764          }
4765          if (!(compared === void 0 ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) {
4766            result = false;
4767            break;
4768          }
4769          skipCtor || (skipCtor = key == "constructor");
4770        }
4771        if (result && !skipCtor) {
4772          var objCtor = object.constructor, othCtor = other.constructor;
4773          if (objCtor != othCtor && ("constructor" in object && "constructor" in other) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) {
4774            result = false;
4775          }
4776        }
4777        stack["delete"](object);
4778        stack["delete"](other);
4779        return result;
4780      }
4781      module.exports = equalObjects;
4782    }
4783  });
4784
4785  
vendor: 306 bytes, lines 4785-4795
4785// node_modules/lodash/_DataView.js
4786  var require_DataView = __commonJS({
4787    "node_modules/lodash/_DataView.js"(exports, module) {
4788      var getNative = require_getNative();
4789      var root = require_root();
4790      var DataView = getNative(root, "DataView");
4791      module.exports = DataView;
4792    }
4793  });
4794
4795  
vendor: 302 bytes, lines 4795-4805
4795// node_modules/lodash/_Promise.js
4796  var require_Promise = __commonJS({
4797    "node_modules/lodash/_Promise.js"(exports, module) {
4798      var getNative = require_getNative();
4799      var root = require_root();
4800      var Promise2 = getNative(root, "Promise");
4801      module.exports = Promise2;
4802    }
4803  });
4804
4805  
vendor: 276 bytes, lines 4805-4815
4805// node_modules/lodash/_Set.js
4806  var require_Set = __commonJS({
4807    "node_modules/lodash/_Set.js"(exports, module) {
4808      var getNative = require_getNative();
4809      var root = require_root();
4810      var Set = getNative(root, "Set");
4811      module.exports = Set;
4812    }
4813  });
4814
4815  
vendor: 302 bytes, lines 4815-4825
4815// node_modules/lodash/_WeakMap.js
4816  var require_WeakMap = __commonJS({
4817    "node_modules/lodash/_WeakMap.js"(exports, module) {
4818      var getNative = require_getNative();
4819      var root = require_root();
4820      var WeakMap2 = getNative(root, "WeakMap");
4821      module.exports = WeakMap2;
4822    }
4823  });
4824
4825  
vendor: 1,874 bytes, lines 4825-4871
4825// node_modules/lodash/_getTag.js
4826  var require_getTag = __commonJS({
4827    "node_modules/lodash/_getTag.js"(exports, module) {
4828      var DataView = require_DataView();
4829      var Map2 = require_Map();
4830      var Promise2 = require_Promise();
4831      var Set = require_Set();
4832      var WeakMap2 = require_WeakMap();
4833      var baseGetTag = require_baseGetTag();
4834      var toSource = require_toSource();
4835      var mapTag = "[object Map]";
4836      var objectTag = "[object Object]";
4837      var promiseTag = "[object Promise]";
4838      var setTag = "[object Set]";
4839      var weakMapTag = "[object WeakMap]";
4840      var dataViewTag = "[object DataView]";
4841      var dataViewCtorString = toSource(DataView);
4842      var mapCtorString = toSource(Map2);
4843      var promiseCtorString = toSource(Promise2);
4844      var setCtorString = toSource(Set);
4845      var weakMapCtorString = toSource(WeakMap2);
4846      var getTag = baseGetTag;
4847      if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2()) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap2 && getTag(new WeakMap2()) != weakMapTag) {
4848        getTag = function(value) {
4849          var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
4850          if (ctorString) {
4851            switch (ctorString) {
4852              case dataViewCtorString:
4853                return dataViewTag;
4854              case mapCtorString:
4855                return mapTag;
4856              case promiseCtorString:
4857                return promiseTag;
4858              case setCtorString:
4859                return setTag;
4860              case weakMapCtorString:
4861                return weakMapTag;
4862            }
4863          }
4864          return result;
4865        };
4866      }
4867      module.exports = getTag;
4868    }
4869  });
4870
4871  
vendor: 2,455 bytes, lines 4871-4922
4871// node_modules/lodash/_baseIsEqualDeep.js
4872  var require_baseIsEqualDeep = __commonJS({
4873    "node_modules/lodash/_baseIsEqualDeep.js"(exports, module) {
4874      var Stack = require_Stack();
4875      var equalArrays = require_equalArrays();
4876      var equalByTag = require_equalByTag();
4877      var equalObjects = require_equalObjects();
4878      var getTag = require_getTag();
4879      var isArray = require_isArray();
4880      var isBuffer = require_isBuffer();
4881      var isTypedArray = require_isTypedArray();
4882      var COMPARE_PARTIAL_FLAG = 1;
4883      var argsTag = "[object Arguments]";
4884      var arrayTag = "[object Array]";
4885      var objectTag = "[object Object]";
4886      var objectProto = Object.prototype;
4887      var hasOwnProperty = objectProto.hasOwnProperty;
4888      function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {
4889        var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other);
4890        objTag = objTag == argsTag ? objectTag : objTag;
4891        othTag = othTag == argsTag ? objectTag : othTag;
4892        var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag;
4893        if (isSameTag && isBuffer(object)) {
4894          if (!isBuffer(other)) {
4895            return false;
4896          }
4897          objIsArr = true;
4898          objIsObj = false;
4899        }
4900        if (isSameTag && !objIsObj) {
4901          stack || (stack = new Stack());
4902          return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);
4903        }
4904        if (!(bitmask & COMPARE_PARTIAL_FLAG)) {
4905          var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__");
4906          if (objIsWrapped || othIsWrapped) {
4907            var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other;
4908            stack || (stack = new Stack());
4909            return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);
4910          }
4911        }
4912        if (!isSameTag) {
4913          return false;
4914        }
4915        stack || (stack = new Stack());
4916        return equalObjects(object, other, bitmask, customizer, equalFunc, stack);
4917      }
4918      module.exports = baseIsEqualDeep;
4919    }
4920  });
4921
4922  
vendor: 683 bytes, lines 4922-4940
4922// node_modules/lodash/_baseIsEqual.js
4923  var require_baseIsEqual = __commonJS({
4924    "node_modules/lodash/_baseIsEqual.js"(exports, module) {
4925      var baseIsEqualDeep = require_baseIsEqualDeep();
4926      var isObjectLike = require_isObjectLike();
4927      function baseIsEqual(value, other, bitmask, customizer, stack) {
4928        if (value === other) {
4929          return true;
4930        }
4931        if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) {
4932          return value !== value && other !== other;
4933        }
4934        return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);
4935      }
4936      module.exports = baseIsEqual;
4937    }
4938  });
4939
4940  
vendor: 1,518 bytes, lines 4940-4982
4940// node_modules/lodash/_baseIsMatch.js
4941  var require_baseIsMatch = __commonJS({
4942    "node_modules/lodash/_baseIsMatch.js"(exports, module) {
4943      var Stack = require_Stack();
4944      var baseIsEqual = require_baseIsEqual();
4945      var COMPARE_PARTIAL_FLAG = 1;
4946      var COMPARE_UNORDERED_FLAG = 2;
4947      function baseIsMatch(object, source, matchData, customizer) {
4948        var index = matchData.length, length = index, noCustomizer = !customizer;
4949        if (object == null) {
4950          return !length;
4951        }
4952        object = Object(object);
4953        while (index--) {
4954          var data = matchData[index];
4955          if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) {
4956            return false;
4957          }
4958        }
4959        while (++index < length) {
4960          data = matchData[index];
4961          var key = data[0], objValue = object[key], srcValue = data[1];
4962          if (noCustomizer && data[2]) {
4963            if (objValue === void 0 && !(key in object)) {
4964              return false;
4965            }
4966          } else {
4967            var stack = new Stack();
4968            if (customizer) {
4969              var result = customizer(objValue, srcValue, key, object, source, stack);
4970            }
4971            if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) {
4972              return false;
4973            }
4974          }
4975        }
4976        return true;
4977      }
4978      module.exports = baseIsMatch;
4979    }
4980  });
4981
4982  
vendor: 364 bytes, lines 4982-4993
4982// node_modules/lodash/_isStrictComparable.js
4983  var require_isStrictComparable = __commonJS({
4984    "node_modules/lodash/_isStrictComparable.js"(exports, module) {
4985      var isObject = require_isObject();
4986      function isStrictComparable(value) {
4987        return value === value && !isObject(value);
4988      }
4989      module.exports = isStrictComparable;
4990    }
4991  });
4992
4993  
vendor: 580 bytes, lines 4993-5010
4993// node_modules/lodash/_getMatchData.js
4994  var require_getMatchData = __commonJS({
4995    "node_modules/lodash/_getMatchData.js"(exports, module) {
4996      var isStrictComparable = require_isStrictComparable();
4997      var keys = require_keys();
4998      function getMatchData(object) {
4999        var result = keys(object), length = result.length;
5000        while (length--) {
5001          var key = result[length], value = object[key];
5002          result[length] = [key, value, isStrictComparable(value)];
5003        }
5004        return result;
5005      }
5006      module.exports = getMatchData;
5007    }
5008  });
5009
5010  
vendor: 512 bytes, lines 5010-5025
5010// node_modules/lodash/_matchesStrictComparable.js
5011  var require_matchesStrictComparable = __commonJS({
5012    "node_modules/lodash/_matchesStrictComparable.js"(exports, module) {
5013      function matchesStrictComparable(key, srcValue) {
5014        return function(object) {
5015          if (object == null) {
5016            return false;
5017          }
5018          return object[key] === srcValue && (srcValue !== void 0 || key in Object(object));
5019        };
5020      }
5021      module.exports = matchesStrictComparable;
5022    }
5023  });
5024
5025  
vendor: 715 bytes, lines 5025-5044
5025// node_modules/lodash/_baseMatches.js
5026  var require_baseMatches = __commonJS({
5027    "node_modules/lodash/_baseMatches.js"(exports, module) {
5028      var baseIsMatch = require_baseIsMatch();
5029      var getMatchData = require_getMatchData();
5030      var matchesStrictComparable = require_matchesStrictComparable();
5031      function baseMatches(source) {
5032        var matchData = getMatchData(source);
5033        if (matchData.length == 1 && matchData[0][2]) {
5034          return matchesStrictComparable(matchData[0][0], matchData[0][1]);
5035        }
5036        return function(object) {
5037          return object === source || baseIsMatch(object, source, matchData);
5038        };
5039      }
5040      module.exports = baseMatches;
5041    }
5042  });
5043
5044  
vendor: 452 bytes, lines 5044-5057
5044// node_modules/lodash/isSymbol.js
5045  var require_isSymbol = __commonJS({
5046    "node_modules/lodash/isSymbol.js"(exports, module) {
5047      var baseGetTag = require_baseGetTag();
5048      var isObjectLike = require_isObjectLike();
5049      var symbolTag = "[object Symbol]";
5050      function isSymbol(value) {
5051        return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag;
5052      }
5053      module.exports = isSymbol;
5054    }
5055  });
5056
5057  
vendor: 761 bytes, lines 5057-5078
5057// node_modules/lodash/_isKey.js
5058  var require_isKey = __commonJS({
5059    "node_modules/lodash/_isKey.js"(exports, module) {
5060      var isArray = require_isArray();
5061      var isSymbol = require_isSymbol();
5062      var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/;
5063      var reIsPlainProp = /^\w*$/;
5064      function isKey(value, object) {
5065        if (isArray(value)) {
5066          return false;
5067        }
5068        var type = typeof value;
5069        if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) {
5070          return true;
5071        }
5072        return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
5073      }
5074      module.exports = isKey;
5075    }
5076  });
5077
5078  
vendor: 953 bytes, lines 5078-5104
5078// node_modules/lodash/memoize.js
5079  var require_memoize = __commonJS({
5080    "node_modules/lodash/memoize.js"(exports, module) {
5081      var MapCache = require_MapCache();
5082      var FUNC_ERROR_TEXT = "Expected a function";
5083      function memoize(func, resolver) {
5084        if (typeof func != "function" || resolver != null && typeof resolver != "function") {
5085          throw new TypeError(FUNC_ERROR_TEXT);
5086        }
5087        var memoized = function() {
5088          var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache;
5089          if (cache.has(key)) {
5090            return cache.get(key);
5091          }
5092          var result = func.apply(this, args);
5093          memoized.cache = cache.set(key, result) || cache;
5094          return result;
5095        };
5096        memoized.cache = new (memoize.Cache || MapCache)();
5097        return memoized;
5098      }
5099      memoize.Cache = MapCache;
5100      module.exports = memoize;
5101    }
5102  });
5103
5104  
vendor: 548 bytes, lines 5104-5123
5104// node_modules/lodash/_memoizeCapped.js
5105  var require_memoizeCapped = __commonJS({
5106    "node_modules/lodash/_memoizeCapped.js"(exports, module) {
5107      var memoize = require_memoize();
5108      var MAX_MEMOIZE_SIZE = 500;
5109      function memoizeCapped(func) {
5110        var result = memoize(func, function(key) {
5111          if (cache.size === MAX_MEMOIZE_SIZE) {
5112            cache.clear();
5113          }
5114          return key;
5115        });
5116        var cache = result.cache;
5117        return result;
5118      }
5119      module.exports = memoizeCapped;
5120    }
5121  });
5122
5123  
vendor: 782 bytes, lines 5123-5143
5123// node_modules/lodash/_stringToPath.js
5124  var require_stringToPath = __commonJS({
5125    "node_modules/lodash/_stringToPath.js"(exports, module) {
5126      var memoizeCapped = require_memoizeCapped();
5127      var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
5128      var reEscapeChar = /\\(\\)?/g;
5129      var stringToPath = memoizeCapped(function(string) {
5130        var result = [];
5131        if (string.charCodeAt(0) === 46) {
5132          result.push("");
5133        }
5134        string.replace(rePropName, function(match, number, quote, subString) {
5135          result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match);
5136        });
5137        return result;
5138      });
5139      module.exports = stringToPath;
5140    }
5141  });
5142
5143  
vendor: 454 bytes, lines 5143-5157
5143// node_modules/lodash/_arrayMap.js
5144  var require_arrayMap = __commonJS({
5145    "node_modules/lodash/_arrayMap.js"(exports, module) {
5146      function arrayMap(array, iteratee) {
5147        var index = -1, length = array == null ? 0 : array.length, result = Array(length);
5148        while (++index < length) {
5149          result[index] = iteratee(array[index], index, array);
5150        }
5151        return result;
5152      }
5153      module.exports = arrayMap;
5154    }
5155  });
5156
5157  
vendor: 942 bytes, lines 5157-5184
5157// node_modules/lodash/_baseToString.js
5158  var require_baseToString = __commonJS({
5159    "node_modules/lodash/_baseToString.js"(exports, module) {
5160      var Symbol2 = require_Symbol();
5161      var arrayMap = require_arrayMap();
5162      var isArray = require_isArray();
5163      var isSymbol = require_isSymbol();
5164      var INFINITY = 1 / 0;
5165      var symbolProto = Symbol2 ? Symbol2.prototype : void 0;
5166      var symbolToString = symbolProto ? symbolProto.toString : void 0;
5167      function baseToString(value) {
5168        if (typeof value == "string") {
5169          return value;
5170        }
5171        if (isArray(value)) {
5172          return arrayMap(value, baseToString) + "";
5173        }
5174        if (isSymbol(value)) {
5175          return symbolToString ? symbolToString.call(value) : "";
5176        }
5177        var result = value + "";
5178        return result == "0" && 1 / value == -INFINITY ? "-0" : result;
5179      }
5180      module.exports = baseToString;
5181    }
5182  });
5183
5184  
vendor: 325 bytes, lines 5184-5195
5184// node_modules/lodash/toString.js
5185  var require_toString = __commonJS({
5186    "node_modules/lodash/toString.js"(exports, module) {
5187      var baseToString = require_baseToString();
5188      function toString(value) {
5189        return value == null ? "" : baseToString(value);
5190      }
5191      module.exports = toString;
5192    }
5193  });
5194
5195  
vendor: 536 bytes, lines 5195-5212
5195// node_modules/lodash/_castPath.js
5196  var require_castPath = __commonJS({
5197    "node_modules/lodash/_castPath.js"(exports, module) {
5198      var isArray = require_isArray();
5199      var isKey = require_isKey();
5200      var stringToPath = require_stringToPath();
5201      var toString = require_toString();
5202      function castPath(value, object) {
5203        if (isArray(value)) {
5204          return value;
5205        }
5206        return isKey(value, object) ? [value] : stringToPath(toString(value));
5207      }
5208      module.exports = castPath;
5209    }
5210  });
5211
5212  
vendor: 473 bytes, lines 5212-5228
5212// node_modules/lodash/_toKey.js
5213  var require_toKey = __commonJS({
5214    "node_modules/lodash/_toKey.js"(exports, module) {
5215      var isSymbol = require_isSymbol();
5216      var INFINITY = 1 / 0;
5217      function toKey(value) {
5218        if (typeof value == "string" || isSymbol(value)) {
5219          return value;
5220        }
5221        var result = value + "";
5222        return result == "0" && 1 / value == -INFINITY ? "-0" : result;
5223      }
5224      module.exports = toKey;
5225    }
5226  });
5227
5228  
vendor: 552 bytes, lines 5228-5245
5228// node_modules/lodash/_baseGet.js
5229  var require_baseGet = __commonJS({
5230    "node_modules/lodash/_baseGet.js"(exports, module) {
5231      var castPath = require_castPath();
5232      var toKey = require_toKey();
5233      function baseGet(object, path) {
5234        path = castPath(path, object);
5235        var index = 0, length = path.length;
5236        while (object != null && index < length) {
5237          object = object[toKey(path[index++])];
5238        }
5239        return index && index == length ? object : void 0;
5240      }
5241      module.exports = baseGet;
5242    }
5243  });
5244
5245  
vendor: 384 bytes, lines 5245-5257
5245// node_modules/lodash/get.js
5246  var require_get = __commonJS({
5247    "node_modules/lodash/get.js"(exports, module) {
5248      var baseGet = require_baseGet();
5249      function get3(object, path, defaultValue) {
5250        var result = object == null ? void 0 : baseGet(object, path);
5251        return result === void 0 ? defaultValue : result;
5252      }
5253      module.exports = get3;
5254    }
5255  });
5256
5257  
vendor: 288 bytes, lines 5257-5267
5257// node_modules/lodash/_baseHasIn.js
5258  var require_baseHasIn = __commonJS({
5259    "node_modules/lodash/_baseHasIn.js"(exports, module) {
5260      function baseHasIn(object, key) {
5261        return object != null && key in Object(object);
5262      }
5263      module.exports = baseHasIn;
5264    }
5265  });
5266
5267  
vendor: 1,035 bytes, lines 5267-5296
5267// node_modules/lodash/_hasPath.js
5268  var require_hasPath = __commonJS({
5269    "node_modules/lodash/_hasPath.js"(exports, module) {
5270      var castPath = require_castPath();
5271      var isArguments = require_isArguments();
5272      var isArray = require_isArray();
5273      var isIndex = require_isIndex();
5274      var isLength = require_isLength();
5275      var toKey = require_toKey();
5276      function hasPath(object, path, hasFunc) {
5277        path = castPath(path, object);
5278        var index = -1, length = path.length, result = false;
5279        while (++index < length) {
5280          var key = toKey(path[index]);
5281          if (!(result = object != null && hasFunc(object, key))) {
5282            break;
5283          }
5284          object = object[key];
5285        }
5286        if (result || ++index != length) {
5287          return result;
5288        }
5289        length = object == null ? 0 : object.length;
5290        return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object));
5291      }
5292      module.exports = hasPath;
5293    }
5294  });
5295
5296  
vendor: 360 bytes, lines 5296-5308
5296// node_modules/lodash/hasIn.js
5297  var require_hasIn = __commonJS({
5298    "node_modules/lodash/hasIn.js"(exports, module) {
5299      var baseHasIn = require_baseHasIn();
5300      var hasPath = require_hasPath();
5301      function hasIn(object, path) {
5302        return object != null && hasPath(object, path, baseHasIn);
5303      }
5304      module.exports = hasIn;
5305    }
5306  });
5307
5308  
vendor: 1,065 bytes, lines 5308-5333
5308// node_modules/lodash/_baseMatchesProperty.js
5309  var require_baseMatchesProperty = __commonJS({
5310    "node_modules/lodash/_baseMatchesProperty.js"(exports, module) {
5311      var baseIsEqual = require_baseIsEqual();
5312      var get3 = require_get();
5313      var hasIn = require_hasIn();
5314      var isKey = require_isKey();
5315      var isStrictComparable = require_isStrictComparable();
5316      var matchesStrictComparable = require_matchesStrictComparable();
5317      var toKey = require_toKey();
5318      var COMPARE_PARTIAL_FLAG = 1;
5319      var COMPARE_UNORDERED_FLAG = 2;
5320      function baseMatchesProperty(path, srcValue) {
5321        if (isKey(path) && isStrictComparable(srcValue)) {
5322          return matchesStrictComparable(toKey(path), srcValue);
5323        }
5324        return function(object) {
5325          var objValue = get3(object, path);
5326          return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);
5327        };
5328      }
5329      module.exports = baseMatchesProperty;
5330    }
5331  });
5332
5333  
vendor: 241 bytes, lines 5333-5343
5333// node_modules/lodash/identity.js
5334  var require_identity = __commonJS({
5335    "node_modules/lodash/identity.js"(exports, module) {
5336      function identity(value) {
5337        return value;
5338      }
5339      module.exports = identity;
5340    }
5341  });
5342
5343  
vendor: 340 bytes, lines 5343-5355
5343// node_modules/lodash/_baseProperty.js
5344  var require_baseProperty = __commonJS({
5345    "node_modules/lodash/_baseProperty.js"(exports, module) {
5346      function baseProperty(key) {
5347        return function(object) {
5348          return object == null ? void 0 : object[key];
5349        };
5350      }
5351      module.exports = baseProperty;
5352    }
5353  });
5354
5355  
vendor: 384 bytes, lines 5355-5368
5355// node_modules/lodash/_basePropertyDeep.js
5356  var require_basePropertyDeep = __commonJS({
5357    "node_modules/lodash/_basePropertyDeep.js"(exports, module) {
5358      var baseGet = require_baseGet();
5359      function basePropertyDeep(path) {
5360        return function(object) {
5361          return baseGet(object, path);
5362        };
5363      }
5364      module.exports = basePropertyDeep;
5365    }
5366  });
5367
5368  
vendor: 475 bytes, lines 5368-5382
5368// node_modules/lodash/property.js
5369  var require_property = __commonJS({
5370    "node_modules/lodash/property.js"(exports, module) {
5371      var baseProperty = require_baseProperty();
5372      var basePropertyDeep = require_basePropertyDeep();
5373      var isKey = require_isKey();
5374      var toKey = require_toKey();
5375      function property(path) {
5376        return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);
5377      }
5378      module.exports = property;
5379    }
5380  });
5381
5382  
vendor: 792 bytes, lines 5382-5406
5382// node_modules/lodash/_baseIteratee.js
5383  var require_baseIteratee = __commonJS({
5384    "node_modules/lodash/_baseIteratee.js"(exports, module) {
5385      var baseMatches = require_baseMatches();
5386      var baseMatchesProperty = require_baseMatchesProperty();
5387      var identity = require_identity();
5388      var isArray = require_isArray();
5389      var property = require_property();
5390      function baseIteratee(value) {
5391        if (typeof value == "function") {
5392          return value;
5393        }
5394        if (value == null) {
5395          return identity;
5396        }
5397        if (typeof value == "object") {
5398          return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value);
5399        }
5400        return property(value);
5401      }
5402      module.exports = baseIteratee;
5403    }
5404  });
5405
5406  
vendor: 910 bytes, lines 5406-5430
5406// node_modules/lodash/_createFind.js
5407  var require_createFind = __commonJS({
5408    "node_modules/lodash/_createFind.js"(exports, module) {
5409      var baseIteratee = require_baseIteratee();
5410      var isArrayLike = require_isArrayLike();
5411      var keys = require_keys();
5412      function createFind(findIndexFunc) {
5413        return function(collection, predicate, fromIndex) {
5414          var iterable = Object(collection);
5415          if (!isArrayLike(collection)) {
5416            var iteratee = baseIteratee(predicate, 3);
5417            collection = keys(collection);
5418            predicate = function(key) {
5419              return iteratee(iterable[key], key, iterable);
5420            };
5421          }
5422          var index = findIndexFunc(collection, predicate, fromIndex);
5423          return index > -1 ? iterable[iteratee ? collection[index] : index] : void 0;
5424        };
5425      }
5426      module.exports = createFind;
5427    }
5428  });
5429
5430  
vendor: 535 bytes, lines 5430-5446
5430// node_modules/lodash/_baseFindIndex.js
5431  var require_baseFindIndex = __commonJS({
5432    "node_modules/lodash/_baseFindIndex.js"(exports, module) {
5433      function baseFindIndex(array, predicate, fromIndex, fromRight) {
5434        var length = array.length, index = fromIndex + (fromRight ? 1 : -1);
5435        while (fromRight ? index-- : ++index < length) {
5436          if (predicate(array[index], index, array)) {
5437            return index;
5438          }
5439        }
5440        return -1;
5441      }
5442      module.exports = baseFindIndex;
5443    }
5444  });
5445
5446  
vendor: 424 bytes, lines 5446-5460
5446// node_modules/lodash/_trimmedEndIndex.js
5447  var require_trimmedEndIndex = __commonJS({
5448    "node_modules/lodash/_trimmedEndIndex.js"(exports, module) {
5449      var reWhitespace = /\s/;
5450      function trimmedEndIndex(string) {
5451        var index = string.length;
5452        while (index-- && reWhitespace.test(string.charAt(index))) {
5453        }
5454        return index;
5455      }
5456      module.exports = trimmedEndIndex;
5457    }
5458  });
5459
5460  
vendor: 413 bytes, lines 5460-5472
5460// node_modules/lodash/_baseTrim.js
5461  var require_baseTrim = __commonJS({
5462    "node_modules/lodash/_baseTrim.js"(exports, module) {
5463      var trimmedEndIndex = require_trimmedEndIndex();
5464      var reTrimStart = /^\s+/;
5465      function baseTrim(string) {
5466        return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
5467      }
5468      module.exports = baseTrim;
5469    }
5470  });
5471
5472  
vendor: 1,153 bytes, lines 5472-5505
5472// node_modules/lodash/toNumber.js
5473  var require_toNumber = __commonJS({
5474    "node_modules/lodash/toNumber.js"(exports, module) {
5475      var baseTrim = require_baseTrim();
5476      var isObject = require_isObject();
5477      var isSymbol = require_isSymbol();
5478      var NAN = 0 / 0;
5479      var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
5480      var reIsBinary = /^0b[01]+$/i;
5481      var reIsOctal = /^0o[0-7]+$/i;
5482      var freeParseInt = parseInt;
5483      function toNumber(value) {
5484        if (typeof value == "number") {
5485          return value;
5486        }
5487        if (isSymbol(value)) {
5488          return NAN;
5489        }
5490        if (isObject(value)) {
5491          var other = typeof value.valueOf == "function" ? value.valueOf() : value;
5492          value = isObject(other) ? other + "" : other;
5493        }
5494        if (typeof value != "string") {
5495          return value === 0 ? value : +value;
5496        }
5497        value = baseTrim(value);
5498        var isBinary = reIsBinary.test(value);
5499        return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
5500      }
5501      module.exports = toNumber;
5502    }
5503  });
5504
5505  
vendor: 631 bytes, lines 5505-5526
5505// node_modules/lodash/toFinite.js
5506  var require_toFinite = __commonJS({
5507    "node_modules/lodash/toFinite.js"(exports, module) {
5508      var toNumber = require_toNumber();
5509      var INFINITY = 1 / 0;
5510      var MAX_INTEGER = 17976931348623157e292;
5511      function toFinite(value) {
5512        if (!value) {
5513          return value === 0 ? value : 0;
5514        }
5515        value = toNumber(value);
5516        if (value === INFINITY || value === -INFINITY) {
5517          var sign = value < 0 ? -1 : 1;
5518          return sign * MAX_INTEGER;
5519        }
5520        return value === value ? value : 0;
5521      }
5522      module.exports = toFinite;
5523    }
5524  });
5525
5526  
vendor: 407 bytes, lines 5526-5538
5526// node_modules/lodash/toInteger.js
5527  var require_toInteger = __commonJS({
5528    "node_modules/lodash/toInteger.js"(exports, module) {
5529      var toFinite = require_toFinite();
5530      function toInteger(value) {
5531        var result = toFinite(value), remainder = result % 1;
5532        return result === result ? remainder ? result - remainder : result : 0;
5533      }
5534      module.exports = toInteger;
5535    }
5536  });
5537
5538  
vendor: 751 bytes, lines 5538-5560
5538// node_modules/lodash/findIndex.js
5539  var require_findIndex = __commonJS({
5540    "node_modules/lodash/findIndex.js"(exports, module) {
5541      var baseFindIndex = require_baseFindIndex();
5542      var baseIteratee = require_baseIteratee();
5543      var toInteger = require_toInteger();
5544      var nativeMax = Math.max;
5545      function findIndex(array, predicate, fromIndex) {
5546        var length = array == null ? 0 : array.length;
5547        if (!length) {
5548          return -1;
5549        }
5550        var index = fromIndex == null ? 0 : toInteger(fromIndex);
5551        if (index < 0) {
5552          index = nativeMax(length + index, 0);
5553        }
5554        return baseFindIndex(array, baseIteratee(predicate, 3), index);
5555      }
5556      module.exports = findIndex;
5557    }
5558  });
5559
5560  
vendor: 292 bytes, lines 5560-5570
5560// node_modules/lodash/find.js
5561  var require_find = __commonJS({
5562    "node_modules/lodash/find.js"(exports, module) {
5563      var createFind = require_createFind();
5564      var findIndex = require_findIndex();
5565      var find3 = createFind(findIndex);
5566      module.exports = find3;
5567    }
5568  });
5569
5570  
5570// packages/systems/ix2/shared/logic/IX2BrowserSupport.ts
5571  var IX2BrowserSupport_exports = {};
5572  __export(IX2BrowserSupport_exports, {
5573    ELEMENT_MATCHES: () => ELEMENT_MATCHES,
5574    FLEX_PREFIXED: () => FLEX_PREFIXED,
5575    IS_BROWSER_ENV: () => IS_BROWSER_ENV,
5576    TRANSFORM_PREFIXED: () => TRANSFORM_PREFIXED,
5577    TRANSFORM_STYLE_PREFIXED: () => TRANSFORM_STYLE_PREFIXED,
5578    withBrowser: () => withBrowser
5579  });
5580  var import_find, IS_BROWSER_ENV, withBrowser, ELEMENT_MATCHES, FLEX_PREFIXED, TRANSFORM_PREFIXED, TRANSFORM_PREFIX, TRANSFORM_STYLE_PREFIXED;
5581  var init_IX2BrowserSupport = __esm({
5582    "packages/systems/ix2/shared/logic/IX2BrowserSupport.ts"() {
5583      "use strict";
5584      import_find = __toESM(require_find());
5585      IS_BROWSER_ENV = typeof window !== "undefined";
5586      withBrowser = (fn, fallback) => {
5587        if (IS_BROWSER_ENV) {
5588          return fn();
5589        }
5590        return fallback;
5591      };
5592      ELEMENT_MATCHES = withBrowser(() => {
5593        return (0, import_find.default)(
5594          [
5595            "matches",
5596            "matchesSelector",
5597            "mozMatchesSelector",
5598            "msMatchesSelector",
5599            "oMatchesSelector",
5600            "webkitMatchesSelector"
5601          ],
5602          (key) => key in Element.prototype
5603        );
5604      });
5605      FLEX_PREFIXED = withBrowser(() => {
5606        const el = document.createElement("i");
5607        const values = [
5608          "flex",
5609          "-webkit-flex",
5610          "-ms-flexbox",
5611          "-moz-box",
5612          "-webkit-box"
5613        ];
5614        const none = "";
5615        try {
5616          const { length } = values;
5617          for (let i = 0; i < length; i++) {
5618            const value = values[i];
5619            el.style.display = value;
5620            if (el.style.display === value) {
5621              return value;
5622            }
5623          }
5624          return none;
5625        } catch (err) {
5626          return none;
5627        }
5628      }, "flex");
5629      TRANSFORM_PREFIXED = withBrowser(() => {
5630        const el = document.createElement("i");
5631        if (el.style.transform == null) {
5632          const prefixes = ["Webkit", "Moz", "ms"];
5633          const suffix = "Transform";
5634          const { length } = prefixes;
5635          for (let i = 0; i < length; i++) {
5636            const prop = prefixes[i] + suffix;
5637            if (el.style[prop] !== void 0) {
5638              return prop;
5639            }
5640          }
5641        }
5642        return "transform";
5643      }, "transform");
5644      TRANSFORM_PREFIX = TRANSFORM_PREFIXED.split("transform")[0];
5645      TRANSFORM_STYLE_PREFIXED = TRANSFORM_PREFIX ? TRANSFORM_PREFIX + "TransformStyle" : "transformStyle";
5646    }
5647  });
5648
5649  
vendor: 3,496 bytes, lines 5649-5743
5649// node_modules/bezier-easing/src/index.js
5650  var require_src = __commonJS({
5651    "node_modules/bezier-easing/src/index.js"(exports, module) {
5652      var NEWTON_ITERATIONS = 4;
5653      var NEWTON_MIN_SLOPE = 1e-3;
5654      var SUBDIVISION_PRECISION = 1e-7;
5655      var SUBDIVISION_MAX_ITERATIONS = 10;
5656      var kSplineTableSize = 11;
5657      var kSampleStepSize = 1 / (kSplineTableSize - 1);
5658      var float32ArraySupported = typeof Float32Array === "function";
5659      function A(aA1, aA2) {
5660        return 1 - 3 * aA2 + 3 * aA1;
5661      }
5662      function B(aA1, aA2) {
5663        return 3 * aA2 - 6 * aA1;
5664      }
5665      function C(aA1) {
5666        return 3 * aA1;
5667      }
5668      function calcBezier(aT, aA1, aA2) {
5669        return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
5670      }
5671      function getSlope(aT, aA1, aA2) {
5672        return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
5673      }
5674      function binarySubdivide(aX, aA, aB, mX1, mX2) {
5675        var currentX, currentT, i = 0;
5676        do {
5677          currentT = aA + (aB - aA) / 2;
5678          currentX = calcBezier(currentT, mX1, mX2) - aX;
5679          if (currentX > 0) {
5680            aB = currentT;
5681          } else {
5682            aA = currentT;
5683          }
5684        } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
5685        return currentT;
5686      }
5687      function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
5688        for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
5689          var currentSlope = getSlope(aGuessT, mX1, mX2);
5690          if (currentSlope === 0) {
5691            return aGuessT;
5692          }
5693          var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
5694          aGuessT -= currentX / currentSlope;
5695        }
5696        return aGuessT;
5697      }
5698      module.exports = function bezier(mX1, mY1, mX2, mY2) {
5699        if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {
5700          throw new Error("bezier x values must be in [0, 1] range");
5701        }
5702        var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
5703        if (mX1 !== mY1 || mX2 !== mY2) {
5704          for (var i = 0; i < kSplineTableSize; ++i) {
5705            sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
5706          }
5707        }
5708        function getTForX(aX) {
5709          var intervalStart = 0;
5710          var currentSample = 1;
5711          var lastSample = kSplineTableSize - 1;
5712          for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {
5713            intervalStart += kSampleStepSize;
5714          }
5715          --currentSample;
5716          var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);
5717          var guessForT = intervalStart + dist * kSampleStepSize;
5718          var initialSlope = getSlope(guessForT, mX1, mX2);
5719          if (initialSlope >= NEWTON_MIN_SLOPE) {
5720            return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
5721          } else if (initialSlope === 0) {
5722            return guessForT;
5723          } else {
5724            return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
5725          }
5726        }
5727        return function BezierEasing3(x) {
5728          if (mX1 === mY1 && mX2 === mY2) {
5729            return x;
5730          }
5731          if (x === 0) {
5732            return 0;
5733          }
5734          if (x === 1) {
5735            return 1;
5736          }
5737          return calcBezier(getTForX(x), mY1, mY2);
5738        };
5739      };
5740    }
5741  });
5742
5743  
5743// packages/systems/ix2/shared/logic/IX2Easings.ts
5744  var IX2Easings_exports = {};
5745  __export(IX2Easings_exports, {
5746    bounce: () => bounce,
5747    bouncePast: () => bouncePast,
5748    ease: () => ease,
5749    easeIn: () => easeIn,
5750    easeInOut: () => easeInOut,
5751    easeOut: () => easeOut,
5752    inBack: () => inBack,
5753    inCirc: () => inCirc,
5754    inCubic: () => inCubic,
5755    inElastic: () => inElastic,
5756    inExpo: () => inExpo,
5757    inOutBack: () => inOutBack,
5758    inOutCirc: () => inOutCirc,
5759    inOutCubic: () => inOutCubic,
5760    inOutElastic: () => inOutElastic,
5761    inOutExpo: () => inOutExpo,
5762    inOutQuad: () => inOutQuad,
5763    inOutQuart: () => inOutQuart,
5764    inOutQuint: () => inOutQuint,
5765    inOutSine: () => inOutSine,
5766    inQuad: () => inQuad,
5767    inQuart: () => inQuart,
5768    inQuint: () => inQuint,
5769    inSine: () => inSine,
5770    outBack: () => outBack,
5771    outBounce: () => outBounce,
5772    outCirc: () => outCirc,
5773    outCubic: () => outCubic,
5774    outElastic: () => outElastic,
5775    outExpo: () => outExpo,
5776    outQuad: () => outQuad,
5777    outQuart: () => outQuart,
5778    outQuint: () => outQuint,
5779    outSine: () => outSine,
5780    swingFrom: () => swingFrom,
5781    swingFromTo: () => swingFromTo,
5782    swingTo: () => swingTo
5783  });
5784  function inQuad(pos) {
5785    return Math.pow(pos, 2);
5786  }
5787  function outQuad(pos) {
5788    return -(Math.pow(pos - 1, 2) - 1);
5789  }
5790  function inOutQuad(pos) {
5791    if ((pos /= 0.5) < 1) {
5792      return 0.5 * Math.pow(pos, 2);
5793    }
5794    return -0.5 * ((pos -= 2) * pos - 2);
5795  }
5796  function inCubic(pos) {
5797    return Math.pow(pos, 3);
5798  }
5799  function outCubic(pos) {
5800    return Math.pow(pos - 1, 3) + 1;
5801  }
5802  function inOutCubic(pos) {
5803    if ((pos /= 0.5) < 1) {
5804      return 0.5 * Math.pow(pos, 3);
5805    }
5806    return 0.5 * (Math.pow(pos - 2, 3) + 2);
5807  }
5808  function inQuart(pos) {
5809    return Math.pow(pos, 4);
5810  }
5811  function outQuart(pos) {
5812    return -(Math.pow(pos - 1, 4) - 1);
5813  }
5814  function inOutQuart(pos) {
5815    if ((pos /= 0.5) < 1) {
5816      return 0.5 * Math.pow(pos, 4);
5817    }
5818    return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2);
5819  }
5820  function inQuint(pos) {
5821    return Math.pow(pos, 5);
5822  }
5823  function outQuint(pos) {
5824    return Math.pow(pos - 1, 5) + 1;
5825  }
5826  function inOutQuint(pos) {
5827    if ((pos /= 0.5) < 1) {
5828      return 0.5 * Math.pow(pos, 5);
5829    }
5830    return 0.5 * (Math.pow(pos - 2, 5) + 2);
5831  }
5832  function inSine(pos) {
5833    return -Math.cos(pos * (Math.PI / 2)) + 1;
5834  }
5835  function outSine(pos) {
5836    return Math.sin(pos * (Math.PI / 2));
5837  }
5838  function inOutSine(pos) {
5839    return -0.5 * (Math.cos(Math.PI * pos) - 1);
5840  }
5841  function inExpo(pos) {
5842    return pos === 0 ? 0 : Math.pow(2, 10 * (pos - 1));
5843  }
5844  function outExpo(pos) {
5845    return pos === 1 ? 1 : -Math.pow(2, -10 * pos) + 1;
5846  }
5847  function inOutExpo(pos) {
5848    if (pos === 0) {
5849      return 0;
5850    }
5851    if (pos === 1) {
5852      return 1;
5853    }
5854    if ((pos /= 0.5) < 1) {
5855      return 0.5 * Math.pow(2, 10 * (pos - 1));
5856    }
5857    return 0.5 * (-Math.pow(2, -10 * --pos) + 2);
5858  }
5859  function inCirc(pos) {
5860    return -(Math.sqrt(1 - pos * pos) - 1);
5861  }
5862  function outCirc(pos) {
5863    return Math.sqrt(1 - Math.pow(pos - 1, 2));
5864  }
5865  function inOutCirc(pos) {
5866    if ((pos /= 0.5) < 1) {
5867      return -0.5 * (Math.sqrt(1 - pos * pos) - 1);
5868    }
5869    return 0.5 * (Math.sqrt(1 - (pos -= 2) * pos) + 1);
5870  }
5871  function outBounce(pos) {
5872    if (pos < 1 / 2.75) {
5873      return 7.5625 * pos * pos;
5874    } else if (pos < 2 / 2.75) {
5875      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
5876    } else if (pos < 2.5 / 2.75) {
5877      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
5878    } else {
5879      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
5880    }
5881  }
5882  function inBack(pos) {
5883    const s = magicSwing;
5884    return pos * pos * ((s + 1) * pos - s);
5885  }
5886  function outBack(pos) {
5887    const s = magicSwing;
5888    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
5889  }
5890  function inOutBack(pos) {
5891    let s = magicSwing;
5892    if ((pos /= 0.5) < 1) {
5893      return 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s));
5894    }
5895    return 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2);
5896  }
5897  function inElastic(pos) {
5898    let s = magicSwing;
5899    let p = 0;
5900    let a = 1;
5901    if (pos === 0) {
5902      return 0;
5903    }
5904    if (pos === 1) {
5905      return 1;
5906    }
5907    if (!p) {
5908      p = 0.3;
5909    }
5910    if (a < 1) {
5911      a = 1;
5912      s = p / 4;
5913    } else {
5914      s = p / (2 * Math.PI) * Math.asin(1 / a);
5915    }
5916    return -(a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s
5916) * (2 * Math.PI) / p));
5917  }
5918  function outElastic(pos) {
5919    let s = magicSwing;
5920    let p = 0;
5921    let a = 1;
5922    if (pos === 0) {
5923      return 0;
5924    }
5925    if (pos === 1) {
5926      return 1;
5927    }
5928    if (!p) {
5929      p = 0.3;
5930    }
5931    if (a < 1) {
5932      a = 1;
5933      s = p / 4;
5934    } else {
5935      s = p / (2 * Math.PI) * Math.asin(1 / a);
5936    }
5937    return a * Math.pow(2, -10 * pos) * Math.sin((pos - s) * (2 * Math.PI) / p) + 1;
5938  }
5939  function inOutElastic(pos) {
5940    let s = magicSwing;
5941    let p = 0;
5942    let a = 1;
5943    if (pos === 0) {
5944      return 0;
5945    }
5946    if ((pos /= 1 / 2) === 2) {
5947      return 1;
5948    }
5949    if (!p) {
5950      p = 0.3 * 1.5;
5951    }
5952    if (a < 1) {
5953      a = 1;
5954      s = p / 4;
5955    } else {
5956      s = p / (2 * Math.PI) * Math.asin(1 / a);
5957    }
5958    if (pos < 1) {
5959      return -0.5 * (a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p));
5960    }
5961    return a * Math.pow(2, -10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p) * 0.5 + 1;
5962  }
5963  function swingFromTo(pos) {
5964    let s = magicSwing;
5965    return (pos /= 0.5) < 1 ? 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s)) : 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2);
5966  }
5967  function swingFrom(pos) {
5968    const s = magicSwing;
5969    return pos * pos * ((s + 1) * pos - s);
5970  }
5971  function swingTo(pos) {
5972    const s = magicSwing;
5973    return (pos -= 1) * pos * ((s + 1) * pos + s) + 1;
5974  }
5975  function bounce(pos) {
5976    if (pos < 1 / 2.75) {
5977      return 7.5625 * pos * pos;
5978    } else if (pos < 2 / 2.75) {
5979      return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75;
5980    } else if (pos < 2.5 / 2.75) {
5981      return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375;
5982    } else {
5983      return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375;
5984    }
5985  }
5986  function bouncePast(pos) {
5987    if (pos < 1 / 2.75) {
5988      return 7.5625 * pos * pos;
5989    } else if (pos < 2 / 2.75) {
5990      return 2 - (7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75);
5991    } else if (pos < 2.5 / 2.75) {
5992      return 2 - (7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375);
5993    } else {
5994      return 2 - (7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375);
5995    }
5996  }
5997  var import_bezier_easing, magicSwing, ease, easeIn, easeOut, easeInOut;
5998  var init_IX2Easings = __esm({
5999    "packages/systems/ix2/shared/logic/IX2Easings.ts"() {
6000      "use strict";
6001      import_bezier_easing = __toESM(require_src());
6002      magicSwing = 1.70158;
6003      ease = (0, import_bezier_easing.default)(0.25, 0.1, 0.25, 1);
6004      easeIn = (0, import_bezier_easing.default)(0.42, 0, 1, 1);
6005      easeOut = (0, import_bezier_easing.default)(0, 0, 0.58, 1);
6006      easeInOut = (0, import_bezier_easing.default)(0.42, 0, 0.58, 1);
6007    }
6008  });
6009
6010  
6010// packages/systems/ix2/shared/logic/IX2EasingUtils.ts
6011  var IX2EasingUtils_exports = {};
6012  __export(IX2EasingUtils_exports, {
6013    applyEasing: () => applyEasing,
6014    createBezierEasing: () => createBezierEasing,
6015    optimizeFloat: () => optimizeFloat
6016  });
6017  function optimizeFloat(value, digits = 5, base = 10) {
6018    const pow = Math.pow(base, digits);
6019    const float = Number(Math.round(value * pow) / pow);
6020    return Math.abs(float) > 1e-4 ? float : 0;
6021  }
6022  function createBezierEasing(easing) {
6023    return (0, import_bezier_easing2.default)(...easing);
6024  }
6025  function applyEasing(easing, position, customEasingFn) {
6026    if (position === 0) {
6027      return 0;
6028    }
6029    if (position === 1) {
6030      return 1;
6031    }
6032    if (customEasingFn) {
6033      return optimizeFloat(position > 0 ? customEasingFn(position) : position);
6034    }
6035    return optimizeFloat(
6036      position > 0 && easing && IX2Easings_exports[easing] ? IX2Easings_exports[easing](position) : position
6037    );
6038  }
6039  var import_bezier_easing2;
6040  var init_IX2EasingUtils = __esm({
6041    "packages/systems/ix2/shared/logic/IX2EasingUtils.ts"() {
6042      "use strict";
6043      init_IX2Easings();
6044      import_bezier_easing2 = __toESM(require_src());
6045    }
6046  });
6047
6048  
6048// packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts
6049  var IX2ElementsReducer_exports = {};
6050  __export(IX2ElementsReducer_exports, {
6051    createElementState: () => createElementState,
6052    ixElements: () => ixElements,
6053    mergeActionState: () => mergeActionState
6054  });
6055  function createElementState(state, ref, refType, elementId, actionItem) {
6056    const refId = refType === PLAIN_OBJECT2 ? (0, import_timm3.getIn)(actionItem, ["config", "target", "objectId"]) : null;
6057    return (0, import_timm3.mergeIn)(state, [elementId], {
6058      id: elementId,
6059      ref,
6060      refId,
6061      refType
6062    });
6063  }
6064  function mergeActionState(state, elementId, actionTypeId, actionState, actionItem) {
6065    const units = pickUnits(actionItem);
6066    const mergePath = [elementId, refState, actionTypeId];
6067    return (0, import_timm3.mergeIn)(state, mergePath, actionState, units);
6068  }
6069  function pickUnits(actionItem) {
6070    const { config } = actionItem;
6071    return valueUnitPairs.reduce((result, pair) => {
6072      const valueKey = pair[0];
6073      const unitKey = pair[1];
6074      const configValue = config[valueKey];
6075      const configUnit = config[unitKey];
6076      if (configValue != null && configUnit != null) {
6077        result[unitKey] = configUnit;
6078      }
6079      return result;
6080    }, {});
6081  }
6082  var import_timm3, HTML_ELEMENT2, PLAIN_OBJECT2, ABSTRACT_NODE2, CONFIG_X_VALUE2, CONFIG_Y_VALUE2, CONFIG_Z_VALUE2, CONFIG_VALUE2, CONFIG_X_UNIT2, CONFIG_Y_UNIT2, CONFIG_Z_UNIT2, CONFIG_UNIT2, IX2_SESSION_STOPPED3, IX2_INSTANCE_ADDED2, IX2_ELEMENT_STATE_CHANGED2, initialState3, refState, ixElements, valueUnitPairs;
6083  var init_IX2ElementsReducer = __esm({
6084    "packages/systems/ix2/shared/reducers/IX2ElementsReducer.ts"() {
6085      "use strict";
6086      import_timm3 = __toESM(require_timm());
6087      init_shared_constants();
6088      ({
6089        HTML_ELEMENT: HTML_ELEMENT2,
6090        PLAIN_OBJECT: PLAIN_OBJECT2,
6091        ABSTRACT_NODE: ABSTRACT_NODE2,
6092        CONFIG_X_VALUE: CONFIG_X_VALUE2,
6093        CONFIG_Y_VALUE: CONFIG_Y_VALUE2,
6094        CONFIG_Z_VALUE: CONFIG_Z_VALUE2,
6095        CONFIG_VALUE: CONFIG_VALUE2,
6096        CONFIG_X_UNIT: CONFIG_X_UNIT2,
6097        CONFIG_Y_UNIT: CONFIG_Y_UNIT2,
6098        CONFIG_Z_UNIT: CONFIG_Z_UNIT2,
6099        CONFIG_UNIT: CONFIG_UNIT2
6100      } = IX2EngineConstants_exports);
6101      ({ IX2_SESSION_STOPPED: IX2_SESSION_STOPPED3, IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED2, IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED2 } = IX2EngineActionTypes_exports);
6102      initialState3 = {};
6103      refState = "refState";
6104      ixElements = (state = initialState3, action = {}) => {
6105        switch (action.type) {
6106          case IX2_SESSION_STOPPED3: {
6107            return initialState3;
6108          }
6109          case IX2_INSTANCE_ADDED2: {
6110            const {
6111              elementId,
6112              element: ref,
6113              origin,
6114              actionItem,
6115              refType
6116            } = action.payload;
6117            const { actionTypeId } = actionItem;
6118            let newState = state;
6119            if ((0, import_timm3.getIn)(newState, [elementId, ref]) !== ref) {
6120              newState = createElementState(
6121                newState,
6122                ref,
6123                refType,
6124                elementId,
6125                actionItem
6126              );
6127            }
6128            return mergeActionState(
6129              newState,
6130              elementId,
6131              actionTypeId,
6132              origin,
6133              actionItem
6134            );
6135          }
6136          case IX2_ELEMENT_STATE_CHANGED2: {
6137            const { elementId, actionTypeId, current, actionItem } = action.payload;
6138            return mergeActionState(
6139              state,
6140              elementId,
6141              actionTypeId,
6142              current,
6143              actionItem
6144            );
6145          }
6146          default: {
6147            return state;
6148          }
6149        }
6150      };
6151      valueUnitPairs = [
6152        [CONFIG_X_VALUE2, CONFIG_X_UNIT2],
6153        [CONFIG_Y_VALUE2, CONFIG_Y_UNIT2],
6154        [CONFIG_Z_VALUE2, CONFIG_Z_UNIT2],
6155        [CONFIG_VALUE2, CONFIG_UNIT2]
6156      ];
6157    }
6158  });
6159
6160  
6160// packages/systems/ix2/plugins/IX2Lottie.js
6161  var require_IX2Lottie = __commonJS({
6162    "packages/systems/ix2/plugins/IX2Lottie.js"(exports) {
6163      "use strict";
6164      Object.defineProperty(exports, "__esModule", {
6165        value: true
6166      });
6167      function _export(target, all) {
6168        for (var name in all)
6169          Object.defineProperty(target, name, {
6170            enumerable: true,
6171            get: all[name]
6172          });
6173      }
6174      _export(exports, {
6175        clearPlugin: function() {
6176          return clearPlugin2;
6177        },
6178        createPluginInstance: function() {
6179          return createPluginInstance3;
6180        },
6181        getPluginConfig: function() {
6182          return getPluginConfig2;
6183        },
6184        getPluginDestination: function() {
6185          return getPluginDestination2;
6186        },
6187        getPluginDuration: function() {
6188          return getPluginDuration3;
6189        },
6190        getPluginOrigin: function() {
6191          return getPluginOrigin2;
6192        },
6193        renderPlugin: function() {
6194          return renderPlugin2;
6195        }
6196      });
6197      var getPluginConfig2 = (actionItemConfig) => {
6198        return actionItemConfig.value;
6199      };
6200      var getPluginDuration3 = (element, actionItem) => {
6201        if (actionItem.config.duration !== "auto") {
6202          return null;
6203        }
6204        const duration = parseFloat(element.getAttribute("data-duration"));
6205        if (duration > 0) {
6206          return duration * 1e3;
6207        }
6208        return parseFloat(element.getAttribute("data-default-duration")) * 1e3;
6209      };
6210      var getPluginOrigin2 = (refState2) => {
6211        return refState2 || {
6212          value: 0
6213        };
6214      };
6215      var getPluginDestination2 = (actionItemConfig) => {
6216        return {
6217          value: actionItemConfig.value
6218        };
6219      };
6220      var createPluginInstance3 = (element) => {
6221        const instance = window.Webflow.require("lottie").createInstance(element);
6222        instance.stop();
6223        instance.setSubframe(true);
6224        return instance;
6225      };
6226      var renderPlugin2 = (pluginInstance, refState2, actionItem) => {
6227        if (!pluginInstance) {
6228          return;
6229        }
6230        const percent = refState2[actionItem.actionTypeId].value / 100;
6231        pluginInstance.goToFrame(pluginInstance.frames * percent);
6232      };
6233      var clearPlugin2 = (element) => {
6234        const instance = window.Webflow.require("lottie").createInstance(element);
6235        instance.stop();
6236      };
6237    }
6238  });
6239
6240  
6240// packages/systems/ix2/plugins/IX2Spline.js
6241  var require_IX2Spline = __commonJS({
6242    "packages/systems/ix2/plugins/IX2Spline.js"(exports) {
6243      "use strict";
6244      Object.defineProperty(exports, "__esModule", {
6245        value: true
6246      });
6247      function _export(target, all) {
6248        for (var name in all)
6249          Object.defineProperty(target, name, {
6250            enumerable: true,
6251            get: all[name]
6252          });
6253      }
6254      _export(exports, {
6255        clearPlugin: function() {
6256          return clearPlugin2;
6257        },
6258        createPluginInstance: function() {
6259          return createPluginInstance3;
6260        },
6261        getPluginConfig: function() {
6262          return getPluginConfig2;
6263        },
6264        getPluginDestination: function() {
6265          return getPluginDestination2;
6266        },
6267        getPluginDuration: function() {
6268          return getPluginDuration3;
6269        },
6270        getPluginOrigin: function() {
6271          return getPluginOrigin2;
6272        },
6273        renderPlugin: function() {
6274          return renderPlugin2;
6275        }
6276      });
6277      var queryContainerElement = (elementId) => document.querySelector(`[data-w-id="${elementId}"]`);
6278      var getFrontendModule = () => window.Webflow.require("spline");
6279      var difference = (arr1, arr2) => arr1.filter((x) => !arr2.includes(x));
6280      var getPluginConfig2 = (actionItemConfig, key) => {
6281        return actionItemConfig.value[key];
6282      };
6283      var getPluginDuration3 = () => {
6284        return null;
6285      };
6286      var DEFAULT_VALUES = Object.freeze({
6287        positionX: 0,
6288        positionY: 0,
6289        positionZ: 0,
6290        rotationX: 0,
6291        rotationY: 0,
6292        rotationZ: 0,
6293        scaleX: 1,
6294        scaleY: 1,
6295        scaleZ: 1
6296      });
6297      var getPluginOrigin2 = (refState2, actionItem) => {
6298        const destination = actionItem.config.value;
6299        const destinationKeys = Object.keys(destination);
6300        if (refState2) {
6301          const stateKeys2 = Object.keys(refState2);
6302          const diffKeys = difference(destinationKeys, stateKeys2);
6303          if (diffKeys.length) {
6304            const origin2 = diffKeys.reduce((result, key) => {
6305              result[key] = DEFAULT_VALUES[key];
6306              return result;
6307            }, refState2);
6308            return origin2;
6309          }
6310          return refState2;
6311        }
6312        const origin = destinationKeys.reduce((result, key) => {
6313          result[key] = DEFAULT_VALUES[key];
6314          return result;
6315        }, {});
6316        return origin;
6317      };
6318      var getPluginDestination2 = (actionItemConfig) => {
6319        return actionItemConfig.value;
6320      };
6321      var createPluginInstance3 = (element, actionItem) => {
6322        const pluginElementId = actionItem?.config?.target?.pluginElement;
6323        return pluginElementId ? queryContainerElement(pluginElementId) : null;
6324      };
6325      var renderPlugin2 = (containerElement, refState2, actionItem) => {
6326        const frontendModule = getFrontendModule();
6327        const instance = frontendModule.getInstance(containerElement);
6328        const objectId = actionItem.config.target.objectId;
6329        const renderSpline = (spline) => {
6330          if (!spline) {
6331            throw new Error("Invalid spline app passed to renderSpline");
6332          }
6333          const obj = objectId && spline.findObjectById(objectId);
6334          if (!obj) {
6335            return;
6336          }
6337          const { PLUGIN_SPLINE: props } = refState2;
6338          if (props.positionX != null) {
6339            obj.position.x = props.positionX;
6340          }
6341          if (props.positionY != null) {
6342            obj.position.y = props.positionY;
6343          }
6344          if (props.positionZ != null) {
6345            obj.position.z = props.positionZ;
6346          }
6347          if (props.rotationX != null) {
6348            obj.rotation.x = props.rotationX;
6349          }
6350          if (props.rotationY != null) {
6351            obj.rotation.y = props.rotationY;
6352          }
6353          if (props.rotationZ != null) {
6354            obj.rotation.z = props.rotationZ;
6355          }
6356          if (props.scaleX != null) {
6357            obj.scale.x = props.scaleX;
6358          }
6359          if (props.scaleY != null) {
6360            obj.scale.y = props.scaleY;
6361          }
6362          if (props.scaleZ != null) {
6363            obj.scale.z = props.scaleZ;
6364          }
6365        };
6366        if (instance) {
6367          renderSpline(instance.spline);
6368        } else {
6369          frontendModule.setLoadHandler(containerElement, renderSpline);
6370        }
6371      };
6372      var clearPlugin2 = () => {
6373        return null;
6374      };
6375    }
6376  });
6377
6378  
6378// packages/systems/ix2/shared-utils/normalizeColor.js
6379  var require_normalizeColor = __commonJS({
6380    "packages/systems/ix2/shared-utils/normalizeColor.js"(exports) {
6381      "use strict";
6382      Object.defineProperty(exports, "__esModule", {
6383        value: true
6384      });
6385      Object.defineProperty(exports, "normalizeColor", {
6386        enumerable: true,
6387        get: function() {
6388          return normalizeColor2;
6389        }
6390      });
6391      var colorNamesObj = {
6392        aliceblue: "#F0F8FF",
6393        antiquewhite: "#FAEBD7",
6394        aqua: "#00FFFF",
6395        aquamarine: "#7FFFD4",
6396        azure: "#F0FFFF",
6397        beige: "#F5F5DC",
6398        bisque: "#FFE4C4",
6399        black: "#000000",
6400        blanchedalmond: "#FFEBCD",
6401        blue: "#0000FF",
6402        blueviolet: "#8A2BE2",
6403        brown: "#A52A2A",
6404        burlywood: "#DEB887",
6405        cadetblue: "#5F9EA0",
6406        chartreuse: "#7FFF00",
6407        chocolate: "#D2691E",
6408        coral: "#FF7F50",
6409        cornflowerblue: "#6495ED",
6410        cornsilk: "#FFF8DC",
6411        crimson: "#DC143C",
6412        cyan: "#00FFFF",
6413        darkblue: "#00008B",
6414        darkcyan: "#008B8B",
6415        darkgoldenrod: "#B8860B",
6416        darkgray: "#A9A9A9",
6417        darkgreen: "#006400",
6418        darkgrey: "#A9A9A9",
6419        darkkhaki: "#BDB76B",
6420        darkmagenta: "#8B008B",
6421        darkolivegreen: "#556B2F",
6422        darkorange: "#FF8C00",
6423        darkorchid: "#9932CC",
6424        darkred: "#8B0000",
6425        darksalmon: "#E9967A",
6426        darkseagreen: "#8FBC8F",
6427        darkslateblue: "#483D8B",
6428        darkslategray: "#2F4F4F",
6429        darkslategrey: "#2F4F4F",
6430        darkturquoise: "#00CED1",
6431        darkviolet: "#9400D3",
6432        deeppink: "#FF1493",
6433        deepskyblue: "#00BFFF",
6434        dimgray: "#696969",
6435        dimgrey: "#696969",
6436        dodgerblue: "#1E90FF",
6437        firebrick: "#B22222",
6438        floralwhite: "#FFFAF0",
6439        forestgreen: "#228B22",
6440        fuchsia: "#FF00FF",
6441        gainsboro: "#DCDCDC",
6442        ghostwhite: "#F8F8FF",
6443        gold: "#FFD700",
6444        goldenrod: "#DAA520",
6445        gray: "#808080",
6446        green: "#008000",
6447        greenyellow: "#ADFF2F",
6448        grey: "#808080",
6449        honeydew: "#F0FFF0",
6450        hotpink: "#FF69B4",
6451        indianred: "#CD5C5C",
6452        indigo: "#4B0082",
6453        ivory: "#FFFFF0",
6454        khaki: "#F0E68C",
6455        lavender: "#E6E6FA",
6456        lavenderblush: "#FFF0F5",
6457        lawngreen: "#7CFC00",
6458        lemonchiffon: "#FFFACD",
6459        lightblue: "#ADD8E6",
6460        lightcoral: "#F08080",
6461        lightcyan: "#E0FFFF",
6462        lightgoldenrodyellow: "#FAFAD2",
6463        lightgray: "#D3D3D3",
6464        lightgreen: "#90EE90",
6465        lightgrey: "#D3D3D3",
6466        lightpink: "#FFB6C1",
6467        lightsalmon: "#FFA07A",
6468        lightseagreen: "#20B2AA",
6469        lightskyblue: "#87CEFA",
6470        lightslategray: "#778899",
6471        lightslategrey: "#778899",
6472        lightsteelblue: "#B0C4DE",
6473        lightyellow: "#FFFFE0",
6474        lime: "#00FF00",
6475        limegreen: "#32CD32",
6476        linen: "#FAF0E6",
6477        magenta: "#FF00FF",
6478        maroon: "#800000",
6479        mediumaquamarine: "#66CDAA",
6480        mediumblue: "#0000CD",
6481        mediumorchid: "#BA55D3",
6482        mediumpurple: "#9370DB",
6483        mediumseagreen: "#3CB371",
6484        mediumslateblue: "#7B68EE",
6485        mediumspringgreen: "#00FA9A",
6486        mediumturquoise: "#48D1CC",
6487        mediumvioletred: "#C71585",
6488        midnightblue: "#191970",
6489        mintcream: "#F5FFFA",
6490        mistyrose: "#FFE4E1",
6491        moccasin: "#FFE4B5",
6492        navajowhite: "#FFDEAD",
6493        navy: "#000080",
6494        oldlace: "#FDF5E6",
6495        olive: "#808000",
6496        olivedrab: "#6B8E23",
6497        orange: "#FFA500",
6498        orangered: "#FF4500",
6499        orchid: "#DA70D6",
6500        palegoldenrod: "#EEE8AA",
6501        palegreen: "#98FB98",
6502        paleturquoise: "#AFEEEE",
6503        palevioletred: "#DB7093",
6504        papayawhip: "#FFEFD5",
6505        peachpuff: "#FFDAB9",
6506        peru: "#CD853F",
6507        pink: "#FFC0CB",
6508        plum: "#DDA0DD",
6509        powderblue: "#B0E0E6",
6510        purple: "#800080",
6511        rebeccapurple: "#663399",
6512        red: "#FF0000",
6513        rosybrown: "#BC8F8F",
6514        royalblue: "#4169E1",
6515        saddlebrown: "#8B4513",
6516        salmon: "#FA8072",
6517        sandybrown: "#F4A460",
6518        seagreen: "#2E8B57",
6519        seashell: "#FFF5EE",
6520        sienna: "#A0522D",
6521        silver: "#C0C0C0",
6522        skyblue: "#87CEEB",
6523        slateblue: "#6A5ACD",
6524        slategray: "#708090",
6525        slategrey: "#708090",
6526        snow: "#FFFAFA",
6527        springgreen: "#00FF7F",
6528        steelblue: "#4682B4",
6529        tan: "#D2B48C",
6530        teal: "#008080",
6531        thistle: "#D8BFD8",
6532        tomato: "#FF6347",
6533        turquoise: "#40E0D0",
6534        violet: "#EE82EE",
6535        wheat: "#F5DEB3",
6536        white: "#FFFFFF",
6537        whitesmoke: "#F5F5F5",
6538        yellow: "#FFFF00",
6539        yellowgreen: "#9ACD32"
6540      };
6541      function normalizeColor2(inputColor) {
6542        let red;
6543        let green;
6544        let blue;
6545        let alpha = 1;
6546        const rawColor = inputColor.replace(/\s/g, "").toLowerCase();
6547        const namedColor = typeof colorNamesObj[rawColor] === "string" ? colorNamesObj[rawColor].toLowerCase() : null;
6548        const cleanColor = namedColor || rawColor;
6549        if (cleanColor.startsWith("#")) {
6550          const hex = cleanColor.substring(1);
6551          if (hex.length === 3 || hex.length === 4) {
6552            red = parseInt(hex[0] + hex[0], 16);
6553            green = parseInt(hex[1] + hex[1], 16);
6554            blue = parseInt(hex[2] + hex[2], 16);
6555            if (hex.length === 4) {
6556              alpha = parseInt(hex[3] + hex[3], 16) / 255;
6557            }
6558          } else if (hex.length === 6 || hex.length === 8) {
6559            red = parseInt(hex.substring(0, 2), 16);
6560            green = parseInt(hex.substring(2, 4), 16);
6561            blue = parseInt(hex.substring(4, 6), 16);
6562            if (hex.length === 8) {
6563              alpha = parseInt(hex.substring(6, 8), 16) / 255;
6564            }
6565          }
6566        } else if (cleanColor.startsWith("rgba")) {
6567          const rgbaValues = cleanColor.match(/rgba\(([^)]+)\)/)[1].split(",");
6568          red = parseInt(rgbaValues[0], 10);
6569          green = parseInt(rgbaValues[1], 10);
6570          blue = parseInt(rgbaValues[2], 10);
6571          alpha = parseFloat(rgbaValues[3]);
6572        } else if (cleanColor.startsWith("rgb")) {
6573          const rgbValues = cleanColor.match(/rgb\(([^)]+)\)/)[1].split(",");
6574          red = parseInt(rgbValues[0], 10);
6575          green = parseInt(rgbValues[1], 10);
6576          blue = parseInt(rgbValues[2], 10);
6577        } else if (cleanColor.startsWith("hsla")) {
6578          const hslaValues = cleanColor.match(/hsla\(([^)]+)\)/)[1].split(",");
6579          const h = parseFloat(hslaValues[0]);
6580          const s = parseFloat(hslaValues[1].replace("%", "")) / 100;
6581          const l = parseFloat(hslaValues[2].replace("%", "")) / 100;
6582          alpha = parseFloat(hslaValues[3]);
6583          const C = (1 - Math.abs(2 * l - 1)) * s;
6584          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
6585          const m = l - C / 2;
6586          let R;
6587          let G;
6588          let B;
6589          if (h >= 0 && h < 60) {
6590            R = C;
6591            G = X;
6592            B = 0;
6593          } else if (h >= 60 && h < 120) {
6594            R = X;
6595            G = C;
6596            B = 0;
6597          } else if (h >= 120 && h < 180) {
6598            R = 0;
6599            G = C;
6600            B = X;
6601          } else if (h >= 180 && h < 240) {
6602            R = 0;
6603            G = X;
6604            B = C;
6605          } else if (h >= 240 && h < 300) {
6606            R = X;
6607            G = 0;
6608            B = C;
6609          } else {
6610            R = C;
6611            G = 0;
6612            B = X;
6613          }
6614          red = Math.round((R + m) * 255);
6615          green = Math.round((G + m) * 255);
6616          blue = Math.round((B + m) * 255);
6617        } else if (cleanColor.startsWith("hsl")) {
6618          const hslValues = cleanColor.match(/hsl\(([^)]+)\)/)[1].split(",");
6619          const h = parseFloat(hslValues[0]);
6620          const s = parseFloat(hslValues[1].replace("%", "")) / 100;
6621          const l = parseFloat(hslValues[2].replace("%", "")) / 100;
6622          const C = (1 - Math.abs(2 * l - 1)) * s;
6623          const X = C * (1 - Math.abs(h / 60 % 2 - 1));
6624          const m = l - C / 2;
6625          let R;
6626          let G;
6627          let B;
6628          if (h >= 0 && h < 60) {
6629            R = C;
6630            G = X;
6631            B = 0;
6632          } else if (h >= 60 && h < 120) {
6633            R = X;
6634            G = C;
6635            B = 0;
6636          } else if (h >= 120 && h < 180) {
6637            R = 0;
6638            G = C;
6639            B = X;
6640          } else if (h >= 180 && h < 240) {
6641            R = 0;
6642            G = X;
6643            B = C;
6644          } else if (h >= 240 && h < 300) {
6645            R = X;
6646            G = 0;
6647            B = C;
6648          } else {
6649            R = C;
6650            G = 0;
6651            B = X;
6652          }
6653          red = Math.round((R + m) * 255);
6654          green = Math.round((G + m) * 255);
6655          blue = Math.round((B + m) * 255);
6656        }
6657        if (Number.isNaN(red) || Number.isNaN(green) || Number.isNaN(blue)) {
6658          throw new Error(`Invalid color in [ix2/shared/utils/normalizeColor.js] '${inputColor}'`);
6659        }
6660        return {
6661          red,
6662          green,
6663          blue,
6664          alpha
6665        };
6666      }
6667    }
6668  });
6669
6670  
6670// packages/systems/ix2/plugins/IX2Variable.js
6671  var require_IX2Variable = __commonJS({
6672    "packages/systems/ix2/plugins/IX2Variable.js"(exports) {
6673      "use strict";
6674      Object.defineProperty(exports, "__esModule", {
6675        value: true
6676      });
6677      function _export(target, all) {
6678        for (var name in all)
6679          Object.defineProperty(target, name, {
6680            enumerable: true,
6681            get: all[name]
6682          });
6683      }
6684      _export(exports, {
6685        clearPlugin: function() {
6686          return clearPlugin2;
6687        },
6688        createPluginInstance: function() {
6689          return createPluginInstance3;
6690        },
6691        getPluginConfig: function() {
6692          return getPluginConfig2;
6693        },
6694        getPluginDestination: function() {
6695          return getPluginDestination2;
6696        },
6697        getPluginDuration: function() {
6698          return getPluginDuration3;
6699        },
6700        getPluginOrigin: function() {
6701          return getPluginOrigin2;
6702        },
6703        renderPlugin: function() {
6704          return renderPlugin2;
6705        }
6706      });
6707      var _normalizeColor = require_normalizeColor();
6708      var getPluginConfig2 = (actionItemConfig, key) => {
6709        return actionItemConfig.value[key];
6710      };
6711      var getPluginDuration3 = () => {
6712        return null;
6713      };
6714      var getPluginOrigin2 = (refState2, actionItem) => {
6715        if (refState2) {
6716          return refState2;
6717        }
6718        const destination = actionItem.config.value;
6719        const objectId = actionItem.config.target.objectId;
6720        const computedValue = getComputedStyle(document.documentElement).getPropertyValue(objectId);
6721        if (destination.size != null) {
6722          return {
6723            size: parseInt(computedValue, 10)
6724          };
6725        }
6726        if (destination.red != null && destination.green != null && destination.blue != null) {
6727          return (0, _normalizeColor.normalizeColor)(computedValue);
6728        }
6729      };
6730      var getPluginDestination2 = (actionItemConfig) => {
6731        return actionItemConfig.value;
6732      };
6733      var createPluginInstance3 = () => {
6734        return null;
6735      };
6736      var renderPlugin2 = (_, refState2, actionItem) => {
6737        const objectId = actionItem.config.target.objectId;
6738        const unit = actionItem.config.value.unit;
6739        const { PLUGIN_VARIABLE: props } = refState2;
6740        const { size: size2, red, green, blue, alpha } = props;
6741        let value;
6742        if (size2 != null) {
6743          value = size2 + unit;
6744        }
6745        if (red != null && blue != null && green != null && alpha != null) {
6746          value = `rgba(${red}, ${green}, ${blue}, ${alpha})`;
6747        }
6748        if (value != null) {
6749          document.documentElement.style.setProperty(objectId, value);
6750        }
6751      };
6752      var clearPlugin2 = (ref, actionItem) => {
6753        const objectId = actionItem.config.target.objectId;
6754        document.documentElement.style.removeProperty(objectId);
6755      };
6756    }
6757  });
6758
6759  
6759// packages/systems/ix2/plugins/index.js
6760  var require_plugins = __commonJS({
6761    "packages/systems/ix2/plugins/index.js"(exports) {
6762      "use strict";
6763      Object.defineProperty(exports, "__esModule", {
6764        value: true
6765      });
6766      Object.defineProperty(exports, "pluginMethodMap", {
6767        enumerable: true,
6768        get: function() {
6769          return pluginMethodMap2;
6770        }
6771      });
6772      var _sharedconstants = (init_shared_constants(), __toCommonJS(shared_constants_exports));
6773      var _IX2Lottie = /* @__PURE__ */ _interop_require_wildcard(require_IX2Lottie());
6774      var _IX2Spline = /* @__PURE__ */ _interop_require_wildcard(require_IX2Spline());
6775      var _IX2Variable = /* @__PURE__ */ _interop_require_wildcard(require_IX2Variable());
6776      function _getRequireWildcardCache(nodeInterop) {
6777        if (typeof WeakMap !== "function")
6778          return null;
6779        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
6780        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
6781        return (_getRequireWildcardCache = function(nodeInterop2) {
6782          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
6783        })(nodeInterop);
6784      }
6785      function _interop_require_wildcard(obj, nodeInterop) {
6786        if (!nodeInterop && obj && obj.__esModule) {
6787          return obj;
6788        }
6789        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
6790          return {
6791            default: obj
6792          };
6793        }
6794        var cache = _getRequireWildcardCache(nodeInterop);
6795        if (cache && cache.has(obj)) {
6796          return cache.get(obj);
6797        }
6798        var newObj = {
6799          __proto__: null
6800        };
6801        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
6802        for (var key in obj) {
6803          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
6804            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
6805            if (desc && (desc.get || desc.set)) {
6806              Object.defineProperty(newObj, key, desc);
6807            } else {
6808              newObj[key] = obj[key];
6809            }
6810          }
6811        }
6812        newObj.default = obj;
6813        if (cache) {
6814          cache.set(obj, newObj);
6815        }
6816        return newObj;
6817      }
6818      var pluginMethodMap2 = /* @__PURE__ */ new Map([
6819        [
6820          _sharedconstants.ActionTypeConsts.PLUGIN_LOTTIE,
6821          {
6822            ..._IX2Lottie
6823          }
6824        ],
6825        [
6826          _sharedconstants.ActionTypeConsts.PLUGIN_SPLINE,
6827          {
6828            ..._IX2Spline
6829          }
6830        ],
6831        [
6832          _sharedconstants.ActionTypeConsts.PLUGIN_VARIABLE,
6833          {
6834            ..._IX2Variable
6835          }
6836        ]
6837      ]);
6838    }
6839  });
6840
6841  
6841// packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts
6842  var IX2VanillaPlugins_exports = {};
6843  __export(IX2VanillaPlugins_exports, {
6844    clearPlugin: () => clearPlugin,
6845    createPluginInstance: () => createPluginInstance,
6846    getPluginConfig: () => getPluginConfig,
6847    getPluginDestination: () => getPluginDestination,
6848    getPluginDuration: () => getPluginDuration,
6849    getPluginOrigin: () => getPluginOrigin,
6850    isPluginType: () => isPluginType,
6851    renderPlugin: () => renderPlugin
6852  });
6853  function isPluginType(actionTypeId) {
6854    return import_plugins.pluginMethodMap.has(actionTypeId);
6855  }
6856  var import_plugins, pluginMethod, getPluginConfig, getPluginOrigin, getPluginDuration, getPluginDestination, createPluginInstance, renderPlugin, clearPlugin;
6857  var init_IX2VanillaPlugins = __esm({
6858    "packages/systems/ix2/shared/logic/IX2VanillaPlugins.ts"() {
6859      "use strict";
6860      init_IX2BrowserSupport();
6861      import_plugins = __toESM(require_plugins());
6862      pluginMethod = (methodName) => (actionTypeId) => {
6863        if (!IS_BROWSER_ENV) {
6864          return () => null;
6865        }
6866        const plugin = import_plugins.pluginMethodMap.get(actionTypeId);
6867        if (!plugin) {
6868          throw new Error(`IX2 no plugin configured for: ${actionTypeId}`);
6869        }
6870        const method = plugin[methodName];
6871        if (!method) {
6872          throw new Error(`IX2 invalid plugin method: ${methodName}`);
6873        }
6874        return method;
6875      };
6876      getPluginConfig = pluginMethod("getPluginConfig");
6877      getPluginOrigin = pluginMethod("getPluginOrigin");
6878      getPluginDuration = pluginMethod("getPluginDuration");
6879      getPluginDestination = pluginMethod("getPluginDestination");
6880      createPluginInstance = pluginMethod("createPluginInstance");
6881      renderPlugin = pluginMethod("renderPlugin");
6882      clearPlugin = pluginMethod("clearPlugin");
6883    }
6884  });
6885
6886  
vendor: 312 bytes, lines 6886-6896
6886// node_modules/lodash/defaultTo.js
6887  var require_defaultTo = __commonJS({
6888    "node_modules/lodash/defaultTo.js"(exports, module) {
6889      function defaultTo2(value, defaultValue) {
6890        return value == null || value !== value ? defaultValue : value;
6891      }
6892      module.exports = defaultTo2;
6893    }
6894  });
6895
6896  
vendor: 570 bytes, lines 6896-6913
6896// node_modules/lodash/_arrayReduce.js
6897  var require_arrayReduce = __commonJS({
6898    "node_modules/lodash/_arrayReduce.js"(exports, module) {
6899      function arrayReduce(array, iteratee, accumulator, initAccum) {
6900        var index = -1, length = array == null ? 0 : array.length;
6901        if (initAccum && length) {
6902          accumulator = array[++index];
6903        }
6904        while (++index < length) {
6905          accumulator = iteratee(accumulator, array[index], index, array);
6906        }
6907        return accumulator;
6908      }
6909      module.exports = arrayReduce;
6910    }
6911  });
6912
6913  
vendor: 645 bytes, lines 6913-6932
6913// node_modules/lodash/_createBaseFor.js
6914  var require_createBaseFor = __commonJS({
6915    "node_modules/lodash/_createBaseFor.js"(exports, module) {
6916      function createBaseFor(fromRight) {
6917        return function(object, iteratee, keysFunc) {
6918          var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
6919          while (length--) {
6920            var key = props[fromRight ? length : ++index];
6921            if (iteratee(iterable[key], key, iterable) === false) {
6922              break;
6923            }
6924          }
6925          return object;
6926        };
6927      }
6928      module.exports = createBaseFor;
6929    }
6930  });
6931
6932  
vendor: 264 bytes, lines 6932-6941
6932// node_modules/lodash/_baseFor.js
6933  var require_baseFor = __commonJS({
6934    "node_modules/lodash/_baseFor.js"(exports, module) {
6935      var createBaseFor = require_createBaseFor();
6936      var baseFor = createBaseFor();
6937      module.exports = baseFor;
6938    }
6939  });
6940
6941  
vendor: 372 bytes, lines 6941-6953
6941// node_modules/lodash/_baseForOwn.js
6942  var require_baseForOwn = __commonJS({
6943    "node_modules/lodash/_baseForOwn.js"(exports, module) {
6944      var baseFor = require_baseFor();
6945      var keys = require_keys();
6946      function baseForOwn(object, iteratee) {
6947        return object && baseFor(object, iteratee, keys);
6948      }
6949      module.exports = baseForOwn;
6950    }
6951  });
6952
6953  
vendor: 868 bytes, lines 6953-6978
6953// node_modules/lodash/_createBaseEach.js
6954  var require_createBaseEach = __commonJS({
6955    "node_modules/lodash/_createBaseEach.js"(exports, module) {
6956      var isArrayLike = require_isArrayLike();
6957      function createBaseEach(eachFunc, fromRight) {
6958        return function(collection, iteratee) {
6959          if (collection == null) {
6960            return collection;
6961          }
6962          if (!isArrayLike(collection)) {
6963            return eachFunc(collection, iteratee);
6964          }
6965          var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection);
6966          while (fromRight ? index-- : ++index < length) {
6967            if (iteratee(iterable[index], index, iterable) === false) {
6968              break;
6969            }
6970          }
6971          return collection;
6972        };
6973      }
6974      module.exports = createBaseEach;
6975    }
6976  });
6977
6978  
vendor: 327 bytes, lines 6978-6988
6978// node_modules/lodash/_baseEach.js
6979  var require_baseEach = __commonJS({
6980    "node_modules/lodash/_baseEach.js"(exports, module) {
6981      var baseForOwn = require_baseForOwn();
6982      var createBaseEach = require_createBaseEach();
6983      var baseEach = createBaseEach(baseForOwn);
6984      module.exports = baseEach;
6985    }
6986  });
6987
6988  
vendor: 502 bytes, lines 6988-7001
6988// node_modules/lodash/_baseReduce.js
6989  var require_baseReduce = __commonJS({
6990    "node_modules/lodash/_baseReduce.js"(exports, module) {
6991      function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {
6992        eachFunc(collection, function(value, index, collection2) {
6993          accumulator = initAccum ? (initAccum = false, value) : iteratee(accumulator, value, index, collection2);
6994        });
6995        return accumulator;
6996      }
6997      module.exports = baseReduce;
6998    }
6999  });
7000
7001  
vendor: 655 bytes, lines 7001-7017
7001// node_modules/lodash/reduce.js
7002  var require_reduce = __commonJS({
7003    "node_modules/lodash/reduce.js"(exports, module) {
7004      var arrayReduce = require_arrayReduce();
7005      var baseEach = require_baseEach();
7006      var baseIteratee = require_baseIteratee();
7007      var baseReduce = require_baseReduce();
7008      var isArray = require_isArray();
7009      function reduce2(collection, iteratee, accumulator) {
7010        var func = isArray(collection) ? arrayReduce : baseReduce, initAccum = arguments.length < 3;
7011        return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);
7012      }
7013      module.exports = reduce2;
7014    }
7015  });
7016
7017  
vendor: 873 bytes, lines 7017-7041
7017// node_modules/lodash/findLastIndex.js
7018  var require_findLastIndex = __commonJS({
7019    "node_modules/lodash/findLastIndex.js"(exports, module) {
7020      var baseFindIndex = require_baseFindIndex();
7021      var baseIteratee = require_baseIteratee();
7022      var toInteger = require_toInteger();
7023      var nativeMax = Math.max;
7024      var nativeMin = Math.min;
7025      function findLastIndex(array, predicate, fromIndex) {
7026        var length = array == null ? 0 : array.length;
7027        if (!length) {
7028          return -1;
7029        }
7030        var index = length - 1;
7031        if (fromIndex !== void 0) {
7032          index = toInteger(fromIndex);
7033          index = fromIndex < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);
7034        }
7035        return baseFindIndex(array, baseIteratee(predicate, 3), index, true);
7036      }
7037      module.exports = findLastIndex;
7038    }
7039  });
7040
7041  
vendor: 324 bytes, lines 7041-7051
7041// node_modules/lodash/findLast.js
7042  var require_findLast = __commonJS({
7043    "node_modules/lodash/findLast.js"(exports, module) {
7044      var createFind = require_createFind();
7045      var findLastIndex = require_findLastIndex();
7046      var findLast2 = createFind(findLastIndex);
7047      module.exports = findLast2;
7048    }
7049  });
7050
7051  
7051// packages/systems/ix2/shared/logic/shallowEqual.ts
7052  function is(x, y) {
7053    if (x === y) {
7054      return x !== 0 || y !== 0 || 1 / x === 1 / y;
7055    }
7056    return x !== x && y !== y;
7057  }
7058  function shallowEqual(objA, objB) {
7059    if (is(objA, objB)) {
7060      return true;
7061    }
7062    if (typeof objA !== "object" || objA === null || typeof objB !== "object" || objB === null) {
7063      return false;
7064    }
7065    const keysA = Object.keys(objA);
7066    const keysB = Object.keys(objB);
7067    if (keysA.length !== keysB.length) {
7068      return false;
7069    }
7070    for (let i = 0; i < keysA.length; i++) {
7071      if (!Object.hasOwn(
7072        objB,
7073        // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'PropertyKey'.
7074        keysA[i]
7075      ) || // @ts-expect-error - TS2538 - Type 'undefined' cannot be used as an index type. | TS2538 - Type 'undefined' cannot be used as an index type.
7076      !is(objA[keysA[i]], objB[keysA[i]])) {
7077        return false;
7078      }
7079    }
7080    return true;
7081  }
7082  var shallowEqual_default;
7083  var init_shallowEqual = __esm({
7084    "packages/systems/ix2/shared/logic/shallowEqual.ts"() {
7085      "use strict";
7086      shallowEqual_default = shallowEqual;
7087    }
7088  });
7089
7090  
7090// packages/systems/ix2/shared/logic/IX2VanillaUtils.ts
7091  var IX2VanillaUtils_exports = {};
7092  __export(IX2VanillaUtils_exports, {
7093    cleanupHTMLElement: () => cleanupHTMLElement,
7094    clearAllStyles: () => clearAllStyles,
7095    clearObjectCache: () => clearObjectCache,
7096    getActionListProgress: () => getActionListProgress,
7097    getAffectedElements: () => getAffectedElements,
7098    getComputedStyle: () => getComputedStyle2,
7099    getDestinationValues: () => getDestinationValues,
7100    getElementId: () => getElementId,
7101    getInstanceId: () => getInstanceId,
7102    getInstanceOrigin: () => getInstanceOrigin,
7103    getItemConfigByKey: () => getItemConfigByKey,
7104    getMaxDurationItemIndex: () => getMaxDurationItemIndex,
7105    getNamespacedParameterId: () => getNamespacedParameterId,
7106    getRenderType: () => getRenderType,
7107    getStyleProp: () => getStyleProp,
7108    mediaQueriesEqual: () => mediaQueriesEqual,
7109    observeStore: () => observeStore,
7110    reduceListToGroup: () => reduceListToGroup,
7111    reifyState: () => reifyState,
7112    renderHTMLElement: () => renderHTMLElement,
7113    shallowEqual: () => shallowEqual_default,
7114    shouldAllowMediaQuery: () => shouldAllowMediaQuery,
7115    shouldNamespaceEventParameter: () => shouldNamespaceEventParameter,
7116    stringifyTarget: () => stringifyTarget
7117  });
7118  function clearObjectCache() {
7119    objectCache.clear();
7120  }
7121  function getInstanceId() {
7122    return "i" + instanceCount++;
7123  }
7124  function getElementId(ixElements3, ref) {
7125    for (const key in ixElements3) {
7126      const ixEl = ixElements3[key];
7127      if (ixEl && ixEl.ref === ref) {
7128        return ixEl.id;
7129      }
7130    }
7131    return "e" + elementCount++;
7132  }
7133  function reifyState({
7134    events,
7135    actionLists,
7136    site
7137  } = {}) {
7138    const eventTypeMap = (0, import_reduce.default)(
7139      events,
7140      (result, event) => {
7141        const { eventTypeId } = event;
7142        if (!result[eventTypeId]) {
7143          result[eventTypeId] = {};
7144        }
7145        result[eventTypeId][event.id] = event;
7146        return result;
7147      },
7148      {}
7149    );
7150    let mediaQueries = site && site.mediaQueries;
7151    let mediaQueryKeys = [];
7152    if (mediaQueries) {
7153      mediaQueryKeys = mediaQueries.map((mq) => mq.key);
7154    } else {
7155      mediaQueries = [];
7156      console.warn(`IX2 missing mediaQueries in site data`);
7157    }
7158    return {
7159      ixData: {
7160        events,
7161        actionLists,
7162        eventTypeMap,
7163        mediaQueries,
7164        mediaQueryKeys
7165      }
7166    };
7167  }
7168  function observeStore({
7169    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
7170    store,
7171    // @ts-expect-error - TS7031 - Binding element 'select' implicitly has an 'any' type.
7172    select,
7173    // @ts-expect-error - TS7031 - Binding element 'onChange' implicitly has an 'any' type.
7174    onChange,
7175    comparator = strictEqual
7176  }) {
7177    const { getState, subscribe } = store;
7178    const unsubscribe = subscribe(handleChange);
7179    let currentState = select(getState());
7180    function handleChange() {
7181      const nextState = select(getState());
7182      if (nextState == null) {
7183        unsubscribe();
7184        return;
7185      }
7186      if (!comparator(nextState, currentState)) {
7187        currentState = nextState;
7188        onChange(currentState, store);
7189      }
7190    }
7191    return unsubscribe;
7192  }
7193  function normalizeTarget(target) {
7194    const type = typeof target;
7195    if (type === "string") {
7196      return { id: target };
7197    } else if (target != null && type === "object") {
7198      const { id, objectId, selector, selectorGuids, appliesTo, useEventTarget } = target;
7199      return { id, objectId, selector, selectorGuids, appliesTo, useEventTarget };
7200    }
7201    return {};
7202  }
7203  function getAffectedElements({
7204    config,
7205    event,
7206    eventTarget,
7207    elementRoot,
7208    elementApi
7209  }) {
7210    if (!elementApi) {
7211      throw new Error("IX2 missing elementApi");
7212    }
7213    const { targets } = config;
7214    if (Array.isArray(targets) && targets.length > 0) {
7215      return targets.reduce(
7216        (accumulator, target2) => accumulator.concat(
7217          getAffectedElements({
7218            config: { target: target2 },
7219            event,
7220            eventTarget,
7221            elementRoot,
7222            elementApi
7223          })
7224        ),
7225        []
7226      );
7227    }
7228    const {
7229      getValidDocument: getValidDocument2,
7230      getQuerySelector: getQuerySelector2,
7231      queryDocument: queryDocument2,
7232      getChildElements: getChildElements2,
7233      getSiblingElements: getSiblingElements2,
7234      matchSelector: matchSelector2,
7235      elementContains: elementContains2,
7236      isSiblingNode: isSiblingNode2
7237    } = elementApi;
7238    const { target } = config;
7239    if (!target) {
7240      return [];
7241    }
7242    const {
7243      id,
7244      objectId,
7245      selector,
7246      selectorGuids,
7247      appliesTo,
7248      useEventTarget
7249    } = normalizeTarget(target);
7250    if (objectId) {
7251      const ref = objectCache.has(objectId) ? objectCache.get(objectId) : objectCache.set(objectId, {}).get(objectId);
7252      return [ref];
7253    }
7254    if (appliesTo === EventAppliesTo.PAGE) {
7255      const doc = getValidDocument2(id);
7256      return doc ? [doc] : [];
7257    }
7258    const overrides = event?.action?.config?.affectedElements ?? {};
7259    const override = overrides[id || selector] || {};
7260    const validOverride = Boolean(override.id || override.selector);
7261    let limitAffectedElements;
7262    let baseSelector;
7263    let finalSelector;
7264    const eventTargetSelector = event && getQuerySelector2(normalizeTarget(event.target));
7265    if (validOverride) {
7266      limitAffectedElements = override.limitAffectedElements;
7267      baseSelector = eventTargetSelector;
7268      finalSelector = getQuerySelector2(override);
7269    } else {
7270      baseSelector = finalSelector = getQuerySelector2({
7271        id,
7272        selector,
7273        selectorGuids
7274      });
7275    }
7276    if (event && useEventTarget) {
7277      const eventTargets = eventTarget && (finalSelector || useEventTarget === true) ? [eventTarget] : queryDocument2(eventTargetSelector);
7278      if (finalSelector) {
7279        if (useEventTarget === PARENT2) {
7280          return queryDocument2(finalSelector).filter(
7281            (parentElement) => eventTargets.some(
7282              (targetElement) => elementContains2(parentElement, targetElement)
7283            )
7284          );
7285        }
7286        if (useEventTarget === CHILDREN2) {
7287          return queryDocument2(finalSelector).filter(
7288            (childElement) => eventTargets.some(
7289              (targetElement) => elementContains2(targetElement, childElement)
7290            )
7291          );
7292        }
7293        if (useEventTarget === SIBLINGS2) {
7294          return queryDocument2(finalSelector).filter(
7295            (siblingElement) => eventTargets.some(
7296              (targetElement) => isSiblingNode2(targetElement, siblingElement)
7297            )
7298          );
7299        }
7300      }
7301      return eventTargets;
7302    }
7303    if (baseSelector == null || finalSelector == null) {
7304      return [];
7305    }
7306    if (IS_BROWSER_ENV && elementRoot) {
7307      return queryDocument2(finalSelector).filter(
7308        (element) => elementRoot.contains(element)
7309      );
7310    }
7311    if (limitAffectedElements === CHILDREN2) {
7312      return queryDocument2(baseSelector, finalSelector);
7313    } else if (limitAffectedElements === IMMEDIATE_CHILDREN2) {
7314      return getChildElements2(queryDocument2(baseSelector)).filter(
7315        matchSelector2(finalSelector)
7316      );
7317    } else if (limitAffectedElements === SIBLINGS2) {
7318      return getSiblingElements2(queryDocument2(baseSelector)).filter(
7319        matchSelector2(finalSelector)
7320      );
7321    } else {
7322      return queryDocument2(finalSelector);
7323    }
7324  }
7325  function getComputedStyle2({ element, actionItem }) {
7326    if (!IS_BROWSER_ENV) {
7327      return {};
7328    }
7329    const { actionTypeId } = actionItem;
7330    switch (actionTypeId) {
7331      case STYLE_SIZE2:
7332      case STYLE_BACKGROUND_COLOR:
7333      case STYLE_BORDER:
7334      case STYLE_TEXT_COLOR:
7335      case GENERAL_DISPLAY:
7336        return window.getComputedStyle(element);
7337      default:
7338        return {};
7339    }
7340  }
7341  function getInstanceOrigin(element, refState2 = {}, computedStyle = {}, actionItem, elementApi) {
7342    const { getStyle: getStyle2 }
7342 = elementApi;
7343    const { actionTypeId } = actionItem;
7344    if (isPluginType(actionTypeId)) {
7345      return getPluginOrigin(actionTypeId)(refState2[actionTypeId], actionItem);
7346    }
7347    switch (actionItem.actionTypeId) {
7348      case TRANSFORM_MOVE2:
7349      case TRANSFORM_SCALE2:
7350      case TRANSFORM_ROTATE2:
7351      case TRANSFORM_SKEW2: {
7352        return (
7353          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"TRANSFORM_MOVE" | "TRANSFORM_SCALE" | "TRANSFORM_ROTATE" | "TRANSFORM_SKEW"' can't be used to index type '{}'.
7354          refState2[actionItem.actionTypeId] || transformDefaults[actionItem.actionTypeId]
7355        );
7356      }
7357      case STYLE_FILTER2:
7358        return getFilterDefaults(
7359          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FILTER"' can't be used to index type '{}'.
7360          refState2[actionItem.actionTypeId],
7361          actionItem.config.filters
7362        );
7363      case STYLE_FONT_VARIATION2:
7364        return getFontVariationDefaults(
7365          // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type '"STYLE_FONT_VARIATION"' can't be used to index type '{}'.
7366          refState2[actionItem.actionTypeId],
7367          actionItem.config.fontVariations
7368        );
7369      case STYLE_OPACITY:
7370        return { value: (0, import_defaultTo.default)(parseFloat(getStyle2(element, OPACITY2)), 1) };
7371      case STYLE_SIZE2: {
7372        const inlineWidth = getStyle2(element, WIDTH2);
7373        const inlineHeight = getStyle2(element, HEIGHT2);
7374        let widthValue;
7375        let heightValue;
7376        if (actionItem.config.widthUnit === AUTO2) {
7377          widthValue = pxValueRegex.test(inlineWidth) ? parseFloat(inlineWidth) : (
7378            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7379            parseFloat(computedStyle.width)
7380          );
7381        } else {
7382          widthValue = (0, import_defaultTo.default)(
7383            parseFloat(inlineWidth),
7384            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7385            parseFloat(computedStyle.width)
7386          );
7387        }
7388        if (actionItem.config.heightUnit === AUTO2) {
7389          heightValue = pxValueRegex.test(inlineHeight) ? parseFloat(inlineHeight) : (
7390            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7391            parseFloat(computedStyle.height)
7392          );
7393        } else {
7394          heightValue = (0, import_defaultTo.default)(
7395            parseFloat(inlineHeight),
7396            // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7397            parseFloat(computedStyle.height)
7398          );
7399        }
7400        return {
7401          widthValue,
7402          heightValue
7403        };
7404      }
7405      case STYLE_BACKGROUND_COLOR:
7406      case STYLE_BORDER:
7407      case STYLE_TEXT_COLOR:
7408        return parseColor({
7409          element,
7410          actionTypeId: actionItem.actionTypeId,
7411          computedStyle,
7412          getStyle: getStyle2
7413        });
7414      case GENERAL_DISPLAY:
7415        return {
7416          // @ts-expect-error - TS18047 - 'computedStyle' is possibly 'null'.
7417          value: (0, import_defaultTo.default)(getStyle2(element, DISPLAY2), computedStyle.display)
7418        };
7419      case OBJECT_VALUE:
7420        return refState2[actionItem.actionTypeId] || { value: 0 };
7421      default: {
7422        return;
7423      }
7424    }
7425  }
7426  function getDestinationValues({
7427    element,
7428    actionItem,
7429    elementApi
7430  }) {
7431    if (isPluginType(actionItem.actionTypeId)) {
7432      return getPluginDestination(actionItem.actionTypeId)(actionItem.config);
7433    }
7434    switch (actionItem.actionTypeId) {
7435      case TRANSFORM_MOVE2:
7436      case TRANSFORM_SCALE2:
7437      case TRANSFORM_ROTATE2:
7438      case TRANSFORM_SKEW2: {
7439        const { xValue, yValue, zValue } = actionItem.config;
7440        return { xValue, yValue, zValue };
7441      }
7442      case STYLE_SIZE2: {
7443        const { getStyle: getStyle2, setStyle: setStyle2, getProperty: getProperty2 } = elementApi;
7444        const { widthUnit, heightUnit } = actionItem.config;
7445        let { widthValue, heightValue } = actionItem.config;
7446        if (!IS_BROWSER_ENV) {
7447          return { widthValue, heightValue };
7448        }
7449        if (widthUnit === AUTO2) {
7450          const temp = getStyle2(element, WIDTH2);
7451          setStyle2(element, WIDTH2, "");
7452          widthValue = getProperty2(element, "offsetWidth");
7453          setStyle2(element, WIDTH2, temp);
7454        }
7455        if (heightUnit === AUTO2) {
7456          const temp = getStyle2(element, HEIGHT2);
7457          setStyle2(element, HEIGHT2, "");
7458          heightValue = getProperty2(element, "offsetHeight");
7459          setStyle2(element, HEIGHT2, temp);
7460        }
7461        return { widthValue, heightValue };
7462      }
7463      case STYLE_BACKGROUND_COLOR:
7464      case STYLE_BORDER:
7465      case STYLE_TEXT_COLOR: {
7466        const { rValue, gValue, bValue, aValue, globalSwatchId } = actionItem.config;
7467        if (globalSwatchId && globalSwatchId.startsWith("--")) {
7468          const { getStyle: getStyle2 }
7468 = elementApi;
7469          const value = getStyle2(element, globalSwatchId);
7470          const normalizedValue = (0, import_normalizeColor.normalizeColor)(value);
7471          return {
7472            rValue: normalizedValue.red,
7473            gValue: normalizedValue.green,
7474            bValue: normalizedValue.blue,
7475            aValue: normalizedValue.alpha
7476          };
7477        }
7478        return { rValue, gValue, bValue, aValue };
7479      }
7480      case STYLE_FILTER2: {
7481        return actionItem.config.filters.reduce(
7482          reduceFilters,
7483          {}
7484        );
7485      }
7486      case STYLE_FONT_VARIATION2: {
7487        return actionItem.config.fontVariations.reduce(
7488          reduceFontVariations,
7489          {}
7490        );
7491      }
7492      default: {
7493        const { value } = actionItem.config;
7494        return { value };
7495      }
7496    }
7497  }
7498  function getRenderType(actionTypeId) {
7499    if (/^TRANSFORM_/.test(actionTypeId)) {
7500      return RENDER_TRANSFORM2;
7501    }
7502    if (/^STYLE_/.test(actionTypeId)) {
7503      return RENDER_STYLE2;
7504    }
7505    if (/^GENERAL_/.test(actionTypeId)) {
7506      return RENDER_GENERAL2;
7507    }
7508    if (/^PLUGIN_/.test(actionTypeId)) {
7509      return RENDER_PLUGIN2;
7510    }
7511  }
7512  function getStyleProp(renderType, actionTypeId) {
7513    return renderType === RENDER_STYLE2 ? actionTypeId.replace("STYLE_", "").toLowerCase() : null;
7514  }
7515  function renderHTMLElement(element, refState2, actionState, eventId, actionItem, styleProp, elementApi, renderType, pluginInstance) {
7516    switch (renderType) {
7517      case RENDER_TRANSFORM2: {
7518        return renderTransform(
7519          element,
7520          refState2,
7521          actionState,
7522          actionItem,
7523          elementApi
7524        );
7525      }
7526      case RENDER_STYLE2: {
7527        return renderStyle(
7528          element,
7529          refState2,
7530          actionState,
7531          actionItem,
7532          styleProp,
7533          elementApi
7534        );
7535      }
7536      case RENDER_GENERAL2: {
7537        return renderGeneral(element, actionItem, elementApi);
7538      }
7539      case RENDER_PLUGIN2: {
7540        const { actionTypeId } = actionItem;
7541        if (isPluginType(actionTypeId)) {
7542          return renderPlugin(actionTypeId)(pluginInstance, refState2, actionItem);
7543        }
7544      }
7545    }
7546  }
7547  function renderTransform(element, refState2, actionState, actionItem, elementApi) {
7548    const newTransform = transformKeys.map((actionTypeId) => {
7549      const defaults = transformDefaults[actionTypeId];
7550      const {
7551        xValue = defaults.xValue,
7552        yValue = defaults.yValue,
7553        zValue = defaults.zValue,
7554        xUnit = "",
7555        yUnit = "",
7556        zUnit = ""
7557      } = refState2[actionTypeId] || {};
7558      switch (actionTypeId) {
7559        case TRANSFORM_MOVE2:
7560          return `${TRANSLATE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
7561        case TRANSFORM_SCALE2:
7562          return `${SCALE_3D2}(${xValue}${xUnit}, ${yValue}${yUnit}, ${zValue}${zUnit})`;
7563        case TRANSFORM_ROTATE2:
7564          return `${ROTATE_X2}(${xValue}${xUnit}) ${ROTATE_Y2}(${yValue}${yUnit}) ${ROTATE_Z2}(${zValue}${zUnit})`;
7565        case TRANSFORM_SKEW2:
7566          return `${SKEW2}(${xValue}${xUnit}, ${yValue}${yUnit})`;
7567        default:
7568          return "";
7569      }
7570    }).join(" ");
7571    const { setStyle: setStyle2 } = elementApi;
7572    addWillChange(element, TRANSFORM_PREFIXED, elementApi);
7573    setStyle2(element, TRANSFORM_PREFIXED, newTransform);
7574    if (hasDefined3dTransform(actionItem, actionState)) {
7575      setStyle2(element, TRANSFORM_STYLE_PREFIXED, PRESERVE_3D2);
7576    }
7577  }
7578  function renderFilter(element, actionState, actionItemConfig, elementApi) {
7579    const filterValue = (0, import_reduce.default)(
7580      actionState,
7581      (result, value, type) => `${result} ${type}(${value}${getFilterUnit(type, actionItemConfig)})`,
7582      ""
7583    );
7584    const { setStyle: setStyle2 } = elementApi;
7585    addWillChange(element, FILTER2, elementApi);
7586    setStyle2(element, FILTER2, filterValue);
7587  }
7588  function renderFontVariation(element, actionState, actionItemConfig, elementApi) {
7589    const fontVariationValue = (0, import_reduce.default)(
7590      actionState,
7591      (result, value, type) => {
7592        result.push(`"${type}" ${value}`);
7593        return result;
7594      },
7595      []
7596    ).join(", ");
7597    const { setStyle: setStyle2 }
7597 = elementApi;
7598    addWillChange(element, FONT_VARIATION_SETTINGS2, elementApi);
7599    setStyle2(element, FONT_VARIATION_SETTINGS2, fontVariationValue);
7600  }
7601  function hasDefined3dTransform({ actionTypeId }, { xValue, yValue, zValue }) {
7602    return actionTypeId === TRANSFORM_MOVE2 && zValue !== void 0 || // SCALE_Z
7603    actionTypeId === TRANSFORM_SCALE2 && zValue !== void 0 || // ROTATE_X or ROTATE_Y
7604    actionTypeId === TRANSFORM_ROTATE2 && (xValue !== void 0 || yValue !== void 0);
7605  }
7606  function getFirstMatch(regex, value) {
7607    const match = regex.exec(value);
7608    return match ? match[1] : "";
7609  }
7610  function parseColor({ element, actionTypeId, computedStyle, getStyle: getStyle2 }) {
7611    const prop = colorStyleProps[actionTypeId];
7612    const inlineValue = getStyle2(element, prop);
7613    const value = rgbValidRegex.test(inlineValue) ? inlineValue : computedStyle[prop];
7614    const matches = getFirstMatch(rgbMatchRegex, value).split(COMMA_DELIMITER2);
7615    return {
7616      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7617      rValue: (0, import_defaultTo.default)(parseInt(matches[0], 10), 255),
7618      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7619      gValue: (0, import_defaultTo.default)(parseInt(matches[1], 10), 255),
7620      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7621      bValue: (0, import_defaultTo.default)(parseInt(matches[2], 10), 255),
7622      // @ts-expect-error - TS2345 - Argument of type 'string | undefined' is not assignable to parameter of type 'string'.
7623      aValue: (0, import_defaultTo.default)(parseFloat(matches[3]), 1)
7624    };
7625  }
7626  function renderStyle(element, refState2, actionState, actionItem, styleProp, elementApi) {
7627    const { setStyle: setStyle2 } = elementApi;
7628    switch (actionItem.actionTypeId) {
7629      case STYLE_SIZE2: {
7630        let { widthUnit = "", heightUnit = "" } = actionItem.config;
7631        const { widthValue, heightValue } = actionState;
7632        if (widthValue !== void 0) {
7633          if (widthUnit === AUTO2) {
7634            widthUnit = "px";
7635          }
7636          addWillChange(element, WIDTH2, elementApi);
7637          setStyle2(element, WIDTH2, widthValue + widthUnit);
7638        }
7639        if (heightValue !== void 0) {
7640          if (heightUnit === AUTO2) {
7641            heightUnit = "px";
7642          }
7643          addWillChange(element, HEIGHT2, elementApi);
7644          setStyle2(element, HEIGHT2, heightValue + heightUnit);
7645        }
7646        break;
7647      }
7648      case STYLE_FILTER2: {
7649        renderFilter(element, actionState, actionItem.config, elementApi);
7650        break;
7651      }
7652      case STYLE_FONT_VARIATION2: {
7653        renderFontVariation(element, actionState, actionItem.config, elementApi);
7654        break;
7655      }
7656      case STYLE_BACKGROUND_COLOR:
7657      case STYLE_BORDER:
7658      case STYLE_TEXT_COLOR: {
7659        const prop = colorStyleProps[actionItem.actionTypeId];
7660        const rValue = Math.round(actionState.rValue);
7661        const gValue = Math.round(actionState.gValue);
7662        const bValue = Math.round(actionState.bValue);
7663        const aValue = actionState.aValue;
7664        addWillChange(element, prop, elementApi);
7665        setStyle2(
7666          element,
7667          prop,
7668          aValue >= 1 ? `rgb(${rValue},${gValue},${bValue})` : `rgba(${rValue},${gValue},${bValue},${aValue})`
7669        );
7670        break;
7671      }
7672      default: {
7673        const { unit = "" } = actionItem.config;
7674        addWillChange(element, styleProp, elementApi);
7675        setStyle2(element, styleProp, actionState.value + unit);
7676        break;
7677      }
7678    }
7679  }
7680  function renderGeneral(element, actionItem, elementApi) {
7681    const { setStyle: setStyle2 } = elementApi;
7682    switch (actionItem.actionTypeId) {
7683      case GENERAL_DISPLAY: {
7684        const { value } = actionItem.config;
7685        if (value === FLEX2 && IS_BROWSER_ENV) {
7686          setStyle2(element, DISPLAY2, FLEX_PREFIXED);
7687        } else {
7688          setStyle2(element, DISPLAY2, value);
7689        }
7690        return;
7691      }
7692    }
7693  }
7694  function addWillChange(element, prop, elementApi) {
7695    if (!IS_BROWSER_ENV) {
7696      return;
7697    }
7698    const validProp = willChangeProps[prop];
7699    if (!validProp) {
7700      return;
7701    }
7702    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
7703    const value = getStyle2(element, WILL_CHANGE2);
7704    if (!value) {
7705      setStyle2(element, WILL_CHANGE2, validProp);
7706      return;
7707    }
7708    const values = value.split(COMMA_DELIMITER2).map(trim);
7709    if (values.indexOf(validProp) === -1) {
7710      setStyle2(
7711        element,
7712        WILL_CHANGE2,
7713        values.concat(validProp).join(COMMA_DELIMITER2)
7714      );
7715    }
7716  }
7717  function removeWillChange(element, prop, elementApi) {
7718    if (!IS_BROWSER_ENV) {
7719      return;
7720    }
7721    const validProp = willChangeProps[prop];
7722    if (!validProp) {
7723      return;
7724    }
7725    const { getStyle: getStyle2, setStyle: setStyle2 } = elementApi;
7726    const value = getStyle2(element, WILL_CHANGE2);
7727    if (!value || value.indexOf(validProp) === -1) {
7728      return;
7729    }
7730    setStyle2(
7731      element,
7732      WILL_CHANGE2,
7733      value.split(COMMA_DELIMITER2).map(trim).filter((v) => v !== validProp).join(COMMA_DELIMITER2)
7734    );
7735  }
7736  function clearAllStyles({ store, elementApi }) {
7737    const { ixData: ixData2 } = store.getState();
7738    const { events = {}, actionLists = {} } = ixData2;
7739    Object.keys(events).forEach((eventId) => {
7740      const event = events[eventId];
7741      const { config } = event.action;
7742      const { actionListId } = config;
7743      const actionList = actionLists[actionListId];
7744      if (actionList) {
7745        clearActionListStyles({ actionList, event, elementApi });
7746      }
7747    });
7748    Object.keys(actionLists).forEach((actionListId) => {
7749      clearActionListStyles({ actionList: actionLists[actionListId], elementApi });
7750    });
7751  }
7752  function clearActionListStyles({ actionList = {}, event, elementApi }) {
7753    const { actionItemGroups, continuousParameterGroups } = actionList;
7754    actionItemGroups && // @ts-expect-error - TS7006 - Parameter 'actionGroup' implicitly has an 'any' type.
7755    actionItemGroups.forEach((actionGroup) => {
7756      clearActionGroupStyles({ actionGroup, event, elementApi });
7757    });
7758    continuousParameterGroups && // @ts-expect-error - TS7006 - Parameter 'paramGroup' implicitly has an 'any' type.
7759    continuousParameterGroups.forEach((paramGroup) => {
7760      const { continuousActionGroups } = paramGroup;
7761      continuousActionGroups.forEach((actionGroup) => {
7762        clearActionGroupStyles({ actionGroup, event, elementApi });
7763      });
7764    });
7765  }
7766  function clearActionGroupStyles({ actionGroup, event, elementApi }) {
7767    const { actionItems } = actionGroup;
7768    actionItems.forEach((actionItem) => {
7769      const { actionTypeId, config } = actionItem;
7770      let clearElement;
7771      if (isPluginType(actionTypeId)) {
7772        clearElement = (ref) => clearPlugin(actionTypeId)(ref, actionItem);
7773      } else {
7774        clearElement = processElementByType({
7775          effect: clearStyleProp,
7776          actionTypeId,
7777          elementApi
7778        });
7779      }
7780      getAffectedElements({ config, event, elementApi }).forEach(clearElement);
7781    });
7782  }
7783  function cleanupHTMLElement(element, actionItem, elementApi) {
7784    const { setStyle: setStyle2, getStyle: getStyle2 } = elementApi;
7785    const { actionTypeId } = actionItem;
7786    if (actionTypeId === STYLE_SIZE2) {
7787      const { config } = actionItem;
7788      if (config.widthUnit === AUTO2) {
7789        setStyle2(element, WIDTH2, "");
7790      }
7791      if (config.heightUnit === AUTO2) {
7792        setStyle2(element, HEIGHT2, "");
7793      }
7794    }
7795    if (getStyle2(element, WILL_CHANGE2)) {
7796      processElementByType({ effect: removeWillChange, actionTypeId, elementApi })(
7797        element
7798      );
7799    }
7800  }
7801  function clearStyleProp(element, prop, elementApi) {
7802    const { setStyle: setStyle2 } = elementApi;
7803    removeWillChange(element, prop, elementApi);
7804    setStyle2(element, prop, "");
7805    if (prop === TRANSFORM_PREFIXED) {
7806      setStyle2(element, TRANSFORM_STYLE_PREFIXED, "");
7807    }
7808  }
7809  function getMaxDurationItemIndex(actionItems) {
7810    let maxDuration = 0;
7811    let resultIndex = 0;
7812    actionItems.forEach((actionItem, index) => {
7813      const { config } = actionItem;
7814      const total = config.delay + config.duration;
7815      if (total >= maxDuration) {
7816        maxDuration = total;
7817        resultIndex = index;
7818      }
7819    });
7820    return resultIndex;
7821  }
7822  function getActionListProgress(actionList, instance) {
7823    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
7824    const { actionItem: instanceItem, verboseTimeElapsed = 0 } = instance;
7825    let totalDuration = 0;
7826    let elapsedDuration = 0;
7827    actionItemGroups.forEach((group, index) => {
7828      if (useFirstGroupAsInitialState && index === 0) {
7829        return;
7830      }
7831      const { actionItems } = group;
7832      const carrierItem = actionItems[getMaxDurationItemIndex(actionItems)];
7833      const { config, actionTypeId } = carrierItem;
7834      if (instanceItem.id === carrierItem.id) {
7835        elapsedDuration = totalDuration + verboseTimeElapsed;
7836      }
7837      const duration = getRenderType(actionTypeId) === RENDER_GENERAL2 ? 0 : config.duration;
7838      totalDuration += config.delay + duration;
7839    });
7840    return totalDuration > 0 ? optimizeFloat(elapsedDuration / totalDuration) : 0;
7841  }
7842  function reduceListToGroup({
7843    actionList,
7844    actionItemId,
7845    rawData
7846  }) {
7847    const { actionItemGroups, continuousParameterGroups } = actionList;
7848    const newActionItems = [];
7849    const takeItemUntilMatch = (actionItem) => {
7850      newActionItems.push(
7851        (0, import_timm4.mergeIn)(actionItem, ["config"], {
7852          delay: 0,
7853          duration: 0
7854        })
7855      );
7856      return actionItem.id === actionItemId;
7857    };
7858    actionItemGroups && actionItemGroups.some(({ actionItems }) => {
7859      return actionItems.some(takeItemUntilMatch);
7860    });
7861    continuousParameterGroups && continuousParameterGroups.some(
7862      (paramGroup) => {
7863        const { continuousActionGroups } = paramGroup;
7864        return continuousActionGroups.some(
7865          ({ actionItems }) => {
7866            return actionItems.some(takeItemUntilMatch);
7867          }
7868        );
7869      }
7870    );
7871    return (0, import_timm4.setIn)(rawData, ["actionLists"], {
7872      [actionList.id]: {
7873        id: actionList.id,
7874        actionItemGroups: [
7875          {
7876            actionItems: newActionItems
7877          }
7878        ]
7879      }
7880    });
7881  }
7882  function shouldNamespaceEventParameter(eventTypeId, { basedOn }) {
7883    return eventTypeId === EventTypeConsts.SCROLLING_IN_VIEW && (basedOn === EventBasedOn.ELEMENT || basedOn == null) || eventTypeId === EventTypeConsts.MOUSE_MOVE && basedOn === EventBasedOn.ELEMENT;
7884  }
7885  function getNamespacedParameterId(eventStateKey, continuousParameterGroupId) {
7886    const namespacedParameterId = eventStateKey + COLON_DELIMITER2 + continuousParameterGroupId;
7887    return namespacedParameterId;
7888  }
7889  function shouldAllowMediaQuery(mediaQueries, mediaQueryKey) {
7890    if (mediaQueryKey == null) {
7891      return true;
7892    }
7893    return mediaQueries.indexOf(mediaQueryKey) !== -1;
7894  }
7895  function mediaQueriesEqual(listA, listB) {
7896    return shallowEqual_default(listA && listA.sort(), listB && listB.sort());
7897  }
7898  function stringifyTarget(target) {
7899    if (typeof target === "string") {
7900      return target;
7901    }
7902    if (target.pluginElement && target.objectId) {
7903      return target.pluginElement + BAR_DELIMITER2 + target.objectId;
7904    }
7905    if (target.objectId) {
7906      return target.objectId;
7907    }
7908    const { id = "", selector = "", useEventTarget = "" } = target;
7909    return id + BAR_DELIMITER2 + selector + BAR_DELIMITER2 + useEventTarget;
7910  }
7911  var import_defaultTo, import_reduce, import_findLast, import_timm4, import_normalizeColor, BACKGROUND2, TRANSFORM2, TRANSLATE_3D2, SCALE_3D2, ROTATE_X2, ROTATE_Y2, ROTATE_Z2, SKEW2, PRESERVE_3D2, FLEX2, OPACITY2, FILTER2, FONT_VARIATION_SETTINGS2, WIDTH2, HEIGHT2, BACKGROUND_COLOR2, BORDER_COLOR2, COLOR2, CHILDREN2, IMMEDIATE_CHILDREN2, SIBLINGS2, PARENT2, DISPLAY2, WILL_CHANGE2, AUTO2, COMMA_DELIMITER2, COLON_DELIMITER2, BAR_DELIMITER2, RENDER_TRANSFORM2, RENDER_GENERAL2, RENDER_STYLE2, RENDER_PLUGIN2, TRANSFORM_MOVE2, TRANSFORM_SCALE2, TRANSFORM_ROTATE2, TRANSFORM_SKEW2, STYLE_OPACITY, STYLE_FILTER2, STYLE_FONT_VARIATION2, STYLE_SIZE2, STYLE_BACKGROUND_COLOR, STYLE_BORDER, STYLE_TEXT_COLOR, GENERAL_DISPLAY, OBJECT_VALUE, trim, colorStyleProps, willChangeProps, objectCache, instanceCount, elementCount, strictEqual, pxValueRegex, getFilterDefaults, getFontVariationDefaults, reduceFilters, reduceFontVariations, getItemConfigByKey, transformDefaults, filterDefaults, fontVariationDefaults, getFilterUnit, transformKeys, paramCapture, rgbValidRegex, rgbMatchRegex, processElementByType;
7912  var init_IX2VanillaUtils = __esm({
7913    "packages/systems/ix2/shared/logic/IX2VanillaUtils.ts"() {
7914      "use strict";
7915      import_defaultTo = __toESM(require_defaultTo());
7916      import_reduce = __toESM(require_reduce());
7917      import_findLast = __toESM(require_findLast());
7918      import_timm4 = __toESM(require_timm());
7919      init_shared_constants();
7920      init_shallowEqual();
7921      init_IX2EasingUtils();
7922      import_normalizeColor = __toESM(require_normalizeColor());
7923      init_IX2VanillaPlugins();
7924      init_IX2BrowserSupport();
7925      ({
7926        BACKGROUND: BACKGROUND2,
7927        TRANSFORM: TRANSFORM2,
7928        TRANSLATE_3D: TRANSLATE_3D2,
7929        SCALE_3D: SCALE_3D2,
7930        ROTATE_X: ROTATE_X2,
7931        ROTATE_Y: ROTATE_Y2,
7932        ROTATE_Z: ROTATE_Z2,
7933        SKEW: SKEW2,
7934        PRESERVE_3D: PRESERVE_3D2,
7935        FLEX: FLEX2,
7936        OPACITY: OPACITY2,
7937        FILTER: FILTER2,
7938        FONT_VARIATION_SETTINGS: FONT_VARIATION_SETTINGS2,
7939        WIDTH: WIDTH2,
7940        HEIGHT: HEIGHT2,
7941        BACKGROUND_COLOR: BACKGROUND_COLOR2,
7942        BORDER_COLOR: BORDER_COLOR2,
7943        COLOR: COLOR2,
7944        CHILDREN: CHILDREN2,
7945        IMMEDIATE_CHILDREN: IMMEDIATE_CHILDREN2,
7946        SIBLINGS: SIBLINGS2,
7947        PARENT: PARENT2,
7948        DISPLAY: DISPLAY2,
7949        WILL_CHANGE: WILL_CHANGE2,
7950        AUTO: AUTO2,
7951        COMMA_DELIMITER: COMMA_DELIMITER2,
7952        COLON_DELIMITER: COLON_DELIMITER2,
7953        BAR_DELIMITER: BAR_DELIMITER2,
7954        RENDER_TRANSFORM: RENDER_TRANSFORM2,
7955        RENDER_GENERAL: RENDER_GENERAL2,
7956        RENDER_STYLE: RENDER_STYLE2,
7957        RENDER_PLUGIN: RENDER_PLUGIN2
7958      } = IX2EngineConstants_exports);
7959      ({
7960        TRANSFORM_MOVE: TRANSFORM_MOVE2,
7961        TRANSFORM_SCALE: TRANSFORM_SCALE2,
7962        TRANSFORM_ROTATE: TRANSFORM_ROTATE2,
7963        TRANSFORM_SKEW: TRANSFORM_SKEW2,
7964        STYLE_OPACITY,
7965        STYLE_FILTER: STYLE_FILTER2,
7966        STYLE_FONT_VARIATION: STYLE_FONT_VARIATION2,
7967        STYLE_SIZE: STYLE_SIZE2,
7968        STYLE_BACKGROUND_COLOR,
7969        STYLE_BORDER,
7970        STYLE_TEXT_COLOR,
7971        GENERAL_DISPLAY,
7972        OBJECT_VALUE
7973      } = ActionTypeConsts);
7974      trim = (v) => v.trim();
7975      colorStyleProps = Object.freeze({
7976        [STYLE_BACKGROUND_COLOR]: BACKGROUND_COLOR2,
7977        [STYLE_BORDER]: BORDER_COLOR2,
7978        [STYLE_TEXT_COLOR]: COLOR2
7979      });
7980      willChangeProps = Object.freeze({
7981        [TRANSFORM_PREFIXED]: TRANSFORM2,
7982        [BACKGROUND_COLOR2]: BACKGROUND2,
7983        [OPACITY2]: OPACITY2,
7984        [FILTER2]: FILTER2,
7985        [WIDTH2]: WIDTH2,
7986        [HEIGHT2]: HEIGHT2,
7987        [FONT_VARIATION_SETTINGS2]: FONT_VARIATION_SETTINGS2
7988      });
7989      objectCache = /* @__PURE__ */ new Map();
7990      instanceCount = 1;
7991      elementCount = 1;
7992      strictEqual = (a, b) => a === b;
7993      pxValueRegex = /px/;
7994      getFilterDefaults = (actionState, filters) => (
7995        // @ts-expect-error - TS7006 - Parameter 'result' implicitly has an 'any' type. | TS7006 - Parameter 'filter' implicitly has an 'any' type.
7996        filters.reduce((result, filter) => {
7997          if (result[filter.type] == null) {
7998            result[filter.type] = // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'any' can't be used to index type 'Readonly<{ blur: 0; 'hue-rotate': 0; invert: 0; grayscale: 0; saturate: 100; sepia: 0; contrast: 100; brightness: 100; }>'.
7999            filterDefaults[filter.type];
8000          }
8001          return result;
8002        }, actionState || {})
8003      );
8004      getFontVariationDefaults = (actionState, fontVariations) => fontVariations.reduce((result, fontVariation) => {
8005        if (result[fontVariation.type] == null) {
8006          result[fontVariation.type] = // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Readonly<{ wght: 0; opsz: 0; wdth: 0; slnt: 0; }>'.
8007          fontVariationDefaults[fontVariation.type] || // @ts-expect-error - TS2339 - Property 'defaultValue' does not exist on type 'FontVariationItemConfigType'.
8008          fontVariation.defaultValue || 0;
8009        }
8010        return result;
8011      }, actionState || {});
8012      reduceFilters = (result, filter) => {
8013        if (filter) {
8014          result[filter.type] = filter.value || 0;
8015        }
8016        return result;
8017      };
8018      reduceFontVariations = (result, fontVariation) => {
8019        if (fontVariation) {
8020          result[fontVariation.type] = fontVariation.value || 0;
8021        }
8022        return result;
8023      };
8024      getItemConfigByKey = (actionTypeId, key, config) => {
8025        if (isPluginType(actionTypeId)) {
8026          return getPluginConfig(actionTypeId)(config, key);
8027        }
8028        switch (actionTypeId) {
8029          case STYLE_FILTER2: {
8030            const filter = (0, import_findLast.default)(config.filters, ({ type }) => type === key);
8031            return filter ? filter.value : 0;
8032          }
8033          case STYLE_FONT_VARIATION2: {
8034            const fontVariation = (0, import_findLast.default)(
8035              config.fontVariations,
8036              ({ type }) => type === key
8037            );
8038            return fontVariation ? fontVariation.value : 0;
8039          }
8040          default:
8041            return config[key];
8042        }
8043      };
8044      transformDefaults = {
8045        [TRANSFORM_MOVE2]: Object.freeze({
8046          xValue: 0,
8047          yValue: 0,
8048          zValue: 0
8049        }),
8050        [TRANSFORM_SCALE2]: Object.freeze({
8051          xValue: 1,
8052          yValue: 1,
8053          zValue: 1
8054        }),
8055        [TRANSFORM_ROTATE2]: Object.freeze({
8056          xValue: 0,
8057          yValue: 0,
8058          zValue: 0
8059        }),
8060        [TRANSFORM_SKEW2]: Object.freeze({
8061          xValue: 0,
8062          yValue: 0
8063        })
8064      };
8065      filterDefaults = Object.freeze({
8066        blur: 0,
8067        "hue-rotate": 0,
8068        invert: 0,
8069        grayscale: 0,
8070        saturate: 100,
8071        sepia: 0,
8072        contrast: 100,
8073        brightness: 100
8074      });
8075      fontVariationDefaults = Object.freeze({
8076        wght: 0,
8077        opsz: 0,
8078        wdth: 0,
8079        slnt: 0
8080      });
8081      getFilterUnit = (filterType, actionItemConfig) => {
8082        const filter = (0, import_findLast.default)(
8083          actionItemConfig.filters,
8084          ({ type }) => type === filterType
8085        );
8086        if (filter && filter.unit) {
8087          return filter.unit;
8088        }
8089        switch (filterType) {
8090          case "blur":
8091            return "px";
8092          case "hue-rotate":
8093            return "deg";
8094          default:
8095            return "%";
8096        }
8097      };
8098      transformKeys = Object.keys(transformDefaults);
8099      paramCapture = "\\(([^)]+)\\)";
8100      rgbValidRegex = /^rgb/;
8101      rgbMatchRegex = RegExp(`rgba?${paramCapture}`);
8102      processElementByType = ({
8103        effect,
8104        actionTypeId,
8105        elementApi
8106      }) => (
8107        // @ts-expect-error - TS7006 - Parameter 'element' implicitly has an 'any' type.
8108        (element) => {
8109          switch (actionTypeId) {
8110            case TRANSFORM_MOVE2:
8111            case TRANSFORM_SCALE2:
8112            case TRANSFORM_ROTATE2:
8113            case TRANSFORM_SKEW2:
8114              effect(element, TRANSFORM_PREFIXED, elementApi);
8115              break;
8116            case STYLE_FILTER2:
8117              effect(element, FILTER2, elementApi);
8118              break;
8119            case STYLE_FONT_VARIATION2:
8120              effect(element, FONT_VARIATION_SETTINGS2, elementApi);
8121              break;
8122            case STYLE_OPACITY:
8123              effect(element, OPACITY2, elementApi);
8124              break;
8125            case STYLE_SIZE2:
8126              effect(element, WIDTH2, elementApi);
8127              effect(element, HEIGHT2, elementApi);
8128              break;
8129            case STYLE_BACKGROUND_COLOR:
8130            case STYLE_BORDER:
8131            case STYLE_TEXT_COLOR:
8132              effect(element, colorStyleProps[actionTypeId], elementApi);
8133              break;
8134            case GENERAL_DISPLAY:
8135              effect(element, DISPLAY2, elementApi);
8136              break;
8137          }
8138        }
8139      );
8140    }
8141  });
8142
8143  
8143// packages/systems/ix2/shared/index.js
8144  var require_shared = __commonJS({
8145    "packages/systems/ix2/shared/index.js"(exports) {
8146      "use strict";
8147      Object.defineProperty(exports, "__esModule", {
8148        value: true
8149      });
8150      function _export(target, all) {
8151        for (var name in all)
8152          Object.defineProperty(target, name, {
8153            enumerable: true,
8154            get: all[name]
8155          });
8156      }
8157      _export(exports, {
8158        // IX2Actions,
8159        IX2BrowserSupport: function() {
8160          return _IX2BrowserSupport;
8161        },
8162        IX2EasingUtils: function() {
8163          return _IX2EasingUtils;
8164        },
8165        IX2Easings: function() {
8166          return _IX2Easings;
8167        },
8168        IX2ElementsReducer: function() {
8169          return _IX2ElementsReducer;
8170        },
8171        IX2VanillaPlugins: function() {
8172          return _IX2VanillaPlugins;
8173        },
8174        IX2VanillaUtils: function() {
8175          return _IX2VanillaUtils;
8176        }
8177      });
8178      var _IX2BrowserSupport = /* @__PURE__ */ _interop_require_wildcard((init_IX2BrowserSupport(), __toCommonJS(IX2BrowserSupport_exports)));
8179      var _IX2Easings = /* @__PURE__ */ _interop_require_wildcard((init_IX2Easings(), __toCommonJS(IX2Easings_exports)));
8180      var _IX2EasingUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2EasingUtils(), __toCommonJS(IX2EasingUtils_exports)));
8181      var _IX2ElementsReducer = /* @__PURE__ */ _interop_require_wildcard((init_IX2ElementsReducer(), __toCommonJS(IX2ElementsReducer_exports)));
8182      var _IX2VanillaPlugins = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaPlugins(), __toCommonJS(IX2VanillaPlugins_exports)));
8183      var _IX2VanillaUtils = /* @__PURE__ */ _interop_require_wildcard((init_IX2VanillaUtils(), __toCommonJS(IX2VanillaUtils_exports)));
8184      function _getRequireWildcardCache(nodeInterop) {
8185        if (typeof WeakMap !== "function")
8186          return null;
8187        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
8188        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
8189        return (_getRequireWildcardCache = function(nodeInterop2) {
8190          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
8191        })(nodeInterop);
8192      }
8193      function _interop_require_wildcard(obj, nodeInterop) {
8194        if (!nodeInterop && obj && obj.__esModule) {
8195          return obj;
8196        }
8197        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
8198          return {
8199            default: obj
8200          };
8201        }
8202        var cache = _getRequireWildcardCache(nodeInterop);
8203        if (cache && cache.has(obj)) {
8204          return cache.get(obj);
8205        }
8206        var newObj = {
8207          __proto__: null
8208        };
8209        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
8210        for (var key in obj) {
8211          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
8212            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
8213            if (desc && (desc.get || desc.set)) {
8214              Object.defineProperty(newObj, key, desc);
8215            } else {
8216              newObj[key] = obj[key];
8217            }
8218          }
8219        }
8220        newObj.default = obj;
8221        if (cache) {
8222          cache.set(obj, newObj);
8223        }
8224        return newObj;
8225      }
8226    }
8227  });
8228
8229  
8229// packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts
8230  var import_shared, import_timm5, IX2_RAW_DATA_IMPORTED3, IX2_SESSION_STOPPED4, IX2_INSTANCE_ADDED3, IX2_INSTANCE_STARTED2, IX2_INSTANCE_REMOVED2, IX2_ANIMATION_FRAME_CHANGED3, optimizeFloat2, applyEasing2, createBezierEasing2, RENDER_GENERAL3, getItemConfigByKey2, getRenderType2, getStyleProp2, continuousInstance, timedInstance, ixInstances;
8231  var init_IX2InstancesReducer = __esm({
8232    "packages/systems/ix2/engine/reducers/IX2InstancesReducer.ts"() {
8233      "use strict";
8234      init_shared_constants();
8235      import_shared = __toESM(require_shared());
8236      import_timm5 = __toESM(require_timm());
8237      ({
8238        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED3,
8239        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED4,
8240        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED3,
8241        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED2,
8242        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED2,
8243        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED3
8244      } = IX2EngineActionTypes_exports);
8245      ({ optimizeFloat: optimizeFloat2, applyEasing: applyEasing2, createBezierEasing: createBezierEasing2 } = import_shared.IX2EasingUtils);
8246      ({ RENDER_GENERAL: RENDER_GENERAL3 } = IX2EngineConstants_exports);
8247      ({ getItemConfigByKey: getItemConfigByKey2, getRenderType: getRenderType2, getStyleProp: getStyleProp2 } = import_shared.IX2VanillaUtils);
8248      continuousInstance = (state, action) => {
8249        const {
8250          position: lastPosition,
8251          parameterId,
8252          actionGroups,
8253          destinationKeys,
8254          smoothing,
8255          restingValue,
8256          actionTypeId,
8257          customEasingFn,
8258          skipMotion,
8259          skipToValue
8260        } = state;
8261        const { parameters } = action.payload;
8262        let velocity = Math.max(1 - smoothing, 0.01);
8263        let paramValue = parameters[parameterId];
8264        if (paramValue == null) {
8265          velocity = 1;
8266          paramValue = restingValue;
8267        }
8268        const nextPosition = Math.max(paramValue, 0) || 0;
8269        const positionDiff = optimizeFloat2(nextPosition - lastPosition);
8270        const position = skipMotion ? skipToValue : optimizeFloat2(lastPosition + positionDiff * velocity);
8271        const keyframePosition = position * 100;
8272        if (position === lastPosition && state.current) {
8273          return state;
8274        }
8275        let fromActionItem;
8276        let toActionItem;
8277        let positionOffset;
8278        let positionRange;
8279        for (let i = 0, { length } = actionGroups; i < length; i++) {
8280          const { keyframe, actionItems } = actionGroups[i];
8281          if (i === 0) {
8282            fromActionItem = actionItems[0];
8283          }
8284          if (keyframePosition >= keyframe) {
8285            fromActionItem = actionItems[0];
8286            const nextGroup = actionGroups[i + 1];
8287            const hasNextItem = nextGroup && keyframePosition !== keyframe;
8288            toActionItem = hasNextItem ? nextGroup.actionItems[0] : null;
8289            if (hasNextItem) {
8290              positionOffset = keyframe / 100;
8291              positionRange = (nextGroup.keyframe - keyframe) / 100;
8292            }
8293          }
8294        }
8295        const current = {};
8296        if (fromActionItem && !toActionItem) {
8297          for (let i = 0, { length } = destinationKeys; i < length; i++) {
8298            const key = destinationKeys[i];
8299            current[key] = getItemConfigByKey2(
8300              actionTypeId,
8301              key,
8302              fromActionItem.config
8303            );
8304          }
8305        } else if (fromActionItem && toActionItem && positionOffset !== void 0 && positionRange !== void 0) {
8306          const localPosition = (position - positionOffset) / positionRange;
8307          const easing = fromActionItem.config.easing;
8308          const eased = applyEasing2(easing, localPosition, customEasingFn);
8309          for (let i = 0, { length } = destinationKeys; i < length; i++) {
8310            const key = destinationKeys[i];
8311            const fromVal = getItemConfigByKey2(
8312              actionTypeId,
8313              key,
8314              fromActionItem.config
8315            );
8316            const toVal = getItemConfigByKey2(actionTypeId, key, toActionItem.config);
8317            const diff = toVal - fromVal;
8318            const value = diff * eased + fromVal;
8319            current[key] = value;
8320          }
8321        }
8322        return (0, import_timm5.merge)(state, {
8323          position,
8324          current
8325        });
8326      };
8327      timedInstance = (state, action) => {
8328        const {
8329          active,
8330          origin,
8331          start,
8332          immediate,
8333          renderType,
8334          verbose,
8335          actionItem,
8336          destination,
8337          destinationKeys,
8338          pluginDuration,
8339          instanceDelay,
8340          customEasingFn,
8341          skipMotion
8342        } = state;
8343        const easing = actionItem.config.easing;
8344        let { duration, delay } = actionItem.config;
8345        if (pluginDuration != null) {
8346          duration = pluginDuration;
8347        }
8348        delay = instanceDelay != null ? instanceDelay : delay;
8349        if (renderType === RENDER_GENERAL3) {
8350          duration = 0;
8351        } else if (immediate || skipMotion) {
8352          duration = delay = 0;
8353        }
8354        const { now } = action.payload;
8355        if (active && origin) {
8356          const delta = now - (start + delay);
8357          if (verbose) {
8358            const verboseDelta = now - start;
8359            const verboseDuration = duration + delay;
8360            const verbosePosition = optimizeFloat2(
8361              Math.min(Math.max(0, verboseDelta / verboseDuration), 1)
8362            );
8363            state = (0, import_timm5.set)(
8364              state,
8365              "verboseTimeElapsed",
8366              verboseDuration * verbosePosition
8367            );
8368          }
8369          if (delta < 0) {
8370            return state;
8371          }
8372          const position = optimizeFloat2(Math.min(Math.max(0, delta / duration), 1));
8373          const eased = applyEasing2(easing, position, customEasingFn);
8374          const newProps = {};
8375          let current = null;
8376          if (destinationKeys.length) {
8377            current = destinationKeys.reduce((result, key) => {
8378              const destValue = destination[key];
8379              const originVal = parseFloat(origin[key]) || 0;
8380              const diff = parseFloat(destValue) - originVal;
8381              const value = diff * eased + originVal;
8382              result[key] = value;
8383              return result;
8384            }, {});
8385          }
8386          newProps.current = current;
8387          newProps.position = position;
8388          if (position === 1) {
8389            newProps.active = false;
8390            newProps.complete = true;
8391          }
8392          return (0, import_timm5.merge)(state, newProps);
8393        }
8394        return state;
8395      };
8396      ixInstances = (state = Object.freeze({}), action) => {
8397        switch (action.type) {
8398          case IX2_RAW_DATA_IMPORTED3: {
8399            return action.payload.ixInstances || Object.freeze({});
8400          }
8401          case IX2_SESSION_STOPPED4: {
8402            return Object.freeze({});
8403          }
8404          case IX2_INSTANCE_ADDED3: {
8405            const {
8406              instanceId,
8407              elementId,
8408              actionItem,
8409              eventId,
8410              eventTarget,
8411              eventStateKey,
8412              actionListId,
8413              groupIndex,
8414              isCarrier,
8415              origin,
8416              destination,
8417              immediate,
8418              verbose,
8419              continuous,
8420              parameterId,
8421              actionGroups,
8422              smoothing,
8423              restingValue,
8424              pluginInstance,
8425              pluginDuration,
8426              instanceDelay,
8427              skipMotion,
8428              skipToValue
8429            } = action.payload;
8430            const { actionTypeId } = actionItem;
8431            const renderType = getRenderType2(actionTypeId);
8432            const styleProp = getStyleProp2(renderType, actionTypeId);
8433            const destinationKeys = Object.keys(destination).filter(
8434              (key) => (
8435                // Skip null destination values
8436                destination[key] != null && // Skip string destination values
8437                typeof destination[key] !== "string"
8438              )
8439            );
8440            const { easing } = actionItem.config;
8441            return (0, import_timm5.set)(state, instanceId, {
8442              id: instanceId,
8443              elementId,
8444              active: false,
8445              position: 0,
8446              start: 0,
8447              origin,
8448              destination,
8449              destinationKeys,
8450              immediate,
8451              verbose,
8452              current: null,
8453              actionItem,
8454              actionTypeId,
8455              eventId,
8456              eventTarget,
8457              eventStateKey,
8458              actionListId,
8459              groupIndex,
8460              renderType,
8461              isCarrier,
8462              styleProp,
8463              continuous,
8464              parameterId,
8465              actionGroups,
8466              smoothing,
8467              restingValue,
8468              pluginInstance,
8469              pluginDuration,
8470              instanceDelay,
8471              skipMotion,
8472              skipToValue,
8473              customEasingFn: Array.isArray(easing) && easing.length === 4 ? (
8474                // @ts-expect-error - TS2345 - Argument of type 'any[]' is not assignable to parameter of type 'IX2EasingCustomType'.
8475                createBezierEasing2(easing)
8476              ) : void 0
8477            });
8478          }
8479          case IX2_INSTANCE_STARTED2: {
8480            const { instanceId, time } = action.payload;
8481            return (0, import_timm5.mergeIn)(state, [instanceId], {
8482              active: true,
8483              complete: false,
8484              start: time
8485            });
8486          }
8487          case IX2_INSTANCE_REMOVED2: {
8488            const { instanceId } = action.payload;
8489            if (!state[instanceId]) {
8490              return state;
8491            }
8492            const newState = {};
8493            const keys = Object.keys(state);
8494            const { length } = keys;
8495            for (let i = 0; i < length; i++) {
8496              const key = keys[i];
8497              if (key !== instanceId) {
8498                newState[key] = state[key];
8499              }
8500            }
8501            return newState;
8502          }
8503          case IX2_ANIMATION_FRAME_CHANGED3: {
8504            let newState = state;
8505            const keys = Object.keys(state);
8506            const { length } = keys;
8507            for (let i = 0; i < length; i++) {
8508              const key = keys[i];
8509              const instance = state[key];
8510              const reducer = instance.continuous ? continuousInstance : timedInstance;
8511              newState = (0, import_timm5.set)(newState, key, reducer(instance, action));
8512            }
8513            return newState;
8514          }
8515          default: {
8516            return state;
8517          }
8518        }
8519      };
8520    }
8521  });
8522
8523  
8523// packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts
8524  var IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED2, ixParameters;
8525  var init_IX2ParametersReducer = __esm({
8526    "packages/systems/ix2/engine/reducers/IX2ParametersReducer.ts"() {
8527      "use strict";
8528      init_shared_constants();
8529      ({ IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED4, IX2_SESSION_STOPPED: IX2_SESSION_STOPPED5, IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED2 } = IX2EngineActionTypes_exports);
8530      ixParameters = (state = {
8531        /*mutable flat state*/
8532      }, action) => {
8533        switch (action.type) {
8534          case IX2_RAW_DATA_IMPORTED4: {
8535            return (
8536              // @ts-expect-error - Further investigation is needed as looks like IX2_RAW_DATA_IMPORTED is never triggered with ixParameters
8537              action.payload.ixParameters || {
8538                /*mutable flat state*/
8539              }
8540            );
8541          }
8542          case IX2_SESSION_STOPPED5: {
8543            return {
8544              /*mutable flat state*/
8545            };
8546          }
8547          case IX2_PARAMETER_CHANGED2: {
8548            const { key, value } = action.payload;
8549            state[key] = value;
8550            return state;
8551          }
8552          default: {
8553            return state;
8554          }
8555        }
8556      };
8557    }
8558  });
8559
8560  
8560// packages/systems/ix2/engine/reducers/IX2Reducer.ts
8561  var IX2Reducer_exports = {};
8562  __export(IX2Reducer_exports, {
8563    default: () => IX2Reducer_default
8564  });
8565  var import_redux, import_shared2, ixElements2, IX2Reducer_default;
8566  var init_IX2Reducer = __esm({
8567    "packages/systems/ix2/engine/reducers/IX2Reducer.ts"() {
8568      "use strict";
8569      import_redux = __toESM(require_lib2());
8570      init_IX2DataReducer();
8571      init_IX2RequestReducer();
8572      init_IX2SessionReducer();
8573      import_shared2 = __toESM(require_shared());
8574      init_IX2InstancesReducer();
8575      init_IX2ParametersReducer();
8576      ({ ixElements: ixElements2 } = import_shared2.IX2ElementsReducer);
8577      IX2Reducer_default = (0, import_redux.combineReducers)({
8578        ixData,
8579        ixRequest,
8580        ixSession,
8581        ixElements: ixElements2,
8582        ixInstances,
8583        ixParameters
8584      });
8585    }
8586  });
8587
8588  
vendor: 510 bytes, lines 8588-8602
8588// node_modules/lodash/isString.js
8589  var require_isString = __commonJS({
8590    "node_modules/lodash/isString.js"(exports, module) {
8591      var baseGetTag = require_baseGetTag();
8592      var isArray = require_isArray();
8593      var isObjectLike = require_isObjectLike();
8594      var stringTag = "[object String]";
8595      function isString(value) {
8596        return typeof value == "string" || !isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag;
8597      }
8598      module.exports = isString;
8599    }
8600  });
8601
8602  
vendor: 279 bytes, lines 8602-8611
8602// node_modules/lodash/_asciiSize.js
8603  var require_asciiSize = __commonJS({
8604    "node_modules/lodash/_asciiSize.js"(exports, module) {
8605      var baseProperty = require_baseProperty();
8606      var asciiSize = baseProperty("length");
8607      module.exports = asciiSize;
8608    }
8609  });
8610
8611  
vendor: 728 bytes, lines 8611-8629
8611// node_modules/lodash/_hasUnicode.js
8612  var require_hasUnicode = __commonJS({
8613    "node_modules/lodash/_hasUnicode.js"(exports, module) {
8614      var rsAstralRange = "\\ud800-\\udfff";
8615      var rsComboMarksRange = "\\u0300-\\u036f";
8616      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
8617      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
8618      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
8619      var rsVarRange = "\\ufe0e\\ufe0f";
8620      var rsZWJ = "\\u200d";
8621      var reHasUnicode = RegExp("[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]");
8622      function hasUnicode(string) {
8623        return reHasUnicode.test(string);
8624      }
8625      module.exports = hasUnicode;
8626    }
8627  });
8628
8629  
vendor: 1,579 bytes, lines 8629-8663
8629// node_modules/lodash/_unicodeSize.js
8630  var require_unicodeSize = __commonJS({
8631    "node_modules/lodash/_unicodeSize.js"(exports, module) {
8632      var rsAstralRange = "\\ud800-\\udfff";
8633      var rsComboMarksRange = "\\u0300-\\u036f";
8634      var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
8635      var rsComboSymbolsRange = "\\u20d0-\\u20ff";
8636      var rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
8637      var rsVarRange = "\\ufe0e\\ufe0f";
8638      var rsAstral = "[" + rsAstralRange + "]";
8639      var rsCombo = "[" + rsComboRange + "]";
8640      var rsFitz = "\\ud83c[\\udffb-\\udfff]";
8641      var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
8642      var rsNonAstral = "[^" + rsAstralRange + "]";
8643      var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
8644      var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
8645      var rsZWJ = "\\u200d";
8646      var reOptMod = rsModifier + "?";
8647      var rsOptVar = "[" + rsVarRange + "]?";
8648      var rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*";
8649      var rsSeq = rsOptVar + reOptMod + rsOptJoin;
8650      var rsSymbol = "(?:" + [rsNonAstral + rsCombo + "?", rsCombo, rsRegional, rsSurrPair, rsAstral].join("|") + ")";
8651      var reUnicode = RegExp(rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq, "g");
8652      function unicodeSize(string) {
8653        var result = reUnicode.lastIndex = 0;
8654        while (reUnicode.test(string)) {
8655          ++result;
8656        }
8657        return result;
8658      }
8659      module.exports = unicodeSize;
8660    }
8661  });
8662
8663  
vendor: 444 bytes, lines 8663-8676
8663// node_modules/lodash/_stringSize.js
8664  var require_stringSize = __commonJS({
8665    "node_modules/lodash/_stringSize.js"(exports, module) {
8666      var asciiSize = require_asciiSize();
8667      var hasUnicode = require_hasUnicode();
8668      var unicodeSize = require_unicodeSize();
8669      function stringSize(string) {
8670        return hasUnicode(string) ? unicodeSize(string) : asciiSize(string);
8671      }
8672      module.exports = stringSize;
8673    }
8674  });
8675
8676  
vendor: 856 bytes, lines 8676-8703
8676// node_modules/lodash/size.js
8677  var require_size = __commonJS({
8678    "node_modules/lodash/size.js"(exports, module) {
8679      var baseKeys = require_baseKeys();
8680      var getTag = require_getTag();
8681      var isArrayLike = require_isArrayLike();
8682      var isString = require_isString();
8683      var stringSize = require_stringSize();
8684      var mapTag = "[object Map]";
8685      var setTag = "[object Set]";
8686      function size2(collection) {
8687        if (collection == null) {
8688          return 0;
8689        }
8690        if (isArrayLike(collection)) {
8691          return isString(collection) ? stringSize(collection) : collection.length;
8692        }
8693        var tag = getTag(collection);
8694        if (tag == mapTag || tag == setTag) {
8695          return collection.size;
8696        }
8697        return baseKeys(collection).length;
8698      }
8699      module.exports = size2;
8700    }
8701  });
8702
8703  
vendor: 841 bytes, lines 8703-8730
8703// node_modules/lodash/negate.js
8704  var require_negate = __commonJS({
8705    "node_modules/lodash/negate.js"(exports, module) {
8706      var FUNC_ERROR_TEXT = "Expected a function";
8707      function negate(predicate) {
8708        if (typeof predicate != "function") {
8709          throw new TypeError(FUNC_ERROR_TEXT);
8710        }
8711        return function() {
8712          var args = arguments;
8713          switch (args.length) {
8714            case 0:
8715              return !predicate.call(this);
8716            case 1:
8717              return !predicate.call(this, args[0]);
8718            case 2:
8719              return !predicate.call(this, args[0], args[1]);
8720            case 3:
8721              return !predicate.call(this, args[0], args[1], args[2]);
8722          }
8723          return !predicate.apply(this, args);
8724        };
8725      }
8726      module.exports = negate;
8727    }
8728  });
8729
8730  
vendor: 453 bytes, lines 8730-8746
8730// node_modules/lodash/_defineProperty.js
8731  var require_defineProperty = __commonJS({
8732    "node_modules/lodash/_defineProperty.js"(exports, module) {
8733      var getNative = require_getNative();
8734      var defineProperty = function() {
8735        try {
8736          var func = getNative(Object, "defineProperty");
8737          func({}, "", {});
8738          return func;
8739        } catch (e) {
8740        }
8741      }();
8742      module.exports = defineProperty;
8743    }
8744  });
8745
8746  
vendor: 609 bytes, lines 8746-8766
8746// node_modules/lodash/_baseAssignValue.js
8747  var require_baseAssignValue = __commonJS({
8748    "node_modules/lodash/_baseAssignValue.js"(exports, module) {
8749      var defineProperty = require_defineProperty();
8750      function baseAssignValue(object, key, value) {
8751        if (key == "__proto__" && defineProperty) {
8752          defineProperty(object, key, {
8753            "configurable": true,
8754            "enumerable": true,
8755            "value": value,
8756            "writable": true
8757          });
8758        } else {
8759          object[key] = value;
8760        }
8761      }
8762      module.exports = baseAssignValue;
8763    }
8764  });
8765
8766  
vendor: 637 bytes, lines 8766-8783
8766// node_modules/lodash/_assignValue.js
8767  var require_assignValue = __commonJS({
8768    "node_modules/lodash/_assignValue.js"(exports, module) {
8769      var baseAssignValue = require_baseAssignValue();
8770      var eq = require_eq();
8771      var objectProto = Object.prototype;
8772      var hasOwnProperty = objectProto.hasOwnProperty;
8773      function assignValue(object, key, value) {
8774        var objValue = object[key];
8775        if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) {
8776          baseAssignValue(object, key, value);
8777        }
8778      }
8779      module.exports = assignValue;
8780    }
8781  });
8782
8783  
vendor: 1,299 bytes, lines 8783-8818
8783// node_modules/lodash/_baseSet.js
8784  var require_baseSet = __commonJS({
8785    "node_modules/lodash/_baseSet.js"(exports, module) {
8786      var assignValue = require_assignValue();
8787      var castPath = require_castPath();
8788      var isIndex = require_isIndex();
8789      var isObject = require_isObject();
8790      var toKey = require_toKey();
8791      function baseSet(object, path, value, customizer) {
8792        if (!isObject(object)) {
8793          return object;
8794        }
8795        path = castPath(path, object);
8796        var index = -1, length = path.length, lastIndex = length - 1, nested = object;
8797        while (nested != null && ++index < length) {
8798          var key = toKey(path[index]), newValue = value;
8799          if (key === "__proto__" || key === "constructor" || key === "prototype") {
8800            return object;
8801          }
8802          if (index != lastIndex) {
8803            var objValue = nested[key];
8804            newValue = customizer ? customizer(objValue, key, nested) : void 0;
8805            if (newValue === void 0) {
8806              newValue = isObject(objValue) ? objValue : isIndex(path[index + 1]) ? [] : {};
8807            }
8808          }
8809          assignValue(nested, key, newValue);
8810          nested = nested[key];
8811        }
8812        return object;
8813      }
8814      module.exports = baseSet;
8815    }
8816  });
8817
8818  
vendor: 675 bytes, lines 8818-8838
8818// node_modules/lodash/_basePickBy.js
8819  var require_basePickBy = __commonJS({
8820    "node_modules/lodash/_basePickBy.js"(exports, module) {
8821      var baseGet = require_baseGet();
8822      var baseSet = require_baseSet();
8823      var castPath = require_castPath();
8824      function basePickBy(object, paths, predicate) {
8825        var index = -1, length = paths.length, result = {};
8826        while (++index < length) {
8827          var path = paths[index], value = baseGet(object, path);
8828          if (predicate(value, path)) {
8829            baseSet(result, castPath(path, object), value);
8830          }
8831        }
8832        return result;
8833      }
8834      module.exports = basePickBy;
8835    }
8836  });
8837
8838  
vendor: 693 bytes, lines 8838-8858
8838// node_modules/lodash/_getSymbolsIn.js
8839  var require_getSymbolsIn = __commonJS({
8840    "node_modules/lodash/_getSymbolsIn.js"(exports, module) {
8841      var arrayPush = require_arrayPush();
8842      var getPrototype = require_getPrototype();
8843      var getSymbols = require_getSymbols();
8844      var stubArray = require_stubArray();
8845      var nativeGetSymbols = Object.getOwnPropertySymbols;
8846      var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {
8847        var result = [];
8848        while (object) {
8849          arrayPush(result, getSymbols(object));
8850          object = getPrototype(object);
8851        }
8852        return result;
8853      };
8854      module.exports = getSymbolsIn;
8855    }
8856  });
8857
8858  
vendor: 416 bytes, lines 8858-8874
8858// node_modules/lodash/_nativeKeysIn.js
8859  var require_nativeKeysIn = __commonJS({
8860    "node_modules/lodash/_nativeKeysIn.js"(exports, module) {
8861      function nativeKeysIn(object) {
8862        var result = [];
8863        if (object != null) {
8864          for (var key in Object(object)) {
8865            result.push(key);
8866          }
8867        }
8868        return result;
8869      }
8870      module.exports = nativeKeysIn;
8871    }
8872  });
8873
8874  
vendor: 804 bytes, lines 8874-8898
8874// node_modules/lodash/_baseKeysIn.js
8875  var require_baseKeysIn = __commonJS({
8876    "node_modules/lodash/_baseKeysIn.js"(exports, module) {
8877      var isObject = require_isObject();
8878      var isPrototype = require_isPrototype();
8879      var nativeKeysIn = require_nativeKeysIn();
8880      var objectProto = Object.prototype;
8881      var hasOwnProperty = objectProto.hasOwnProperty;
8882      function baseKeysIn(object) {
8883        if (!isObject(object)) {
8884          return nativeKeysIn(object);
8885        }
8886        var isProto = isPrototype(object), result = [];
8887        for (var key in object) {
8888          if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) {
8889            result.push(key);
8890          }
8891        }
8892        return result;
8893      }
8894      module.exports = baseKeysIn;
8895    }
8896  });
8897
8898  
vendor: 440 bytes, lines 8898-8911
8898// node_modules/lodash/keysIn.js
8899  var require_keysIn = __commonJS({
8900    "node_modules/lodash/keysIn.js"(exports, module) {
8901      var arrayLikeKeys = require_arrayLikeKeys();
8902      var baseKeysIn = require_baseKeysIn();
8903      var isArrayLike = require_isArrayLike();
8904      function keysIn(object) {
8905        return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);
8906      }
8907      module.exports = keysIn;
8908    }
8909  });
8910
8911  
vendor: 442 bytes, lines 8911-8924
8911// node_modules/lodash/_getAllKeysIn.js
8912  var require_getAllKeysIn = __commonJS({
8913    "node_modules/lodash/_getAllKeysIn.js"(exports, module) {
8914      var baseGetAllKeys = require_baseGetAllKeys();
8915      var getSymbolsIn = require_getSymbolsIn();
8916      var keysIn = require_keysIn();
8917      function getAllKeysIn(object) {
8918        return baseGetAllKeys(object, keysIn, getSymbolsIn);
8919      }
8920      module.exports = getAllKeysIn;
8921    }
8922  });
8923
8924  
vendor: 737 bytes, lines 8924-8947
8924// node_modules/lodash/pickBy.js
8925  var require_pickBy = __commonJS({
8926    "node_modules/lodash/pickBy.js"(exports, module) {
8927      var arrayMap = require_arrayMap();
8928      var baseIteratee = require_baseIteratee();
8929      var basePickBy = require_basePickBy();
8930      var getAllKeysIn = require_getAllKeysIn();
8931      function pickBy(object, predicate) {
8932        if (object == null) {
8933          return {};
8934        }
8935        var props = arrayMap(getAllKeysIn(object), function(prop) {
8936          return [prop];
8937        });
8938        predicate = baseIteratee(predicate);
8939        return basePickBy(object, props, function(value, path) {
8940          return predicate(value, path[0]);
8941        });
8942      }
8943      module.exports = pickBy;
8944    }
8945  });
8946
8947  
vendor: 410 bytes, lines 8947-8960
8947// node_modules/lodash/omitBy.js
8948  var require_omitBy = __commonJS({
8949    "node_modules/lodash/omitBy.js"(exports, module) {
8950      var baseIteratee = require_baseIteratee();
8951      var negate = require_negate();
8952      var pickBy = require_pickBy();
8953      function omitBy2(object, predicate) {
8954        return pickBy(object, negate(baseIteratee(predicate)));
8955      }
8956      module.exports = omitBy2;
8957    }
8958  });
8959
8960  
vendor: 1,374 bytes, lines 8960-9000
8960// node_modules/lodash/isEmpty.js
8961  var require_isEmpty = __commonJS({
8962    "node_modules/lodash/isEmpty.js"(exports, module) {
8963      var baseKeys = require_baseKeys();
8964      var getTag = require_getTag();
8965      var isArguments = require_isArguments();
8966      var isArray = require_isArray();
8967      var isArrayLike = require_isArrayLike();
8968      var isBuffer = require_isBuffer();
8969      var isPrototype = require_isPrototype();
8970      var isTypedArray = require_isTypedArray();
8971      var mapTag = "[object Map]";
8972      var setTag = "[object Set]";
8973      var objectProto = Object.prototype;
8974      var hasOwnProperty = objectProto.hasOwnProperty;
8975      function isEmpty2(value) {
8976        if (value == null) {
8977          return true;
8978        }
8979        if (isArrayLike(value) && (isArray(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer(value) || isTypedArray(value) || isArguments(value))) {
8980          return !value.length;
8981        }
8982        var tag = getTag(value);
8983        if (tag == mapTag || tag == setTag) {
8984          return !value.size;
8985        }
8986        if (isPrototype(value)) {
8987          return !baseKeys(value).length;
8988        }
8989        for (var key in value) {
8990          if (hasOwnProperty.call(value, key)) {
8991            return false;
8992          }
8993        }
8994        return true;
8995      }
8996      module.exports = isEmpty2;
8997    }
8998  });
8999
9000  
vendor: 622 bytes, lines 9000-9018
9000// node_modules/lodash/mapValues.js
9001  var require_mapValues = __commonJS({
9002    "node_modules/lodash/mapValues.js"(exports, module) {
9003      var baseAssignValue = require_baseAssignValue();
9004      var baseForOwn = require_baseForOwn();
9005      var baseIteratee = require_baseIteratee();
9006      function mapValues2(object, iteratee) {
9007        var result = {};
9008        iteratee = baseIteratee(iteratee, 3);
9009        baseForOwn(object, function(value, key, object2) {
9010          baseAssignValue(result, key, iteratee(value, key, object2));
9011        });
9012        return result;
9013      }
9014      module.exports = mapValues2;
9015    }
9016  });
9017
9018  
vendor: 465 bytes, lines 9018-9034
9018// node_modules/lodash/_arrayEach.js
9019  var require_arrayEach = __commonJS({
9020    "node_modules/lodash/_arrayEach.js"(exports, module) {
9021      function arrayEach(array, iteratee) {
9022        var index = -1, length = array == null ? 0 : array.length;
9023        while (++index < length) {
9024          if (iteratee(array[index], index, array) === false) {
9025            break;
9026          }
9027        }
9028        return array;
9029      }
9030      module.exports = arrayEach;
9031    }
9032  });
9033
9034  
vendor: 344 bytes, lines 9034-9045
9034// node_modules/lodash/_castFunction.js
9035  var require_castFunction = __commonJS({
9036    "node_modules/lodash/_castFunction.js"(exports, module) {
9037      var identity = require_identity();
9038      function castFunction(value) {
9039        return typeof value == "function" ? value : identity;
9040      }
9041      module.exports = castFunction;
9042    }
9043  });
9044
9045  
vendor: 523 bytes, lines 9045-9060
9045// node_modules/lodash/forEach.js
9046  var require_forEach = __commonJS({
9047    "node_modules/lodash/forEach.js"(exports, module) {
9048      var arrayEach = require_arrayEach();
9049      var baseEach = require_baseEach();
9050      var castFunction = require_castFunction();
9051      var isArray = require_isArray();
9052      function forEach2(collection, iteratee) {
9053        var func = isArray(collection) ? arrayEach : baseEach;
9054        return func(collection, castFunction(iteratee));
9055      }
9056      module.exports = forEach2;
9057    }
9058  });
9059
9060  
vendor: 261 bytes, lines 9060-9071
9060// node_modules/lodash/now.js
9061  var require_now = __commonJS({
9062    "node_modules/lodash/now.js"(exports, module) {
9063      var root = require_root();
9064      var now = function() {
9065        return root.Date.now();
9066      };
9067      module.exports = now;
9068    }
9069  });
9070
9071  
vendor: 3,532 bytes, lines 9071-9165
9071// node_modules/lodash/debounce.js
9072  var require_debounce = __commonJS({
9073    "node_modules/lodash/debounce.js"(exports, module) {
9074      var isObject = require_isObject();
9075      var now = require_now();
9076      var toNumber = require_toNumber();
9077      var FUNC_ERROR_TEXT = "Expected a function";
9078      var nativeMax = Math.max;
9079      var nativeMin = Math.min;
9080      function debounce(func, wait, options) {
9081        var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
9082        if (typeof func != "function") {
9083          throw new TypeError(FUNC_ERROR_TEXT);
9084        }
9085        wait = toNumber(wait) || 0;
9086        if (isObject(options)) {
9087          leading = !!options.leading;
9088          maxing = "maxWait" in options;
9089          maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
9090          trailing = "trailing" in options ? !!options.trailing : trailing;
9091        }
9092        function invokeFunc(time) {
9093          var args = lastArgs, thisArg = lastThis;
9094          lastArgs = lastThis = void 0;
9095          lastInvokeTime = time;
9096          result = func.apply(thisArg, args);
9097          return result;
9098        }
9099        function leadingEdge(time) {
9100          lastInvokeTime = time;
9101          timerId = setTimeout(timerExpired, wait);
9102          return leading ? invokeFunc(time) : result;
9103        }
9104        function remainingWait(time) {
9105          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
9106          return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
9107        }
9108        function shouldInvoke(time) {
9109          var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
9110          return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
9111        }
9112        function timerExpired() {
9113          var time = now();
9114          if (shouldInvoke(time)) {
9115            return trailingEdge(time);
9116          }
9117          timerId = setTimeout(timerExpired, remainingWait(time));
9118        }
9119        function trailingEdge(time) {
9120          timerId = void 0;
9121          if (trailing && lastArgs) {
9122            return invokeFunc(time);
9123          }
9124          lastArgs = lastThis = void 0;
9125          return result;
9126        }
9127        function cancel() {
9128          if (timerId !== void 0) {
9129            clearTimeout(timerId);
9130          }
9131          lastInvokeTime = 0;
9132          lastArgs = lastCallTime = lastThis = timerId = void 0;
9133        }
9134        function flush() {
9135          return timerId === void 0 ? result : trailingEdge(now());
9136        }
9137        function debounced() {
9138          var time = now(), isInvoking = shouldInvoke(time);
9139          lastArgs = arguments;
9140          lastThis = this;
9141          lastCallTime = time;
9142          if (isInvoking) {
9143            if (timerId === void 0) {
9144              return leadingEdge(lastCallTime);
9145            }
9146            if (maxing) {
9147              clearTimeout(timerId);
9148              timerId = setTimeout(timerExpired, wait);
9149              return invokeFunc(lastCallTime);
9150            }
9151          }
9152          if (timerId === void 0) {
9153            timerId = setTimeout(timerExpired, wait);
9154          }
9155          return result;
9156        }
9157        debounced.cancel = cancel;
9158        debounced.flush = flush;
9159        return debounced;
9160      }
9161      module.exports = debounce;
9162    }
9163  });
9164
9165  
vendor: 841 bytes, lines 9165-9190
9165// node_modules/lodash/throttle.js
9166  var require_throttle = __commonJS({
9167    "node_modules/lodash/throttle.js"(exports, module) {
9168      var debounce = require_debounce();
9169      var isObject = require_isObject();
9170      var FUNC_ERROR_TEXT = "Expected a function";
9171      function throttle2(func, wait, options) {
9172        var leading = true, trailing = true;
9173        if (typeof func != "function") {
9174          throw new TypeError(FUNC_ERROR_TEXT);
9175        }
9176        if (isObject(options)) {
9177          leading = "leading" in options ? !!options.leading : leading;
9178          trailing = "trailing" in options ? !!options.trailing : trailing;
9179        }
9180        return debounce(func, wait, {
9181          "leading": leading,
9182          "maxWait": wait,
9183          "trailing": trailing
9184        });
9185      }
9186      module.exports = throttle2;
9187    }
9188  });
9189
9190  
9190// packages/systems/ix2/engine/actions/IX2EngineActions.ts
9191  var IX2EngineActions_exports = {};
9192  __export(IX2EngineActions_exports, {
9193    actionListPlaybackChanged: () => actionListPlaybackChanged,
9194    animationFrameChanged: () => animationFrameChanged,
9195    clearRequested: () => clearRequested,
9196    elementStateChanged: () => elementStateChanged,
9197    eventListenerAdded: () => eventListenerAdded,
9198    eventStateChanged: () => eventStateChanged,
9199    instanceAdded: () => instanceAdded,
9200    instanceRemoved: () => instanceRemoved,
9201    instanceStarted: () => instanceStarted,
9202    mediaQueriesDefined: () => mediaQueriesDefined,
9203    parameterChanged: () => parameterChanged,
9204    playbackRequested: () => playbackRequested,
9205    previewRequested: () => previewRequested,
9206    rawDataImported: () => rawDataImported,
9207    sessionInitialized: () => sessionInitialized,
9208    sessionStarted: () => sessionStarted,
9209    sessionStopped: () => sessionStopped,
9210    stopRequested: () => stopRequested,
9211    testFrameRendered: () => testFrameRendered,
9212    viewportWidthChanged: () => viewportWidthChanged
9213  });
9214  var import_shared3, IX2_RAW_DATA_IMPORTED5, IX2_SESSION_INITIALIZED3, IX2_SESSION_STARTED3, IX2_SESSION_STOPPED6, IX2_PREVIEW_REQUESTED3, IX2_PLAYBACK_REQUESTED3, IX2_STOP_REQUESTED3, IX2_CLEAR_REQUESTED3, IX2_EVENT_LISTENER_ADDED3, IX2_TEST_FRAME_RENDERED3, IX2_EVENT_STATE_CHANGED3, IX2_ANIMATION_FRAME_CHANGED4, IX2_PARAMETER_CHANGED3, IX2_INSTANCE_ADDED4, IX2_INSTANCE_STARTED3, IX2_INSTANCE_REMOVED3, IX2_ELEMENT_STATE_CHANGED3, IX2_ACTION_LIST_PLAYBACK_CHANGED3, IX2_VIEWPORT_WIDTH_CHANGED3, IX2_MEDIA_QUERIES_DEFINED3, reifyState2, rawDataImported, sessionInitialized, sessionStarted, sessionStopped, previewRequested, playbackRequested, stopRequested, clearRequested, eventListenerAdded, testFrameRendered, eventStateChanged, animationFrameChanged, parameterChanged, instanceAdded, instanceStarted, instanceRemoved, elementStateChanged, actionListPlaybackChanged, viewportWidthChanged, mediaQueriesDefined;
9215  var init_IX2EngineActions = __esm({
9216    "packages/systems/ix2/engine/actions/IX2EngineActions.ts"() {
9217      "use strict";
9218      init_shared_constants();
9219      import_shared3 = __toESM(require_shared());
9220      ({
9221        IX2_RAW_DATA_IMPORTED: IX2_RAW_DATA_IMPORTED5,
9222        IX2_SESSION_INITIALIZED: IX2_SESSION_INITIALIZED3,
9223        IX2_SESSION_STARTED: IX2_SESSION_STARTED3,
9224        IX2_SESSION_STOPPED: IX2_SESSION_STOPPED6,
9225        IX2_PREVIEW_REQUESTED: IX2_PREVIEW_REQUESTED3,
9226        IX2_PLAYBACK_REQUESTED: IX2_PLAYBACK_REQUESTED3,
9227        IX2_STOP_REQUESTED: IX2_STOP_REQUESTED3,
9228        IX2_CLEAR_REQUESTED: IX2_CLEAR_REQUESTED3,
9229        IX2_EVENT_LISTENER_ADDED: IX2_EVENT_LISTENER_ADDED3,
9230        IX2_TEST_FRAME_RENDERED: IX2_TEST_FRAME_RENDERED3,
9231        IX2_EVENT_STATE_CHANGED: IX2_EVENT_STATE_CHANGED3,
9232        IX2_ANIMATION_FRAME_CHANGED: IX2_ANIMATION_FRAME_CHANGED4,
9233        IX2_PARAMETER_CHANGED: IX2_PARAMETER_CHANGED3,
9234        IX2_INSTANCE_ADDED: IX2_INSTANCE_ADDED4,
9235        IX2_INSTANCE_STARTED: IX2_INSTANCE_STARTED3,
9236        IX2_INSTANCE_REMOVED: IX2_INSTANCE_REMOVED3,
9237        IX2_ELEMENT_STATE_CHANGED: IX2_ELEMENT_STATE_CHANGED3,
9238        IX2_ACTION_LIST_PLAYBACK_CHANGED: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
9239        IX2_VIEWPORT_WIDTH_CHANGED: IX2_VIEWPORT_WIDTH_CHANGED3,
9240        IX2_MEDIA_QUERIES_DEFINED: IX2_MEDIA_QUERIES_DEFINED3
9241      } = IX2EngineActionTypes_exports);
9242      ({ reifyState: reifyState2 } = import_shared3.IX2VanillaUtils);
9243      rawDataImported = (rawData) => ({
9244        type: IX2_RAW_DATA_IMPORTED5,
9245        payload: {
9246          ...reifyState2(rawData)
9247        }
9248      });
9249      sessionInitialized = ({
9250        hasBoundaryNodes,
9251        reducedMotion
9252      }) => ({
9253        type: IX2_SESSION_INITIALIZED3,
9254        payload: {
9255          hasBoundaryNodes,
9256          reducedMotion
9257        }
9258      });
9259      sessionStarted = () => ({
9260        type: IX2_SESSION_STARTED3
9261      });
9262      sessionStopped = () => ({
9263        type: IX2_SESSION_STOPPED6
9264      });
9265      previewRequested = ({
9266        rawData,
9267        defer
9268      }) => ({
9269        type: IX2_PREVIEW_REQUESTED3,
9270        payload: {
9271          defer,
9272          rawData
9273        }
9274      });
9275      playbackRequested = ({
9276        actionTypeId = ActionTypeConsts.GENERAL_START_ACTION,
9277        actionListId,
9278        actionItemId,
9279        eventId,
9280        allowEvents,
9281        immediate,
9282        testManual,
9283        verbose,
9284        rawData
9285      }) => ({
9286        type: IX2_PLAYBACK_REQUESTED3,
9287        payload: {
9288          actionTypeId,
9289          actionListId,
9290          actionItemId,
9291          testManual,
9292          eventId,
9293          allowEvents,
9294          immediate,
9295          verbose,
9296          rawData
9297        }
9298      });
9299      stopRequested = (actionListId) => ({
9300        type: IX2_STOP_REQUESTED3,
9301        payload: {
9302          actionListId
9303        }
9304      });
9305      clearRequested = () => ({
9306        type: IX2_CLEAR_REQUESTED3
9307      });
9308      eventListenerAdded = (target, listenerParams) => ({
9309        type: IX2_EVENT_LISTENER_ADDED3,
9310        payload: {
9311          target,
9312          listenerParams
9313        }
9314      });
9315      testFrameRendered = (step = 1) => ({
9316        type: IX2_TEST_FRAME_RENDERED3,
9317        payload: {
9318          step
9319        }
9320      });
9321      eventStateChanged = (stateKey, newState) => ({
9322        type: IX2_EVENT_STATE_CHANGED3,
9323        payload: {
9324          stateKey,
9325          newState
9326        }
9327      });
9328      animationFrameChanged = (now, parameters) => ({
9329        type: IX2_ANIMATION_FRAME_CHANGED4,
9330        payload: {
9331          now,
9332          parameters
9333        }
9334      });
9335      parameterChanged = (key, value) => ({
9336        type: IX2_PARAMETER_CHANGED3,
9337        payload: {
9338          key,
9339          value
9340        }
9341      });
9342      instanceAdded = (options) => ({
9343        type: IX2_INSTANCE_ADDED4,
9344        payload: {
9345          ...options
9346        }
9347      });
9348      instanceStarted = (instanceId, time) => ({
9349        type: IX2_INSTANCE_STARTED3,
9350        payload: {
9351          instanceId,
9352          time
9353        }
9354      });
9355      instanceRemoved = (instanceId) => ({
9356        type: IX2_INSTANCE_REMOVED3,
9357        payload: {
9358          instanceId
9359        }
9360      });
9361      elementStateChanged = (elementId, actionTypeId, current, actionItem) => ({
9362        type: IX2_ELEMENT_STATE_CHANGED3,
9363        payload: {
9364          elementId,
9365          actionTypeId,
9366          current,
9367          actionItem
9368        }
9369      });
9370      actionListPlaybackChanged = ({
9371        actionListId,
9372        isPlaying
9373      }) => ({
9374        type: IX2_ACTION_LIST_PLAYBACK_CHANGED3,
9375        payload: {
9376          actionListId,
9377          isPlaying
9378        }
9379      });
9380      viewportWidthChanged = ({
9381        width,
9382        mediaQueries
9383      }) => ({
9384        type: IX2_VIEWPORT_WIDTH_CHANGED3,
9385        payload: {
9386          width,
9387          mediaQueries
9388        }
9389      });
9390      mediaQueriesDefined = () => ({
9391        type: IX2_MEDIA_QUERIES_DEFINED3
9392      });
9393    }
9394  });
9395
9396  
9396// packages/systems/ix2/engine/logic/IX2BrowserApi.ts
9397  var IX2BrowserApi_exports = {};
9398  __export(IX2BrowserApi_exports, {
9399    elementContains: () => elementContains,
9400    getChildElements: () => getChildElements,
9401    getClosestElement: () => getClosestElement,
9402    getProperty: () => getProperty,
9403    getQuerySelector: () => getQuerySelector,
9404    getRefType: () => getRefType,
9405    getSiblingElements: () => getSiblingElements,
9406    getStyle: () => getStyle,
9407    getValidDocument: () => getValidDocument,
9408    isSiblingNode: () => isSiblingNode,
9409    matchSelector: () => matchSelector,
9410    queryDocument: () => queryDocument,
9411    setStyle: () => setStyle
9412  });
9413  function setStyle(element, prop, value) {
9414    element.style[prop] = value;
9415  }
9416  function getStyle(element, prop) {
9417    if (prop.startsWith("--")) {
9418      return window.getComputedStyle(document.documentElement).getPropertyValue(prop);
9419    }
9420    return element.style[prop];
9421  }
9422  function getProperty(element, prop) {
9423    return element[prop];
9424  }
9425  function matchSelector(selector) {
9426    return (element) => element[ELEMENT_MATCHES2](selector);
9427  }
9428  function getQuerySelector({
9429    id,
9430    selector
9431  }) {
9432    if (id) {
9433      let nodeId = id;
9434      if (id.indexOf(IX2_ID_DELIMITER2) !== -1) {
9435        const pair = id.split(IX2_ID_DELIMITER2);
9436        const pageId = pair[0];
9437        nodeId = pair[1];
9438        if (pageId !== document.documentElement.getAttribute(WF_PAGE2)) {
9439          return null;
9440        }
9441      }
9442      return `[data-w-id="${nodeId}"], [data-w-id^="${nodeId}_instance"]`;
9443    }
9444    return selector;
9445  }
9446  function getValidDocument(pageId) {
9447    if (pageId == null || pageId === document.documentElement.getAttribute(WF_PAGE2)) {
9448      return document;
9449    }
9450    return null;
9451  }
9452  function queryDocument(baseSelector, descendantSelector) {
9453    return Array.prototype.slice.call(
9454      document.querySelectorAll(
9455        descendantSelector ? baseSelector + " " + descendantSelector : baseSelector
9456      )
9457    );
9458  }
9459  function elementContains(parent, child) {
9460    return parent.contains(child);
9461  }
9462  function isSiblingNode(a, b) {
9463    return a !== b && a.parentNode === b.parentNode;
9464  }
9465  function getChildElements(sourceElements) {
9466    const childElements = [];
9467    for (let i = 0, { length } = sourceElements || []; i < length; i++) {
9468      const { children } = sourceElements[i];
9469      const { length: childCount } = children;
9470      if (!childCount) {
9471        continue;
9472      }
9473      for (let j = 0; j < childCount; j++) {
9474        childElements.push(children[j]);
9475      }
9476    }
9477    return childElements;
9478  }
9479  function getSiblingElements(sourceElements = []) {
9480    const elements = [];
9481    const parentCache = [];
9482    for (let i = 0, { length } = sourceElements; i < length; i++) {
9483      const { parentNode } = sourceElements[i];
9484      if (!parentNode || !parentNode.children || !parentNode.children.length) {
9485        continue;
9486      }
9487      if (parentCache.indexOf(parentNode) !== -1) {
9488        continue;
9489      }
9490      parentCache.push(parentNode);
9491      let el = parentNode.firstElementChild;
9492      while (el != null) {
9493        if (sourceElements.indexOf(el) === -1) {
9494          elements.push(el);
9495        }
9496        el = el.nextElementSibling;
9497      }
9498    }
9499    return elements;
9500  }
9501  function getRefType(ref) {
9502    if (ref != null && typeof ref == "object") {
9503      return ref instanceof Element ? HTML_ELEMENT3 : PLAIN_OBJECT3;
9504    }
9505    return null;
9506  }
9507  var import_shared4, ELEMENT_MATCHES2, IX2_ID_DELIMITER2, HTML_ELEMENT3, PLAIN_OBJECT3, WF_PAGE2, getClosestElement;
9508  var init_IX2BrowserApi = __esm({
9509    "packages/systems/ix2/engine/logic/IX2BrowserApi.ts"() {
9510      "use strict";
9511      import_shared4 = __toESM(require_shared());
9512      init_shared_constants();
9513      ({ ELEMENT_MATCHES: ELEMENT_MATCHES2 } = import_shared4.IX2BrowserSupport);
9514      ({ IX2_ID_DELIMITER: IX2_ID_DELIMITER2, HTML_ELEMENT: HTML_ELEMENT3, PLAIN_OBJECT: PLAIN_OBJECT3, WF_PAGE: WF_PAGE2 } = IX2EngineConstants_exports);
9515      getClosestElement = Element.prototype.closest ? (element, selector) => {
9516        if (!document.documentElement.contains(element)) {
9517          return null;
9518        }
9519        return element.closest(selector);
9520      } : (element, selector) => {
9521        if (!document.documentElement.contains(element)) {
9522          return null;
9523        }
9524        let el = element;
9525        do {
9526          if (el[ELEMENT_MATCHES2] && el[ELEMENT_MATCHES2](selector)) {
9527            return el;
9528          }
9529          el = el.parentNode;
9530        } while (el != null);
9531        return null;
9532      };
9533    }
9534  });
9535
9536  
vendor: 684 bytes, lines 9536-9561
9536// node_modules/lodash/_baseCreate.js
9537  var require_baseCreate = __commonJS({
9538    "node_modules/lodash/_baseCreate.js"(exports, module) {
9539      var isObject = require_isObject();
9540      var objectCreate = Object.create;
9541      var baseCreate = function() {
9542        function object() {
9543        }
9544        return function(proto) {
9545          if (!isObject(proto)) {
9546            return {};
9547          }
9548          if (objectCreate) {
9549            return objectCreate(proto);
9550          }
9551          object.prototype = proto;
9552          var result = new object();
9553          object.prototype = void 0;
9554          return result;
9555        };
9556      }();
9557      module.exports = baseCreate;
9558    }
9559  });
9560
9561  
vendor: 226 bytes, lines 9561-9570
9561// node_modules/lodash/_baseLodash.js
9562  var require_baseLodash = __commonJS({
9563    "node_modules/lodash/_baseLodash.js"(exports, module) {
9564      function baseLodash() {
9565      }
9566      module.exports = baseLodash;
9567    }
9568  });
9569
9570  
vendor: 635 bytes, lines 9570-9588
9570// node_modules/lodash/_LodashWrapper.js
9571  var require_LodashWrapper = __commonJS({
9572    "node_modules/lodash/_LodashWrapper.js"(exports, module) {
9573      var baseCreate = require_baseCreate();
9574      var baseLodash = require_baseLodash();
9575      function LodashWrapper(value, chainAll) {
9576        this.__wrapped__ = value;
9577        this.__actions__ = [];
9578        this.__chain__ = !!chainAll;
9579        this.__index__ = 0;
9580        this.__values__ = void 0;
9581      }
9582      LodashWrapper.prototype = baseCreate(baseLodash.prototype);
9583      LodashWrapper.prototype.constructor = LodashWrapper;
9584      module.exports = LodashWrapper;
9585    }
9586  });
9587
9588  
vendor: 559 bytes, lines 9588-9602
9588// node_modules/lodash/_isFlattenable.js
9589  var require_isFlattenable = __commonJS({
9590    "node_modules/lodash/_isFlattenable.js"(exports, module) {
9591      var Symbol2 = require_Symbol();
9592      var isArguments = require_isArguments();
9593      var isArray = require_isArray();
9594      var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0;
9595      function isFlattenable(value) {
9596        return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
9597      }
9598      module.exports = isFlattenable;
9599    }
9600  });
9601
9602  
vendor: 914 bytes, lines 9602-9629
9602// node_modules/lodash/_baseFlatten.js
9603  var require_baseFlatten = __commonJS({
9604    "node_modules/lodash/_baseFlatten.js"(exports, module) {
9605      var arrayPush = require_arrayPush();
9606      var isFlattenable = require_isFlattenable();
9607      function baseFlatten(array, depth, predicate, isStrict, result) {
9608        var index = -1, length = array.length;
9609        predicate || (predicate = isFlattenable);
9610        result || (result = []);
9611        while (++index < length) {
9612          var value = array[index];
9613          if (depth > 0 && predicate(value)) {
9614            if (depth > 1) {
9615              baseFlatten(value, depth - 1, predicate, isStrict, result);
9616            } else {
9617              arrayPush(result, value);
9618            }
9619          } else if (!isStrict) {
9620            result[result.length] = value;
9621          }
9622        }
9623        return result;
9624      }
9625      module.exports = baseFlatten;
9626    }
9627  });
9628
9629  
vendor: 368 bytes, lines 9629-9641
9629// node_modules/lodash/flatten.js
9630  var require_flatten = __commonJS({
9631    "node_modules/lodash/flatten.js"(exports, module) {
9632      var baseFlatten = require_baseFlatten();
9633      function flatten(array) {
9634        var length = array == null ? 0 : array.length;
9635        return length ? baseFlatten(array, 1) : [];
9636      }
9637      module.exports = flatten;
9638    }
9639  });
9640
9641  
vendor: 585 bytes, lines 9641-9661
9641// node_modules/lodash/_apply.js
9642  var require_apply = __commonJS({
9643    "node_modules/lodash/_apply.js"(exports, module) {
9644      function apply(func, thisArg, args) {
9645        switch (args.length) {
9646          case 0:
9647            return func.call(thisArg);
9648          case 1:
9649            return func.call(thisArg, args[0]);
9650          case 2:
9651            return func.call(thisArg, args[0], args[1]);
9652          case 3:
9653            return func.call(thisArg, args[0], args[1], args[2]);
9654        }
9655        return func.apply(thisArg, args);
9656      }
9657      module.exports = apply;
9658    }
9659  });
9660
9661  
vendor: 878 bytes, lines 9661-9686
9661// node_modules/lodash/_overRest.js
9662  var require_overRest = __commonJS({
9663    "node_modules/lodash/_overRest.js"(exports, module) {
9664      var apply = require_apply();
9665      var nativeMax = Math.max;
9666      function overRest(func, start, transform) {
9667        start = nativeMax(start === void 0 ? func.length - 1 : start, 0);
9668        return function() {
9669          var args = arguments, index = -1, length = nativeMax(args.length - start, 0), array = Array(length);
9670          while (++index < length) {
9671            array[index] = args[start + index];
9672          }
9673          index = -1;
9674          var otherArgs = Array(start + 1);
9675          while (++index < start) {
9676            otherArgs[index] = args[index];
9677          }
9678          otherArgs[start] = transform(array);
9679          return apply(func, this, otherArgs);
9680        };
9681      }
9682      module.exports = overRest;
9683    }
9684  });
9685
9686  
vendor: 282 bytes, lines 9686-9698
9686// node_modules/lodash/constant.js
9687  var require_constant = __commonJS({
9688    "node_modules/lodash/constant.js"(exports, module) {
9689      function constant(value) {
9690        return function() {
9691          return value;
9692        };
9693      }
9694      module.exports = constant;
9695    }
9696  });
9697
9698  
vendor: 623 bytes, lines 9698-9716
9698// node_modules/lodash/_baseSetToString.js
9699  var require_baseSetToString = __commonJS({
9700    "node_modules/lodash/_baseSetToString.js"(exports, module) {
9701      var constant = require_constant();
9702      var defineProperty = require_defineProperty();
9703      var identity = require_identity();
9704      var baseSetToString = !defineProperty ? identity : function(func, string) {
9705        return defineProperty(func, "toString", {
9706          "configurable": true,
9707          "enumerable": false,
9708          "value": constant(string),
9709          "writable": true
9710        });
9711      };
9712      module.exports = baseSetToString;
9713    }
9714  });
9715
9716  
vendor: 714 bytes, lines 9716-9741
9716// node_modules/lodash/_shortOut.js
9717  var require_shortOut = __commonJS({
9718    "node_modules/lodash/_shortOut.js"(exports, module) {
9719      var HOT_COUNT = 800;
9720      var HOT_SPAN = 16;
9721      var nativeNow = Date.now;
9722      function shortOut(func) {
9723        var count = 0, lastCalled = 0;
9724        return function() {
9725          var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
9726          lastCalled = stamp;
9727          if (remaining > 0) {
9728            if (++count >= HOT_COUNT) {
9729              return arguments[0];
9730            }
9731          } else {
9732            count = 0;
9733          }
9734          return func.apply(void 0, arguments);
9735        };
9736      }
9737      module.exports = shortOut;
9738    }
9739  });
9740
9741  
vendor: 339 bytes, lines 9741-9751
9741// node_modules/lodash/_setToString.js
9742  var require_setToString = __commonJS({
9743    "node_modules/lodash/_setToString.js"(exports, module) {
9744      var baseSetToString = require_baseSetToString();
9745      var shortOut = require_shortOut();
9746      var setToString = shortOut(baseSetToString);
9747      module.exports = setToString;
9748    }
9749  });
9750
9751  
vendor: 419 bytes, lines 9751-9764
9751// node_modules/lodash/_flatRest.js
9752  var require_flatRest = __commonJS({
9753    "node_modules/lodash/_flatRest.js"(exports, module) {
9754      var flatten = require_flatten();
9755      var overRest = require_overRest();
9756      var setToString = require_setToString();
9757      function flatRest(func) {
9758        return setToString(overRest(func, void 0, flatten), func + "");
9759      }
9760      module.exports = flatRest;
9761    }
9762  });
9763
9764  
vendor: 264 bytes, lines 9764-9773
9764// node_modules/lodash/_metaMap.js
9765  var require_metaMap = __commonJS({
9766    "node_modules/lodash/_metaMap.js"(exports, module) {
9767      var WeakMap2 = require_WeakMap();
9768      var metaMap = WeakMap2 && new WeakMap2();
9769      module.exports = metaMap;
9770    }
9771  });
9772
9773  
vendor: 194 bytes, lines 9773-9782
9773// node_modules/lodash/noop.js
9774  var require_noop = __commonJS({
9775    "node_modules/lodash/noop.js"(exports, module) {
9776      function noop() {
9777      }
9778      module.exports = noop;
9779    }
9780  });
9781
9782  
vendor: 346 bytes, lines 9782-9794
9782// node_modules/lodash/_getData.js
9783  var require_getData = __commonJS({
9784    "node_modules/lodash/_getData.js"(exports, module) {
9785      var metaMap = require_metaMap();
9786      var noop = require_noop();
9787      var getData = !metaMap ? noop : function(func) {
9788        return metaMap.get(func);
9789      };
9790      module.exports = getData;
9791    }
9792  });
9793
9794  
vendor: 210 bytes, lines 9794-9802
9794// node_modules/lodash/_realNames.js
9795  var require_realNames = __commonJS({
9796    "node_modules/lodash/_realNames.js"(exports, module) {
9797      var realNames = {};
9798      module.exports = realNames;
9799    }
9800  });
9801
9802  
vendor: 724 bytes, lines 9802-9822
9802// node_modules/lodash/_getFuncName.js
9803  var require_getFuncName = __commonJS({
9804    "node_modules/lodash/_getFuncName.js"(exports, module) {
9805      var realNames = require_realNames();
9806      var objectProto = Object.prototype;
9807      var hasOwnProperty = objectProto.hasOwnProperty;
9808      function getFuncName(func) {
9809        var result = func.name + "", array = realNames[result], length = hasOwnProperty.call(realNames, result) ? array.length : 0;
9810        while (length--) {
9811          var data = array[length], otherFunc = data.func;
9812          if (otherFunc == null || otherFunc == func) {
9813            return data.name;
9814          }
9815        }
9816        return result;
9817      }
9818      module.exports = getFuncName;
9819    }
9820  });
9821
9822  
vendor: 721 bytes, lines 9822-9843
9822// node_modules/lodash/_LazyWrapper.js
9823  var require_LazyWrapper = __commonJS({
9824    "node_modules/lodash/_LazyWrapper.js"(exports, module) {
9825      var baseCreate = require_baseCreate();
9826      var baseLodash = require_baseLodash();
9827      var MAX_ARRAY_LENGTH = 4294967295;
9828      function LazyWrapper(value) {
9829        this.__wrapped__ = value;
9830        this.__actions__ = [];
9831        this.__dir__ = 1;
9832        this.__filtered__ = false;
9833        this.__iteratees__ = [];
9834        this.__takeCount__ = MAX_ARRAY_LENGTH;
9835        this.__views__ = [];
9836      }
9837      LazyWrapper.prototype = baseCreate(baseLodash.prototype);
9838      LazyWrapper.prototype.constructor = LazyWrapper;
9839      module.exports = LazyWrapper;
9840    }
9841  });
9842
9843  
vendor: 431 bytes, lines 9843-9858
9843// node_modules/lodash/_copyArray.js
9844  var require_copyArray = __commonJS({
9845    "node_modules/lodash/_copyArray.js"(exports, module) {
9846      function copyArray(source, array) {
9847        var index = -1, length = source.length;
9848        array || (array = Array(length));
9849        while (++index < length) {
9850          array[index] = source[index];
9851        }
9852        return array;
9853      }
9854      module.exports = copyArray;
9855    }
9856  });
9857
9858  
vendor: 732 bytes, lines 9858-9878
9858// node_modules/lodash/_wrapperClone.js
9859  var require_wrapperClone = __commonJS({
9860    "node_modules/lodash/_wrapperClone.js"(exports, module) {
9861      var LazyWrapper = require_LazyWrapper();
9862      var LodashWrapper = require_LodashWrapper();
9863      var copyArray = require_copyArray();
9864      function wrapperClone(wrapper) {
9865        if (wrapper instanceof LazyWrapper) {
9866          return wrapper.clone();
9867        }
9868        var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);
9869        result.__actions__ = copyArray(wrapper.__actions__);
9870        result.__index__ = wrapper.__index__;
9871        result.__values__ = wrapper.__values__;
9872        return result;
9873      }
9874      module.exports = wrapperClone;
9875    }
9876  });
9877
9878  
vendor: 1,036 bytes, lines 9878-9906
9878// node_modules/lodash/wrapperLodash.js
9879  var require_wrapperLodash = __commonJS({
9880    "node_modules/lodash/wrapperLodash.js"(exports, module) {
9881      var LazyWrapper = require_LazyWrapper();
9882      var LodashWrapper = require_LodashWrapper();
9883      var baseLodash = require_baseLodash();
9884      var isArray = require_isArray();
9885      var isObjectLike = require_isObjectLike();
9886      var wrapperClone = require_wrapperClone();
9887      var objectProto = Object.prototype;
9888      var hasOwnProperty = objectProto.hasOwnProperty;
9889      function lodash(value) {
9890        if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
9891          if (value instanceof LodashWrapper) {
9892            return value;
9893          }
9894          if (hasOwnProperty.call(value, "__wrapped__")) {
9895            return wrapperClone(value);
9896          }
9897        }
9898        return new LodashWrapper(value);
9899      }
9900      lodash.prototype = baseLodash.prototype;
9901      lodash.prototype.constructor = lodash;
9902      module.exports = lodash;
9903    }
9904  });
9905
9906  
vendor: 732 bytes, lines 9906-9928
9906// node_modules/lodash/_isLaziable.js
9907  var require_isLaziable = __commonJS({
9908    "node_modules/lodash/_isLaziable.js"(exports, module) {
9909      var LazyWrapper = require_LazyWrapper();
9910      var getData = require_getData();
9911      var getFuncName = require_getFuncName();
9912      var lodash = require_wrapperLodash();
9913      function isLaziable(func) {
9914        var funcName = getFuncName(func), other = lodash[funcName];
9915        if (typeof other != "function" || !(funcName in LazyWrapper.prototype)) {
9916          return false;
9917        }
9918        if (func === other) {
9919          return true;
9920        }
9921        var data = getData(other);
9922        return !!data && func === data[0];
9923      }
9924      module.exports = isLaziable;
9925    }
9926  });
9927
9928  
vendor: 2,285 bytes, lines 9928-9984
9928// node_modules/lodash/_createFlow.js
9929  var require_createFlow = __commonJS({
9930    "node_modules/lodash/_createFlow.js"(exports, module) {
9931      var LodashWrapper = require_LodashWrapper();
9932      var flatRest = require_flatRest();
9933      var getData = require_getData();
9934      var getFuncName = require_getFuncName();
9935      var isArray = require_isArray();
9936      var isLaziable = require_isLaziable();
9937      var FUNC_ERROR_TEXT = "Expected a function";
9938      var WRAP_CURRY_FLAG = 8;
9939      var WRAP_PARTIAL_FLAG = 32;
9940      var WRAP_ARY_FLAG = 128;
9941      var WRAP_REARG_FLAG = 256;
9942      function createFlow(fromRight) {
9943        return flatRest(function(funcs) {
9944          var length = funcs.length, index = length, prereq = LodashWrapper.prototype.thru;
9945          if (fromRight) {
9946            funcs.reverse();
9947          }
9948          while (index--) {
9949            var func = funcs[index];
9950            if (typeof func != "function") {
9951              throw new TypeError(FUNC_ERROR_TEXT);
9952            }
9953            if (prereq && !wrapper && getFuncName(func) == "wrapper") {
9954              var wrapper = new LodashWrapper([], true);
9955            }
9956          }
9957          index = wrapper ? index : length;
9958          while (++index < length) {
9959            func = funcs[index];
9960            var funcName = getFuncName(func), data = funcName == "wrapper" ? getData(func) : void 0;
9961            if (data && isLaziable(data[0]) && data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && !data[4].length && data[9] == 1) {
9962              wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);
9963            } else {
9964              wrapper = func.length == 1 && isLaziable(func) ? wrapper[funcName]() : wrapper.thru(func);
9965            }
9966          }
9967          return function() {
9968            var args = arguments, value = args[0];
9969            if (wrapper && args.length == 1 && isArray(value)) {
9970              return wrapper.plant(value).value();
9971            }
9972            var index2 = 0, result = length ? funcs[index2].apply(this, args) : value;
9973            while (++index2 < length) {
9974              result = funcs[index2].call(this, result);
9975            }
9976            return result;
9977          };
9978        });
9979      }
9980      module.exports = createFlow;
9981    }
9982  });
9983
9984  
vendor: 240 bytes, lines 9984-9993
9984// node_modules/lodash/flow.js
9985  var require_flow = __commonJS({
9986    "node_modules/lodash/flow.js"(exports, module) {
9987      var createFlow = require_createFlow();
9988      var flow2 = createFlow();
9989      module.exports = flow2;
9990    }
9991  });
9992
9993  
vendor: 509 bytes, lines 9993-10011
9993// node_modules/lodash/_baseClamp.js
9994  var require_baseClamp = __commonJS({
9995    "node_modules/lodash/_baseClamp.js"(exports, module) {
9996      function baseClamp(number, lower, upper) {
9997        if (number === number) {
9998          if (upper !== void 0) {
9999            number = number <= upper ? number : upper;
10000          }
10001          if (lower !== void 0) {
10002            number = number >= lower ? number : lower;
10003          }
10004        }
10005        return number;
10006      }
10007      module.exports = baseClamp;
10008    }
10009  });
10010
10011  
vendor: 704 bytes, lines 10011-10035
10011// node_modules/lodash/clamp.js
10012  var require_clamp = __commonJS({
10013    "node_modules/lodash/clamp.js"(exports, module) {
10014      var baseClamp = require_baseClamp();
10015      var toNumber = require_toNumber();
10016      function clamp2(number, lower, upper) {
10017        if (upper === void 0) {
10018          upper = lower;
10019          lower = void 0;
10020        }
10021        if (upper !== void 0) {
10022          upper = toNumber(upper);
10023          upper = upper === upper ? upper : 0;
10024        }
10025        if (lower !== void 0) {
10026          lower = toNumber(lower);
10027          lower = lower === lower ? lower : 0;
10028        }
10029        return baseClamp(toNumber(number), lower, upper);
10030      }
10031      module.exports = clamp2;
10032    }
10033  });
10034
10035  
10035// packages/systems/ix2/engine/logic/IX2VanillaEvents.ts
10036  var import_flow, import_get, import_clamp, import_shared5, MOUSE_CLICK, MOUSE_SECOND_CLICK, MOUSE_DOWN, MOUSE_UP, MOUSE_OVER, MOUSE_OUT, DROPDOWN_CLOSE, DROPDOWN_OPEN, SLIDER_ACTIVE, SLIDER_INACTIVE, TAB_ACTIVE, TAB_INACTIVE, NAVBAR_CLOSE, NAVBAR_OPEN, MOUSE_MOVE, PAGE_SCROLL_DOWN, SCROLL_INTO_VIEW, SCROLL_OUT_OF_VIEW, PAGE_SCROLL_UP, SCROLLING_IN_VIEW, PAGE_FINISH, ECOMMERCE_CART_CLOSE, ECOMMERCE_CART_OPEN, PAGE_START, PAGE_SCROLL, COMPONENT_ACTIVE, COMPONENT_INACTIVE, COLON_DELIMITER3, getNamespacedParameterId2, composableFilter, isElement, containsElement, isOrContainsElement, getAutoStopEvent, hasAutoStopEvent, actionGroupCreator, withFilter, baseActionGroupOptions, baseActivityActionGroupOptions, SCROLL_EVENT_TYPES, MOUSE_OVER_OUT_TYPES, baseScrollActionGroupOptions, AUTO_STOP_DISABLED_EVENTS, getDocumentState, areBoxesIntersecting, isElementHovered, isElementVisible, whenComponentActiveChange, whenElementHoverChange, whenElementVisibiltyChange, whenScrollDirectionChange, pointIntersects, whenPageLoadFinish, whenPageLoadStart, whenClickCountChange, getComponentActiveOptions, getComponentInactiveOptions, scrollIntoOutOfViewOptions, MOUSE_OUT_ROUND_THRESHOLD, IX2VanillaEvents_default;
10037  var init_IX2VanillaEvents = __esm({
10038    "packages/systems/ix2/engine/logic/IX2VanillaEvents.ts"() {
10039      "use strict";
10040      import_flow = __toESM(require_flow());
10041      import_get = __toESM(require_get());
10042      import_clamp = __toESM(require_clamp());
10043      init_shared_constants();
10044      init_IX2VanillaEngine();
10045      init_IX2EngineActions();
10046      import_shared5 = __toESM(require_shared());
10047      ({
10048        MOUSE_CLICK,
10049        MOUSE_SECOND_CLICK,
10050        MOUSE_DOWN,
10051        MOUSE_UP,
10052        MOUSE_OVER,
10053        MOUSE_OUT,
10054        DROPDOWN_CLOSE,
10055        DROPDOWN_OPEN,
10056        SLIDER_ACTIVE,
10057        SLIDER_INACTIVE,
10058        TAB_ACTIVE,
10059        TAB_INACTIVE,
10060        NAVBAR_CLOSE,
10061        NAVBAR_OPEN,
10062        MOUSE_MOVE,
10063        PAGE_SCROLL_DOWN,
10064        SCROLL_INTO_VIEW,
10065        SCROLL_OUT_OF_VIEW,
10066        PAGE_SCROLL_UP,
10067        SCROLLING_IN_VIEW,
10068        PAGE_FINISH,
10069        ECOMMERCE_CART_CLOSE,
10070        ECOMMERCE_CART_OPEN,
10071        PAGE_START,
10072        PAGE_SCROLL
10073      } = EventTypeConsts);
10074      COMPONENT_ACTIVE = "COMPONENT_ACTIVE";
10075      COMPONENT_INACTIVE = "COMPONENT_INACTIVE";
10076      ({ COLON_DELIMITER: COLON_DELIMITER3 } = IX2EngineConstants_exports);
10077      ({ getNamespacedParameterId: getNamespacedParameterId2 } = import_shared5.IX2VanillaUtils);
10078      composableFilter = (predicate) => (options) => {
10079        if (typeof options === "object" && predicate(options)) {
10080          return true;
10081        }
10082        return options;
10083      };
10084      isElement = composableFilter(({ element, nativeEvent }) => {
10085        return element === nativeEvent.target;
10086      });
10087      containsElement = composableFilter(({ element, nativeEvent }) => {
10088        return element.contains(nativeEvent.target);
10089      });
10090      isOrContainsElement = (0, import_flow.default)([isElement, containsElement]);
10091      getAutoStopEvent = (store, autoStopEventId) => {
10092        if (autoStopEventId) {
10093          const { ixData: ixData2 } = store.getState();
10094          const { events } = ixData2;
10095          const eventToStop = events[autoStopEventId];
10096          if (eventToStop && !AUTO_STOP_DISABLED_EVENTS[eventToStop.eventTypeId]) {
10097            return eventToStop;
10098          }
10099        }
10100        return null;
10101      };
10102      hasAutoStopEvent = ({ store, event }) => {
10103        const { action: eventAction } = event;
10104        const { autoStopEventId } = eventAction.config;
10105        return Boolean(getAutoStopEvent(store, autoStopEventId));
10106      };
10107      actionGroupCreator = ({ store, event, element, eventStateKey }, state) => {
10108        const { action: eventAction, id: eventId } = event;
10109        const { actionListId, autoStopEventId } = eventAction.config;
10110        const eventToStop = getAutoStopEvent(store, autoStopEventId);
10111        if (eventToStop) {
10112          stopActionGroup({
10113            store,
10114            eventId: autoStopEventId,
10115            eventTarget: element,
10116            eventStateKey: autoStopEventId + COLON_DELIMITER3 + eventStateKey.split(COLON_DELIMITER3)[1],
10117            actionListId: (0, import_get.default)(eventToStop, "action.config.actionListId")
10118          });
10119        }
10120        stopActionGroup({
10121          store,
10122          eventId,
10123          eventTarget: element,
10124          eventStateKey,
10125          actionListId
10126        });
10127        startActionGroup({
10128          store,
10129          eventId,
10130          eventTarget: element,
10131          eventStateKey,
10132          actionListId
10133        });
10134        return state;
10135      };
10136      withFilter = (filter, handler) => (options, state) =>
10136 filter(options, state) === true ? handler(options, state) : state;
10137      baseActionGroupOptions = {
10138        handler: withFilter(isOrContainsElement, actionGroupCreator)
10139      };
10140      baseActivityActionGroupOptions = {
10141        ...baseActionGroupOptions,
10142        types: [COMPONENT_ACTIVE, COMPONENT_INACTIVE].join(" ")
10143      };
10144      SCROLL_EVENT_TYPES = [
10145        { target: window, types: "resize orientationchange", throttle: true },
10146        {
10147          target: document,
10148          types: "scroll wheel readystatechange IX2_PAGE_UPDATE",
10149          throttle: true
10150        }
10151      ];
10152      MOUSE_OVER_OUT_TYPES = "mouseover mouseout";
10153      baseScrollActionGroupOptions = {
10154        types: SCROLL_EVENT_TYPES
10155      };
10156      AUTO_STOP_DISABLED_EVENTS = {
10157        PAGE_START,
10158        PAGE_FINISH
10159      };
10160      getDocumentState = (() => {
10161        const supportOffset = window.pageXOffset !== void 0;
10162        const isCSS1Compat = document.compatMode === "CSS1Compat";
10163        const rootElement = isCSS1Compat ? document.documentElement : document.body;
10164        return () => ({
10165          scrollLeft: supportOffset ? window.pageXOffset : rootElement.scrollLeft,
10166          scrollTop: supportOffset ? window.pageYOffset : rootElement.scrollTop,
10167          // required to remove elasticity in Safari scrolling.
10168          stiffScrollTop: (0, import_clamp.default)(
10169            supportOffset ? window.pageYOffset : rootElement.scrollTop,
10170            0,
10171            rootElement.scrollHeight - window.innerHeight
10172          ),
10173          scrollWidth: rootElement.scrollWidth,
10174          scrollHeight: rootElement.scrollHeight,
10175          clientWidth: rootElement.clientWidth,
10176          clientHeight: rootElement.clientHeight,
10177          innerWidth: window.innerWidth,
10178          innerHeight: window.innerHeight
10179        });
10180      })();
10181      areBoxesIntersecting = (a, b) => !(a.left > b.right || a.right < b.left || a.top > b.bottom || a.bottom < b.top);
10182      isElementHovered = ({ element, nativeEvent }) => {
10183        const { type, target, relatedTarget } = nativeEvent;
10184        const containsTarget = element.contains(target);
10185        if (type === "mouseover" && containsTarget) {
10186          return true;
10187        }
10188        const containsRelated = element.contains(relatedTarget);
10189        if (type === "mouseout" && containsTarget && containsRelated) {
10190          return true;
10191        }
10192        return false;
10193      };
10194      isElementVisible = (options) => {
10195        const {
10196          element,
10197          event: { config }
10198        } = options;
10199        const { clientWidth, clientHeight } = getDocumentState();
10200        const scrollOffsetValue = config.scrollOffsetValue;
10201        const scrollOffsetUnit = config.scrollOffsetUnit;
10202        const isPX = scrollOffsetUnit === "PX";
10203        const offsetPadding = isPX ? scrollOffsetValue : clientHeight * (scrollOffsetValue || 0) / 100;
10204        return areBoxesIntersecting(element.getBoundingClientRect(), {
10205          left: 0,
10206          top: offsetPadding,
10207          right: clientWidth,
10208          bottom: clientHeight - offsetPadding
10209        });
10210      };
10211      whenComponentActiveChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
10212      (handler) => (options, oldState) => {
10213        const { type } = options.nativeEvent;
10214        const isActive = [COMPONENT_ACTIVE, COMPONENT_INACTIVE].indexOf(type) !== -1 ? type === COMPONENT_ACTIVE : oldState.isActive;
10215        const newState = {
10216          ...oldState,
10217          isActive
10218        };
10219        if (!oldState || newState.isActive !== oldState.isActive) {
10220          return handler(options, newState) || newState;
10221        }
10222        return newState;
10223      };
10224      whenElementHoverChange = (handler) => (options, oldState) => {
10225        const newState = {
10226          elementHovered: isElementHovered(options)
10227        };
10228        if (oldState ? newState.elementHovered !== oldState.elementHovered : newState.elementHovered) {
10229          return handler(options, newState) || newState;
10230        }
10231        return newState;
10232      };
10233      whenElementVisibiltyChange = (handler) => (options, oldState) => {
10234        const newState = {
10235          ...oldState,
10236          elementVisible: isElementVisible(options)
10237        };
10238        if (oldState ? newState.elementVisible !== oldState.elementVisible : newState.elementVisible) {
10239          return handler(options, newState) || newState;
10240        }
10241        return newState;
10242      };
10243      whenScrollDirectionChange = // @ts-expect-error - TS7006 - Parameter 'handler' implicitly has an 'any' type.
10244      (handler) => (options, oldState = {}) => {
10245        const {
10246          stiffScrollTop: scrollTop,
10247          scrollHeight,
10248          innerHeight
10249        } = getDocumentState();
10250        const {
10251          event: { config, eventTypeId }
10252        } = options;
10253        const { scrollOffsetValue, scrollOffsetUnit } = config;
10254        const isPX = scrollOffsetUnit === "PX";
10255        const scrollHeightBounds = scrollHeight - innerHeight;
10256        const percentTop = Number((scrollTop / scrollHeightBounds).toFixed(2));
10257        if (oldState && oldState.percentTop === percentTop) {
10258          return oldState;
10259        }
10260        const scrollTopPadding = (isPX ? scrollOffsetValue : innerHeight * (scrollOffsetValue || 0) / 100) / scrollHeightBounds;
10261        let scrollingDown;
10262        let scrollDirectionChanged;
10263        let anchorTop = 0;
10264        if (oldState) {
10265          scrollingDown = percentTop > oldState.percentTop;
10266          scrollDirectionChanged = oldState.scrollingDown !== scrollingDown;
10267          anchorTop = scrollDirectionChanged ? percentTop : oldState.anchorTop;
10268        }
10269        const inBounds = eventTypeId === PAGE_SCROLL_DOWN ? percentTop >= anchorTop + scrollTopPadding : percentTop <= anchorTop - scrollTopPadding;
10270        const newState = {
10271          ...oldState,
10272          percentTop,
10273          inBounds,
10274          anchorTop,
10275          scrollingDown
10276        };
10277        if (oldState && inBounds && // @ts-expect-error - TS2339 - Property 'inBounds' does not exist on type '{}'.
10278        (scrollDirectionChanged || newState.inBounds !== oldState.inBounds)) {
10279          return handler(options, newState) || newState;
10280        }
10281        return newState;
10282      };
10283      pointIntersects = (point, rect) => point.left > rect.left && point.left < rect.right && point.top > rect.top && point.top < rect.bottom;
10284      whenPageLoadFinish = (handler) => (options, oldState) => {
10285        const newState = {
10286          finished: document.readyState === "complete"
10287        };
10288        if (newState.finished && !(oldState && oldState.finshed)) {
10289          handler(options);
10290        }
10291        return newState;
10292      };
10293      whenPageLoadStart = (handler) => (options, oldState) => {
10294        const newState = {
10295          started: true
10296        };
10297        if (!oldState) {
10298          handler(options);
10299        }
10300        return newState;
10301      };
10302      whenClickCountChange = (handler) => (options, oldState = { clickCount: 0 }) => {
10303        const newState = {
10304          clickCount: oldState.clickCount % 2 + 1
10305        };
10306        if (newState.clickCount !== oldState.clickCount) {
10307          return handler(options, newState) || newState;
10308        }
10309        return newState;
10310      };
10311      getComponentActiveOptions = (allowNestedChildrenEvents = true) => ({
10312        ...baseActivityActionGroupOptions,
10313        handler: withFilter(
10314          allowNestedChildrenEvents ? isOrContainsElement : isElement,
10315          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10316          whenComponentActiveChange((options, state) => {
10317            return state.isActive ? baseActionGroupOptions.handler(options, state) : state;
10318          })
10319        )
10320      });
10321      getComponentInactiveOptions = (allowNestedChildrenEvents = true) => ({
10322        ...baseActivityActionGroupOptions,
10323        handler: withFilter(
10324          allowNestedChildrenEvents ? isOrContainsElement : isElement,
10325          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10326          whenComponentActiveChange((options, state) => {
10327            return !state.isActive ? baseActionGroupOptions.handler(options, state) : state;
10328          })
10329        )
10330      });
10331      scrollIntoOutOfViewOptions = {
10332        ...baseScrollActionGroupOptions,
10333        handler: whenElementVisibiltyChange((options, state) => {
10334          const { elementVisible } = state;
10335          const { event, store } = options;
10336          const { ixData: ixData2 } = store.getState();
10337          const { events } = ixData2;
10338          if (!events[event.action.config.autoStopEventId] && state.triggered) {
10339            return state;
10340          }
10341          if (event.eventTypeId === SCROLL_INTO_VIEW === elementVisible) {
10342            actionGroupCreator(options);
10343            return {
10344              ...state,
10345              triggered: true
10346            };
10347          } else {
10348            return state;
10349          }
10350        })
10351      };
10352      MOUSE_OUT_ROUND_THRESHOLD = 0.05;
10353      IX2VanillaEvents_default = {
10354        [SLIDER_ACTIVE]: getComponentActiveOptions(),
10355        [SLIDER_INACTIVE]: getComponentInactiveOptions(),
10356        [DROPDOWN_OPEN]: getComponentActiveOptions(),
10357        [DROPDOWN_CLOSE]: getComponentInactiveOptions(),
10358        // navbar elements may contain nested components in the menu. To prevent activity misfires, only listed for activity
10359        // events where the target is the navbar element, and ignore children that dispatch activitiy events.
10360        [NAVBAR_OPEN]: getComponentActiveOptions(false),
10361        [NAVBAR_CLOSE]: getComponentInactiveOptions(false),
10362        [TAB_ACTIVE]: getComponentActiveOptions(),
10363        [TAB_INACTIVE]: getComponentInactiveOptions(),
10364        [ECOMMERCE_CART_OPEN]: {
10365          types: "ecommerce-cart-open",
10366          handler: withFilter(isOrContainsElement, actionGroupCreator)
10367        },
10368        [ECOMMERCE_CART_CLOSE]: {
10369          types: "ecommerce-cart-close",
10370          handler: withFilter(isOrContainsElement, actionGroupCreator)
10371        },
10372        [MOUSE_CLICK]: {
10373          types: "click",
10374          handler: withFilter(
10375            isOrContainsElement,
10376            whenClickCountChange((options, { clickCount }) => {
10377              if (hasAutoStopEvent(options)) {
10378                clickCount === 1 && actionGroupCreator(options);
10379              } else {
10380                actionGroupCreator(options);
10381              }
10382            })
10383          )
10384        },
10385        [MOUSE_SECOND_CLICK]: {
10386          types: "click",
10387          handler: withFilter(
10388            isOrContainsElement,
10389            whenClickCountChange((options, { clickCount }) => {
10390              if (clickCount === 2) {
10391                actionGroupCreator(options);
10392              }
10393            })
10394          )
10395        },
10396        [MOUSE_DOWN]: {
10397          ...baseActionGroupOptions,
10398          types: "mousedown"
10399        },
10400        [MOUSE_UP]: {
10401          ...baseActionGroupOptions,
10402          types: "mouseup"
10403        },
10404        [MOUSE_OVER]: {
10405          types: MOUSE_OVER_OUT_TYPES,
10406          handler: withFilter(
10407            isOrContainsElement,
10408            whenElementHoverChange((options, state) => {
10409              if (state.elementHovered) {
10410                actionGroupCreator(options);
10411              }
10412            })
10413          )
10414        },
10415        [MOUSE_OUT]: {
10416          types: MOUSE_OVER_OUT_TYPES,
10417          handler: withFilter(
10418            isOrContainsElement,
10419            whenElementHoverChange((options, state) => {
10420              if (!state.elementHovered) {
10421                actionGroupCreator(options);
10422              }
10423            })
10424          )
10425        },
10426        [MOUSE_MOVE]: {
10427          types: "mousemove mouseout scroll",
10428          handler: ({ store, element, eventConfig, nativeEvent, eventStateKey }, state = { clientX: 0, clientY: 0, pageX: 0, pageY: 0 }) => {
10429            const {
10430              basedOn,
10431              selectedAxis,
10432              continuousParameterGroupId,
10433              reverse,
10434              restingState = 0
10435            } = eventConfig;
10436            const {
10437              clientX = state.clientX,
10438              clientY = state.clientY,
10439              pageX = state.pageX,
10440              pageY = state.pageY
10441            } = nativeEvent;
10442            const isXAxis = selectedAxis === "X_AXIS";
10443            const isMouseOut = nativeEvent.type === "mouseout";
10444            let value = restingState / 100;
10445            let namespacedParameterId = continuousParameterGroupId;
10446            let elementHovered = false;
10447            switch (basedOn) {
10448              case EventBasedOn.VIEWPORT: {
10449                value = isXAxis ? Math.min(clientX, window.innerWidth) / window.innerWidth : Math.min(clientY, window.innerHeight) / window.innerHeight;
10450                break;
10451              }
10452              case EventBasedOn.PAGE: {
10453                const { scrollLeft, scrollTop, scrollWidth, scrollHeight } = getDocumentState();
10454                value = isXAxis ? Math.min(scrollLeft + pageX, scrollWidth) / scrollWidth : Math.min(scrollTop + pageY, scrollHeight) / scrollHeight;
10455                break;
10456              }
10457              case EventBasedOn.ELEMENT:
10458              default: {
10459                namespacedParameterId = getNamespacedParameterId2(
10460                  eventStateKey,
10461                  continuousParameterGroupId
10462                );
10463                const isMouseEvent = nativeEvent.type.indexOf("mouse") === 0;
10464                if (isMouseEvent && isOrContainsElement({ element, nativeEvent }) !== true) {
10465                  break;
10466                }
10467                const rect = element.getBoundingClientRect();
10468                const { left, top, width, height } = rect;
10469                if (!isMouseEvent && !pointIntersects({ left: clientX, top: clientY }, rect)) {
10470                  break;
10471                }
10472                elementHovered = true;
10473                value = isXAxis ? (clientX - left) / width : (clientY - top) / height;
10474                break;
10475              }
10476            }
10477            if (isMouseOut && (value > 1 - MOUSE_OUT_ROUND_THRESHOLD || value < MOUSE_OUT_ROUND_THRESHOLD)) {
10478              value = Math.round(value);
10479            }
10480            if (basedOn !== EventBasedOn.ELEMENT || elementHovered || // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10481            // @ts-expect-error
10482            elementHovered !== state.elementHovered) {
10483              value = reverse ? 1 - value : value;
10484              store.dispatch(parameterChanged(namespacedParameterId, value));
10485            }
10486            return {
10487              elementHovered,
10488              clientX,
10489              clientY,
10490              pageX,
10491              pageY
10492            };
10493          }
10494        },
10495        [PAGE_SCROLL]: {
10496          types: SCROLL_EVENT_TYPES,
10497          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10498          // @ts-expect-error
10499          handler: ({ store, eventConfig }) => {
10500            const { continuousParameterGroupId, reverse } = eventConfig;
10501            const { scrollTop, scrollHeight, clientHeight } = getDocumentState();
10502            let value = scrollTop / (scrollHeight - clientHeight);
10503            value = reverse ? 1 - value : value;
10504            store.dispatch(parameterChanged(continuousParameterGroupId, value));
10505          }
10506        },
10507        [SCROLLING_IN_VIEW]: {
10508          types: SCROLL_EVENT_TYPES,
10509          handler: ({ element, store, eventConfig, eventStateKey }, state = { scrollPercent: 0 }) => {
10510            const {
10511              scrollLeft,
10512              scrollTop,
10513              scrollWidth,
10514              scrollHeight,
10515              clientHeight: visibleHeight
10516            } = getDocumentState();
10517            const {
10518              basedOn,
10519              selectedAxis,
10520              continuousParameterGroupId,
10521              startsEntering,
10522              startsExiting,
10523              addEndOffset,
10524              addStartOffset,
10525              addOffsetValue = 0,
10526              endOffsetValue = 0
10527            } = eventConfig;
10528            const isXAxis = selectedAxis === "X_AXIS";
10529            if (basedOn === EventBasedOn.VIEWPORT) {
10530              const value = isXAxis ? scrollLeft / scrollWidth : scrollTop / scrollHeight;
10531              if (value !== state.scrollPercent) {
10532                store.dispatch(parameterChanged(continuousParameterGroupId, value));
10533              }
10534              return {
10535                scrollPercent: value
10536              };
10537            } else {
10538              const namespacedParameterId = getNamespacedParameterId2(
10539                eventStateKey,
10540                continuousParameterGroupId
10541              );
10542              const elementRect = element.getBoundingClientRect();
10543              let offsetStartPerc = (addStartOffset ? addOffsetValue : 0) / 100;
10544              let offsetEndPerc = (addEndOffset ? endOffsetValue : 0) / 100;
10545              offsetStartPerc = startsEntering ? offsetStartPerc : 1 - offsetStartPerc;
10546              offsetEndPerc = startsExiting ? offsetEndPerc : 1 - offsetEndPerc;
10547              const offsetElementTop = elementRect.top + Math.min(elementRect.height * offsetStartPerc, visibleHeight);
10548              const offsetElementBottom = elementRect.top + elementRect.height * offsetEndPerc;
10549              const offsetHeight = offsetElementBottom - offsetElementTop;
10550              const fixedScrollHeight = Math.min(
10551                visibleHeight + offsetHeight,
10552                scrollHeight
10553              );
10554              const fixedScrollTop = Math.min(
10555                Math.max(0, visibleHeight - offsetElementTop),
10556                fixedScrollHeight
10557              );
10558              const fixedScrollPerc = fixedScrollTop / fixedScrollHeight;
10559              if (fixedScrollPerc !== state.scrollPercent) {
10560                store.dispatch(
10561                  parameterChanged(namespacedParameterId, fixedScrollPerc)
10562                );
10563              }
10564              return {
10565                scrollPercent: fixedScrollPerc
10566              };
10567            }
10568          }
10569        },
10570        [SCROLL_INTO_VIEW]: scrollIntoOutOfViewOptions,
10571        [SCROLL_OUT_OF_VIEW]: scrollIntoOutOfViewOptions,
10572        [PAGE_SCROLL_DOWN]: {
10573          ...baseScrollActionGroupOptions,
10574          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10575          handler: whenScrollDirectionChange((options, state) => {
10576            if (state.scrollingDown) {
10577              actionGroupCreator(options);
10578            }
10579          })
10580        },
10581        [PAGE_SCROLL_UP]: {
10582          ...baseScrollActionGroupOptions,
10583          // @ts-expect-error - TS7006 - Parameter 'options' implicitly has an 'any' type. | TS7006 - Parameter 'state' implicitly has an 'any' type.
10584          handler: whenScrollDirectionChange((options, state) => {
10585            if (!state.scrollingDown) {
10586              actionGroupCreator(options);
10587            }
10588          })
10589        },
10590        [PAGE_FINISH]: {
10591          types: "readystatechange IX2_PAGE_UPDATE",
10592          handler: withFilter(isElement, whenPageLoadFinish(actionGroupCreator))
10593        },
10594        [PAGE_START]: {
10595          types: "readystatechange IX2_PAGE_UPDATE",
10596          handler: withFilter(isElement, whenPageLoadStart(actionGroupCreator))
10597        }
10598      };
10599    }
10600  });
10601
10602  
10602// packages/systems/ix2/engine/logic/IX2VanillaEngine.ts
10603  var IX2VanillaEngine_exports = {};
10604  __export(IX2VanillaEngine_exports, {
10605    observeRequests: () => observeRequests,
10606    startActionGroup: () => startActionGroup,
10607    startEngine: () => startEngine,
10608    stopActionGroup: () => stopActionGroup,
10609    stopAllActionGroups: () => stopAllActionGroups,
10610    stopEngine: () => stopEngine
10611  });
10612  function observeRequests(store) {
10613    observeStore2({
10614      store,
10615      select: ({
10616        ixRequest: ixRequest2
10617      }) => ixRequest2.preview,
10618      onChange: handlePreviewRequest
10619    });
10620    observeStore2({
10621      store,
10622      select: ({
10623        ixRequest: ixRequest2
10624      }) => ixRequest2.playback,
10625      onChange: handlePlaybackRequest
10626    });
10627    observeStore2({
10628      store,
10629      select: ({
10630        ixRequest: ixRequest2
10631      }) => ixRequest2.stop,
10632      onChange: handleStopRequest
10633    });
10634    observeStore2({
10635      store,
10636      select: ({
10637        ixRequest: ixRequest2
10638      }) => ixRequest2.clear,
10639      onChange: handleClearRequest
10640    });
10641  }
10642  function observeMediaQueryChange(store) {
10643    observeStore2({
10644      store,
10645      select: ({
10646        ixSession: ixSession2
10647      }) => ixSession2.mediaQueryKey,
10648      onChange: () => {
10649        stopEngine(store);
10650        clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
10651        startEngine({ store, allowEvents: true });
10652        dispatchPageUpdateEvent();
10653      }
10654    });
10655  }
10656  function observeOneRenderTick(store, onTick) {
10657    const unsubscribe = observeStore2({
10658      store,
10659      select: ({
10660        ixSession: ixSession2
10661      }) => ixSession2.tick,
10662      // @ts-expect-error - TS7006 - Parameter 'tick' implicitly has an 'any' type.
10663      onChange: (tick) => {
10664        onTick(tick);
10665        unsubscribe();
10666      }
10667    });
10668  }
10669  function handlePreviewRequest({ rawData, defer }, store) {
10670    const start = () => {
10671      startEngine({ store, rawData, allowEvents: true });
10672      dispatchPageUpdateEvent();
10673    };
10674    defer ? setTimeout(start, 0) : start();
10675  }
10676  function dispatchPageUpdateEvent() {
10677    document.dispatchEvent(new CustomEvent("IX2_PAGE_UPDATE"));
10678  }
10679  function handlePlaybackRequest(playback, store) {
10680    const {
10681      actionTypeId,
10682      actionListId,
10683      actionItemId,
10684      eventId,
10685      allowEvents,
10686      immediate,
10687      testManual,
10688      verbose = true
10689    } = playback;
10690    let { rawData } = playback;
10691    if (actionListId && actionItemId && rawData && immediate) {
10692      const actionList = rawData.actionLists[actionListId];
10693      if (actionList) {
10694        rawData = reduceListToGroup2({
10695          actionList,
10696          actionItemId,
10697          rawData
10698        });
10699      }
10700    }
10701    startEngine({ store, rawData, allowEvents, testManual });
10702    if (actionListId && actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(actionTypeId)) {
10703      stopActionGroup({ store, actionListId });
10704      renderInitialGroup({ store, actionListId, eventId });
10705      const started = startActionGroup({
10706        store,
10707        eventId,
10708        actionListId,
10709        immediate,
10710        verbose
10711      });
10712      if (verbose && started) {
10713        store.dispatch(
10714          actionListPlaybackChanged({ actionListId, isPlaying: !immediate })
10715        );
10716      }
10717    }
10718  }
10719  function handleStopRequest({ actionListId }, store) {
10720    if (actionListId) {
10721      stopActionGroup({ store, actionListId });
10722    } else {
10723      stopAllActionGroups({ store });
10724    }
10725    stopEngine(store);
10726  }
10727  function handleClearRequest(state, store) {
10728    stopEngine(store);
10729    clearAllStyles2({ store, elementApi: IX2BrowserApi_exports });
10730  }
10731  function startEngine({
10732    store,
10733    rawData,
10734    allowEvents,
10735    testManual
10736  }) {
10737    const { ixSession: ixSession2 } = store.getState();
10738    if (rawData) {
10739      store.dispatch(rawDataImported(rawData));
10740    }
10741    if (!ixSession2.active) {
10742      store.dispatch(
10743        sessionInitialized({
10744          hasBoundaryNodes: Boolean(document.querySelector(BOUNDARY_SELECTOR2)),
10745          reducedMotion: document.body.hasAttribute("data-wf-ix-vacation") && window.matchMedia("(prefers-reduced-motion)").matches
10746        })
10747      );
10748      if (allowEvents) {
10749        bindEvents(store);
10750        addDocumentClass();
10751        if (store.getState().ixSession.hasDefinedMediaQueries) {
10752          observeMediaQueryChange(store);
10753        }
10754      }
10755      store.dispatch(sessionStarted());
10756      startRenderLoop(store, testManual);
10757    }
10758  }
10759  function addDocumentClass() {
10760    const { documentElement } = document;
10761    if (documentElement.className.indexOf(W_MOD_IX2) === -1) {
10762      documentElement.className += ` ${W_MOD_IX2}`;
10763    }
10764  }
10765  function startRenderLoop(store, testManual) {
10766    const handleFrame = (now) => {
10767      const { ixSession: ixSession2, ixParameters: ixParameters2 } = store.getState();
10768      if (ixSession2.active) {
10769        store.dispatch(animationFrameChanged(now, ixParameters2));
10770        if (testManual) {
10771          observeOneRenderTick(store, handleFrame);
10772        } else {
10773          requestAnimationFrame(handleFrame);
10774        }
10775      }
10776    };
10777    handleFrame(window.performance.now());
10778  }
10779  function stopEngine(store) {
10780    const { ixSession: ixSession2 } = store.getState();
10781    if (ixSession2.active) {
10782      const { eventListeners } = ixSession2;
10783      eventListeners.forEach(clearEventListener);
10784      clearObjectCache2();
10785      store.dispatch(sessionStopped());
10786    }
10787  }
10788  function clearEventListener({ target, listenerParams }) {
10789    target.removeEventListener.apply(target, listenerParams);
10790  }
10791  function createGroupInstances({
10792    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
10793    store,
10794    // @ts-expect-error - TS7031 - Binding element 'eventStateKey' implicitly has an 'any' type.
10795    eventStateKey,
10796    // @ts-expect-error - TS7031 - Binding element 'eventTarget' implicitly has an 'any' type.
10797    eventTarget,
10798    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
10799    eventId,
10800    // @ts-expect-error - TS7031 - Binding element 'eventConfig' implicitly has an 'any' type.
10801    eventConfig,
10802    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
10803    actionListId,
10804    // @ts-expect-error - TS7031 - Binding element 'parameterGroup' implicitly has an 'any' type.
10805    parameterGroup,
10806    // @ts-expect-error - TS7031 - Binding element 'smoothing' implicitly has an 'any' type.
10807    smoothing,
10808    // @ts-expect-error - TS7031 - Binding element 'restingValue' implicitly has an 'any' type.
10809    restingValue
10810  }) {
10811    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
10812    const { events } = ixData2;
10813    const event = events[eventId];
10814    const { eventTypeId } = event;
10815    const targetCache = {};
10816    const instanceActionGroups = {};
10817    const instanceConfigs = [];
10818    const { continuousActionGroups } = parameterGroup;
10819    let { id: parameterId } = parameterGroup;
10820    if (shouldNamespaceEventParameter2(eventTypeId, eventConfig)) {
10821      parameterId = getNamespacedParameterId3(eventStateKey, parameterId);
10822    }
10823    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
10824    continuousActionGroups.forEach((actionGroup) => {
10825      const { keyframe, actionItems } = actionGroup;
10826      actionItems.forEach((actionItem) => {
10827        const { actionTypeId } = actionItem;
10828        const { target } = actionItem.config;
10829        if (!target) {
10830          return;
10831        }
10832        const elementRoot = target.boundaryMode ? eventElementRoot : null;
10833        const key = stringifyTarget2(target) + COLON_DELIMITER4 + actionTypeId;
10834        instanceActionGroups[key] = appendActionItem(
10835          instanceActionGroups[key],
10836          keyframe,
10837          actionItem
10838        );
10839        if (!targetCache[key]) {
10840          targetCache[key] = true;
10841          const { config } = actionItem;
10842          getAffectedElements2({
10843            config,
10844            event,
10845            eventTarget,
10846            elementRoot,
10847            elementApi: IX2BrowserApi_exports
10848          }
10848).forEach((element) => {
10849            instanceConfigs.push({ element, key });
10850          });
10851        }
10852      });
10853    });
10854    instanceConfigs.forEach(({ element, key }) => {
10855      const actionGroups = instanceActionGroups[key];
10856      const actionItem = (0, import_get2.default)(actionGroups, `[0].actionItems[0]`, {});
10857      const { actionTypeId } = actionItem;
10858      const pluginInstance = isPluginType2(actionTypeId) ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
10859      const destination = getDestinationValues2(
10860        { element, actionItem, elementApi: IX2BrowserApi_exports },
10861        // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10862        // @ts-expect-error
10863        pluginInstance
10864      );
10865      createInstance({
10866        store,
10867        element,
10868        eventId,
10869        actionListId,
10870        actionItem,
10871        destination,
10872        continuous: true,
10873        parameterId,
10874        actionGroups,
10875        smoothing,
10876        restingValue,
10877        pluginInstance
10878      });
10879    });
10880  }
10881  function appendActionItem(actionGroups = [], keyframe, actionItem) {
10882    const newActionGroups = [...actionGroups];
10883    let groupIndex;
10884    newActionGroups.some((group, index) => {
10885      if (group.keyframe === keyframe) {
10886        groupIndex = index;
10887        return true;
10888      }
10889      return false;
10890    });
10891    if (groupIndex == null) {
10892      groupIndex = newActionGroups.length;
10893      newActionGroups.push({
10894        keyframe,
10895        actionItems: []
10896      });
10897    }
10898    newActionGroups[groupIndex].actionItems.push(actionItem);
10899    return newActionGroups;
10900  }
10901  function bindEvents(store) {
10902    const { ixData: ixData2 } = store.getState();
10903    const { eventTypeMap } = ixData2;
10904    updateViewportWidth(store);
10905    (0, import_forEach.default)(eventTypeMap, (events, key) => {
10906      const logic = IX2VanillaEvents_default[key];
10907      if (!logic) {
10908        console.warn(`IX2 event type not configured: ${key}`);
10909        return;
10910      }
10911      bindEventType({
10912        // @ts-expect-error - TS7031 - Binding element 'logic' implicitly has an 'any' type.
10913        logic,
10914        store,
10915        events
10916      });
10917    });
10918    const { ixSession: ixSession2 } = store.getState();
10919    if (ixSession2.eventListeners.length) {
10920      bindResizeEvents(store);
10921    }
10922  }
10923  function bindResizeEvents(store) {
10924    const handleResize = () => {
10925      updateViewportWidth(store);
10926    };
10927    WINDOW_RESIZE_EVENTS.forEach((type) => {
10928      window.addEventListener(type, handleResize);
10929      store.dispatch(eventListenerAdded(window, [type, handleResize]));
10930    });
10931    handleResize();
10932  }
10933  function updateViewportWidth(store) {
10934    const { ixSession: ixSession2, ixData: ixData2 } = store.getState();
10935    const width = window.innerWidth;
10936    if (width !== ixSession2.viewportWidth) {
10937      const { mediaQueries } = ixData2;
10938      store.dispatch(viewportWidthChanged({ width, mediaQueries }));
10939    }
10940  }
10941  function bindEventType({ logic, store, events }) {
10942    injectBehaviorCSSFixes(events);
10943    const { types: eventTypes, handler: eventHandler } = logic;
10944    const { ixData: ixData2 } = store.getState();
10945    const { actionLists } = ixData2;
10946    const eventTargets = mapFoundValues(events, getAffectedForEvent);
10947    if (!(0, import_size.default)(eventTargets)) {
10948      return;
10949    }
10950    (0, import_forEach.default)(eventTargets, (elements, key) => {
10951      const event = events[key];
10952      const {
10953        action: eventAction,
10954        id: eventId,
10955        mediaQueries = ixData2.mediaQueryKeys
10956      } = event;
10957      const { actionListId } = eventAction.config;
10958      if (!mediaQueriesEqual2(mediaQueries, ixData2.mediaQueryKeys)) {
10959        store.dispatch(mediaQueriesDefined());
10960      }
10961      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
10962        const configs = Array.isArray(event.config) ? event.config : [event.config];
10963        configs.forEach((eventConfig) => {
10964          const { continuousParameterGroupId } = eventConfig;
10965          const paramGroups = (0, import_get2.default)(
10966            actionLists,
10967            `${actionListId}.continuousParameterGroups`,
10968            []
10969          );
10970          const parameterGroup = (0, import_find2.default)(
10971            paramGroups,
10972            ({ id }) => id === continuousParameterGroupId
10973          );
10974          const smoothing = (eventConfig.smoothing || 0) / 100;
10975          const restingValue = (eventConfig.restingState || 0) / 100;
10976          if (!parameterGroup) {
10977            return;
10978          }
10979          elements.forEach((eventTarget, index) => {
10980            const eventStateKey = eventId + COLON_DELIMITER4 + index;
10981            createGroupInstances({
10982              store,
10983              eventStateKey,
10984              eventTarget,
10985              eventId,
10986              eventConfig,
10987              actionListId,
10988              parameterGroup,
10989              smoothing,
10990              restingValue
10991            });
10992          });
10993        });
10994      }
10995      if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(eventAction.actionTypeId)) {
10996        renderInitialGroup({ store, actionListId, eventId });
10997      }
10998    });
10999    const handleEvent = (nativeEvent) => {
11000      const { ixSession: ixSession2 } = store.getState();
11001      forEachEventTarget(eventTargets, (element, eventId, eventStateKey) => {
11002        const event = events[eventId];
11003        const oldState = ixSession2.eventState[eventStateKey];
11004        const { action: eventAction, mediaQueries = ixData2.mediaQueryKeys } = event;
11005        if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11006          return;
11007        }
11008        const handleEventWithConfig = (eventConfig = {}) => {
11009          const newState = eventHandler(
11010            {
11011              store,
11012              element,
11013              event,
11014              eventConfig,
11015              nativeEvent,
11016              eventStateKey
11017            },
11018            oldState
11019          );
11020          if (!shallowEqual2(newState, oldState)) {
11021            store.dispatch(eventStateChanged(eventStateKey, newState));
11022          }
11023        };
11024        if (eventAction.actionTypeId === ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) {
11025          const configs = Array.isArray(event.config) ? event.config : [event.config];
11026          configs.forEach(handleEventWithConfig);
11027        } else {
11028          handleEventWithConfig();
11029        }
11030      });
11031    };
11032    const handleEventThrottled = (0, import_throttle.default)(handleEvent, THROTTLED_EVENT_WAIT);
11033    const addListeners = ({
11034      target = document,
11035      // @ts-expect-error - TS7031 - Binding element 'types' implicitly has an 'any' type.
11036      types,
11037      // @ts-expect-error - TS7031 - Binding element 'shouldThrottle' implicitly has an 'any' type.
11038      throttle: shouldThrottle
11039    }) => {
11040      types.split(" ").filter(Boolean).forEach((type) => {
11041        const handlerFunc = shouldThrottle ? handleEventThrottled : handleEvent;
11042        target.addEventListener(type, handlerFunc);
11043        store.dispatch(eventListenerAdded(target, [type, handlerFunc]));
11044      });
11045    };
11046    if (Array.isArray(eventTypes)) {
11047      eventTypes.forEach(addListeners);
11048    } else if (typeof eventTypes === "string") {
11049      addListeners(logic);
11050    }
11051  }
11052  function injectBehaviorCSSFixes(events) {
11053    if (!IS_MOBILE_SAFARI) {
11054      return;
11055    }
11056    const injectedSelectors = {};
11057    let cssText = "";
11058    for (const eventId in events) {
11059      const { eventTypeId, target } = events[eventId];
11060      const selector = getQuerySelector(target);
11061      if (injectedSelectors[selector]) {
11062        continue;
11063      }
11064      if (eventTypeId === EventTypeConsts.MOUSE_CLICK || eventTypeId === EventTypeConsts.MOUSE_SECOND_CLICK) {
11065        injectedSelectors[selector] = true;
11066        cssText += selector + "{cursor: pointer;touch-action: manipulation;}";
11067      }
11068    }
11069    if (cssText) {
11070      const style = document.createElement("style");
11071      style.textContent = cssText;
11072      document.body.appendChild(style);
11073    }
11074  }
11075  function renderInitialGroup({
11076    store,
11077    actionListId,
11078    eventId
11079  }) {
11080    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
11081    const { actionLists, events } = ixData2;
11082    const event = events[eventId];
11083    const actionList = actionLists[actionListId];
11084    if (actionList && actionList.useFirstGroupAsInitialState) {
11085      const initialStateItems = (0, import_get2.default)(
11086        actionList,
11087        "actionItemGroups[0].actionItems",
11088        []
11089      );
11090      const mediaQueries = (0, import_get2.default)(event, "mediaQueries", ixData2.mediaQueryKeys);
11091      if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11092        return;
11093      }
11094      initialStateItems.forEach((actionItem) => {
11095        const { config: itemConfig, actionTypeId } = actionItem;
11096        const config = (
11097          // When useEventTarget is explicitly true, use event target/targets to query elements
11098          // However, skip this condition when objectId is defined
11099          // @ts-expect-error - Property 'target' does not exist on type 'never'.
11100          itemConfig?.target?.useEventTarget === true && // @ts-expect-error - Property 'target' does not exist on type 'never'.
11101          itemConfig?.target?.objectId == null ? (
11102            // @ts-expect-error - TS18048 - 'event' is possibly 'undefined'.
11103            { target: event.target, targets: event.targets }
11104          ) : itemConfig
11105        );
11106        const itemElements = getAffectedElements2({ config, event, elementApi: IX2BrowserApi_exports });
11107        const shouldUsePlugin = isPluginType2(actionTypeId);
11108        itemElements.forEach((element) => {
11109          const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
11110          createInstance({
11111            destination: getDestinationValues2(
11112              { element, actionItem, elementApi: IX2BrowserApi_exports },
11113              // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11114              // @ts-expect-error
11115              pluginInstance
11116            ),
11117            immediate: true,
11118            store,
11119            element,
11120            eventId,
11121            actionItem,
11122            actionListId,
11123            pluginInstance
11124          });
11125        });
11126      });
11127    }
11128  }
11129  function stopAllActionGroups({ store }) {
11130    const { ixInstances: ixInstances2 } = store.getState();
11131    (0, import_forEach.default)(ixInstances2, (instance) => {
11132      if (!instance.continuous) {
11133        const { actionListId, verbose } = instance;
11134        removeInstance(instance, store);
11135        if (verbose) {
11136          store.dispatch(
11137            actionListPlaybackChanged({ actionListId, isPlaying: false })
11138          );
11139        }
11140      }
11141    });
11142  }
11143  function stopActionGroup({
11144    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
11145    store,
11146    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11147    // @ts-expect-error
11148    eventId,
11149    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11150    // @ts-expect-error
11151    eventTarget,
11152    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11153    // @ts-expect-error
11154    eventStateKey,
11155    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
11156    actionListId
11157  }) {
11158    const { ixInstances: ixInstances2, ixSession: ixSession2 } = store.getState();
11159    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
11160    (0, import_forEach.default)(ixInstances2, (instance) => {
11161      const boundaryMode = (0, import_get2.default)(instance, "actionItem.config.target.boundaryMode");
11162      const validEventKey = eventStateKey ? instance.eventStateKey === eventStateKey : true;
11163      if (instance.actionListId === actionListId && instance.eventId === eventId && validEventKey) {
11164        if (eventElementRoot && boundaryMode && !elementContains(eventElementRoot, instance.element)) {
11165          return;
11166        }
11167        removeInstance(instance, store);
11168        if (instance.verbose) {
11169          store.dispatch(
11170            actionListPlaybackChanged({ actionListId, isPlaying: false })
11171          );
11172        }
11173      }
11174    });
11175  }
11176  function startActionGroup({
11177    // @ts-expect-error - TS7031 - Binding element 'store' implicitly has an 'any' type.
11178    store,
11179    // @ts-expect-error - TS7031 - Binding element 'eventId' implicitly has an 'any' type.
11180    eventId,
11181    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11182    // @ts-expect-error
11183    eventTarget,
11184    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11185    // @ts-expect-error
11186    eventStateKey,
11187    // @ts-expect-error - TS7031 - Binding element 'actionListId' implicitly has an 'any' type.
11188    actionListId,
11189    groupIndex = 0,
11190    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11191    // @ts-expect-error
11192    immediate,
11193    // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11194    // @ts-expect-error
11195    verbose
11196  }) {
11197    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
11198    const { events } = ixData2;
11199    const event = events[eventId] || {};
11200    const { mediaQueries = ixData2.mediaQueryKeys } = event;
11201    const actionList = (0, import_get2.default)(ixData2, `actionLists.${actionListId}`, {});
11202    const { actionItemGroups, useFirstGroupAsInitialState } = actionList;
11203    if (!actionItemGroups || !actionItemGroups.length) {
11204      return false;
11205    }
11206    if (groupIndex >= actionItemGroups.length && (0, import_get2.default)(event, "config.loop")) {
11207      groupIndex = 0;
11208    }
11209    if (groupIndex === 0 && useFirstGroupAsInitialState) {
11210      groupIndex++;
11211    }
11212    const isFirstGroup = groupIndex === 0 || groupIndex === 1 && useFirstGroupAsInitialState;
11213    const instanceDelay = isFirstGroup && isQuickEffect(event.action?.actionTypeId) ? event.config.delay : void 0;
11214    const actionItems = (0, import_get2.default)(actionItemGroups, [groupIndex, "actionItems"], []);
11215    if (!actionItems.length) {
11216      return false;
11217    }
11218    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11219      return false;
11220    }
11221    const eventElementRoot = ixSession2.hasBoundaryNodes && eventTarget ? getClosestElement(eventTarget, BOUNDARY_SELECTOR2) : null;
11222    const carrierIndex = getMaxDurationItemIndex2(actionItems);
11223    let groupStartResult = false;
11224    actionItems.forEach((actionItem, actionIndex) => {
11225      const { config, actionTypeId } = actionItem;
11226      const shouldUsePlugin = isPluginType2(actionTypeId);
11227      const { target } = config;
11228      if (!target) {
11229        return;
11230      }
11231      const elementRoot = target.boundaryMode ? eventElementRoot : null;
11232      const elements = getAffectedElements2({
11233        config,
11234        event,
11235        eventTarget,
11236        elementRoot,
11237        elementApi: IX2BrowserApi_exports
11238      });
11239      elements.forEach((element, elementIndex) => {
11240        const pluginInstance = shouldUsePlugin ? createPluginInstance2(actionTypeId)(element, actionItem) : null;
11241        const pluginDuration = shouldUsePlugin ? getPluginDuration2(actionTypeId)(element, actionItem) : null;
11242        groupStartResult = true;
11243        const isCarrier = carrierIndex === actionIndex && elementIndex === 0;
11244        const computedStyle = getComputedStyle3({ element, actionItem });
11245        const destination = getDestinationValues2(
11246          { element, actionItem, elementApi: IX2BrowserApi_exports },
11247          // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11248          // @ts-expect-error
11249          pluginInstance
11250        );
11251        createInstance({
11252          store,
11253          element,
11254          actionItem,
11255          eventId,
11256          eventTarget,
11257          eventStateKey,
11258          actionListId,
11259          groupIndex,
11260          isCarrier,
11261          computedStyle,
11262          destination,
11263          immediate,
11264          verbose,
11265          pluginInstance,
11266          pluginDuration,
11267          instanceDelay
11268        });
11269      });
11270    });
11271    return groupStartResult;
11272  }
11273  function createInstance(options) {
11274    const { store, computedStyle, ...rest } = options;
11275    const {
11276      element,
11277      actionItem,
11278      immediate,
11279      pluginInstance,
11280      continuous,
11281      restingValue,
11282      eventId
11283    } = rest;
11284    const autoStart = !continuous;
11285    const instanceId = getInstanceId2();
11286    const { ixElements: ixElements3, ixSession: ixSession2, ixData: ixData2 } = store.getState();
11287    const elementId = getElementId2(ixElements3, element);
11288    const { refState: refState2 } = ixElements3[elementId] || {};
11289    const refType = getRefType(element);
11290    const skipMotion = (
11291      // @ts-expect-error - TS7053 - Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ readonly TRANSFORM_MOVE: true; readonly TRANSFORM_SCALE: true; readonly TRANSFORM_ROTATE: true; readonly TRANSFORM_SKEW: true; readonly STYLE_SIZE: true; readonly STYLE_FILTER: true; readonly STYLE_FONT_VARIATION: true; }'.
11292      ixSession2.reducedMotion && ReducedMotionTypes[actionItem.actionTypeId]
11293    );
11294    let skipToValue;
11295    if (skipMotion && continuous) {
11296      switch (ixData2.events[eventId]?.eventTypeId) {
11297        case EventTypeConsts.MOUSE_MOVE:
11298        case EventTypeConsts.MOUSE_MOVE_IN_VIEWPORT:
11299          skipToValue = restingValue;
11300          break;
11301        default:
11302          skipToValue = 0.5;
11303          break;
11304      }
11305    }
11306    const origin = getInstanceOrigin2(
11307      element,
11308      refState2,
11309      computedStyle,
11310      actionItem,
11311      IX2BrowserApi_exports,
11312      // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11313      // @ts-expect-error
11314      pluginInstance
11315    );
11316    store.dispatch(
11317      instanceAdded({
11318        instanceId,
11319        elementId,
11320        origin,
11321        refType,
11322        skipMotion,
11323        skipToValue,
11324        ...rest
11325      })
11326    );
11327    dispatchCustomEvent(document.body, "ix2-animation-started", instanceId);
11328    if (immediate) {
11329      renderImmediateInstance(store, instanceId);
11330      return;
11331    }
11332    observeStore2({
11333      store,
11334      // @ts-expect-error - TS7031 - Binding element 'ixInstances' implicitly has an 'any' type.
11335      select: ({ ixInstances: ixInstances2 }) => ixInstances2[instanceId],
11336      onChange: handleInstanceChange
11337    });
11338    if (autoStart) {
11339      store.dispatch(instanceStarted(instanceId, ixSession2.tick));
11340    }
11341  }
11342  function removeInstance(instance, store) {
11343    dispatchCustomEvent(document.body, "ix2-animation-stopping", {
11344      instanceId: instance.id,
11345      state: store.getState()
11346    });
11347    const { elementId, actionItem } = instance;
11348    const { ixElements: ixElements3 } = store.getState();
11349    const { ref, refType } = ixElements3[elementId] || {};
11350    if (refType === HTML_ELEMENT4) {
11351      cleanupHTMLElement2(ref, actionItem, IX2BrowserApi_exports);
11352    }
11353    store.dispatch(instanceRemoved(instance.id));
11354  }
11355  function dispatchCustomEvent(element, eventName, detail) {
11356    const event = document.createEvent("CustomEvent");
11357    event.initCustomEvent(eventName, true, true, detail);
11358    element.dispatchEvent(event);
11359  }
11360  function renderImmediateInstance(store, instanceId) {
11361    const { ixParameters: ixParameters2 } = store.getState();
11362    store.dispatch(instanceStarted(instanceId, 0));
11363    store.dispatch(animationFrameChanged(performance.now(), ixParameters2));
11364    const { ixInstances: ixInstances2 } = store.getState();
11365    handleInstanceChange(ixInstances2[instanceId], store);
11366  }
11367  function handleInstanceChange(instance, store) {
11368    const {
11369      active,
11370      continuous,
11371      complete,
11372      elementId,
11373      actionItem,
11374      actionTypeId,
11375      renderType,
11376      current,
11377      groupIndex,
11378      eventId,
11379      eventTarget,
11380      eventStateKey,
11381      actionListId,
11382      isCarrier,
11383      styleProp,
11384      verbose,
11385      pluginInstance
11386    } = instance;
11387    const { ixData: ixData2, ixSession: ixSession2 } = store.getState();
11388    const { events } = ixData2;
11389    const event = events && events[eventId] ? events[eventId] : {};
11390    const { mediaQueries = ixData2.mediaQueryKeys } = event;
11391    if (!shouldAllowMediaQuery2(mediaQueries, ixSession2.mediaQueryKey)) {
11392      return;
11393    }
11394    if (continuous || active || complete) {
11395      if (current || renderType === RENDER_GENERAL4 && complete) {
11396        store.dispatch(
11397          elementStateChanged(elementId, actionTypeId, current, actionItem)
11398        );
11399        const { ixElements: ixElements3 } = store.getState();
11400        const { ref, refType, refState: refState2 } = ixElements3[elementId] || {};
11401        const actionState = refState2 && refState2[actionTypeId];
11402        if (refType === HTML_ELEMENT4 || isPluginType2(actionTypeId)) {
11403          renderHTMLElement2(
11404            ref,
11405            refState2,
11406            actionState,
11407            eventId,
11408            actionItem,
11409            styleProp,
11410            IX2BrowserApi_exports,
11411            renderType,
11412            pluginInstance
11413          );
11414        }
11415      }
11416      if (complete) {
11417        if (isCarrier) {
11418          const started = startActionGroup({
11419            store,
11420            eventId,
11421            eventTarget,
11422            eventStateKey,
11423            actionListId,
11424            groupIndex: groupIndex + 1,
11425            verbose
11426          });
11427          if (verbose && !started) {
11428            store.dispatch(
11429              actionListPlaybackChanged({ actionListId, isPlaying: false })
11430            );
11431          }
11432        }
11433        removeInstance(instance, store);
11434      }
11435    }
11436  }
11437  var import_find2, import_get2, import_size, import_omitBy, import_isEmpty, import_mapValues, import_forEach, import_throttle, import_shared6, QuickEffectsIdList, isQuickEffect, COLON_DELIMITER4, BOUNDARY_SELECTOR2, HTML_ELEMENT4, RENDER_GENERAL4, W_MOD_IX2, getAffectedElements2, getElementId2, getDestinationValues2, observeStore2, getInstanceId2, renderHTMLElement2, clearAllStyles2, getMaxDurationItemIndex2, getComputedStyle3, getInstanceOrigin2, reduceListToGroup2, shouldNamespaceEventParameter2, getNamespacedParameterId3, shouldAllowMediaQuery2, cleanupHTMLElement2, clearObjectCache2, stringifyTarget2, mediaQueriesEqual2, shallowEqual2, isPluginType2, createPluginInstance2, getPluginDuration2, ua, IS_MOBILE_SAFARI, THROTTLED_EVENT_WAIT, WINDOW_RESIZE_EVENTS, mapFoundValues, forEachEventTarget, getAffectedForEvent;
11438  var init_IX2VanillaEngine = __esm({
11439    "packages/systems/ix2/engine/logic/IX2VanillaEngine.ts"() {
11440      "use strict";
11441      import_find2 = __toESM(require_find());
11442      import_get2 = __toESM(require_get());
11443      import_size = __toESM(require_size());
11444      import_omitBy = __toESM(require_omitBy());
11445      import_isEmpty = __toESM(require_isEmpty());
11446      import_mapValues = __toESM(require_mapValues());
11447      import_forEach = __toESM(require_forEach());
11448      import_throttle = __toESM(require_throttle());
11449      init_shared_constants();
11450      import_shared6 = __toESM(require_shared());
11451      init_IX2EngineActions();
11452      init_IX2BrowserApi();
11453      init_IX2VanillaEvents();
11454      QuickEffectsIdList = Object.keys(QuickEffectIds);
11455      isQuickEffect = (actionTypeId) => QuickEffectsIdList.includes(actionTypeId);
11456      ({
11457        COLON_DELIMITER: COLON_DELIMITER4,
11458        BOUNDARY_SELECTOR: BOUNDARY_SELECTOR2,
11459        HTML_ELEMENT: HTML_ELEMENT4,
11460        RENDER_GENERAL: RENDER_GENERAL4,
11461        W_MOD_IX: W_MOD_IX2
11462      } = IX2EngineConstants_exports);
11463      ({
11464        getAffectedElements: getAffectedElements2,
11465        getElementId: getElementId2,
11466        getDestinationValues: getDestinationValues2,
11467        observeStore: observeStore2,
11468        getInstanceId: getInstanceId2,
11469        renderHTMLElement: renderHTMLElement2,
11470        clearAllStyles: clearAllStyles2,
11471        getMaxDurationItemIndex: getMaxDurationItemIndex2,
11472        getComputedStyle: getComputedStyle3,
11473        getInstanceOrigin: getInstanceOrigin2,
11474        reduceListToGroup: reduceListToGroup2,
11475        shouldNamespaceEventParameter: shouldNamespaceEventParameter2,
11476        getNamespacedParameterId: getNamespacedParameterId3,
11477        shouldAllowMediaQuery: shouldAllowMediaQuery2,
11478        cleanupHTMLElement: cleanupHTMLElement2,
11479        clearObjectCache: clearObjectCache2,
11480        stringifyTarget: stringifyTarget2,
11481        mediaQueriesEqual: mediaQueriesEqual2,
11482        shallowEqual: shallowEqual2
11483      } = import_shared6.IX2VanillaUtils);
11484      ({ isPluginType: isPluginType2, createPluginInstance: createPluginInstance2, getPluginDuration: getPluginDuration2 } = import_shared6.IX2VanillaPlugins);
11485      ua = navigator.userAgent;
11486      IS_MOBILE_SAFARI = ua.match(/iPad/i) || ua.match(/iPhone/);
11487      THROTTLED_EVENT_WAIT = 12;
11488      WINDOW_RESIZE_EVENTS = ["resize", "orientationchange"];
11489      mapFoundValues = (object, iteratee) => (0, import_omitBy.default)((0, import_mapValues.default)(object, iteratee), import_isEmpty.default);
11490      forEachEventTarget = (eventTargets, eventCallback) => {
11491        (0, import_forEach.default)(eventTargets, (elements, eventId) => {
11492          elements.forEach((element, index) => {
11493            const eventStateKey = eventId + COLON_DELIMITER4 + index;
11494            eventCallback(element, eventId, eventStateKey);
11495          });
11496        });
11497      };
11498      getAffectedForEvent = (event) => {
11499        const config = { target: event.target, targets: event.targets };
11500        return getAffectedElements2({ config, elementApi: IX2BrowserApi_exports });
11501      };
11502    }
11503  });
11504
11505  
11505// packages/systems/ix2/engine/index.js
11506  var require_engine = __commonJS({
11507    "packages/systems/ix2/engine/index.js"(exports) {
11508      "use strict";
11509      Object.defineProperty(exports, "__esModule", {
11510        value: true
11511      });
11512      function _export(target, all) {
11513        for (var name in all)
11514          Object.defineProperty(target, name, {
11515            enumerable: true,
11516            get: all[name]
11517          });
11518      }
11519      _export(exports, {
11520        actions: function() {
11521          return _IX2EngineActions;
11522        },
11523        destroy: function() {
11524          return destroy;
11525        },
11526        init: function() {
11527          return init;
11528        },
11529        setEnv: function() {
11530          return setEnv;
11531        },
11532        store: function() {
11533          return store;
11534        }
11535      });
11536      var _redux = require_lib2();
11537      var _IX2Reducer = /* @__PURE__ */ _interop_require_default((init_IX2Reducer(), __toCommonJS(IX2Reducer_exports)));
11538      var _IX2VanillaEngine = (init_IX2VanillaEngine(), __toCommonJS(IX2VanillaEngine_exports
11538));
11539      var _IX2EngineActions = /* @__PURE__ */ _interop_require_wildcard((init_IX2EngineActions(), __toCommonJS(IX2EngineActions_exports)));
11540      function _interop_require_default(obj) {
11541        return obj && obj.__esModule ? obj : {
11542          default: obj
11543        };
11544      }
11545      function _getRequireWildcardCache(nodeInterop) {
11546        if (typeof WeakMap !== "function")
11547          return null;
11548        var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
11549        var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
11550        return (_getRequireWildcardCache = function(nodeInterop2) {
11551          return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
11552        })(nodeInterop);
11553      }
11554      function _interop_require_wildcard(obj, nodeInterop) {
11555        if (!nodeInterop && obj && obj.__esModule) {
11556          return obj;
11557        }
11558        if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
11559          return {
11560            default: obj
11561          };
11562        }
11563        var cache = _getRequireWildcardCache(nodeInterop);
11564        if (cache && cache.has(obj)) {
11565          return cache.get(obj);
11566        }
11567        var newObj = {
11568          __proto__: null
11569        };
11570        var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
11571        for (var key in obj) {
11572          if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
11573            var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
11574            if (desc && (desc.get || desc.set)) {
11575              Object.defineProperty(newObj, key, desc);
11576            } else {
11577              newObj[key] = obj[key];
11578            }
11579          }
11580        }
11581        newObj.default = obj;
11582        if (cache) {
11583          cache.set(obj, newObj);
11584        }
11585        return newObj;
11586      }
11587      var store = (0, _redux.createStore)(_IX2Reducer.default);
11588      function setEnv(env) {
11589        if (env()) {
11590          (0, _IX2VanillaEngine.observeRequests)(store);
11591        }
11592      }
11593      function init(rawData) {
11594        destroy();
11595        (0, _IX2VanillaEngine.startEngine)({
11596          store,
11597          rawData,
11598          allowEvents: true
11599        });
11600      }
11601      function destroy() {
11602        (0, _IX2VanillaEngine.stopEngine)(store);
11603      }
11604    }
11605  });
11606
11607  
11607// packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js
11608  var require_webflow_ix2 = __commonJS({
11609    "packages/shared/render/plugins/BaseSiteModules/webflow-ix2.js"(exports, module) {
11610      "use strict";
11611      var Webflow2 = require_webflow_lib();
11612      var ix2 = require_engine();
11613      ix2.setEnv(Webflow2.env);
11614      Webflow2.define("ix2", module.exports = function() {
11615        return ix2;
11616      });
11617    }
11618  });
11619
11620  
11620// packages/shared/render/plugins/BaseSiteModules/webflow-links.js
11621  var require_webflow_links = __commonJS({
11622    "packages/shared/render/plugins/BaseSiteModules/webflow-links.js"(exports, module) {
11623      "use strict";
11624      var Webflow2 = require_webflow_lib();
11625      Webflow2.define("links", module.exports = function($2, _) {
11626        var api = {};
11627        var $win = $2(window);
11628        var designer;
11629        var inApp = Webflow2.env();
11630        var location = window.location;
11631        var tempLink = document.createElement("a");
11632        var linkCurrent = "w--current";
11633        var indexPage = /index\.(html|php)$/;
11634        var dirList = /\/$/;
11635        var anchors;
11636        var slug;
11637        api.ready = api.design = api.preview = init;
11638        function init() {
11639          designer = inApp && Webflow2.env("design");
11640          slug = Webflow2.env("slug") || location.pathname || "";
11641          Webflow2.scroll.off(scroll);
11642          anchors = [];
11643          var links = document.links;
11644          for (var i = 0; i < links.length; ++i) {
11645            select(links[i]);
11646          }
11647          if (anchors.length) {
11648            Webflow2.scroll.on(scroll);
11649            scroll();
11650          }
11651        }
11652        function select(link) {
11653          if (link.getAttribute("hreflang")) {
11654            return;
11655          }
11656          var href = designer && link.getAttribute("href-disabled") || link.getAttribute("href");
11657          tempLink.href = href;
11658          if (href.indexOf(":") >= 0) {
11659            return;
11660          }
11661          var $link = $2(link);
11662          if (tempLink.hash.length > 1 && tempLink.host + tempLink.pathname === location.host + location.pathname) {
11663            if (!/^#[a-zA-Z0-9\-\_]+$/.test(tempLink.hash)) {
11664              return;
11665            }
11666            var $section = $2(tempLink.hash);
11667            $section.length && anchors.push({
11668              link: $link,
11669              sec: $section,
11670              active: false
11671            });
11672            return;
11673          }
11674          if (href === "#" || href === "") {
11675            return;
11676          }
11677          var match = tempLink.href === location.href || href === slug || indexPage.test(href) && dirList.test(slug);
11678          setClass($link, linkCurrent, match);
11679        }
11680        function scroll() {
11681          var viewTop = $win.scrollTop();
11682          var viewHeight = $win.height();
11683          _.each(anchors, function(anchor) {
11684            if (anchor.link.attr("hreflang")) {
11685              return;
11686            }
11687            var $link = anchor.link;
11688            var $section = anchor.sec;
11689            var top = $section.offset().top;
11690            var height = $section.outerHeight();
11691            var offset = viewHeight * 0.5;
11692            var active = $section.is(":visible") && top + height - offset >= viewTop && top + offset <= viewTop + viewHeight;
11693            if (anchor.active === active) {
11694              return;
11695            }
11696            anchor.active = active;
11697            setClass($link, linkCurrent, active);
11698          });
11699        }
11700        function setClass($elem, className, add) {
11701          var exists = $elem.hasClass(className);
11702          if (add && exists) {
11703            return;
11704          }
11705          if (!add && !exists) {
11706            return;
11707          }
11708          add ? $elem.addClass(className) : $elem.removeClass(className);
11709        }
11710        return api;
11711      });
11712    }
11713  });
11714
11715  
11715// packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js
11716  var require_webflow_scroll = __commonJS({
11717    "packages/shared/render/plugins/BaseSiteModules/webflow-scroll.js"(exports, module) {
11718      "use strict";
11719      var Webflow2 = require_webflow_lib();
11720      Webflow2.define("scroll", module.exports = function($2) {
11721        var NS_EVENTS = {
11722          WF_CLICK_EMPTY: "click.wf-empty-link",
11723          WF_CLICK_SCROLL: "click.wf-scroll"
11724        };
11725        var loc = window.location;
11726        var history = inIframe() ? null : window.history;
11727        var $win = $2(window);
11728        var $doc = $2(document);
11729        var $body = $2(document.body);
11730        var animate = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(fn) {
11731          window.setTimeout(fn, 15);
11732        };
11733        var rootTag = Webflow2.env("editor") ? ".w-editor-body" : "body";
11734        var headerSelector = "header, " + rootTag + " > .header, " + rootTag + " > .w-nav:not([data-no-scroll])";
11735        var emptyHrefSelector = 'a[href="#"]';
11736        var localHrefSelector = 'a[href*="#"]:not(.w-tab-link):not(' + emptyHrefSelector + ")";
11737        var scrollTargetOutlineCSS = '.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}';
11738        var focusStylesEl = document.createElement("style");
11739        focusStylesEl.appendChild(document.createTextNode(scrollTargetOutlineCSS));
11740        function inIframe() {
11741          try {
11742            return Boolean(window.frameElement);
11743          } catch (e) {
11744            return true;
11745          }
11746        }
11747        var validHash = /^#[a-zA-Z0-9][\w:.-]*$/;
11748        function linksToCurrentPage(link) {
11749          return validHash.test(link.hash) && link.host + link.pathname === loc.host + loc.pathname;
11750        }
11751        const reducedMotionMediaQuery = typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)");
11752        function reducedMotionEnabled() {
11753          return document.body.getAttribute("data-wf-scroll-motion") === "none" || reducedMotionMediaQuery.matches;
11754        }
11755        function setFocusable($el, action) {
11756          var initialTabindex;
11757          switch (action) {
11758            case "add":
11759              initialTabindex = $el.attr("tabindex");
11760              if (initialTabindex) {
11761                $el.attr("data-wf-tabindex-swap", initialTabindex);
11762              } else {
11763                $el.attr("tabindex", "-1");
11764              }
11765              break;
11766            case "remove":
11767              initialTabindex = $el.attr("data-wf-tabindex-swap");
11768              if (initialTabindex) {
11769                $el.attr("tabindex", initialTabindex);
11770                $el.removeAttr("data-wf-tabindex-swap");
11771              } else {
11772                $el.removeAttr("tabindex");
11773              }
11774              break;
11775          }
11776          $el.toggleClass("wf-force-outline-none", action === "add");
11777        }
11778        function validateScroll(evt) {
11779          var target = evt.currentTarget;
11780          if (
11781            // Bail if in Designer
11782            Webflow2.env("design") || // Ignore links being used by jQuery mobile
11783            window.$.mobile && /(?:^|\s)ui-link(?:$|\s)/.test(target.className)
11784          ) {
11785            return;
11786          }
11787          var hash = linksToCurrentPage(target) ? target.hash : "";
11788          if (hash === "")
11789            return;
11790          var $el = $2(hash);
11791          if (!$el.length) {
11792            return;
11793          }
11794          if (evt) {
11795            evt.preventDefault();
11796            evt.stopPropagation();
11797          }
11798          updateHistory(hash, evt);
11799          window.setTimeout(function() {
11800            scroll($el, function setFocus() {
11801              setFocusable($el, "add");
11802              $el.get(0).focus({
11803                preventScroll: true
11804              });
11805              setFocusable($el, "remove");
11806            });
11807          }, evt ? 0 : 300);
11808        }
11809        function updateHistory(hash) {
11810          if (loc.hash !== hash && history && history.pushState && // Navigation breaks Chrome when the protocol is `file:`.
11811          !(Webflow2.env.chrome && loc.protocol === "file:")) {
11812            var oldHash = history.state && history.state.hash;
11813            if (oldHash !== hash) {
11814              history.pushState({
11815                hash
11816              }, "", hash);
11817            }
11818          }
11819        }
11820        function scroll($targetEl, cb) {
11821          var start = $win.scrollTop();
11822          var end = calculateScrollEndPosition($targetEl);
11823          if (start === end)
11824            return;
11825          var duration = calculateScrollDuration($targetEl, start, end);
11826          var clock = Date.now();
11827          var step = function() {
11828            var elapsed = Date.now() - clock;
11829            window.scroll(0, getY(start, end, elapsed, duration));
11830            if (elapsed <= duration) {
11831              animate(step);
11832            } else if (typeof cb === "function") {
11833              cb();
11834            }
11835          };
11836          animate(step);
11837        }
11838        function calculateScrollEndPosition($targetEl) {
11839          var $header = $2(headerSelector);
11840          var offsetY = $header.css("position") === "fixed" ? $header.outerHeight() : 0;
11841          var end = $targetEl.offset().top - offsetY;
11842          if ($targetEl.data("scroll") === "mid") {
11843            var available = $win.height() - offsetY;
11844            var elHeight = $targetEl.outerHeight();
11845            if (elHeight < available) {
11846              end -= Math.round((available - elHeight) / 2);
11847            }
11848          }
11849          return end;
11850        }
11851        function calculateScrollDuration($targetEl, start, end) {
11852          if (reducedMotionEnabled())
11853            return 0;
11854          var mult = 1;
11855          $body.add($targetEl).each(function(_, el) {
11856            var time = parseFloat(el.getAttribute("data-scroll-time"));
11857            if (!isNaN(time) && time >= 0) {
11858              mult = time;
11859            }
11860          });
11861          return (472.143 * Math.log(Math.abs(start - end) + 125) - 2e3) * mult;
11862        }
11863        function getY(start, end, elapsed, duration) {
11864          if (elapsed > duration) {
11865            return end;
11866          }
11867          return start + (end - start) * ease2(elapsed / duration);
11868        }
11869        function ease2(t) {
11870          return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
11871        }
11872        function ready() {
11873          var { WF_CLICK_EMPTY, WF_CLICK_SCROLL } = NS_EVENTS;
11874          $doc.on(WF_CLICK_SCROLL, localHrefSelector, validateScroll);
11875          $doc.on(WF_CLICK_EMPTY, emptyHrefSelector, function(e) {
11876            e.preventDefault();
11877          });
11878          document.head.insertBefore(focusStylesEl, document.head.firstChild);
11879        }
11880        return {
11881          ready
11882        };
11883      });
11884    }
11885  });
11886
11887  
11887// packages/shared/render/plugins/BaseSiteModules/webflow-touch.js
11888  var require_webflow_touch = __commonJS({
11889    "packages/shared/render/plugins/BaseSiteModules/webflow-touch.js"(exports, module) {
11890      "use strict";
11891      var Webflow2 = require_webflow_lib();
11892      Webflow2.define("touch", module.exports = function($2) {
11893        var api = {};
11894        var getSelection = window.getSelection;
11895        $2.event.special.tap = {
11896          bindType: "click",
11897          delegateType: "click"
11898        };
11899        api.init = function(el) {
11900          el = typeof el === "string" ? $2(el).get(0) : el;
11901          return el ? new Touch(el) : null;
11902        };
11903        function Touch(el) {
11904          var active = false;
11905          var useTouch = false;
11906          var thresholdX = Math.min(Math.round(window.innerWidth * 0.04), 40);
11907          var startX;
11908          var lastX;
11909          el.addEventListener("touchstart", start, false);
11910          el.addEventListener("touchmove", move, false);
11911          el.addEventListener("touchend", end, false);
11912          el.addEventListener("touchcancel", cancel, false);
11913          el.addEventListener("mousedown", start, false);
11914          el.addEventListener("mousemove", move, false);
11915          el.addEventListener("mouseup", end, false);
11916          el.addEventListener("mouseout", cancel, false);
11917          function start(evt) {
11918            var touches = evt.touches;
11919            if (touches && touches.length > 1) {
11920              return;
11921            }
11922            active = true;
11923            if (touches) {
11924              useTouch = true;
11925              startX = touches[0].clientX;
11926            } else {
11927              startX = evt.clientX;
11928            }
11929            lastX = startX;
11930          }
11931          function move(evt) {
11932            if (!active) {
11933              return;
11934            }
11935            if (useTouch && evt.type === "mousemove") {
11936              evt.preventDefault();
11937              evt.stopPropagation();
11938              return;
11939            }
11940            var touches = evt.touches;
11941            var x = touches ? touches[0].clientX : evt.clientX;
11942            var velocityX = x - lastX;
11943            lastX = x;
11944            if (Math.abs(velocityX) > thresholdX && getSelection && String(getSelection()) === "") {
11945              triggerEvent("swipe", evt, {
11946                direction: velocityX > 0 ? "right" : "left"
11947              });
11948              cancel();
11949            }
11950          }
11951          function end(evt) {
11952            if (!active) {
11953              return;
11954            }
11955            active = false;
11956            if (useTouch && evt.type === "mouseup") {
11957              evt.preventDefault();
11958              evt.stopPropagation();
11959              useTouch = false;
11960              return;
11961            }
11962          }
11963          function cancel() {
11964            active = false;
11965          }
11966          function destroy() {
11967            el.removeEventListener("touchstart", start, false);
11968            el.removeEventListener("touchmove", move, false);
11969            el.removeEventListener("touchend", end, false);
11970            el.removeEventListener("touchcancel", cancel, false);
11971            el.removeEventListener("mousedown", start, false);
11972            el.removeEventListener("mousemove", move, false);
11973            el.removeEventListener("mouseup", end, false);
11974            el.removeEventListener("mouseout", cancel, false);
11975            el = null;
11976          }
11977          this.destroy = destroy;
11978        }
11979        function triggerEvent(type, evt, data) {
11980          var newEvent = $2.Event(type, {
11981            originalEvent: evt
11982          });
11983          $2(evt.target).trigger(newEvent, data);
11984        }
11985        api.instance = api.init(document);
11986        return api;
11987      });
11988    }
11989  });
11990
11991  
11991// packages/shared/render/plugins/Form/webflow-forms-hosted.js
11992  var require_webflow_forms_hosted = __commonJS({
11993    "packages/shared/render/plugins/Form/webflow-forms-hosted.js"(exports) {
11994      "use strict";
11995      Object.defineProperty(exports, "__esModule", {
11996        value: true
11997      });
11998      Object.defineProperty(exports, "default", {
11999        enumerable: true,
12000        get: function() {
12001          return hostedSubmitWebflow;
12002        }
12003      });
12004      function hostedSubmitWebflow(reset, loc, Webflow2, collectEnterpriseTrackingCookies, preventDefault, findFields, alert, findFileUploads, disableBtn, siteId, afterSubmit, $2, formUrl) {
12005        return function(data) {
12006          reset(data);
12007          var form = data.form;
12008          var payload = {
12009            name: form.attr("data-name") || form.attr("name") || "Untitled Form",
12010            pageId: form.attr("data-wf-page-id") || "",
12011            elementId: form.attr("data-wf-element-id") || "",
12012            source: loc.href,
12013            test: Webflow2.env(),
12014            fields: {},
12015            fileUploads: {},
12016            dolphin: /pass[\s-_]?(word|code)|secret|login|credentials/i.test(form.html()),
12017            trackingCookies: collectEnterpriseTrackingCookies()
12018          };
12019          const wfFlow = form.attr("data-wf-flow");
12020          if (wfFlow) {
12021            payload.wfFlow = wfFlow;
12022          }
12023          preventDefault(data);
12024          var status = findFields(form, payload.fields);
12025          if (status) {
12026            return alert(status);
12027          }
12028          payload.fileUploads = findFileUploads(form);
12029          disableBtn(data);
12030          if (!siteId) {
12031            afterSubmit(data);
12032            return;
12033          }
12034          $2.ajax({
12035            url: formUrl,
12036            type: "POST",
12037            data: payload,
12038            dataType: "json",
12039            crossDomain: true
12040          }).done(function(response) {
12041            if (response && response.code === 200) {
12042              data.success = true;
12043            }
12044            afterSubmit(data);
12045          }).fail(function() {
12046            afterSubmit(data);
12047          });
12048        };
12049      }
12050    }
12051  });
12052
12053  
12053// packages/shared/render/plugins/Form/webflow-forms.js
12054  var require_webflow_forms = __commonJS({
12055    "packages/shared/render/plugins/Form/webflow-forms.js"(exports, module) {
12056      "use strict";
12057      var Webflow2 = require_webflow_lib();
12058      Webflow2.define("forms", module.exports = function($2, _) {
12059        var api = {};
12060        var $doc = $2(document);
12061        var $forms;
12062        var loc = window.location;
12063        var retro = window.XDomainRequest && !window.atob;
12064        var namespace = ".w-form";
12065        var siteId;
12066        var emailField = /e(-)?mail/i;
12067        var emailValue = /^\S+@\S+$/;
12068        var alert = window.alert;
12069        var inApp = Webflow2.env();
12070        var listening;
12071        var formUrl;
12072        var signFileUrl;
12073        var chimpRegex = /list-manage[1-9]?.com/i;
12074        var disconnected = _.debounce(function() {
12075          alert("Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.");
12076        }, 100);
12077        api.ready = api.design = api.preview = function() {
12078          init();
12079          if (!inApp && !listening) {
12080            addListeners();
12081          }
12082        };
12083        function init() {
12084          siteId = $2("html").attr("data-wf-site");
12085          formUrl = "https://webflow.com/api/v1/form/" + siteId;
12086          if (retro && formUrl.indexOf("https://webflow.com") >= 0) {
12087            formUrl = formUrl.replace("https://webflow.com", "https://formdata.webflow.com");
12088          }
12089          signFileUrl = `${formUrl}/signFile`;
12090          $forms = $2(namespace + " form");
12091          if (!$forms.length) {
12092            return;
12093          }
12094          $forms.each(build);
12095        }
12096        function build(i, el) {
12097          var $el = $2(el);
12098          var data = $2.data(el, namespace);
12099          if (!data) {
12100            data = $2.data(el, namespace, {
12101              form: $el
12102            });
12103          }
12104          reset(data);
12105          var wrap = $el.closest("div.w-form");
12106          data.done = wrap.find("> .w-form-done");
12107          data.fail = wrap.find("> .w-form-fail");
12108          data.fileUploads = wrap.find(".w-file-upload");
12109          data.fileUploads.each(function(j) {
12110            initFileUpload(j, data);
12111          });
12112          var formName = data.form.attr("aria-label") || data.form.attr("data-name") || "Form";
12113          if (!data.done.attr("aria-label")) {
12114            data.form.attr("aria-label", formName);
12115          }
12116          data.done.attr("tabindex", "-1");
12117          data.done.attr("role", "region");
12118          if (!data.done.attr("aria-label")) {
12119            data.done.attr("aria-label", formName + " success");
12120          }
12121          data.fail.attr("tabindex", "-1");
12122          data.fail.attr("role", "region");
12123          if (!data.fail.attr("aria-label")) {
12124            data.fail.attr("aria-label", formName + " failure");
12125          }
12126          var action = data.action = $el.attr("action");
12127          data.handler = null;
12128          data.redirect = $el.attr("data-redirect");
12129          if (chimpRegex.test(action)) {
12130            data.handler = submitMailChimp;
12131            return;
12132          }
12133          if (action) {
12134            return;
12135          }
12136          if (siteId) {
12137            data.handler = false ? exportedSubmitWebflow : (() => {
12138              const hostedSubmitHandler = require_webflow_forms_hosted().default;
12139              return hostedSubmitHandler(reset, loc, Webflow2, collectEnterpriseTrackingCookies, preventDefault, findFields, alert, findFileUploads, disableBtn, siteId, afterSubmit, $2, formUrl);
12140            })();
12141            return;
12142          }
12143          disconnected();
12144        }
12145        function addListeners() {
12146          listening = true;
12147          $doc.on("submit", namespace + " form", function(evt) {
12148            var data = $2.data(this, namespace);
12149            if (data.handler) {
12150              data.evt = evt;
12151              data.handler(data);
12152            }
12153          });
12154          const CHECKBOX_CLASS_NAME = ".w-checkbox-input";
12155          const RADIO_INPUT_CLASS_NAME = ".w-radio-input";
12156          const CHECKED_CLASS = "w--redirected-checked";
12157          const FOCUSED_CLASS = "w--redirected-focus";
12158          const FOCUSED_VISIBLE_CLASS = "w--redirected-focus-visible";
12159          const focusVisibleSelectors = ":focus-visible, [data-wf-focus-visible]";
12160          const CUSTOM_CONTROLS = [
12161            [
12162              "checkbox",
12163              CHECKBOX_CLASS_NAME
12164            ],
12165            [
12166              "radio",
12167              RADIO_INPUT_CLASS_NAME
12168            ]
12169          ];
12170          $doc.on("change", namespace + ` form input[type="checkbox"]:not(` + CHECKBOX_CLASS_NAME + ")", (evt) => {
12171            $2(evt.target).siblings(CHECKBOX_CLASS_NAME).toggleClass(CHECKED_CLASS);
12172          });
12173          $doc.on("change", namespace + ` form input[type="radio"]`, (evt) => {
12174            $2(`input[name="${evt.target.name}"]:not(${CHECKBOX_CLASS_NAME})`).map((i, el) => $2(el).siblings(RADIO_INPUT_CLASS_NAME).removeClass(CHECKED_CLASS));
12175            const $target = $2(evt.target);
12176            if (!$target.hasClass("w-radio-input")) {
12177              $target.siblings(RADIO_INPUT_CLASS_NAME).addClass(CHECKED_CLASS);
12178            }
12179          });
12180          CUSTOM_CONTROLS.forEach(([controlType, customControlClassName]) => {
12181            $doc.on("focus", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
12182              $2(evt.target).siblings(customControlClassName).addClass(FOCUSED_CLASS);
12183              $2(evt.target).filter(focusVisibleSelectors).siblings(customControlClassName).addClass(FOCUSED_VISIBLE_CLASS);
12184            });
12185            $doc.on("blur", namespace + ` form input[type="${controlType}"]:not(` + customControlClassName + ")", (evt) => {
12186              $2(evt.target).siblings(customControlClassName).removeClass(`${FOCUSED_CLASS} ${FOCUSED_VISIBLE_CLASS}`);
12187            });
12188          });
12189        }
12190        function reset(data) {
12191          var btn = data.btn = data.form.find(':input[type="submit"]');
12192          data.wait = data.btn.attr("data-wait") || null;
12193          data.success = false;
12194          btn.prop("disabled", false);
12195          data.label && btn.val(data.label);
12196        }
12197        function disableBtn(data) {
12198          var btn = data.btn;
12199          var wait = data.wait;
12200          btn.prop("disabled", true);
12201          if (wait) {
12202            data.label = btn.val();
12203            btn.val(wait);
12204          }
12205        }
12206        function findFields(form, result) {
12207          var status = null;
12208          result = result || {};
12209          form.find(':input:not([type="submit"]):not([type="file"])').each(function(i, el) {
12210            var field = $2(el);
12211            var type = field.attr("type");
12212            var name = field.attr("data-name") || field.attr("name") || "Field " + (i + 1);
12213            name = encodeURIComponent(name);
12214            var value = field.val();
12215            if (type === "checkbox") {
12216              value = field.is(":checked");
12217            } else if (type === "radio") {
12218              if (result[name] === null || typeof result[name] === "string") {
12219                return;
12220              }
12221              value = form.find('input[name="' + field.attr("name") + '"]:checked').val() || null;
12222            }
12223            if (typeof value === "string") {
12224              value = $2.trim(value);
12225            }
12226            result[name] = value;
12227            status = status || getStatus(field, type, name, value);
12228          });
12229          return status;
12230        }
12231        function findFileUploads(form) {
12232          var result = {};
12233          form.find(':input[type="file"]').each(function(i, el) {
12234            var field = $2(el);
12235            var name = field.attr("data-name") || field.attr("name") || "File " + (i + 1);
12236            var value = field.attr("data-value");
12237            if (typeof value === "string") {
12238              value = $2.trim(value);
12239            }
12240            result[name] = value;
12241          });
12242          return result;
12243        }
12244        const trackingCookieNameMap = {
12245          _mkto_trk: "marketo"
12246        };
12247        function collectEnterpriseTrackingCookies() {
12248          const cookies = document.cookie.split("; ").reduce(function(acc, cookie) {
12249            const splitCookie = cookie.split("=");
12250            const name = splitCookie[0];
12251            if (name in trackingCookieNameMap) {
12252              const mappedName = trackingCookieNameMap[name];
12253              const value = splitCookie.slice(1).join("=");
12254              acc[mappedName] = value;
12255            }
12256            return acc;
12257          }, {});
12258          return cookies;
12259        }
12260        function getStatus(field, type, name, value) {
12261          var status = null;
12262          if (type === "password") {
12263            status = "Passwords cannot be submitted.";
12264          } else if (field.attr("required")) {
12265            if (!value) {
12266              status = "Please fill out the required field: " + name;
12267            } else if (emailField.test(field.attr("type"))) {
12268              if (!emailValue.test(value)) {
12269                status = "Please enter a valid email address for: " + name;
12270              }
12271            }
12272          } else if (name === "g-recaptcha-response" && !value) {
12273            status = "Please confirm you\u2019re not a robot.";
12274          }
12275          return status;
12276        }
12277        function exportedSubmitWebflow(data) {
12278          preventDefault(data);
12279          afterSubmit(data);
12280        }
12281        function submitMailChimp(data) {
12282          reset(data);
12283          var form = data.form;
12284          var payload = {};
12285          if (/^https/.test(loc.href) && !/^https/.test(data.action)) {
12286            form.attr("method", "post");
12287            return;
12288          }
12289          preventDefault(data);
12290          var status = findFields(form, payload);
12291          if (status) {
12292            return alert(status);
12293          }
12294          disableBtn(data);
12295          var fullName;
12296          _.each(payload, function(value, key) {
12297            if (emailField.test(key)) {
12298              payload.EMAIL = value;
12299            }
12300            if (/^((full[ _-]?)?name)$/i.test(key)) {
12301              fullName = value;
12302            }
12303            if (/^(first[ _-]?name)$/i.test(key)) {
12304              payload.FNAME = value;
12305            }
12306            if (/^(last[ _-]?name)$/i.test(key)) {
12307              payload.LNAME = value;
12308            }
12309          });
12310          if (fullName && !payload.FNAME) {
12311            fullName = fullName.split(" ");
12312            payload.FNAME = fullName[0];
12313            payload.LNAME = payload.LNAME || fullName[1];
12314          }
12315          var url = data.action.replace("/post?", "/post-json?") + "&c=?";
12316          var userId = url.indexOf("u=") + 2;
12317          userId = url.substring(userId, url.indexOf("&", userId));
12318          var listId = url.indexOf("id=") + 3;
12319          listId = url.substring(listId, url.indexOf("&", listId));
12320          payload["b_" + userId + "_" + listId] = "";
12321          $2.ajax({
12322            url,
12323            data: payload,
12324            dataType: "jsonp"
12325          }).done(function(resp) {
12326            data.success = resp.result === "success" || /already/.test(resp.msg);
12327            if (!data.success) {
12328              console.info("MailChimp error: " + resp.msg);
12329            }
12330            afterSubmit(data);
12331          }).fail(function() {
12332            afterSubmit(data);
12333          });
12334        }
12335        function afterSubmit(data) {
12336          var form = data.form;
12337          var redirect = data.redirect;
12338          var success = data.success;
12339          if (success && redirect) {
12340            Webflow2.location(redirect);
12341            return;
12342          }
12343          data.done.toggle(success);
12344          data.fail.toggle(!success);
12345          if (success) {
12346            data.done.focus();
12347          } else {
12348            data.fail.focus();
12349          }
12350          form.toggle(!success);
12351          reset(data);
12352        }
12353        function preventDefault(data) {
12354          data.evt && data.evt.preventDefault();
12355          data.evt = null;
12356        }
12357        function initFileUpload(i, form) {
12358          if (!form.fileUploads || !form.fileUploads[i]) {
12359            return;
12360          }
12361          var file;
12362          var $el = $2(form.fileUploads[i]);
12363          var $defaultWrap = $el.find("> .w-file-upload-default");
12364          var $uploadingWrap = $el.find("> .w-file-upload-uploading");
12365          var $successWrap = $el.find("> .w-file-upload-success");
12366          var $errorWrap = $el.find("> .w-file-upload-error");
12367          var $input = $defaultWrap.find(".w-file-upload-input");
12368          var $label = $defaultWrap.find(".w-file-upload-label");
12369          var $labelChildren = $label.children();
12370          var $errorMsgEl = $errorWrap.find(".w-file-upload-error-msg");
12371          var $fileEl = $successWrap.find(".w-file-upload-file");
12372          var $removeEl = $successWrap.find(".w-file-remove-link");
12373          var $fileNameEl = $fileEl.find(".w-file-upload-file-name");
12374          var sizeErrMsg = $errorMsgEl.attr("data-w-size-error");
12375          var typeErrMsg = $errorMsgEl.attr("data-w-type-error");
12376          var genericErrMsg = $errorMsgEl.attr("data-w-generic-error");
12377          if (!inApp) {
12378            $label.on("click keydown", function(e) {
12379              if (e.type === "keydown" && e.which !== 13 && e.which !== 32) {
12380                return;
12381              }
12382              e.preventDefault();
12383              $input.click();
12384            });
12385          }
12386          $label.find(".w-icon-file-upload-icon").attr("aria-hidden", "true");
12387          $removeEl.find(".w-icon-file-upload-remove").attr("aria-hidden", "true");
12388          if (!inApp) {
12389            $removeEl.on("click keydown", function(e) {
12390              if (e.type === "keydown") {
12391                if (e.which !== 13 && e.which !== 32) {
12392                  return;
12393                }
12394                e.preventDefault();
12395              }
12396              $input.removeAttr("data-value");
12397              $input.val("");
12398              $fileNameEl.html("");
12399              $defaultWrap.toggle(true);
12400              $successWrap.toggle(false);
12401              $label.focus();
12402            });
12403            $input.on("change", function(e) {
12404              file = e.target && e.target.files && e.target.files[0];
12405              if (!file) {
12406                return;
12407              }
12408              $defaultWrap.toggle(false);
12409              $errorWrap.toggle(false);
12410              $uploadingWrap.toggle(true);
12411              $uploadingWrap.focus();
12412              $fileNameEl.text(file.name);
12413              if (!isUploading()) {
12414                disableBtn(form);
12415              }
12416              form.fileUploads[i].uploading = true;
12417              signFile(file, afterSign);
12418            });
12419            var height = $label.outerHeight();
12420            $input.height(height);
12421            $input.width(1);
12422          } else {
12423            $input.on("click", function(e) {
12424              e.preventDefault();
12425            });
12426            $label.on("click", function(e) {
12427              e.preventDefault();
12428            });
12429            $labelChildren.on("click", function(e) {
12430              e.preventDefault();
12431            });
12432          }
12433          function parseError(err) {
12434            var errorMsg = err.responseJSON && err.responseJSON.msg;
12435            var userError = genericErrMsg;
12436            if (typeof errorMsg === "string" && errorMsg.indexOf("InvalidFileTypeError") === 0) {
12437              userError = typeErrMsg;
12438            } else if (typeof errorMsg === "string" && errorMsg.indexOf("MaxFileSizeError") === 0) {
12439              userError = sizeErrMsg;
12440            }
12441            $errorMsgEl.text(userError);
12442            $input.removeAttr("data-value");
12443            $input.val("");
12444            $uploadingWrap.toggle(false);
12445            $defaultWrap.toggle(true);
12446            $errorWrap.toggle(true);
12447            $errorWrap.focus();
12448            form.fileUploads[i].uploading = false;
12449            if (!isUploading()) {
12450              reset(form);
12451            }
12452          }
12453          function afterSign(err, data) {
12454            if (err) {
12455              return parseError(err);
12456            }
12457            var fileName = data.fileName;
12458            var postData = data.postData;
12459            var fileId = data.fileId;
12460            var s3Url = data.s3Url;
12461            $input.attr("data-value", fileId);
12462            uploadS3(s3Url, postData, file, fileName, afterUpload);
12463          }
12464          function afterUpload(err) {
12465            if (err) {
12466              return parseError(err);
12467            }
12468            $uploadingWrap.toggle(false);
12469            $successWrap.css("display", "inline-block");
12470            $successWrap.focus();
12471            form.fileUploads[i].uploading = false;
12472            if (!isUploading()) {
12473              reset(form);
12474            }
12475          }
12476          function isUploading() {
12477            var uploads = form.fileUploads && form.fileUploads.toArray() || [];
12478            return uploads.some(function(value) {
12479              return value.uploading;
12480            });
12481          }
12482        }
12483        function signFile(file, cb) {
12484          var payload = new URLSearchParams({
12485            name: file.name,
12486            size: file.size
12487          });
12488          $2.ajax({
12489            type: "GET",
12490            url: `${signFileUrl}?${payload}`,
12491            crossDomain: true
12492          }).done(function(data) {
12493            cb(null, data);
12494          }).fail(function(err) {
12495            cb(err);
12496          });
12497        }
12498        function uploadS3(url, data, file, fileName, cb) {
12499          var formData = new FormData();
12500          for (var k in data) {
12501            formData.append(k, data[k]);
12502          }
12503          formData.append("file", file, fileName);
12504          $2.ajax({
12505            type: "POST",
12506            url,
12507            data: formData,
12508            processData: false,
12509            contentType: false
12510          }).done(function() {
12511            cb(null);
12512          }).fail(function(err) {
12513            cb(err);
12514          });
12515        }
12516        return api;
12517      });
12518    }
12519  });
12520
12521  
12521// packages/shared/render/plugins/Navbar/webflow-navbar.js
12522  var require_webflow_navbar = __commonJS({
12523    "packages/shared/render/plugins/Navbar/webflow-navbar.js"(exports, module) {
12524      "use strict";
12525      var Webflow2 = require_webflow_lib();
12526      var IXEvents = require_webflow_ix2_events();
12527      var KEY_CODES = {
12528        ARROW_LEFT: 37,
12529        ARROW_UP: 38,
12530        ARROW_RIGHT: 39,
12531        ARROW_DOWN: 40,
12532        ESCAPE: 27,
12533        SPACE: 32,
12534        ENTER: 13,
12535        HOME: 36,
12536        END: 35
12537      };
12538      Webflow2.define("navbar", module.exports = function($2, _) {
12539        var api = {};
12540        var tram = $2.tram;
12541        var $win = $2(window);
12542        var $doc = $2(document);
12543        var debounce = _.debounce;
12544        var $body;
12545        var $navbars;
12546        var designer;
12547        var inEditor;
12548        var inApp = Webflow2.env();
12549        var overlay = '<div class="w-nav-overlay" data-wf-ignore />';
12550        var namespace = ".w-nav";
12551        var navbarOpenedButton = "w--open";
12552        var navbarOpenedDropdown = "w--nav-dropdown-open";
12553        var navbarOpenedDropdownToggle = "w--nav-dropdown-toggle-open";
12554        var navbarOpenedDropdownList = "w--nav-dropdown-list-open";
12555        var navbarOpenedLink = "w--nav-link-open";
12556        var ix = IXEvents.triggers;
12557        var menuSibling = $2();
12558        api.ready = api.design = api.preview = init;
12559        api.destroy = function() {
12560          menuSibling = $2();
12561          removeListeners();
12562          if ($navbars && $navbars.length) {
12563            $navbars.each(teardown);
12564          }
12565        };
12566        function init() {
12567          designer = inApp && Webflow2.env("design");
12568          inEditor = Webflow2.env("editor");
12569          $body = $2(document.body);
12570          $navbars = $doc.find(namespace);
12571          if (!$navbars.length) {
12572            return;
12573          }
12574          $navbars.each(build);
12575          removeListeners();
12576          addListeners();
12577        }
12578        function removeListeners() {
12579          Webflow2.resize.off(resizeAll);
12580        }
12581        function addListeners() {
12582          Webflow2.resize.on(resizeAll);
12583        }
12584        function resizeAll() {
12585          $navbars.each(resize);
12586        }
12587        function build(i, el) {
12588          var $el = $2(el);
12589          var data = $2.data(el, namespace);
12590          if (!data) {
12591            data = $2.data(el, namespace, {
12592              open: false,
12593              el: $el,
12594              config: {},
12595              selectedIdx: -1
12596            });
12597          }
12598          data.menu = $el.find(".w-nav-menu");
12599          data.links = data.menu.find(".w-nav-link");
12600          data.dropdowns = data.menu.find(".w-dropdown");
12601          data.dropdownToggle = data.menu.find(".w-dropdown-toggle");
12602          data.dropdownList = data.menu.find(".w-dropdown-list");
12603          data.button = $el.find(".w-nav-button");
12604          data.container = $el.find(".w-container");
12605          data.overlayContainerId = "w-nav-overlay-" + i;
12606          data.outside = outside(data);
12607          var navBrandLink = $el.find(".w-nav-brand");
12608          if (navBrandLink && navBrandLink.attr("href") === "/" && navBrandLink.attr("aria-label") == null) {
12609            navBrandLink.attr("aria-label", "home");
12610          }
12611          data.button.attr("style", "-webkit-user-select: text;");
12612          if (data.button.attr("aria-label") == null) {
12613            data.button.attr("aria-label", "menu");
12614          }
12615          data.button.attr("role", "button");
12616          data.button.attr("tabindex", "0");
12617          data.button.attr("aria-controls", data.overlayContainerId);
12618          data.button.attr("aria-haspopup", "menu");
12619          data.button.attr("aria-expanded", "false");
12620          data.el.off(namespace);
12621          data.button.off(namespace);
12622          data.menu.off(namespace);
12623          configure(data);
12624          if (designer) {
12625            removeOverlay(data);
12626            data.el.on("setting" + namespace, handler(data));
12627          } else {
12628            addOverlay(data);
12629            data.button.on("click" + namespace, toggle(data));
12630            data.menu.on("click" + namespace, "a", navigate(data));
12631            data.button.on("keydown" + namespace, makeToggleButtonKeyboardHandler(data));
12632            data.el.on("keydown" + namespace, makeLinksKeyboardHandler(data));
12633          }
12634          resize(i, el);
12635        }
12636        function teardown(i, el) {
12637          var data = $2.data(el, namespace);
12638          if (data) {
12639            removeOverlay(data);
12640            $2.removeData(el, namespace);
12641          }
12642        }
12643        function removeOverlay(data) {
12644          if (!data.overlay) {
12645            return;
12646          }
12647          close(data, true);
12648          data.overlay.remove();
12649          data.overlay = null;
12650        }
12651        function addOverlay(data) {
12652          if (data.overlay) {
12653            return;
12654          }
12655          data.overlay = $2(overlay).appendTo(data.el);
12656          data.overlay.attr("id", data.overlayContainerId);
12657          data.parent = data.menu.parent();
12658          close(data, true);
12659        }
12660        function configure(data) {
12661          var config = {};
12662          var old = data.config || {};
12663          var animation = config.animation = data.el.attr("data-animation") || "default";
12664          config.animOver = /^over/.test(animation);
12665          config.animDirect = /left$/.test(animation) ? -1 : 1;
12666          if (old.animation !== animation) {
12667            data.open && _.defer(reopen, data);
12668          }
12669          config.easing = data.el.attr("data-easing") || "ease";
12670          config.easing2 = data.el.attr("data-easing2") || "ease";
12671          var duration = data.el.attr("data-duration");
12672          config.duration = duration != null ? Number(duration) : 400;
12673          config.docHeight = data.el.attr("data-doc-height");
12674          data.config = config;
12675        }
12676        function handler(data) {
12677          return function(evt, options) {
12678            options = options || {};
12679            var winWidth = $win.width();
12680            configure(data);
12681            options.open === true && open(data, true);
12682            options.open === false && close(data, true);
12683            data.open && _.defer(function() {
12684              if (winWidth !== $win.width()) {
12685                reopen(data);
12686              }
12687            });
12688          };
12689        }
12690        function makeToggleButtonKeyboardHandler(data) {
12691          return function(evt) {
12692            switch (evt.keyCode) {
12693              case KEY_CODES.SPACE:
12694              case KEY_CODES.ENTER: {
12695                toggle(data)();
12696                evt.preventDefault();
12697                return evt.stopPropagation();
12698              }
12699              case KEY_CODES.ESCAPE: {
12700                close(data);
12701                evt.preventDefault();
12702                return evt.stopPropagation();
12703              }
12704              case KEY_CODES.ARROW_RIGHT:
12705              case KEY_CODES.ARROW_DOWN:
12706              case KEY_CODES.HOME:
12707              case KEY_CODES.END: {
12708                if (!data.open) {
12709                  evt.preventDefault();
12710                  return evt.stopPropagation();
12711                }
12712                if (evt.keyCode === KEY_CODES.END) {
12713                  data.selectedIdx = data.links.length - 1;
12714                } else {
12715                  data.selectedIdx = 0;
12716                }
12717                focusSelectedLink(data);
12718                evt.preventDefault();
12719                return evt.stopPropagation();
12720              }
12721            }
12722          };
12723        }
12724        function makeLinksKeyboardHandler(data) {
12725          return function(evt) {
12726            if (!data.open) {
12727              return;
12728            }
12729            data.selectedIdx = data.links.index(document.activeElement);
12730            switch (evt.keyCode) {
12731              case KEY_CODES.HOME:
12732              case KEY_CODES.END: {
12733                if (evt.keyCode === KEY_CODES.END) {
12734                  data.selectedIdx = data.links.length - 1;
12735                } else {
12736                  data.selectedIdx = 0;
12737                }
12738                focusSelectedLink(data);
12739                evt.preventDefault();
12740                return evt.stopPropagation();
12741              }
12742              case KEY_CODES.ESCAPE: {
12743                close(data);
12744                data.button.focus();
12745                evt.preventDefault();
12746                return evt.stopPropagation();
12747              }
12748              case KEY_CODES.ARROW_LEFT:
12749              case KEY_CODES.ARROW_UP: {
12750                data.selectedIdx = Math.max(-1, data.selectedIdx 
12750- 1);
12751                focusSelectedLink(data);
12752                evt.preventDefault();
12753                return evt.stopPropagation();
12754              }
12755              case KEY_CODES.ARROW_RIGHT:
12756              case KEY_CODES.ARROW_DOWN: {
12757                data.selectedIdx = Math.min(data.links.length - 1, data.selectedIdx + 1);
12758                focusSelectedLink(data);
12759                evt.preventDefault();
12760                return evt.stopPropagation();
12761              }
12762            }
12763          };
12764        }
12765        function focusSelectedLink(data) {
12766          if (data.links[data.selectedIdx]) {
12767            var selectedElement = data.links[data.selectedIdx];
12768            selectedElement.focus();
12769            navigate(selectedElement);
12770          }
12771        }
12772        function reopen(data) {
12773          if (!data.open) {
12774            return;
12775          }
12776          close(data, true);
12777          open(data, true);
12778        }
12779        function toggle(data) {
12780          return debounce(function() {
12781            data.open ? close(data) : open(data);
12782          });
12783        }
12784        function navigate(data) {
12785          return function(evt) {
12786            var link = $2(this);
12787            var href = link.attr("href");
12788            if (!Webflow2.validClick(evt.currentTarget)) {
12789              evt.preventDefault();
12790              return;
12791            }
12792            if (href && href.indexOf("#") === 0 && data.open) {
12793              close(data);
12794            }
12795          };
12796        }
12797        function outside(data) {
12798          if (data.outside) {
12799            $doc.off("click" + namespace, data.outside);
12800          }
12801          return function(evt) {
12802            var $target = $2(evt.target);
12803            if (inEditor && $target.closest(".w-editor-bem-EditorOverlay").length) {
12804              return;
12805            }
12806            outsideDebounced(data, $target);
12807          };
12808        }
12809        var outsideDebounced = debounce(function(data, $target) {
12810          if (!data.open) {
12811            return;
12812          }
12813          var menu = $target.closest(".w-nav-menu");
12814          if (!data.menu.is(menu)) {
12815            close(data);
12816          }
12817        });
12818        function resize(i, el) {
12819          var data = $2.data(el, namespace);
12820          var collapsed = data.collapsed = data.button.css("display") !== "none";
12821          if (data.open && !collapsed && !designer) {
12822            close(data, true);
12823          }
12824          if (data.container.length) {
12825            var updateEachMax = updateMax(data);
12826            data.links.each(updateEachMax);
12827            data.dropdowns.each(updateEachMax);
12828          }
12829          if (data.open) {
12830            setOverlayHeight(data);
12831          }
12832        }
12833        var maxWidth = "max-width";
12834        function updateMax(data) {
12835          var containMax = data.container.css(maxWidth);
12836          if (containMax === "none") {
12837            containMax = "";
12838          }
12839          return function(i, link) {
12840            link = $2(link);
12841            link.css(maxWidth, "");
12842            if (link.css(maxWidth) === "none") {
12843              link.css(maxWidth, containMax);
12844            }
12845          };
12846        }
12847        function addMenuOpen(i, el) {
12848          el.setAttribute("data-nav-menu-open", "");
12849        }
12850        function removeMenuOpen(i, el) {
12851          el.removeAttribute("data-nav-menu-open");
12852        }
12853        function open(data, immediate) {
12854          if (data.open) {
12855            return;
12856          }
12857          data.open = true;
12858          data.menu.each(addMenuOpen);
12859          data.links.addClass(navbarOpenedLink);
12860          data.dropdowns.addClass(navbarOpenedDropdown);
12861          data.dropdownToggle.addClass(navbarOpenedDropdownToggle);
12862          data.dropdownList.addClass(navbarOpenedDropdownList);
12863          data.button.addClass(navbarOpenedButton);
12864          var config = data.config;
12865          var animation = config.animation;
12866          if (animation === "none" || !tram.support.transform || config.duration <= 0) {
12867            immediate = true;
12868          }
12869          var bodyHeight = setOverlayHeight(data);
12870          var menuHeight = data.menu.outerHeight(true);
12871          var menuWidth = data.menu.outerWidth(true);
12872          var navHeight = data.el.height();
12873          var navbarEl = data.el[0];
12874          resize(0, navbarEl);
12875          ix.intro(0, navbarEl);
12876          Webflow2.redraw.up();
12877          if (!designer) {
12878            $doc.on("click" + namespace, data.outside);
12879          }
12880          if (immediate) {
12881            complete();
12882            return;
12883          }
12884          var transConfig = "transform " + config.duration + "ms " + config.easing;
12885          if (data.overlay) {
12886            menuSibling = data.menu.prev();
12887            data.overlay.show().append(data.menu);
12888          }
12889          if (config.animOver) {
12890            tram(data.menu).add(transConfig).set({
12891              x: config.animDirect * menuWidth,
12892              height: bodyHeight
12893            }).start({
12894              x: 0
12895            }).then(complete);
12896            data.overlay && data.overlay.width(menuWidth);
12897            return;
12898          }
12899          var offsetY = navHeight + menuHeight;
12900          tram(data.menu).add(transConfig).set({
12901            y: -offsetY
12902          }).start({
12903            y: 0
12904          }).then(complete);
12905          function complete() {
12906            data.button.attr("aria-expanded", "true");
12907          }
12908        }
12909        function setOverlayHeight(data) {
12910          var config = data.config;
12911          var bodyHeight = config.docHeight ? $doc.height() : $body.height();
12912          if (config.animOver) {
12913            data.menu.height(bodyHeight);
12914          } else if (data.el.css("position") !== "fixed") {
12915            bodyHeight -= data.el.outerHeight(true);
12916          }
12917          data.overlay && data.overlay.height(bodyHeight);
12918          return bodyHeight;
12919        }
12920        function close(data, immediate) {
12921          if (!data.open) {
12922            return;
12923          }
12924          data.open = false;
12925          data.button.removeClass(navbarOpenedButton);
12926          var config = data.config;
12927          if (config.animation === "none" || !tram.support.transform || config.duration <= 0) {
12928            immediate = true;
12929          }
12930          ix.outro(0, data.el[0]);
12931          $doc.off("click" + namespace, data.outside);
12932          if (immediate) {
12933            tram(data.menu).stop();
12934            complete();
12935            return;
12936          }
12937          var transConfig = "transform " + config.duration + "ms " + config.easing2;
12938          var menuHeight = data.menu.outerHeight(true);
12939          var menuWidth = data.menu.outerWidth(true);
12940          var navHeight = data.el.height();
12941          if (config.animOver) {
12942            tram(data.menu).add(transConfig).start({
12943              x: menuWidth * config.animDirect
12944            }).then(complete);
12945            return;
12946          }
12947          var offsetY = navHeight + menuHeight;
12948          tram(data.menu).add(transConfig).start({
12949            y: -offsetY
12950          }).then(complete);
12951          function complete() {
12952            data.menu.height("");
12953            tram(data.menu).set({
12954              x: 0,
12955              y: 0
12956            });
12957            data.menu.each(removeMenuOpen);
12958            data.links.removeClass(navbarOpenedLink);
12959            data.dropdowns.removeClass(navbarOpenedDropdown);
12960            data.dropdownToggle.removeClass(navbarOpenedDropdownToggle);
12961            data.dropdownList.removeClass(navbarOpenedDropdownList);
12962            if (data.overlay && data.overlay.children().length) {
12963              menuSibling.length ? data.menu.insertAfter(menuSibling) : data.menu.prependTo(data.parent);
12964              data.overlay.attr("style", "").hide();
12965            }
12966            data.el.triggerHandler("w-close");
12967            data.button.attr("aria-expanded", "false");
12968          }
12969        }
12970        return api;
12971      });
12972    }
12973  });
12974
12975  
12975// packages/shared/render/plugins/Slider/webflow-slider.js
12976  var require_webflow_slider = __commonJS({
12977    "packages/shared/render/plugins/Slider/webflow-slider.js"(exports, module) {
12978      "use strict";
12979      var Webflow2 = require_webflow_lib();
12980      var IXEvents = require_webflow_ix2_events();
12981      var KEY_CODES = {
12982        ARROW_LEFT: 37,
12983        ARROW_UP: 38,
12984        ARROW_RIGHT: 39,
12985        ARROW_DOWN: 40,
12986        SPACE: 32,
12987        ENTER: 13,
12988        HOME: 36,
12989        END: 35
12990      };
12991      var FOCUSABLE_SELECTOR = 'a[href], area[href], [role="button"], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]';
12992      Webflow2.define("slider", module.exports = function($2, _) {
12993        var api = {};
12994        var tram = $2.tram;
12995        var $doc = $2(document);
12996        var $sliders;
12997        var designer;
12998        var inApp = Webflow2.env();
12999        var namespace = ".w-slider";
13000        var dot = '<div class="w-slider-dot" data-wf-ignore />';
13001        var ariaLiveLabelHtml = '<div aria-live="off" aria-atomic="true" class="w-slider-aria-label" data-wf-ignore />';
13002        var forceShow = "w-slider-force-show";
13003        var ix = IXEvents.triggers;
13004        var fallback;
13005        var inRedraw = false;
13006        api.ready = function() {
13007          designer = Webflow2.env("design");
13008          init();
13009        };
13010        api.design = function() {
13011          designer = true;
13012          setTimeout(init, 1e3);
13013        };
13014        api.preview = function() {
13015          designer = false;
13016          init();
13017        };
13018        api.redraw = function() {
13019          inRedraw = true;
13020          init();
13021          inRedraw = false;
13022        };
13023        api.destroy = removeListeners;
13024        function init() {
13025          $sliders = $doc.find(namespace);
13026          if (!$sliders.length) {
13027            return;
13028          }
13029          $sliders.each(build);
13030          if (fallback) {
13031            return;
13032          }
13033          removeListeners();
13034          addListeners();
13035        }
13036        function removeListeners() {
13037          Webflow2.resize.off(renderAll);
13038          Webflow2.redraw.off(api.redraw);
13039        }
13040        function addListeners() {
13041          Webflow2.resize.on(renderAll);
13042          Webflow2.redraw.on(api.redraw);
13043        }
13044        function renderAll() {
13045          $sliders.filter(":visible").each(render);
13046        }
13047        function build(i, el) {
13048          var $el = $2(el);
13049          var data = $2.data(el, namespace);
13050          if (!data) {
13051            data = $2.data(el, namespace, {
13052              index: 0,
13053              depth: 1,
13054              hasFocus: {
13055                keyboard: false,
13056                mouse: false
13057              },
13058              el: $el,
13059              config: {}
13060            });
13061          }
13062          data.mask = $el.children(".w-slider-mask");
13063          data.left = $el.children(".w-slider-arrow-left");
13064          data.right = $el.children(".w-slider-arrow-right");
13065          data.nav = $el.children(".w-slider-nav");
13066          data.slides = data.mask.children(".w-slide");
13067          data.slides.each(ix.reset);
13068          if (inRedraw) {
13069            data.maskWidth = 0;
13070          }
13071          if ($el.attr("role") === void 0) {
13072            $el.attr("role", "region");
13073          }
13074          if ($el.attr("aria-label") === void 0) {
13075            $el.attr("aria-label", "carousel");
13076          }
13077          var slideViewId = data.mask.attr("id");
13078          if (!slideViewId) {
13079            slideViewId = "w-slider-mask-" + i;
13080            data.mask.attr("id", slideViewId);
13081          }
13082          if (!designer && !data.ariaLiveLabel) {
13083            data.ariaLiveLabel = $2(ariaLiveLabelHtml).appendTo(data.mask);
13084          }
13085          data.left.attr("role", "button");
13086          data.left.attr("tabindex", "0");
13087          data.left.attr("aria-controls", slideViewId);
13088          if (data.left.attr("aria-label") === void 0) {
13089            data.left.attr("aria-label", "previous slide");
13090          }
13091          data.right.attr("role", "button");
13092          data.right.attr("tabindex", "0");
13093          data.right.attr("aria-controls", slideViewId);
13094          if (data.right.attr("aria-label") === void 0) {
13095            data.right.attr("aria-label", "next slide");
13096          }
13097          if (!tram.support.transform) {
13098            data.left.hide();
13099            data.right.hide();
13100            data.nav.hide();
13101            fallback = true;
13102            return;
13103          }
13104          data.el.off(namespace);
13105          data.left.off(namespace);
13106          data.right.off(namespace);
13107          data.nav.off(namespace);
13108          configure(data);
13109          if (designer) {
13110            data.el.on("setting" + namespace, handler(data));
13111            stopTimer(data);
13112            data.hasTimer = false;
13113          } else {
13114            data.el.on("swipe" + namespace, handler(data));
13115            data.left.on("click" + namespace, previousFunction(data));
13116            data.right.on("click" + namespace, next(data));
13117            data.left.on("keydown" + namespace, keyboardSlideButtonsFunction(data, previousFunction));
13118            data.right.on("keydown" + namespace, keyboardSlideButtonsFunction(data, next));
13119            data.nav.on("keydown" + namespace, "> div", handler(data));
13120            if (data.config.autoplay && !data.hasTimer) {
13121              data.hasTimer = true;
13122              data.timerCount = 1;
13123              startTimer(data);
13124            }
13125            data.el.on("mouseenter" + namespace, hasFocus(data, true, "mouse"));
13126            data.el.on("focusin" + namespace, hasFocus(data, true, "keyboard"));
13127            data.el.on("mouseleave" + namespace, hasFocus(data, false, "mouse"));
13128            data.el.on("focusout" + namespace, hasFocus(data, false, "keyboard"));
13129          }
13130          data.nav.on("click" + namespace, "> div", handler(data));
13131          if (!inApp) {
13132            data.mask.contents().filter(function() {
13133              return this.nodeType === 3;
13134            }).remove();
13135          }
13136          var $elHidden = $el.filter(":hidden");
13137          $elHidden.addClass(forceShow);
13138          var $elHiddenParents = $el.parents(":hidden");
13139          $elHiddenParents.addClass(forceShow);
13140          if (!inRedraw) {
13141            render(i, el);
13142          }
13143          $elHidden.removeClass(forceShow);
13144          $elHiddenParents.removeClass(forceShow);
13145        }
13146        function configure(data) {
13147          var config = {};
13148          config.crossOver = 0;
13149          config.animation = data.el.attr("data-animation") || "slide";
13150          if (config.animation === "outin") {
13151            config.animation = "cross";
13152            config.crossOver = 0.5;
13153          }
13154          config.easing = data.el.attr("data-easing") || "ease";
13155          var duration = data.el.attr("data-duration");
13156          config.duration = duration != null ? parseInt(duration, 10) : 500;
13157          if (isAttrTrue(data.el.attr("data-infinite"))) {
13158            config.infinite = true;
13159          }
13160          if (isAttrTrue(data.el.attr("data-disable-swipe"))) {
13161            config.disableSwipe = true;
13162          }
13163          if (isAttrTrue(data.el.attr("data-hide-arrows"))) {
13164            config.hideArrows = true;
13165          } else if (data.config.hideArrows) {
13166            data.left.show();
13167            data.right.show();
13168          }
13169          if (isAttrTrue(data.el.attr("data-autoplay"))) {
13170            config.autoplay = true;
13171            config.delay = parseInt(data.el.attr("data-delay"), 10) || 2e3;
13172            config.timerMax = parseInt(data.el.attr("data-autoplay-limit"), 10);
13173            var touchEvents = "mousedown" + namespace + " touchstart" + namespace;
13174            if (!designer) {
13175              data.el.off(touchEvents).one(touchEvents, function() {
13176                stopTimer(data);
13177              });
13178            }
13179          }
13180          var arrowWidth = data.right.width();
13181          config.edge = arrowWidth ? arrowWidth + 40 : 100;
13182          data.config = config;
13183        }
13184        function isAttrTrue(value) {
13185          return value === "1" || value === "true";
13186        }
13187        function hasFocus(data, focusIn, eventType) {
13188          return function(evt) {
13189            if (!focusIn) {
13190              if ($2.contains(data.el.get(0), evt.relatedTarget)) {
13191                return;
13192              }
13193              data.hasFocus[eventType] = focusIn;
13194              if (data.hasFocus.mouse && eventType === "keyboard" || data.hasFocus.keyboard && eventType === "mouse") {
13195                return;
13196              }
13197            } else {
13198              data.hasFocus[eventType] = focusIn;
13199            }
13200            if (focusIn) {
13201              data.ariaLiveLabel.attr("aria-live", "polite");
13202              if (data.hasTimer) {
13203                stopTimer(data);
13204              }
13205            } else {
13206              data.ariaLiveLabel.attr("aria-live", "off");
13207              if (data.hasTimer) {
13208                startTimer(data);
13209              }
13210            }
13211            return;
13212          };
13213        }
13214        function keyboardSlideButtonsFunction(data, directionFunction) {
13215          return function(evt) {
13216            switch (evt.keyCode) {
13217              case KEY_CODES.SPACE:
13218              case KEY_CODES.ENTER: {
13219                directionFunction(data)();
13220                evt.preventDefault();
13221                return evt.stopPropagation();
13222              }
13223            }
13224          };
13225        }
13226        function previousFunction(data) {
13227          return function() {
13228            change(data, {
13229              index: data.index - 1,
13230              vector: -1
13231            });
13232          };
13233        }
13234        function next(data) {
13235          return function() {
13236            change(data, {
13237              index: data.index + 1,
13238              vector: 1
13239            });
13240          };
13241        }
13242        function select(data, value) {
13243          var found = null;
13244          if (value === data.slides.length) {
13245            init();
13246            layout(data);
13247          }
13248          _.each(data.anchors, function(anchor, index) {
13249            $2(anchor.els).each(function(i, el) {
13250              if ($2(el).index() === value) {
13251                found = index;
13252              }
13253            });
13254          });
13255          if (found != null) {
13256            change(data, {
13257              index: found,
13258              immediate: true
13259            });
13260          }
13261        }
13262        function startTimer(data) {
13263          stopTimer(data);
13264          var config = data.config;
13265          var timerMax = config.timerMax;
13266          if (timerMax && data.timerCount++ > timerMax) {
13267            return;
13268          }
13269          data.timerId = window.setTimeout(function() {
13270            if (data.timerId == null || designer) {
13271              return;
13272            }
13273            next(data)();
13274            startTimer(data);
13275          }, config.delay);
13276        }
13277        function stopTimer(data) {
13278          window.clearTimeout(data.timerId);
13279          data.timerId = null;
13280        }
13281        function handler(data) {
13282          return function(evt, options) {
13283            options = options || {};
13284            var config = data.config;
13285            if (designer && evt.type === "setting") {
13286              if (options.select === "prev") {
13287                return previousFunction(data)();
13288              }
13289              if (options.select === "next") {
13290                return next(data)();
13291              }
13292              configure(data);
13293              layout(data);
13294              if (options.select == null) {
13295                return;
13296              }
13297              select(data, options.select);
13298              return;
13299            }
13300            if (evt.type === "swipe") {
13301              if (config.disableSwipe) {
13302                return;
13303              }
13304              if (Webflow2.env("editor")) {
13305                return;
13306              }
13307              if (options.direction === "left") {
13308                return next(data)();
13309              }
13310              if (options.direction === "right") {
13311                return previousFunction(data)();
13312              }
13313              return;
13314            }
13315            if (data.nav.has(evt.target).length) {
13316              var index = $2(evt.target).index();
13317              if (evt.type === "click") {
13318                change(data, {
13319                  index
13320                });
13321              }
13322              if (evt.type === "keydown") {
13323                switch (evt.keyCode) {
13324                  case KEY_CODES.ENTER:
13325                  case KEY_CODES.SPACE: {
13326                    change(data, {
13327                      index
13328                    });
13329                    evt.preventDefault();
13330                    break;
13331                  }
13332                  case KEY_CODES.ARROW_LEFT:
13333                  case KEY_CODES.ARROW_UP: {
13334                    focusDot(data.nav, Math.max(index - 1, 0));
13335                    evt.preventDefault();
13336                    break;
13337                  }
13338                  case KEY_CODES.ARROW_RIGHT:
13339                  case KEY_CODES.ARROW_DOWN: {
13340                    focusDot(data.nav, Math.min(index + 1, data.pages));
13341                    evt.preventDefault();
13342                    break;
13343                  }
13344                  case KEY_CODES.HOME: {
13345                    focusDot(data.nav, 0);
13346                    evt.preventDefault();
13347                    break;
13348                  }
13349                  case KEY_CODES.END: {
13350                    focusDot(data.nav, data.pages);
13351                    evt.preventDefault();
13352                    break;
13353                  }
13354                  default: {
13355                    return;
13356                  }
13357                }
13358              }
13359            }
13360          };
13361        }
13362        function focusDot($nav, index) {
13363          var $active = $nav.children().eq(index).focus();
13364          $nav.children().not($active);
13365        }
13366        function change(data, options) {
13367          options = options || {};
13368          var config = data.config;
13369          var anchors = data.anchors;
13370          data.previous = data.index;
13371          var index = options.index;
13372          var shift = {};
13373          if (index < 0) {
13374            index = anchors.length - 1;
13375            if (config.infinite) {
13376              shift.x = -data.endX;
13377              shift.from = 0;
13378              shift.to = anchors[0].width;
13379            }
13380          } else if (index >= anchors.length) {
13381            index = 0;
13382            if (config.infinite) {
13383              shift.x = anchors[anchors.length - 1].width;
13384              shift.from = -anchors[anchors.length - 1].x;
13385              shift.to = shift.from - shift.x;
13386            }
13387          }
13388          data.index = index;
13389          var $active = data.nav.children().eq(index).addClass("w-active").attr("aria-pressed", "true").attr("tabindex", "0");
13390          data.nav.children().not($active).removeClass("w-active").attr("aria-pressed", "false").attr("tabindex", "-1");
13391          if (config.hideArrows) {
13392            data.index === anchors.length - 1 ? data.right.hide() : data.right.show();
13393            data.index === 0 ? data.left.hide() : data.left.show();
13394          }
13395          var lastOffsetX = data.offsetX || 0;
13396          var offsetX = data.offsetX = -anchors[data.index].x;
13397          var resetConfig = {
13398            x: offsetX,
13399            opacity: 1,
13400            visibility: ""
13401          };
13402          var targets = $2(anchors[data.index].els);
13403          var prevTargs = $2(anchors[data.previous] && anchors[data.previous].els);
13404          var others = data.slides.not(targets);
13405          var animation = config.animation;
13406          var easing = config.easing;
13407          var duration = Math.round(config.duration);
13408          var vector = options.vector || (data.index > data.previous ? 1 : -1);
13409          var fadeRule = "opacity " + duration + "ms " + easing;
13410          var slideRule = "transform " + duration + "ms " + easing;
13411          targets.find(FOCUSABLE_SELECTOR).removeAttr("tabindex");
13412          targets.removeAttr("aria-hidden");
13413          targets.find("*").removeAttr("aria-hidden");
13414          others.find(FOCUSABLE_SELECTOR).attr("tabindex", "-1");
13415          others.attr("aria-hidden", "true");
13416          others.find("*").attr("aria-hidden", "true");
13417          if (!designer) {
13418            targets.each(ix.intro);
13419            others.each(ix.outro);
13420          }
13421          if (options.immediate && !inRedraw) {
13422            tram(targets).set(resetConfig);
13423            resetOthers();
13424            return;
13425          }
13426          if (data.index === data.previous) {
13427            return;
13428          }
13429          if (!designer) {
13430            data.ariaLiveLabel.text(`Slide ${index + 1} of ${anchors.length}.`);
13431          }
13432          if (animation === "cross") {
13433            var reduced = Math.round(duration - duration * config.crossOver);
13434            var wait = Math.round(duration - reduced);
13435            fadeRule = "opacity " + reduced + "ms " + easing;
13436            tram(prevTargs).set({
13437              visibility: ""
13438            }).add(fadeRule).start({
13439              opacity: 0
13440            });
13441            tram(targets).set({
13442              visibility: "",
13443              x: offsetX,
13444              opacity: 0,
13445              zIndex: data.depth++
13446            }).add(fadeRule).wait(wait).then({
13447              opacity: 1
13448            }).then(resetOthers);
13449            return;
13450          }
13451          if (animation === "fade") {
13452            tram(prevTargs).set({
13453              visibility: ""
13454            }).stop();
13455            tram(targets).set({
13456              visibility: "",
13457              x: offsetX,
13458              opacity: 0,
13459              zIndex: data.depth++
13460            }).add(fadeRule).start({
13461              opacity: 1
13462            }).then(resetOthers);
13463            return;
13464          }
13465          if (animation === "over") {
13466            resetConfig = {
13467              x: data.endX
13468            };
13469            tram(prevTargs).set({
13470              visibility: ""
13471            }).stop();
13472            tram(targets).set({
13473              visibility: "",
13474              zIndex: data.depth++,
13475              x: offsetX + anchors[data.index].width * vector
13476            }).add(slideRule).start({
13477              x: offsetX
13478            }).then(resetOthers);
13479            return;
13480          }
13481          if (config.infinite && shift.x) {
13482            tram(data.slides.not(prevTargs)).set({
13483              visibility: "",
13484              x: shift.x
13485            }).add(slideRule).start({
13486              x: offsetX
13487            });
13488            tram(prevTargs).set({
13489              visibility: "",
13490              x: shift.from
13491            }).add(slideRule).start({
13492              x: shift.to
13493            });
13494            data.shifted = prevTargs;
13495          } else {
13496            if (config.infinite && data.shifted) {
13497              tram(data.shifted).set({
13498                visibility: "",
13499                x: lastOffsetX
13500              });
13501              data.shifted = null;
13502            }
13503            tram(data.slides).set({
13504              visibility: ""
13505            }).add(slideRule).start({
13506              x: offsetX
13507            });
13508          }
13509          function resetOthers() {
13510            targets = $2(anchors[data.index].els);
13511            others = data.slides.not(targets);
13512            if (animation !== "slide") {
13513              resetConfig.visibility = "hidden";
13514            }
13515            tram(others).set(resetConfig);
13516          }
13517        }
13518        function render(i, el) {
13519          var data = $2.data(el, namespace);
13520          if (!data) {
13521            return;
13522          }
13523          if (maskChanged(data)) {
13524            return layout(data);
13525          }
13526          if (designer && slidesChanged(data)) {
13527            layout(data);
13528          }
13529        }
13530        function layout(data) {
13531          var pages = 1;
13532          var offset = 0;
13533          var anchor = 0;
13534          var width = 0;
13535          var maskWidth = data.maskWidth;
13536          var threshold = maskWidth - data.config.edge;
13537          if (threshold < 0) {
13538            threshold = 0;
13539          }
13540          data.anchors = [
13541            {
13542              els: [],
13543              x: 0,
13544              width: 0
13545            }
13546          ];
13547          data.slides.each(function(i, el) {
13548            if (anchor - offset > threshold) {
13549              pages++;
13550              offset += maskWidth;
13551              data.anchors[pages - 1] = {
13552                els: [],
13553                x: anchor,
13554                width: 0
13555              };
13556            }
13557            width = $2(el).outerWidth(true);
13558            anchor += width;
13559            data.anchors[pages - 1].width += width;
13560            data.anchors[pages - 1].els.push(el);
13561            var ariaLabel = i + 1 + " of " + data.slides.length;
13562            $2(el).attr("aria-label", ariaLabel);
13563            $2(el).attr("role", "group");
13564          });
13565          data.endX = anchor;
13566          if (designer) {
13567            data.pages = null;
13568          }
13569          if (data.nav.length && data.pages !== pages) {
13570            data.pages = pages;
13571            buildNav(data);
13572          }
13573          var index = data.index;
13574          if (index >= pages) {
13575            index = pages - 1;
13576          }
13577          change(data, {
13578            immediate: true,
13579            index
13580          });
13581        }
13582        function buildNav(data) {
13583          var dots = [];
13584          var $dot;
13585          var spacing = data.el.attr("data-nav-spacing");
13586          if (spacing) {
13587            spacing = parseFloat(spacing) + "px";
13588          }
13589          for (var i = 0, len = data.pages; i < len; i++) {
13590            $dot = $2(dot);
13591            $dot.attr("aria-label", "Show slide " + (i + 1) + " of " + len).attr("aria-pressed", "false").attr("role", "button").attr("tabindex", "-1");
13592            if (data.nav.hasClass("w-num")) {
13593              $dot.text(i + 1);
13594            }
13595            if (spacing != null) {
13596              $dot.css({
13597                "margin-left": spacing,
13598                "margin-right": spacing
13599              });
13600            }
13601            dots.push($dot);
13602          }
13603          data.nav.empty().append(dots);
13604        }
13605        function maskChanged(data) {
13606          var maskWidth = data.mask.width();
13607          if (data.maskWidth !== maskWidth) {
13608            data.maskWidth = maskWidth;
13609            return true;
13610          }
13611          return false;
13612        }
13613        function slidesChanged(data) {
13614          var slidesWidth = 0;
13615          data.slides.each(function(i, el) {
13616            slidesWidth += $2(el).outerWidth(true);
13617          });
13618          if (data.slidesWidth !== slidesWidth) {
13619            data.slidesWidth = slidesWidth;
13620            return true;
13621          }
13622          return false;
13623        }
13624        return api;
13625      });
13626    }
13627  });
13628
13629  // <stdin>
13630  require_objectFitPolyfill_basic();
13631  require_webflow_bgvideo();
13632  require_webflow_brand();
13633  require_webflow_edit();
13634  require_webflow_focus_visible();
13635  require_webflow_focus();
13636  require_webflow_ix2_events();
13637  require_webflow_ix2();
13638  require_webflow_links();
13639  require_webflow_scroll();
13640  require_webflow_touch();
13641  require_webflow_forms();
13642  require_webflow_navbar();
13643  require_webflow_slider();
13644})();
13645/*!
13646* tram.js v0.8.2-global
13647* Cross-browser CSS3 transitions in JavaScript
13648* https://github.com/bkwld/tram
13649* MIT License
13650*/
13651/*!
13652 * Webflow._ (aka) Underscore.js 1.6.0 (custom build)
13653 *
13654 * http://underscorejs.org
13655 * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
13656 * Underscore may be freely distributed under the MIT license.
13657 * @license MIT
13658 */
13659/*! Bundled license information:
13660
13661timm/lib/timm.js:
13662  (*!
13663   * Timm
13664   *
13665   * Immutability helpers with fast reads and acceptable writes.
13666   *
13667   * @copyright Guillermo Grau Panea 2016
13668   * @license MIT
13669   *)
13670*/
13671/**
13672 * ----------------------------------------------------------------------
13673 * Webflow: Interactions 2.0: Init
13674 */
13675Webflow.require('ix2').init(
13676{"events":{"e":{"id":"e","name":"","animationType":"custom","eventTypeId":"MOUSE_OVER","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-2"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".button","originalId":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"CLASS"},"targets":[{"selector":".button","originalId":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715936571762},"e-2":{"id":"e-2","name":"","animationType":"custom","eventTypeId":"MOUSE_OUT","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-2","affectedElements":{},"playInReverse":false,"autoStopEventId":"e"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".button","originalId":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"CLASS"},"targets":[{"selector":".button","originalId":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715936571764},"e-3":{"id":"e-3","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-4","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-4"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|6e28bcf0-438a-76e2-5041-4d2637f9d216","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|6e28bcf0-438a-76e2-5041-4d2637f9d216","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715949778209},"e-5":{"id":"e-5","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-3","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-6"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|56516ea1-9321-48ad-6fb7-015068b9a76d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|56516ea1-9321-48ad-6fb7-015068b9a76d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715949947232},"e-7":{"id":"e-7","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-8"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|8dbda0c0-a3e9-17a2-e967-f21577a80913","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|8dbda0c0-a3e9-17a2-e967-f21577a80913","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715951768428}
13676,"e-9":{"id":"e-9","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-10"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|333cd019-dd5e-4dab-7440-b0fdb3be39ca","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|333cd019-dd5e-4dab-7440-b0fdb3be39ca","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715954191768},"e-11":{"id":"e-11","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-12"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|a3206eae-95a6-43e2-563e-6c4955b89df0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|a3206eae-95a6-43e2-563e-6c4955b89df0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715955846715},"e-13":{"id":"e-13","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-14"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715958519485},"e-15":{"id":"e-15","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-16"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad8411bf","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad8411bf","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715967740179},"e-17":{"id":"e-17","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-18"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad8411f8","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad8411f8","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715967740179},"e-19":{"id":"e-19","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-20"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad841206","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|f6de4238-591b-5f18-a0d9-596aad841206","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715967740179},"e-21":{"id":"e-21","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-7","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-22"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1715972021649}
13676,"e-23":{"id":"e-23","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-24"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1716040896966},"e-25":{"id":"e-25","name":"","animationType":"custom","eventTypeId":"NAVBAR_OPEN","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-9","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-26"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".navbar","originalId":"664b027037a9f506ff125a2a|e41b95fc-eca1-76a1-0b86-6a8f82d64280","appliesTo":"CLASS"},"targets":[{"selector":".navbar","originalId":"664b027037a9f506ff125a2a|e41b95fc-eca1-76a1-0b86-6a8f82d64280","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1716044724508},"e-26":{"id":"e-26","name":"","animationType":"custom","eventTypeId":"NAVBAR_CLOSE","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-10","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-25"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".navbar","originalId":"664b027037a9f506ff125a2a|e41b95fc-eca1-76a1-0b86-6a8f82d64280","appliesTo":"CLASS"},"targets":[{"selector":".navbar","originalId":"664b027037a9f506ff125a2a|e41b95fc-eca1-76a1-0b86-6a8f82d64280","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1716044724510},"e-37":{"id":"e-37","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-38"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"66978dc29649cf4c761dca19|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"66978dc29649cf4c761dca19|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721208260491},"e-47":{"id":"e-47","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-48"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"66978dc29649cf4c761dca19|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"66978dc29649cf4c761dca19|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721208260491},"e-49":{"id":"e-49","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-4","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-50"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|6e28bcf0-438a-76e2-5041-4d2637f9d216","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|6e28bcf0-438a-76e2-5041-4d2637f9d216","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-51":{"id":"e-51","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-3","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-52"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|56516ea1-9321-48ad-6fb7-015068b9a76d","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|56516ea1-9321-48ad-6fb7-015068b9a76d","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-53":{"id":"e-53","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-54"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|8dbda0c0-a3e9-17a2-e967-f21577a80913","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|8dbda0c0-a3e9-17a2-e967-f21577a80913","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-55":{"id":"e-55","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-56"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|333cd019-dd5e-4dab-7440-b0fdb3be39ca","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|333cd019-dd5e-4dab-7440-b0fdb3be39ca","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-57":{"id":"e-57","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-5","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-58"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|a3206eae-95a6-43e2-563e-6c4955b89df0","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|a3206eae-95a6-43e2-563e-6c4955b89df0","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-59":{"id":"e-59","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-60"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|ad7ee193-541a-cce8-4b31-18b2bad16231","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-61":{"id":"e-61","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-62"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad8411bf","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad8411bf","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-63":{"id":"e-63","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-64"}}
13676,"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad8411f8","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad8411f8","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-65":{"id":"e-65","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-8","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-66"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad841206","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|f6de4238-591b-5f18-a0d9-596aad841206","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-67":{"id":"e-67","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-7","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-68"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|9770f072-9910-f511-a5a9-6d4ccd01f68f","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-69":{"id":"e-69","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-6","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-70"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9|bb9db7c4-a819-51d6-91ca-4a4f73eb6509","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721651363797},"e-71":{"id":"e-71","name":"","animationType":"custom","eventTypeId":"PAGE_START","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-11","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-72"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"669e50a3156a914a31a2c6d9","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"669e50a3156a914a31a2c6d9","appliesTo":"PAGE","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1721816232447},"e-73":{"id":"e-73","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-4","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-74"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".div-block-3","originalId":"669e50a3156a914a31a2c6d9|442cae5c-d294-26a1-306d-e71ecc1f2c84","appliesTo":"CLASS"},"targets":[{"selector":".div-block-3","originalId":"669e50a3156a914a31a2c6d9|442cae5c-d294-26a1-306d-e71ecc1f2c84","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1722347547371},"e-75":{"id":"e-75","name":"","animationType":"preset","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-7","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-76"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"664b027037a9f506ff125a2a|aa428cd0-054a-96b0-aaf8-2fe043698338","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"664b027037a9f506ff125a2a|aa428cd0-054a-96b0-aaf8-2fe043698338","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1724314750308}},"actionLists":{"a":{"id":"a","title":"Button Hover in","actionItemGroups":[{"actionItems":[{"id":"a-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-hover-show","selectorGuids":["8d2b7c00-8135-a211-b94a-4aa38501537b"]},"widthValue":12,"widthUnit":"rem","heightUnit":"PX","locked":false}}]},{"actionItems":[{"id":"a-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-hover-show","selectorGuids":["8d2b7c00-8135-a211-b94a-4aa38501537b"]},"widthUnit":"AUTO","heightUnit":"PX","locked":false}}]}],"useFirstGroupAsInitialState":true,"createdOn":1715936598519}
13676,"a-2":{"id":"a-2","title":"Button Hover out","actionItemGroups":[{"actionItems":[{"id":"a-2-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".button-hover-show","selectorGuids":["8d2b7c00-8135-a211-b94a-4aa38501537b"]},"widthValue":12,"widthUnit":"rem","heightUnit":"PX","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1715936598519},"a-4":{"id":"a-4","title":"1440 opoup Hide","actionItemGroups":[{"actionItems":[{"id":"a-4-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"useEventTarget":"PARENT","selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-4-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1715949804421},"a-3":{"id":"a-3","title":"1440 opoup Show","actionItemGroups":[{"actionItems":[{"id":"a-3-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":"none"}},{"id":"a-3-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-3-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":"block"}}]},{"actionItems":[{"id":"a-3-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"selector":".popup-1440","selectorGuids":["736c267e-9897-98a3-c4a5-85b86e8724d1"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1715949804421},"a-5":{"id":"a-5","title":"Order popup Hide","actionItemGroups":[{"actionItems":[{"id":"a-5-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"useEventTarget":"PARENT","selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-5-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1715951791741},"a-6":{"id":"a-6","title":"Order popup Show","actionItemGroups":[{"actionItems":[{"id":"a-6-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":"none"}},{"id":"a-6-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-6-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":"block"}}]},{"actionItems":[{"id":"a-6-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"selector":".poup-order","selectorGuids":["d6785ac2-dbe0-1c30-1bcc-84354446f70f"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1715951791741},"a-8":{"id":"a-8","title":"Team popup Hide","actionItemGroups":[{"actionItems":[{"id":"a-8-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"useEventTarget":"PARENT","selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-8-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1715951791741},"a-7":{"id":"a-7","title":"Team popup Show","actionItemGroups":[{"actionItems":[{"id":"a-7-n","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":"none"}},{"id":"a-7-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-7-n-3","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":"block"}}]},{"actionItems":[{"id":"a-7-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"ease","duration":500,"target":{"selector":".poup-team","selectorGuids":["04f4cd4a-099c-bf38-c2f6-47d374225b7d"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1715972049703},"a-9":{"id":"a-9","title":"Navbar Opens","actionItemGroups":[{"actionItems":[{"id":"a-9-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".burger-square1","selectorGuids":["fafa6e34-b59b-dde6-a4f6-17289a54dc2c"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".burger-square2","selectorGuids":["ee58b72a-2896-061d-733a-6ae2037b8c4d"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-3","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".burger-square3","selectorGuids":["e8d12d2d-6d3a-d89f-1d22-788c206844c4"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-4","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".burger-square4","selectorGuids":["3205d5e9-d311-2480-6f63-4729c7587172"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-16","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".burger","selectorGuids":["a22ad241-fd89-23b0-7c7a-19b972a007c8"]},"widthValue":16,"heightValue":16,"widthUnit":"rem","heightUnit":"rem","locked":false}}]},{"actionItems":[{"id":"a-9-n-9","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square1","selectorGuids":["fafa6e34-b59b-dde6-a4f6-17289a54dc2c"]},"widthValue":8,"heightValue":1,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-15","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square4","selectorGuids":["3205d5e9-d311-2480-6f63-4729c7587172"]},"widthValue":8,"heightValue":0,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-13","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square3","selectorGuids":["e8d12d2d-6d3a-d89f-1d22-788c206844c4"]},"widthValue":8,"heightValue":0,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-11","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square2","selectorGuids":["ee58b72a-2896-061d-733a-6ae2037b8c4d"]},"widthValue":8,"heightValue":1,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-9-n-17","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger","selectorGuids":["a22ad241-fd89-23b0-7c7a-19b972a007c8"]},"widthValue":16,"heightValue":1,"widthUnit":"rem","heightUnit":"rem","locked":false}}]}],"useFirstGroupAsInitialState":true,"createdOn":1716044734388},"a-10":{"id":"a-10","title":"Navbar Closes","actionItemGroups":[{"actionItems":[{"id":"a-10-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square1","selectorGuids":["fafa6e34-b59b-dde6-a4f6-17289a54dc2c"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-10-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square2","selectorGuids":["ee58b72a-2896-061d-733a-6ae2037b8c4d"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-10-n-3","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square3","selectorGuids":["e8d12d2d-6d3a-d89f-1d22-788c206844c4"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-10-n-4","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger-square4","selectorGuids":["3205d5e9-d311-2480-6f63-4729c7587172"]},"widthValue":4,"heightValue":4,"widthUnit":"rem","heightUnit":"rem","locked":false}},{"id":"a-10-n-5","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":400,"target":{"useEventTarget":"CHILDREN","selector":".burger","selectorGuids":["a22ad241-fd89-23b0-7c7a-19b972a007c8"]},"widthValue":16,"heightValue":16,"widthUnit":"rem","heightUnit":"rem","locked":false}}]}],"useFirstGroupAsInitialState":false,"createdOn":1716044734388},"a-11":{"id":"a-11","title":"load-img","actionItemGroups":[{"actionItems":[{"id":"a-11-n","actionTypeId":"TRANSFORM_SCALE","config":{"delay":0,"easing":"","duration":20000,"target":{"selector":".image-cover.hero-image","selectorGuids":["c89b4d7d-8b0c-b00c-6acb-d532f5d6377f","bd6ff17d-5fc9-c67c-cb9e-1249e736a2de"]},"xValue":1.2,"yValue":1.2,"locked":true}}]}],"useFirstGroupAsInitialState":false,"createdOn":1721816237306}},"site":{"mediaQueries":[{"key":"main","min":992,"max":10000},{"key":"medium","min":768,"max":991},{"key":"small","min":480,"max":767},{"key":"tiny","min":0,"max":479}]}}
13677);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.