@penn-libraries/web 1.1.0-dev.7 → 1.1.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/dist/cjs/{index-C0A2bnrZ.js → index-C0qvW4Ra.js} +289 -191
  2. package/dist/cjs/index-C0qvW4Ra.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -3
  4. package/dist/cjs/loader.cjs.js +3 -6
  5. package/dist/cjs/loader.cjs.js.map +1 -1
  6. package/dist/cjs/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.cjs.js.map +1 -1
  7. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js +25 -36
  8. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -3
  9. package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -3
  10. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +1 -3
  11. package/dist/cjs/pennlibs-feedback.cjs.entry.js +1 -3
  12. package/dist/cjs/pennlibs-hero.cjs.entry.js +1 -3
  13. package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +132 -0
  14. package/dist/cjs/pennlibs-iiif-img.entry.cjs.js.map +1 -0
  15. package/dist/cjs/web.cjs.js +4 -7
  16. package/dist/cjs/web.cjs.js.map +1 -1
  17. package/dist/collection/collection-manifest.json +4 -3
  18. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js +40 -23
  19. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js.map +1 -1
  20. package/dist/collection/components/pennlibs-header/pennlibs-header.js +6 -6
  21. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.css +37 -0
  22. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js +310 -0
  23. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js.map +1 -0
  24. package/dist/components/index.d.ts +2 -0
  25. package/dist/components/index.js +2 -1
  26. package/dist/components/index.js.map +1 -1
  27. package/dist/components/pennlibs-autocomplete.js +28 -20
  28. package/dist/components/pennlibs-autocomplete.js.map +1 -1
  29. package/dist/components/pennlibs-banner.js +5 -3
  30. package/dist/components/pennlibs-banner.js.map +1 -1
  31. package/dist/components/pennlibs-chat.js +5 -3
  32. package/dist/components/pennlibs-chat.js.map +1 -1
  33. package/dist/components/pennlibs-fallback-img.js +1 -30
  34. package/dist/components/pennlibs-fallback-img.js.map +1 -1
  35. package/dist/components/pennlibs-fallback-img2.js +37 -0
  36. package/dist/components/pennlibs-fallback-img2.js.map +1 -0
  37. package/dist/components/pennlibs-feedback.js +5 -3
  38. package/dist/components/pennlibs-feedback.js.map +1 -1
  39. package/dist/components/pennlibs-footer.js +5 -3
  40. package/dist/components/pennlibs-footer.js.map +1 -1
  41. package/dist/components/pennlibs-header.js +6 -19
  42. package/dist/components/pennlibs-header.js.map +1 -1
  43. package/dist/components/pennlibs-hero.js +5 -3
  44. package/dist/components/pennlibs-hero.js.map +1 -1
  45. package/dist/components/pennlibs-iiif-img.d.ts +11 -0
  46. package/dist/components/pennlibs-iiif-img.js +168 -0
  47. package/dist/components/pennlibs-iiif-img.js.map +1 -0
  48. package/dist/docs.json +268 -12
  49. package/dist/esm/{index-CE_ILdTo.js → index-D9dYrmUF.js} +289 -192
  50. package/dist/esm/index-D9dYrmUF.js.map +1 -0
  51. package/dist/esm/index.js +1 -3
  52. package/dist/esm/loader.js +3 -6
  53. package/dist/esm/loader.js.map +1 -1
  54. package/dist/esm/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.js.map +1 -1
  55. package/dist/esm/pennlibs-autocomplete_3.entry.js +25 -36
  56. package/dist/esm/pennlibs-banner.entry.js +1 -3
  57. package/dist/esm/pennlibs-chat.entry.js +1 -3
  58. package/dist/esm/pennlibs-fallback-img.entry.js +1 -3
  59. package/dist/esm/pennlibs-feedback.entry.js +1 -3
  60. package/dist/esm/pennlibs-hero.entry.js +1 -3
  61. package/dist/esm/pennlibs-iiif-img.entry.js +130 -0
  62. package/dist/esm/pennlibs-iiif-img.entry.js.map +1 -0
  63. package/dist/esm/web.js +4 -7
  64. package/dist/esm/web.js.map +1 -1
  65. package/dist/types/components/pennlibs-autocomplete/pennlibs-autocomplete.d.ts +17 -1
  66. package/dist/types/components/pennlibs-iiif-img/pennlibs-iiif-img.d.ts +89 -0
  67. package/dist/types/components.d.ts +143 -0
  68. package/dist/types/stencil-public-runtime.d.ts +73 -9
  69. package/dist/web/index.esm.js +1 -3
  70. package/dist/web/loader.esm.js.map +1 -1
  71. package/dist/web/{p-20c0bd7a.entry.js → p-43d9c2d4.entry.js} +1 -3
  72. package/dist/web/{p-CE_ILdTo.js → p-D9dYrmUF.js} +289 -192
  73. package/dist/web/p-D9dYrmUF.js.map +1 -0
  74. package/dist/web/{p-cbae5952.entry.js → p-ad92090a.entry.js} +1 -3
  75. package/dist/web/{p-370e32b1.entry.js → p-b4b58af0.entry.js} +1 -3
  76. package/dist/web/p-c4074cf1.entry.js +130 -0
  77. package/dist/web/{p-07ad051f.entry.js → p-cb2584da.entry.js} +1 -3
  78. package/dist/web/{p-5e385536.entry.js → p-ce97059c.entry.js} +1 -3
  79. package/dist/web/{p-e1215158.entry.js → p-e6188c30.entry.js} +25 -36
  80. package/dist/web/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.esm.js.map +1 -1
  81. package/dist/web/pennlibs-iiif-img.entry.esm.js.map +1 -0
  82. package/dist/web/web.esm.js +4 -7
  83. package/dist/web/web.esm.js.map +1 -1
  84. package/hydrate/index.d.ts +28 -24
  85. package/hydrate/index.js +609 -241
  86. package/hydrate/index.mjs +609 -241
  87. package/package.json +3 -9
  88. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  89. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  90. package/dist/cjs/index-C0A2bnrZ.js.map +0 -1
  91. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js.map +0 -1
  92. package/dist/cjs/pennlibs-banner.cjs.entry.js.map +0 -1
  93. package/dist/cjs/pennlibs-chat.cjs.entry.js.map +0 -1
  94. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js.map +0 -1
  95. package/dist/cjs/pennlibs-feedback.cjs.entry.js.map +0 -1
  96. package/dist/cjs/pennlibs-hero.cjs.entry.js.map +0 -1
  97. package/dist/collection/utils/utils.js +0 -4
  98. package/dist/collection/utils/utils.js.map +0 -1
  99. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  100. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  101. package/dist/esm/index-CE_ILdTo.js.map +0 -1
  102. package/dist/esm/pennlibs-autocomplete_3.entry.js.map +0 -1
  103. package/dist/types/utils/utils.d.ts +0 -1
  104. package/dist/web/p-07ad051f.entry.js.map +0 -1
  105. package/dist/web/p-20c0bd7a.entry.js.map +0 -1
  106. package/dist/web/p-370e32b1.entry.js.map +0 -1
  107. package/dist/web/p-5e385536.entry.js.map +0 -1
  108. package/dist/web/p-CE_ILdTo.js.map +0 -1
  109. package/dist/web/p-DQuL1Twl.js +0 -6
  110. package/dist/web/p-DQuL1Twl.js.map +0 -1
  111. package/dist/web/p-cbae5952.entry.js.map +0 -1
  112. package/dist/web/p-e1215158.entry.js.map +0 -1
package/hydrate/index.mjs CHANGED
@@ -32,6 +32,7 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
32
32
  var CharacterData = $stencilWindow.CharacterData;
33
33
  var CSS = $stencilWindow.CSS;
34
34
  var CustomEvent = $stencilWindow.CustomEvent;
35
+ var CSSStyleSheet = $stencilWindow.CSSStyleSheet;
35
36
  var Document = $stencilWindow.Document;
36
37
  var ShadowRoot = $stencilWindow.ShadowRoot;
37
38
  var DocumentFragment = $stencilWindow.DocumentFragment;
@@ -124,10 +125,10 @@ function hydrateFactory($stencilWindow, $stencilHydrateOpts, $stencilHydrateResu
124
125
 
125
126
 
126
127
  const NAMESPACE = 'web';
127
- const BUILD = /* web */ { hydratedSelectorName: "hydrated", slotRelocation: true, updatable: true, watchCallback: false };
128
+ const BUILD = /* web */ { hydratedSelectorName: "hydrated", propChangeCallback: false, slotRelocation: true, updatable: true};
128
129
 
129
130
  /*
130
- Stencil Hydrate Platform v4.29.3 | MIT Licensed | https://stenciljs.com
131
+ Stencil Hydrate Platform v4.38.1 | MIT Licensed | https://stenciljs.com
131
132
  */
132
133
  var __defProp = Object.defineProperty;
133
134
  var __export = (target, all) => {
@@ -339,6 +340,24 @@ function deserializeProperty(value) {
339
340
  return RemoteValue.fromLocalValue(JSON.parse(atob(value.slice(SERIALIZED_PREFIX.length))));
340
341
  }
341
342
 
343
+ // src/utils/style.ts
344
+ function createStyleSheetIfNeededAndSupported(styles2) {
345
+ return void 0;
346
+ }
347
+
348
+ // src/utils/shadow-root.ts
349
+ var globalStyleSheet;
350
+ function createShadowRoot(cmpMeta) {
351
+ var _a;
352
+ const shadowRoot = this.attachShadow({ mode: "open" });
353
+ if (globalStyleSheet === void 0) globalStyleSheet = (_a = createStyleSheetIfNeededAndSupported()) != null ? _a : null;
354
+ if (globalStyleSheet) {
355
+ {
356
+ shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, globalStyleSheet];
357
+ }
358
+ }
359
+ }
360
+
342
361
  // src/runtime/runtime-constants.ts
343
362
  var CONTENT_REF_ID = "r";
344
363
  var ORG_LOCATION_ID = "o";
@@ -461,7 +480,7 @@ function patchSlotNode(node) {
461
480
  const slotName = this["s-sn"];
462
481
  if (opts == null ? void 0 : opts.flatten) {
463
482
  console.error(`
464
- Flattening is not supported for Stencil non-shadow slots.
483
+ Flattening is not supported for Stencil non-shadow slots.
465
484
  You can use \`.childNodes\` to nested slot fallback content.
466
485
  If you have a particular use case, please open an issue on the Stencil repo.
467
486
  `);
@@ -505,6 +524,94 @@ var uniqueTime = (key, measureText) => {
505
524
  };
506
525
  }
507
526
  };
527
+ var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
528
+ var registerStyle = (scopeId2, cssText, allowCS) => {
529
+ let style = styles.get(scopeId2);
530
+ {
531
+ style = cssText;
532
+ }
533
+ styles.set(scopeId2, style);
534
+ };
535
+ var addStyle = (styleContainerNode, cmpMeta, mode) => {
536
+ var _a;
537
+ const scopeId2 = getScopeId(cmpMeta);
538
+ const style = styles.get(scopeId2);
539
+ if (!win.document) {
540
+ return scopeId2;
541
+ }
542
+ styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
543
+ if (style) {
544
+ if (typeof style === "string") {
545
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
546
+ let appliedStyles = rootAppliedStyles.get(styleContainerNode);
547
+ let styleElm;
548
+ if (!appliedStyles) {
549
+ rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
550
+ }
551
+ if (!appliedStyles.has(scopeId2)) {
552
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
553
+ styleElm.innerHTML = style;
554
+ } else {
555
+ styleElm = win.document.createElement("style");
556
+ styleElm.innerHTML = style;
557
+ const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
558
+ if (nonce != null) {
559
+ styleElm.setAttribute("nonce", nonce);
560
+ }
561
+ if ((cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */ || cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
562
+ styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
563
+ }
564
+ if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
565
+ if (styleContainerNode.nodeName === "HEAD") {
566
+ const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
567
+ const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
568
+ styleContainerNode.insertBefore(
569
+ styleElm,
570
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
571
+ );
572
+ } else if ("host" in styleContainerNode) {
573
+ {
574
+ const existingStyleContainer = styleContainerNode.querySelector("style");
575
+ if (existingStyleContainer) {
576
+ existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
577
+ } else {
578
+ styleContainerNode.prepend(styleElm);
579
+ }
580
+ }
581
+ } else {
582
+ styleContainerNode.append(styleElm);
583
+ }
584
+ }
585
+ if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
586
+ styleContainerNode.insertBefore(styleElm, null);
587
+ }
588
+ }
589
+ if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
590
+ styleElm.innerHTML += SLOT_FB_CSS;
591
+ }
592
+ if (appliedStyles) {
593
+ appliedStyles.add(scopeId2);
594
+ }
595
+ }
596
+ }
597
+ }
598
+ return scopeId2;
599
+ };
600
+ var attachStyles = (hostRef) => {
601
+ const cmpMeta = hostRef.$cmpMeta$;
602
+ const elm = hostRef.$hostElement$;
603
+ const flags = cmpMeta.$flags$;
604
+ const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
605
+ const scopeId2 = addStyle(
606
+ elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
607
+ cmpMeta);
608
+ if (flags & 10 /* needsScopedEncapsulation */) {
609
+ elm["s-sc"] = scopeId2;
610
+ elm.classList.add(scopeId2 + "-h");
611
+ }
612
+ endAttachStyles();
613
+ };
614
+ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
508
615
  var h = (nodeName, vnodeData, ...children) => {
509
616
  let child = null;
510
617
  let key = null;
@@ -619,7 +726,7 @@ var convertToPrivate = (node) => {
619
726
 
620
727
  // src/runtime/client-hydrate.ts
621
728
  var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
622
- var _a;
729
+ var _a, _b;
623
730
  const endHydrate = createTime("hydrateClient", tagName);
624
731
  const shadowRoot = hostElm.shadowRoot;
625
732
  const childRenderNodes = [];
@@ -628,19 +735,6 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
628
735
  const shadowRootNodes = shadowRoot ? [] : null;
629
736
  const vnode = newVNode(tagName, null);
630
737
  vnode.$elm$ = hostElm;
631
- const members = Object.entries(((_a = hostRef.$cmpMeta$) == null ? void 0 : _a.$members$) || {});
632
- members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
633
- var _a2;
634
- if (!(memberFlags & 31 /* Prop */)) {
635
- return;
636
- }
637
- const attributeName = metaAttributeName || memberName;
638
- const attrVal = hostElm.getAttribute(attributeName);
639
- if (attrVal !== null) {
640
- const attrPropVal = parsePropertyValue(attrVal, memberFlags);
641
- (_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.set(memberName, attrPropVal);
642
- }
643
- });
644
738
  if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
645
739
  initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
646
740
  }
@@ -669,6 +763,16 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
669
763
  if (childRenderNode.$tag$ === "slot") {
670
764
  node["s-cr"] = hostElm["s-cr"];
671
765
  }
766
+ } else if (((_a = childRenderNode.$tag$) == null ? void 0 : _a.toString().includes("-")) && childRenderNode.$tag$ !== "slot-fb" && !childRenderNode.$elm$.shadowRoot) {
767
+ const cmpMeta = getHostRef(childRenderNode.$elm$);
768
+ if (cmpMeta) {
769
+ const scopeId3 = getScopeId(
770
+ cmpMeta.$cmpMeta$);
771
+ const styleSheet = win.document.querySelector(`style[sty-id="${scopeId3}"]`);
772
+ if (styleSheet) {
773
+ hostElm.shadowRoot.append(styleSheet.cloneNode(true));
774
+ }
775
+ }
672
776
  }
673
777
  if (childRenderNode.$tag$ === "slot") {
674
778
  childRenderNode.$name$ = childRenderNode.$elm$["s-sn"] || childRenderNode.$elm$["name"] || null;
@@ -684,7 +788,7 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
684
788
  }
685
789
  }
686
790
  if (orgLocationNode && orgLocationNode.isConnected) {
687
- if (shadowRoot && orgLocationNode["s-en"] === "") {
791
+ if (orgLocationNode.parentElement.shadowRoot && orgLocationNode["s-en"] === "") {
688
792
  orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling);
689
793
  }
690
794
  orgLocationNode.parentNode.removeChild(orgLocationNode);
@@ -692,7 +796,9 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
692
796
  node["s-oo"] = parseInt(childRenderNode.$nodeId$);
693
797
  }
694
798
  }
695
- plt.$orgLocNodes$.delete(orgLocationId);
799
+ if (orgLocationNode && !orgLocationNode["s-id"]) {
800
+ plt.$orgLocNodes$.delete(orgLocationId);
801
+ }
696
802
  }
697
803
  const hosts = [];
698
804
  const snLen = slottedNodes.length;
@@ -713,39 +819,46 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
713
819
  }
714
820
  if (!hosts[slottedItem.hostId]) continue;
715
821
  const hostEle = hosts[slottedItem.hostId];
822
+ if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
823
+ hostEle.appendChild(slottedItem.node);
824
+ }
716
825
  if (!hostEle.shadowRoot || !shadowRoot) {
717
- slottedItem.slot["s-cr"] = hostEle["s-cr"];
718
- if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
719
- slottedItem.slot["s-cr"] = hostEle;
720
- } else {
721
- slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
826
+ if (!slottedItem.slot["s-cr"]) {
827
+ slottedItem.slot["s-cr"] = hostEle["s-cr"];
828
+ if (!slottedItem.slot["s-cr"] && hostEle.shadowRoot) {
829
+ slottedItem.slot["s-cr"] = hostEle;
830
+ } else {
831
+ slottedItem.slot["s-cr"] = (hostEle.__childNodes || hostEle.childNodes)[0];
832
+ }
722
833
  }
723
834
  addSlotRelocateNode(slottedItem.node, slottedItem.slot, false, slottedItem.node["s-oo"]);
724
- }
725
- if (hostEle.shadowRoot && slottedItem.node.parentElement !== hostEle) {
726
- hostEle.appendChild(slottedItem.node);
835
+ if (((_b = slottedItem.node.parentElement) == null ? void 0 : _b.shadowRoot) && slottedItem.node["getAttribute"] && slottedItem.node.getAttribute("slot")) {
836
+ slottedItem.node.removeAttribute("slot");
837
+ }
727
838
  }
728
839
  }
729
840
  }
730
- if (shadowRoot && !shadowRoot.childNodes.length) {
841
+ if (shadowRoot) {
731
842
  let rnIdex = 0;
732
843
  const rnLen = shadowRootNodes.length;
733
844
  if (rnLen) {
734
845
  for (rnIdex; rnIdex < rnLen; rnIdex++) {
735
- shadowRoot.appendChild(shadowRootNodes[rnIdex]);
846
+ const node = shadowRootNodes[rnIdex];
847
+ if (node) {
848
+ shadowRoot.appendChild(node);
849
+ }
736
850
  }
737
851
  Array.from(hostElm.childNodes).forEach((node) => {
738
- if (typeof node["s-sn"] !== "string") {
852
+ if (typeof node["s-en"] !== "string" && typeof node["s-sn"] !== "string") {
739
853
  if (node.nodeType === 1 /* ElementNode */ && node.slot && node.hidden) {
740
854
  node.removeAttribute("hidden");
741
- } else if (node.nodeType === 8 /* CommentNode */ || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
855
+ } else if (node.nodeType === 8 /* CommentNode */ && !node.nodeValue || node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
742
856
  node.parentNode.removeChild(node);
743
857
  }
744
858
  }
745
859
  });
746
860
  }
747
861
  }
748
- plt.$orgLocNodes$.delete(hostElm["s-id"]);
749
862
  hostRef.$hostElement$ = hostElm;
750
863
  endHydrate();
751
864
  };
@@ -899,7 +1012,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
899
1012
  vnode.$index$ = "0";
900
1013
  parentVNode.$children$ = [vnode];
901
1014
  } else {
902
- if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim()) {
1015
+ if (node.nodeType === 3 /* TextNode */ && !node.wholeText.trim() && !node["s-nr"]) {
903
1016
  node.remove();
904
1017
  }
905
1018
  }
@@ -957,10 +1070,10 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
957
1070
  if (childVNode.$name$) {
958
1071
  childVNode.$elm$.setAttribute("name", slotName);
959
1072
  }
960
- if (parentNodeId && parentNodeId !== childVNode.$hostId$) {
961
- parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
1073
+ if (parentVNode.$elm$.shadowRoot && parentNodeId && parentNodeId !== childVNode.$hostId$) {
1074
+ internalCall(parentVNode.$elm$, "insertBefore")(slot, internalCall(parentVNode.$elm$, "children")[0]);
962
1075
  } else {
963
- node.parentNode.insertBefore(childVNode.$elm$, node);
1076
+ internalCall(internalCall(node, "parentNode"), "insertBefore")(slot, node);
964
1077
  }
965
1078
  addSlottedNodes(slottedNodes, slotId, slotName, node, childVNode.$hostId$);
966
1079
  node.remove();
@@ -975,8 +1088,8 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
975
1088
  if (shouldMove) {
976
1089
  parentVNode.$elm$.insertBefore(slot, parentVNode.$elm$.children[0]);
977
1090
  }
978
- childRenderNodes.push(childVNode);
979
1091
  }
1092
+ childRenderNodes.push(childVNode);
980
1093
  slotNodes.push(childVNode);
981
1094
  if (!parentVNode.$children$) {
982
1095
  parentVNode.$children$ = [];
@@ -984,13 +1097,17 @@ function addSlot(slotName, slotId, childVNode, node, parentVNode, childRenderNod
984
1097
  parentVNode.$children$[childVNode.$index$] = childVNode;
985
1098
  }
986
1099
  var addSlottedNodes = (slottedNodes, slotNodeId, slotName, slotNode, hostId) => {
1100
+ var _a, _b;
987
1101
  let slottedNode = slotNode.nextSibling;
988
1102
  slottedNodes[slotNodeId] = slottedNodes[slotNodeId] || [];
989
- while (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (slottedNode.nodeType === 8 /* CommentNode */ && slottedNode.nodeValue.indexOf(".") !== 1 || slottedNode.nodeType === 3 /* TextNode */))) {
990
- slottedNode["s-sn"] = slotName;
991
- slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
992
- slottedNode = slottedNode.nextSibling;
993
- }
1103
+ if (!slottedNode || ((_a = slottedNode.nodeValue) == null ? void 0 : _a.startsWith(SLOT_NODE_ID + "."))) return;
1104
+ do {
1105
+ if (slottedNode && ((slottedNode["getAttribute"] && slottedNode.getAttribute("slot") || slottedNode["s-sn"]) === slotName || slotName === "" && !slottedNode["s-sn"] && (!slottedNode["getAttribute"] || !slottedNode.getAttribute("slot")) && (slottedNode.nodeType === 8 /* CommentNode */ || slottedNode.nodeType === 3 /* TextNode */))) {
1106
+ slottedNode["s-sn"] = slotName;
1107
+ slottedNodes[slotNodeId].push({ slot: slotNode, node: slottedNode, hostId });
1108
+ }
1109
+ slottedNode = slottedNode == null ? void 0 : slottedNode.nextSibling;
1110
+ } while (slottedNode && !((_b = slottedNode.nodeValue) == null ? void 0 : _b.startsWith(SLOT_NODE_ID + ".")));
994
1111
  };
995
1112
  var findCorrespondingNode = (node, type) => {
996
1113
  let sibling = node;
@@ -1015,6 +1132,12 @@ var findCorrespondingNode = (node, type) => {
1015
1132
  var safeSelector = (selector) => {
1016
1133
  const placeholders = [];
1017
1134
  let index = 0;
1135
+ selector = selector.replace(/(\[\s*part~=\s*("[^"]*"|'[^']*')\s*\])/g, (_, keep) => {
1136
+ const replaceBy = `__part-${index}__`;
1137
+ placeholders.push(keep);
1138
+ index++;
1139
+ return replaceBy;
1140
+ });
1018
1141
  selector = selector.replace(/(\[[^\]]*\])/g, (_, keep) => {
1019
1142
  const replaceBy = `__ph-${index}__`;
1020
1143
  placeholders.push(keep);
@@ -1034,6 +1157,7 @@ var safeSelector = (selector) => {
1034
1157
  return ss;
1035
1158
  };
1036
1159
  var restoreSafeSelector = (placeholders, content) => {
1160
+ content = content.replace(/__part-(\d+)__/g, (_, index) => placeholders[+index]);
1037
1161
  return content.replace(/__ph-(\d+)__/g, (_, index) => placeholders[+index]);
1038
1162
  };
1039
1163
  var _polyfillHost = "-shadowcsshost";
@@ -1046,6 +1170,7 @@ var _cssColonSlottedRe = new RegExp("(" + _polyfillSlotted + _parenSuffix, "gim"
1046
1170
  var _polyfillHostNoCombinator = _polyfillHost + "-no-combinator";
1047
1171
  var _polyfillHostNoCombinatorRe = /-shadowcsshost-no-combinator([^\s]*)/;
1048
1172
  var _shadowDOMSelectorsRe = [/::shadow/g, /::content/g];
1173
+ var _safePartRe = /__part-(\d+)__/g;
1049
1174
  var _selectorReSuffix = "([>\\s~+[.,{:][\\s\\S]*)?$";
1050
1175
  var _polyfillHostRe = /-shadowcsshost/gim;
1051
1176
  var createSupportsRuleRe = (selector) => {
@@ -1260,7 +1385,7 @@ var applyStrictSelectorScope = (selector, scopeSelector2, hostSelector) => {
1260
1385
  let scopedSelector = "";
1261
1386
  let startIndex = 0;
1262
1387
  let res;
1263
- const sep = /( |>|\+|~(?!=))\s*/g;
1388
+ const sep = /( |>|\+|~(?!=))(?=(?:[^()]*\([^()]*\))*[^()]*$)\s*/g;
1264
1389
  const hasHost = selector.indexOf(_polyfillHostNoCombinator) > -1;
1265
1390
  let shouldScope = !hasHost;
1266
1391
  while ((res = sep.exec(selector)) !== null) {
@@ -1272,7 +1397,7 @@ var applyStrictSelectorScope = (selector, scopeSelector2, hostSelector) => {
1272
1397
  startIndex = sep.lastIndex;
1273
1398
  }
1274
1399
  const part = selector.substring(startIndex);
1275
- shouldScope = shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1;
1400
+ shouldScope = !part.match(_safePartRe) && (shouldScope || part.indexOf(_polyfillHostNoCombinator) > -1);
1276
1401
  scopedSelector += shouldScope ? _scopeSelectorPart(part) : part;
1277
1402
  return restoreSafeSelector(safeContent.placeholders, scopedSelector);
1278
1403
  };
@@ -1329,6 +1454,36 @@ var scopeCssText = (cssText, scopeId2, hostScopeId, slotScopeId, commentOriginal
1329
1454
  var replaceShadowCssHost = (cssText, hostScopeId) => {
1330
1455
  return cssText.replace(/-shadowcsshost-no-combinator/g, `.${hostScopeId}`);
1331
1456
  };
1457
+ var expandPartSelectors = (cssText) => {
1458
+ const partSelectorRe = /([^\s,{][^,{]*?)::part\(\s*([^)]+?)\s*\)((?:[:.][^,{]*)*)/g;
1459
+ return processRules(cssText, (rule) => {
1460
+ if (rule.selector[0] === "@") {
1461
+ return rule;
1462
+ }
1463
+ const selectors = rule.selector.split(",").map((sel) => {
1464
+ const out = [sel.trim()];
1465
+ let m;
1466
+ while ((m = partSelectorRe.exec(sel)) !== null) {
1467
+ const before = m[1].trimEnd();
1468
+ const partNames = m[2].trim().split(/\s+/);
1469
+ const after = m[3] || "";
1470
+ const partAttr = partNames.flatMap((p) => {
1471
+ if (!rule.selector.includes(`[part~="${p}"]`)) {
1472
+ return [`[part~="${p}"]`];
1473
+ }
1474
+ return [];
1475
+ }).join("");
1476
+ const expanded = `${before} ${partAttr}${after}`;
1477
+ if (!!partAttr && expanded !== sel.trim()) {
1478
+ out.push(expanded);
1479
+ }
1480
+ }
1481
+ return out.join(", ");
1482
+ });
1483
+ rule.selector = selectors.join(", ");
1484
+ return rule;
1485
+ });
1486
+ };
1332
1487
  var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1333
1488
  const hostScopeId = scopeId2 + "-h";
1334
1489
  const slotScopeId = scopeId2 + "-s";
@@ -1364,21 +1519,20 @@ var scopeCss = (cssText, scopeId2, commentOriginalSelector) => {
1364
1519
  const regex = new RegExp(escapeRegExpSpecialCharacters(slottedSelector.orgSelector), "g");
1365
1520
  cssText = cssText.replace(regex, slottedSelector.updatedSelector);
1366
1521
  });
1522
+ cssText = expandPartSelectors(cssText);
1367
1523
  return cssText;
1368
1524
  };
1369
- var parsePropertyValue = (propValue, propType) => {
1370
- if (typeof propValue === "string" && (propValue.startsWith("{") && propValue.endsWith("}") || propValue.startsWith("[") && propValue.endsWith("]"))) {
1371
- try {
1372
- propValue = JSON.parse(propValue);
1373
- return propValue;
1374
- } catch (e) {
1375
- }
1376
- }
1525
+ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1377
1526
  if (typeof propValue === "string" && propValue.startsWith(SERIALIZED_PREFIX)) {
1378
1527
  propValue = deserializeProperty(propValue);
1379
1528
  return propValue;
1380
1529
  }
1381
1530
  if (propValue != null && !isComplexType(propValue)) {
1531
+ if (propType & 4 /* Boolean */) {
1532
+ {
1533
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1534
+ }
1535
+ }
1382
1536
  if (propType & 1 /* String */) {
1383
1537
  return String(propValue);
1384
1538
  }
@@ -1386,7 +1540,10 @@ var parsePropertyValue = (propValue, propType) => {
1386
1540
  }
1387
1541
  return propValue;
1388
1542
  };
1389
- var getElement = (ref) => getHostRef(ref).$hostElement$ ;
1543
+ var getElement = (ref) => {
1544
+ var _a;
1545
+ return (_a = getHostRef(ref)) == null ? void 0 : _a.$hostElement$ ;
1546
+ };
1390
1547
 
1391
1548
  // src/runtime/event-emitter.ts
1392
1549
  var createEvent = (ref, name, flags) => {
@@ -1407,94 +1564,6 @@ var emitEvent = (elm, name, opts) => {
1407
1564
  elm.dispatchEvent(ev);
1408
1565
  return ev;
1409
1566
  };
1410
- var rootAppliedStyles = /* @__PURE__ */ new WeakMap();
1411
- var registerStyle = (scopeId2, cssText, allowCS) => {
1412
- let style = styles.get(scopeId2);
1413
- {
1414
- style = cssText;
1415
- }
1416
- styles.set(scopeId2, style);
1417
- };
1418
- var addStyle = (styleContainerNode, cmpMeta, mode) => {
1419
- var _a;
1420
- const scopeId2 = getScopeId(cmpMeta);
1421
- const style = styles.get(scopeId2);
1422
- if (!win.document) {
1423
- return scopeId2;
1424
- }
1425
- styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : win.document;
1426
- if (style) {
1427
- if (typeof style === "string") {
1428
- styleContainerNode = styleContainerNode.head || styleContainerNode;
1429
- let appliedStyles = rootAppliedStyles.get(styleContainerNode);
1430
- let styleElm;
1431
- if (!appliedStyles) {
1432
- rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
1433
- }
1434
- if (!appliedStyles.has(scopeId2)) {
1435
- if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
1436
- styleElm.innerHTML = style;
1437
- } else {
1438
- styleElm = document.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`) || win.document.createElement("style");
1439
- styleElm.innerHTML = style;
1440
- const nonce = (_a = plt.$nonce$) != null ? _a : queryNonceMetaTagContent(win.document);
1441
- if (nonce != null) {
1442
- styleElm.setAttribute("nonce", nonce);
1443
- }
1444
- if ((cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */ || cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
1445
- styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId2);
1446
- }
1447
- if (!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)) {
1448
- if (styleContainerNode.nodeName === "HEAD") {
1449
- const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
1450
- const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
1451
- styleContainerNode.insertBefore(
1452
- styleElm,
1453
- (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
1454
- );
1455
- } else if ("host" in styleContainerNode) {
1456
- {
1457
- const existingStyleContainer = styleContainerNode.querySelector("style");
1458
- if (existingStyleContainer) {
1459
- existingStyleContainer.innerHTML = style + existingStyleContainer.innerHTML;
1460
- } else {
1461
- styleContainerNode.prepend(styleElm);
1462
- }
1463
- }
1464
- } else {
1465
- styleContainerNode.append(styleElm);
1466
- }
1467
- }
1468
- if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
1469
- styleContainerNode.insertBefore(styleElm, null);
1470
- }
1471
- }
1472
- if (cmpMeta.$flags$ & 4 /* hasSlotRelocation */) {
1473
- styleElm.innerHTML += SLOT_FB_CSS;
1474
- }
1475
- if (appliedStyles) {
1476
- appliedStyles.add(scopeId2);
1477
- }
1478
- }
1479
- }
1480
- }
1481
- return scopeId2;
1482
- };
1483
- var attachStyles = (hostRef) => {
1484
- const cmpMeta = hostRef.$cmpMeta$;
1485
- const elm = hostRef.$hostElement$;
1486
- const flags = cmpMeta.$flags$;
1487
- const endAttachStyles = createTime("attachStyles", cmpMeta.$tagName$);
1488
- const scopeId2 = addStyle(
1489
- elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(),
1490
- cmpMeta);
1491
- if (flags & 10 /* needsScopedEncapsulation */) {
1492
- elm["s-sc"] = scopeId2;
1493
- elm.classList.add(scopeId2 + "-h");
1494
- }
1495
- endAttachStyles();
1496
- };
1497
- var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
1498
1567
  var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
1499
1568
  if (oldValue === newValue) {
1500
1569
  return;
@@ -1505,12 +1574,13 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
1505
1574
  const classList = elm.classList;
1506
1575
  const oldClasses = parseClassList(oldValue);
1507
1576
  let newClasses = parseClassList(newValue);
1508
- if (elm["s-si"] && initialRender) {
1509
- newClasses.push(elm["s-si"]);
1577
+ if ((elm["s-si"] || elm["s-sc"]) && initialRender) {
1578
+ const scopeId2 = elm["s-sc"] || elm["s-si"];
1579
+ newClasses.push(scopeId2);
1510
1580
  oldClasses.forEach((c) => {
1511
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
1581
+ if (c.startsWith(scopeId2)) newClasses.push(c);
1512
1582
  });
1513
- newClasses = [...new Set(newClasses)];
1583
+ newClasses = [...new Set(newClasses)].filter((c) => c);
1514
1584
  classList.add(...newClasses);
1515
1585
  } else {
1516
1586
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
@@ -1931,6 +2001,8 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
1931
2001
  !isInitialRender && BUILD.updatable && oldChildren !== null
1932
2002
  ) {
1933
2003
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
2004
+ } else if (isInitialRender && BUILD.updatable && oldChildren !== null && newChildren === null) {
2005
+ newVNode2.$children$ = oldChildren;
1934
2006
  }
1935
2007
  if (isSvgMode && tag === "svg") {
1936
2008
  isSvgMode = false;
@@ -2137,6 +2209,12 @@ var scheduleUpdate = (hostRef, isInitialLoad) => {
2137
2209
  }
2138
2210
  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
2139
2211
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
2212
+ if (isInitialLoad) {
2213
+ queueMicrotask(() => {
2214
+ dispatch();
2215
+ });
2216
+ return;
2217
+ }
2140
2218
  return writeTask(dispatch) ;
2141
2219
  };
2142
2220
  var dispatchHooks = (hostRef, isInitialLoad) => {
@@ -2151,10 +2229,15 @@ var dispatchHooks = (hostRef, isInitialLoad) => {
2151
2229
  let maybePromise;
2152
2230
  if (isInitialLoad) {
2153
2231
  {
2154
- hostRef.$flags$ |= 256 /* isListenReady */;
2155
- if (hostRef.$queuedListeners$) {
2156
- hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2157
- hostRef.$queuedListeners$ = void 0;
2232
+ {
2233
+ hostRef.$flags$ |= 256 /* isListenReady */;
2234
+ if (hostRef.$queuedListeners$) {
2235
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event, elm));
2236
+ hostRef.$queuedListeners$ = void 0;
2237
+ }
2238
+ }
2239
+ if (hostRef.$fetchedCbList$.length) {
2240
+ hostRef.$fetchedCbList$.forEach((cb) => cb(elm));
2158
2241
  }
2159
2242
  }
2160
2243
  maybePromise = safeCall(instance, "componentWillLoad", void 0, elm);
@@ -2271,10 +2354,16 @@ var postUpdateComponent = (hostRef) => {
2271
2354
  }
2272
2355
  };
2273
2356
  var appDidLoad = (who) => {
2357
+ var _a;
2274
2358
  if (BUILD.asyncQueue) {
2275
2359
  plt.$flags$ |= 2 /* appLoaded */;
2276
2360
  }
2277
2361
  nextTick(() => emitEvent(win, "appload", { detail: { namespace: NAMESPACE } }));
2362
+ {
2363
+ if ((_a = plt.$orgLocNodes$) == null ? void 0 : _a.size) {
2364
+ plt.$orgLocNodes$.clear();
2365
+ }
2366
+ }
2278
2367
  };
2279
2368
  var safeCall = (instance, method, arg, elm) => {
2280
2369
  if (instance && instance[method]) {
@@ -2307,6 +2396,9 @@ var serverSideConnected = (elm) => {
2307
2396
  var getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
2308
2397
  var setValue = (ref, propName, newVal, cmpMeta) => {
2309
2398
  const hostRef = getHostRef(ref);
2399
+ if (!hostRef) {
2400
+ return;
2401
+ }
2310
2402
  if (!hostRef) {
2311
2403
  throw new Error(
2312
2404
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
@@ -2315,7 +2407,9 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2315
2407
  const oldVal = hostRef.$instanceValues$.get(propName);
2316
2408
  const flags = hostRef.$flags$;
2317
2409
  const instance = hostRef.$lazyInstance$ ;
2318
- newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
2410
+ newVal = parsePropertyValue(
2411
+ newVal,
2412
+ cmpMeta.$members$[propName][0]);
2319
2413
  const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
2320
2414
  const didValueChange = newVal !== oldVal && !areBothNaN;
2321
2415
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
@@ -2337,7 +2431,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
2337
2431
  var proxyComponent = (Cstr, cmpMeta, flags) => {
2338
2432
  var _a;
2339
2433
  const prototype = Cstr.prototype;
2340
- if (cmpMeta.$members$ || BUILD.watchCallback) {
2434
+ if (cmpMeta.$members$ || BUILD.propChangeCallback) {
2341
2435
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
2342
2436
  members.map(([memberName, [memberFlags]]) => {
2343
2437
  if ((memberFlags & 31 /* Prop */ || memberFlags & 32 /* State */)) {
@@ -2364,14 +2458,19 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
2364
2458
  Object.defineProperty(prototype, memberName, {
2365
2459
  set(newValue) {
2366
2460
  const ref = getHostRef(this);
2461
+ if (!ref) {
2462
+ return;
2463
+ }
2367
2464
  if (origSetter) {
2368
2465
  const currentValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2369
2466
  if (typeof currentValue === "undefined" && ref.$instanceValues$.get(memberName)) {
2370
2467
  newValue = ref.$instanceValues$.get(memberName);
2371
- } else if (!ref.$instanceValues$.get(memberName) && currentValue) {
2372
- ref.$instanceValues$.set(memberName, currentValue);
2373
2468
  }
2374
- origSetter.apply(this, [parsePropertyValue(newValue, memberFlags)]);
2469
+ origSetter.apply(this, [
2470
+ parsePropertyValue(
2471
+ newValue,
2472
+ memberFlags)
2473
+ ]);
2375
2474
  newValue = memberFlags & 32 /* State */ ? this[memberName] : ref.$hostElement$[memberName];
2376
2475
  setValue(this, memberName, newValue, cmpMeta);
2377
2476
  return;
@@ -2439,8 +2538,12 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
2439
2538
  const scopeId2 = getScopeId(cmpMeta);
2440
2539
  if (!styles.has(scopeId2)) {
2441
2540
  const endRegisterStyles = createTime("registerStyles", cmpMeta.$tagName$);
2442
- if (cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */) {
2443
- style = scopeCss(style, scopeId2);
2541
+ {
2542
+ if (cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */) {
2543
+ style = scopeCss(style, scopeId2);
2544
+ } else if (needsScopedSSR()) {
2545
+ style = expandPartSelectors(style);
2546
+ }
2444
2547
  }
2445
2548
  registerStyle(scopeId2, style);
2446
2549
  endRegisterStyles();
@@ -2465,6 +2568,9 @@ var fireConnectedCallback = (instance, elm) => {
2465
2568
  var connectedCallback = (elm) => {
2466
2569
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
2467
2570
  const hostRef = getHostRef(elm);
2571
+ if (!hostRef) {
2572
+ return;
2573
+ }
2468
2574
  const cmpMeta = hostRef.$cmpMeta$;
2469
2575
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
2470
2576
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
@@ -2716,8 +2822,13 @@ var hAsync = (nodeName, vnodeData, ...children) => {
2716
2822
  }
2717
2823
  return h(nodeName, vnodeData);
2718
2824
  };
2825
+
2826
+ // src/hydrate/platform/proxy-host-element.ts
2719
2827
  function proxyHostElement(elm, cstr) {
2720
2828
  const cmpMeta = cstr.cmpMeta;
2829
+ cmpMeta.$watchers$ = cmpMeta.$watchers$ || cstr.watchers;
2830
+ cmpMeta.$deserializers$ = cmpMeta.$deserializers$ || cstr.deserializers;
2831
+ cmpMeta.$serializers$ = cmpMeta.$serializers$ || cstr.serializers;
2721
2832
  if (typeof elm.componentOnReady !== "function") {
2722
2833
  elm.componentOnReady = componentOnReady;
2723
2834
  }
@@ -2725,15 +2836,13 @@ function proxyHostElement(elm, cstr) {
2725
2836
  elm.forceUpdate = forceUpdate2;
2726
2837
  }
2727
2838
  if (!elm.shadowRoot && !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */)) {
2728
- {
2729
- elm.attachShadow({ mode: "open" });
2730
- }
2839
+ createShadowRoot.call(elm, cmpMeta);
2731
2840
  }
2732
2841
  if (cmpMeta.$members$ != null) {
2733
2842
  const hostRef = getHostRef(elm);
2734
2843
  const members = Object.entries(cmpMeta.$members$);
2735
2844
  members.forEach(([memberName, [memberFlags, metaAttributeName]]) => {
2736
- var _a;
2845
+ var _a, _b;
2737
2846
  if (memberFlags & 31 /* Prop */) {
2738
2847
  const attributeName = metaAttributeName || memberName;
2739
2848
  const attrValue = elm.getAttribute(attributeName);
@@ -2741,7 +2850,13 @@ function proxyHostElement(elm, cstr) {
2741
2850
  let attrPropVal;
2742
2851
  const { get: origGetter, set: origSetter } = Object.getOwnPropertyDescriptor(cstr.prototype, memberName) || {};
2743
2852
  if (attrValue != null) {
2744
- attrPropVal = parsePropertyValue(attrValue, memberFlags);
2853
+ if ((_a = cmpMeta.$deserializers$) == null ? void 0 : _a[memberName]) {
2854
+ for (const methodName of cmpMeta.$deserializers$[memberName]) {
2855
+ attrPropVal = cstr.prototype[methodName](attrValue, memberName);
2856
+ }
2857
+ } else {
2858
+ attrPropVal = parsePropertyValue(attrValue, memberFlags);
2859
+ }
2745
2860
  }
2746
2861
  if (propValue !== void 0) {
2747
2862
  attrPropVal = propValue;
@@ -2752,7 +2867,7 @@ function proxyHostElement(elm, cstr) {
2752
2867
  origSetter.apply(elm, [attrPropVal]);
2753
2868
  attrPropVal = origGetter ? origGetter.apply(elm) : attrPropVal;
2754
2869
  }
2755
- (_a = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a.set(memberName, attrPropVal);
2870
+ (_b = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _b.set(memberName, attrPropVal);
2756
2871
  }
2757
2872
  const getterSetterDescriptor = {
2758
2873
  get: function() {
@@ -2766,21 +2881,18 @@ function proxyHostElement(elm, cstr) {
2766
2881
  };
2767
2882
  Object.defineProperty(elm, memberName, getterSetterDescriptor);
2768
2883
  Object.defineProperty(elm, metaAttributeName, getterSetterDescriptor);
2769
- if (!cstr.prototype.__stencilAugmented) {
2770
- Object.defineProperty(cstr.prototype, memberName, {
2771
- get: function() {
2772
- var _a2;
2773
- const ref = getHostRef(this);
2774
- const attrPropVal2 = (_a2 = ref.$instanceValues$) == null ? void 0 : _a2.get(memberName);
2775
- if (origGetter && attrPropVal2 === void 0 && !getValue(this, memberName)) {
2776
- setValue(this, memberName, origGetter.apply(this), cmpMeta);
2777
- }
2778
- return attrPropVal2 !== void 0 ? attrPropVal2 : origGetter ? origGetter.apply(this) : getValue(this, memberName);
2779
- },
2780
- configurable: true,
2781
- enumerable: true
2782
- });
2783
- }
2884
+ hostRef.$fetchedCbList$.push(() => {
2885
+ var _a2;
2886
+ if (!((_a2 = hostRef == null ? void 0 : hostRef.$instanceValues$) == null ? void 0 : _a2.has(memberName))) {
2887
+ setValue(
2888
+ elm,
2889
+ memberName,
2890
+ attrPropVal !== void 0 ? attrPropVal : hostRef.$lazyInstance$[memberName],
2891
+ cmpMeta
2892
+ );
2893
+ }
2894
+ Object.defineProperty(hostRef.$lazyInstance$, memberName, getterSetterDescriptor);
2895
+ });
2784
2896
  } else if (memberFlags & 64 /* Method */) {
2785
2897
  Object.defineProperty(elm, memberName, {
2786
2898
  value(...args) {
@@ -2796,7 +2908,6 @@ function proxyHostElement(elm, cstr) {
2796
2908
  });
2797
2909
  }
2798
2910
  });
2799
- cstr.prototype.__stencilAugmented = true;
2800
2911
  }
2801
2912
  }
2802
2913
  function componentOnReady() {
@@ -2814,6 +2925,7 @@ function hydrateApp(win2, opts, results, afterHydrate, resolve) {
2814
2925
  const orgDocumentCreateElement = win2.document.createElement;
2815
2926
  const orgDocumentCreateElementNS = win2.document.createElementNS;
2816
2927
  const resolved2 = Promise.resolve();
2928
+ setScopedSSR(opts);
2817
2929
  let tmrId;
2818
2930
  let ranCompleted = false;
2819
2931
  function hydratedComplete() {
@@ -2921,13 +3033,16 @@ async function hydrateComponent(win2, results, tagName, elm, waitingElements) {
2921
3033
  if (cmpMeta != null) {
2922
3034
  waitingElements.add(elm);
2923
3035
  const hostRef = getHostRef(this);
3036
+ if (!hostRef) {
3037
+ return;
3038
+ }
2924
3039
  addHostEventListeners(this, hostRef, cmpMeta.$listeners$);
2925
3040
  try {
2926
3041
  connectedCallback(elm);
2927
3042
  await elm.componentOnReady();
2928
3043
  results.hydratedCount++;
2929
3044
  const ref = getHostRef(elm);
2930
- const modeName = !ref.$modeName$ ? "$" : ref.$modeName$;
3045
+ const modeName = !(ref == null ? void 0 : ref.$modeName$) ? "$" : ref == null ? void 0 : ref.$modeName$;
2931
3046
  if (!results.components.some((c) => c.tag === tagName && c.mode === modeName)) {
2932
3047
  results.components.push({
2933
3048
  tag: tagName,
@@ -3142,6 +3257,7 @@ var getHostRef = (ref) => {
3142
3257
  return void 0;
3143
3258
  };
3144
3259
  var registerInstance = (lazyInstance, hostRef) => {
3260
+ if (!hostRef) return void 0;
3145
3261
  lazyInstance.__stencil__getHostRef = () => hostRef;
3146
3262
  hostRef.$lazyInstance$ = lazyInstance;
3147
3263
  return hostRef;
@@ -3152,8 +3268,10 @@ var registerHost = (elm, cmpMeta) => {
3152
3268
  $cmpMeta$: cmpMeta,
3153
3269
  $hostElement$: elm,
3154
3270
  $instanceValues$: /* @__PURE__ */ new Map(),
3271
+ $serializerValues$: /* @__PURE__ */ new Map(),
3155
3272
  $renderCount$: 0
3156
3273
  };
3274
+ hostRef.$fetchedCbList$ = [];
3157
3275
  hostRef.$onInstancePromise$ = new Promise((r) => hostRef.$onInstanceResolve$ = r);
3158
3276
  hostRef.$onReadyPromise$ = new Promise((r) => hostRef.$onReadyResolve$ = r);
3159
3277
  elm["s-p"] = [];
@@ -3162,9 +3280,19 @@ var registerHost = (elm, cmpMeta) => {
3162
3280
  return hostRef;
3163
3281
  };
3164
3282
  var styles = /* @__PURE__ */ new Map();
3283
+ var setScopedSSR = (opts) => {
3284
+ scopedSSR = opts.serializeShadowRoot !== false && opts.serializeShadowRoot !== "declarative-shadow-dom";
3285
+ };
3286
+ var needsScopedSSR = () => scopedSSR;
3287
+ var scopedSSR = false;
3165
3288
 
3166
3289
  const pennlibsAutocompleteCss = ":host {\n display: block;\n width: 100%;\n border-radius: 1.25rem;\n padding: 0;\n border-top: 0;\n position: relative;\n}\n\n[role=listbox] {\n position: absolute;\n margin-top: var(--pl-space-xs);\n background: var(--pl-color-bg-default);\n border-radius: 1.25rem;\n box-shadow: rgba(140, 149, 159, 0.3) 0px 8px 24px 0px;\n width: 100%;\n overflow: hidden;\n z-index: 1;\n\n display: flex;\n flex-direction: column;\n}\n\np {\n margin: 0;\n font-size: var(--pl-font-size-s);\n color: var(--pl-color-fg-subtle);\n padding: var(--pl-space-xs) calc(var(--pl-space-m) + var(--pl-space-2xs));\n font-size: var(--pl-font-size-s);\n order: 2;\n font-weight: 500;\n background: var(--pl-color-bg-subtle);\n border-radius: 0 0 1.25rem 1.25rem;\n\n display: flex;\n gap: var(--pl-space-s) var(--pl-space-l);\n flex-wrap: wrap;\n}\n\nol {\n list-style: none;\n margin: 0;\n padding: var(--pl-space-xs) 0;\n order: 1;\n}\n\n[role=option] {\n color: var(--pl-color-fg-default);\n padding: var(--pl-space-s) calc(var(--pl-space-m) + var(--pl-space-2xs));\n text-decoration: none;\n font-weight: 700; \n\n &:hover {\n cursor: pointer;\n }\n\n &:hover,\n &:focus {\n text-decoration-thickness: 2px;\n text-underline-offset: 2px;\n text-decoration: underline;\n }\n}\n\n[aria-selected=true] {\n text-decoration-thickness: 2px;\n text-underline-offset: 2px;\n text-decoration: underline;\n}\n\nmark,\nb {\n background: none;\n font-weight: 400;\n}\n\n.suggestion--border {\n border-bottom: solid 1px rgb(from var(--pl-color-fg-default) r g b / 0.2);\n padding-bottom: calc(var(--pl-space-2xs) + var(--pl-space-s));\n margin-bottom: var(--pl-space-2xs);\n}";
3167
3290
 
3291
+ /**
3292
+ * Offer predictive suggestions while typing your search query.
3293
+ *
3294
+ * @slot start - Content to display at the start (top).
3295
+ */
3168
3296
  class Autocomplete {
3169
3297
  constructor(hostRef) {
3170
3298
  registerInstance(this, hostRef);
@@ -3305,22 +3433,19 @@ class Autocomplete {
3305
3433
  }
3306
3434
  handleEscape() {
3307
3435
  this.reset();
3308
- this.syncInputState();
3309
- this.syncInputValueToSelection();
3436
+ this.syncAll();
3310
3437
  }
3311
3438
  handleArrowDown() {
3312
3439
  if (!this.showSuggestions)
3313
3440
  return;
3314
3441
  this.moveNext();
3315
- this.syncInputState();
3316
- this.syncInputValueToSelection();
3442
+ this.syncAll();
3317
3443
  }
3318
3444
  handleArrowUp() {
3319
3445
  if (!this.showSuggestions)
3320
3446
  return;
3321
3447
  this.movePrevious();
3322
- this.syncInputState();
3323
- this.syncInputValueToSelection();
3448
+ this.syncAll();
3324
3449
  }
3325
3450
  handleEnter() {
3326
3451
  if (this.canSelect())
@@ -3342,16 +3467,22 @@ class Autocomplete {
3342
3467
  if (this.currentIndex < 0)
3343
3468
  return;
3344
3469
  const selectedOption = this.options[this.currentIndex];
3470
+ this.applySelection(selectedOption);
3471
+ this.emitActivation(selectedOption);
3472
+ this.closeSuggestions();
3473
+ }
3474
+ applySelection(option) {
3345
3475
  const input = this.getInput();
3346
- if (input) {
3347
- input.value = selectedOption.value;
3348
- this.originalValue = selectedOption.value;
3349
- }
3476
+ if (!input)
3477
+ return;
3478
+ input.value = option.value;
3479
+ this.originalValue = option.value;
3480
+ }
3481
+ emitActivation(option) {
3350
3482
  this.activated.emit({
3351
3483
  index: this.currentIndex,
3352
- value: selectedOption.value
3484
+ value: option.value
3353
3485
  });
3354
- this.closeSuggestions();
3355
3486
  }
3356
3487
  openSuggestions() {
3357
3488
  if (!this.isInputFocused())
@@ -3363,12 +3494,11 @@ class Autocomplete {
3363
3494
  }
3364
3495
  showSuggestionsPanel() {
3365
3496
  this.showSuggestions = true;
3366
- this.syncInputState();
3497
+ this.syncAriaAttributes();
3367
3498
  }
3368
3499
  closeSuggestions() {
3369
3500
  this.reset();
3370
- this.syncInputState();
3371
- this.syncInputValueToSelection();
3501
+ this.syncAll();
3372
3502
  }
3373
3503
  deferCloseSuggestions() {
3374
3504
  if (this.blurTimeout)
@@ -3393,7 +3523,7 @@ class Autocomplete {
3393
3523
  const active = document.activeElement;
3394
3524
  return !((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.contains(active)) && active !== this.getInput();
3395
3525
  }
3396
- syncInputState() {
3526
+ syncAriaAttributes() {
3397
3527
  const input = this.getInput();
3398
3528
  if (!input)
3399
3529
  return;
@@ -3408,6 +3538,10 @@ class Autocomplete {
3408
3538
  ? this.options[this.currentIndex].value
3409
3539
  : this.originalValue;
3410
3540
  }
3541
+ syncAll() {
3542
+ this.syncAriaAttributes();
3543
+ this.syncInputValueToSelection();
3544
+ }
3411
3545
  updateAriaExpanded(input) {
3412
3546
  input.setAttribute('aria-expanded', this.showSuggestions.toString());
3413
3547
  }
@@ -3426,12 +3560,12 @@ class Autocomplete {
3426
3560
  return this.showSuggestions && this.options.length > 0 && this.isInputFocused();
3427
3561
  }
3428
3562
  render() {
3429
- return (hAsync("div", { key: 'd7c11d48e354937eedc76f608ef3b3b8762ddb4b' }, hAsync("slot", { key: 'a3c65cf477aa9f575c3310e364c1dd2a5dca9e57', name: "start" }), this.shouldShowListbox() && (hAsync("ol", { key: 'dc035d276f14da3ad0246924c345bc86ff5c68f9', role: "listbox", id: "listbox" }, this.options.map((option, index) => (hAsync("li", { role: "option", id: option.id, "aria-selected": this.currentIndex === index ? 'true' : 'false', tabindex: "-1", onClick: () => this.handleOptionClick(index), innerHTML: option.html })))))));
3563
+ return (hAsync("div", { key: 'ee4ead1b5bec44a561901a29d3d5e119da0d09f8' }, hAsync("slot", { key: '7d7128ab7968544ab25125d30a648136f8d8a566', name: "start" }), this.shouldShowListbox() && (hAsync("ol", { key: '95d45d524847f83b646853a8d919bc88f471f150', role: "listbox", id: "listbox" }, this.options.map((option, index) => (hAsync("li", { role: "option", id: option.id, "aria-selected": this.currentIndex === index ? 'true' : 'false', tabindex: "-1", onClick: () => this.handleOptionClick(index), innerHTML: option.html })))))));
3430
3564
  }
3431
3565
  get el() { return getElement(this); }
3432
3566
  static get style() { return pennlibsAutocompleteCss; }
3433
3567
  static get cmpMeta() { return {
3434
- "$flags$": 9,
3568
+ "$flags$": 265,
3435
3569
  "$tagName$": "pennlibs-autocomplete",
3436
3570
  "$members$": {
3437
3571
  "for": [1],
@@ -3459,7 +3593,7 @@ class Banner {
3459
3593
  static get assetsDirs() { return ["assets"]; }
3460
3594
  static get style() { return pennlibsBannerCss; }
3461
3595
  static get cmpMeta() { return {
3462
- "$flags$": 9,
3596
+ "$flags$": 265,
3463
3597
  "$tagName$": "pennlibs-banner",
3464
3598
  "$members$": undefined,
3465
3599
  "$listeners$": undefined,
@@ -3484,7 +3618,7 @@ class Chat {
3484
3618
  }
3485
3619
  static get style() { return pennlibsChatCss; }
3486
3620
  static get cmpMeta() { return {
3487
- "$flags$": 9,
3621
+ "$flags$": 265,
3488
3622
  "$tagName$": "pennlibs-chat",
3489
3623
  "$members$": {
3490
3624
  "href": [32]
@@ -3560,7 +3694,7 @@ class Footer {
3560
3694
  get hostElement() { return getElement(this); }
3561
3695
  static get style() { return pennlibsFooterCss; }
3562
3696
  static get cmpMeta() { return {
3563
- "$flags$": 9,
3697
+ "$flags$": 265,
3564
3698
  "$tagName$": "pennlibs-footer",
3565
3699
  "$members$": {
3566
3700
  "navigationByChildren": [32]
@@ -3576,22 +3710,7 @@ const LogoWhite = () => {
3576
3710
  };
3577
3711
 
3578
3712
  const LogoBlue = () => {
3579
- return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "445", fill: "none", class: "website-header__logo", viewBox: "0 0 445 95" },
3580
- hAsync("g", { "clip-path": "url(#clip0_10377_15535)" },
3581
- hAsync("path", { fill: "#011F5B", d: "M443.498 60.919H84.084v1.247h359.414v-1.247z" }),
3582
- hAsync("path", { fill: "#fff", d: "M76.106 3.45H0v37.926c-.052 16.52 9.105 28.478 16.793 35.601 8.456 7.841 17.766 12.368 20.875 13.035l.376.085.376-.085c3.11-.683 12.437-5.194 20.876-13.035 7.687-7.123 16.827-19.082 16.793-35.601V3.45h.017z" }),
3583
- hAsync("path", { fill: "#900", d: "M1.93 5.45s.103 22.037 0 21.934h72.245V5.45H1.93zM21.32 19.32c.12.085.222.17.307.29.086.137.12.274.12.445a.888.888 0 01-.12.427c-.085.12-.205.205-.307.307-.171.137-.342.257-.342.479v1.35H5.022v-1.35c0-.222-.17-.36-.341-.479a1.054 1.054 0 01-.308-.307.753.753 0 01-.12-.444c0-.171.035-.308.12-.445.085-.12.205-.205.308-.29.17-.137.341-.256.341-.495V14.4c0-.222-.17-.342-.341-.478a1.245 1.245 0 01-.308-.29.752.752 0 01-.12-.445c0-.17.035-.307.12-.444.085-.12.205-.222.308-.29.17-.137.341-.257.341-.479v-1.383h.205c.94 0 1.743-.018 2.324-.274.239-.085.444-.239.666-.376.495-.307 1.042-.649 1.879-.649.666 0 1.281.256 1.828.479.393.153.752.29 1.025.29h.102c.274 0 .633-.154 1.025-.29.547-.223 1.162-.479 1.828-.479.837 0 1.384.342 1.88.65.222.136.444.273.683.375.564.24 1.384.274 2.323.274h.205v1.383c0 .222.17.342.342.479.102.085.222.17.307.29.086.137.12.273.12.444 0 .171-.051.308-.12.444-.085.12-.205.205-.307.29-.171.137-.342.257-.342.48v4.407c0 .222.17.358.342.495m30.527 2.306c-1.23 1.965-3.621 2.46-3.706 2.477-.462.086-.957.12-1.436.12-2.494 0-4.783-1.093-7.123-2.29-.256-.136-.547-.29-.854-.46-1.487-.82-3.57-1.948-5.33-1.948-.513 0-1.008.102-1.435.325l-.069.034v.085c0 .222-.068.444-.136.65-.29.751-1.196 1.537-1.64 1.861-1.025.735-2.29 1.487-3.844 1.487-.24 0-.444-.035-.65-.103a1.502 1.502 0 01-.7-.495c-.085-.103-.153-.24-.222-.376-.051-.103-.068-.222-.102-.342v-.085l-.103-.034c-.615-.188-.973-.581-.973-1.06 0-.375.273-.683.53-.99.41-.479.75-.889.187-1.435-.051-.052-.12-.086-.17-.137-.086-.068-.172-.12-.24-.205-.495-.53-.205-1.657-.034-2.323v-.069c.205-.734.512-1.486.922-2.306.564-1.11 1.23-2.374 2.187-3.16.017 0 .034-.017.068-.017.017 0 .052.017.069.034 0 .034.12.188.273.444l.154.273.102-.29c.274-.786.7-1.298 1.299-1.52.632-.24 1.23.085 1.52.307l.12.102.085-.136c.188-.308.547-.684 1.128-.718.649-.034 1.178.41 1.434.684l.103.085.102-.085c.29-.24 1.042-.786 1.794-.684.718.103.991.718 1.076.974l.052.17.153-.068c.342-.17.991-.392 1.606 0 .393.257.444.684.41.991v.188l.171-.034c.461-.068 1.316-.12 1.828.393.393.41.427.94.376 1.298v.188h.17c.41-.068.957-.034 1.248.427.205.308.12.752.051.974l-.034.137.136.034c.24.051.65.205.77.547.102.256.068.666-.07 1.161l-.033.12.12.051c.204.085.58.29.785.683.205.393.188.872-.017 1.453l-.034.085.068.068c.53.479 1.06.906 1.589 1.282 1.06.768 2.716 1.178 3.844.256.427-.342.615-.991.478-1.589-.137-.53-.478-.888-.957-1.008-.854-.188-1.52.615-2.067 1.435 0 .017-.05.034-.085.034-.034 0-.051-.017-.068-.051-.513-1.213-.53-2.204-.086-2.973.393-.649 1.128-1.11 2.033-1.264h.12v-.153c0-1.418.324-2.46 1.008-3.092.427-.376 1.195-.803 2.477-.615a.13.13 0 01.068.034v.068c-.94 2.29-.718 3.143-.205 5.023.051.17.085.341.137.512.478 1.777.341 3.297-.428 4.527m19.56-2.306c.12.085.223.17.308.29a.79.79 0 01.12.444.734.734 0 01-.12.427c-.085.12-.205.206-.307.308-.171.137-.342.256-.342.478v1.35H55.127v-1.35c0-.222-.153-.358-.341-.478a1.055 1.055 0 01-.308-.308.648.648 0 01-.12-.444c0-.17.035-.307.12-.444.086-.12.188-.205.308-.29.17-.137.341-.256.341-.496V14.35c0-.222-.153-.342-.341-.479a1.242 1.242 0 01-.308-.29.648.648 0 01-.12-.444c0-.154.035-.308.12-.444.086-.12.205-.222.308-.29.17-.137.341-.257.341-.479V10.54h.205c.94 0 1.743-.017 2.324-.273.239-.085.444-.24.683-.376.478-.307 1.042-.65 1.862-.65.666 0 1.281.257 1.828.48.393.153.752.29 1.025.29h.103c.273 0 .632-.154 1.025-.29.546-.223 1.161-.48 1.828-.48.837 0 1.383.343 1.879.65.222.137.444.273.683.376.564.24 1.384.273 2.323.273h.205v1.384c0 .222.154.342.342.478.103.086.222.171.308.29.085.137.119.274.119.445 0 .17-.034.307-.12.444-.085.12-.204.205-.307.29-.17.137-.342.257-.342.479v4.407c0 .222.154.36.342.496" }),
3584
- hAsync("path", { fill: "#011F5B", d: "M26.82 18.382c.257 0 .496.068.735.256.086.068.154.136.222.188a.374.374 0 01-.017.564c-.17.153-.376.29-.512.375-.29.205-.803.564-1.145.29-.17-.153.17-.392.017-.99-.12-.478.342-.683.718-.683" }),
3585
- hAsync("path", { fill: "#011F5B", d: "M46.706 24.378c-2.495 0-4.818-1.077-7.192-2.307-.257-.136-.564-.29-.872-.46-1.896-1.043-4.749-2.598-6.628-1.624 0 .24-.051.479-.137.684-.29.785-1.23 1.605-1.69 1.93-1.043.752-2.324 1.503-3.93 1.503-.24 0-.478-.034-.683-.102a1.64 1.64 0 01-.77-.547 2.354 2.354 0 01-.238-.41 1.784 1.784 0 01-.103-.376c-.666-.205-1.076-.649-1.076-1.195 0-.41.29-.752.564-1.077.444-.53.649-.803.188-1.23-.052-.051-.103-.085-.171-.136-.086-.069-.171-.12-.256-.223-.547-.597-.24-1.759-.069-2.46v-.068c.222-.734.513-1.503.94-2.34.564-1.128 1.247-2.409 2.22-3.212.052-.034.12-.068.188-.051.069 0 .12.051.154.102.034.052.427.65.837 1.435 1.692-1.008 4.1-1.127 4.374-1.127 1.486-.051 3.638.17 5.483 1.589 1.145.888 2.085 1.964 2.99 3.023.24.274.478.564.734.838 1.401 1.571 2.734 2.818 4.066 3.792 1.008.735 2.597 1.145 3.673.256.393-.324.564-.905.427-1.435-.12-.478-.427-.803-.854-.905-.769-.171-1.4.598-1.913 1.366-.051.069-.137.12-.222.103-.086 0-.154-.068-.188-.137-.53-1.247-.547-2.289-.069-3.092.41-.683 1.196-1.178 2.136-1.315 0-1.47.342-2.546 1.06-3.195.443-.393 1.246-.837 2.596-.666.068 0 .136.051.17.12.035.068.052.136 0 .205-.939 2.237-.7 3.075-.204 4.92.05.17.085.341.153.53.496 1.81.342 3.382-.444 4.629-1.264 2.033-3.707 2.528-3.81 2.545-.495.085-.973.12-1.452.12M33.398 19.2c1.793 0 3.843 1.128 5.45 2 .307.17.597.324.87.46 2.734 1.418 5.433 2.648 8.337 2.136.017 0 2.358-.479 3.502-2.34.718-1.145.837-2.58.393-4.271a7.72 7.72 0 01-.137-.513c-.478-1.76-.751-2.75.103-4.937-.99-.068-1.589.273-1.93.564-.65.58-.957 1.606-.906 3.058a.24.24 0 01-.205.239c-.888.102-1.64.512-2.016 1.127-.358.598-.376 1.367-.05 2.29.443-.598 1.195-1.418 2.152-1.213.598.136 1.042.598 1.195 1.23.171.717-.05 1.486-.58 1.913-1.265 1.025-3.075.598-4.237-.24-1.367-.99-2.716-2.254-4.134-3.86l-.735-.837c-.905-1.025-1.828-2.101-2.921-2.956-1.725-1.332-3.775-1.554-5.176-1.503-.957.034-2.887.308-4.186 1.094.41.82.752 1.776.752 2.494 0 .136-.017.256-.068.393.94-.547 2.067-.154 2.682.53.136.153.29.375.444.631.24.359.53.786.854 1.11.051.052.068.12.068.188a.188.188 0 01-.102.171s-.598.428-1.435 1.043c-.12.085-.24.17-.342.239-.017 0-.034.034-.051.05l.735.12c.512-.273 1.059-.393 1.657-.393m-6.475-7.926c-.803.752-1.4 1.88-1.913 2.887-.41.803-.7 1.537-.888 2.255v.068c-.154.53-.445 1.623-.069 2.016.051.051.12.103.188.154.068.051.137.102.205.17.786.752.24 1.402-.154 1.863-.239.273-.461.53-.461.786 0 .546.666.751.871.785.103.018.171.103.171.205 0 .171.034.274.085.41.052.12.103.205.171.308.137.17.325.307.547.393.154.068.342.085.547.085 1.486 0 2.682-.734 3.673-1.435.58-.41 1.315-1.161 1.537-1.708.051-.154.085-.308.103-.478l-1.042-.171h-.018a.3.3 0 01-.205-.222c-.034-.205.154-.325.53-.581.103-.069.222-.154.325-.24.546-.41.99-.717 1.23-.888a7.525 7.525 0 01-.735-1.008c-.154-.222-.29-.444-.41-.563-.512-.547-1.418-.871-2.152-.427-.29.188-.547.41-.838.666-.222.188-.444.41-.7.58-.103.069-.24.052-.308-.05-.085-.086-.068-.223 0-.308a.742.742 0 01.12-.103c.325-.324 1.11-1.042 1.11-1.571 0-1.213-1.161-3.195-1.571-3.861" }),
3586
- hAsync("path", { fill: "#011F5B", d: "M25.386 22.789c-.223 0-.445 0-.667-.034-.12-.017-.222-.12-.205-.256 0-.12.12-.205.257-.205 1.042.136 2.58 0 3.895-1.384a.237.237 0 01.324 0 .238.238 0 010 .324C28 22.26 26.752 22.79 25.37 22.79M43.802 19.338s-.052 0-.086-.017c-.12-.051-.154-.17-.12-.29.24-.547.274-1.008.103-1.35-.239-.461-.786-.615-.803-.615-.051 0-.12-.051-.136-.102-.035-.052-.035-.12 0-.188.085-.205.256-.837.153-1.162-.102-.273-.615-.376-.785-.41-.069 0-.137-.051-.171-.103-.035-.068-.035-.136 0-.187.068-.171.222-.684.034-.957-.342-.53-1.23-.273-1.23-.273-.086.017-.171 0-.222-.052-.052-.05-.069-.153-.052-.222 0 0 .257-.803-.239-1.332-.58-.598-1.845-.24-1.862-.24a.196.196 0 01-.205-.068c-.051-.051-.068-.136-.051-.222 0-.034.222-.7-.24-.973-.717-.445-1.537.119-1.537.136a.181.181 0 01-.205.017c-.068-.034-.12-.102-.12-.17 0-.035-.119-.906-.887-1.009-.838-.12-1.709.735-1.726.752a.26.26 0 01-.17.069.18.18 0 01-.154-.086s-.599-.769-1.333-.735c-.717.035-.99.752-.99.77a.242.242 0 01-.155.136c-.068 0-.136 0-.188-.051 0 0-.717-.684-1.434-.41-.906.341-1.162 1.452-1.248 1.81a.206.206 0 01-.256.171c-.12-.017-.188-.136-.17-.256.102-.427.392-1.708 1.52-2.118.7-.257 1.332.085 1.657.324.188-.307.564-.751 1.247-.786.7-.034 1.281.462 1.537.718.342-.273 1.11-.837 1.914-.718.7.103 1.042.65 1.178 1.077.376-.188 1.077-.41 1.76 0 .461.307.512.803.478 1.127.496-.085 1.401-.136 1.948.427.444.462.461 1.06.41 1.418.393-.051 1.042-.017 1.384.513.222.358.153.803.068 1.093.29.068.735.24.871.632.137.376 0 .94-.085 1.247.239.103.632.325.854.752.24.478.205 1.042-.086 1.725-.034.086-.12.12-.205.12" }),
3587
- hAsync("path", { fill: "#011F5B", d: "M42.725 22.31h-.017c-.12 0-.205-.119-.188-.239.103-.82-.393-.973-.803-1.093-.102-.034-.204-.068-.29-.12-.222-.136-.24-.41-.24-.683 0-.307-.016-.649-.255-.905-.41-.444-1.196-.154-1.196-.154-.069.034-.154 0-.205-.034-.069-.051-.086-.12-.086-.188 0 0 .12-.871-.375-1.298-.428-.36-1.23-.274-1.504-.205-.068 0-.136 0-.188-.052-.05-.034-.068-.102-.068-.17.034-.53-.17-1.008-.58-1.265a1.06 1.06 0 00-1.094-.085c-.906.478-1.264.512-2.204-.154-.29-.205-.598-.273-.871-.205-.359.086-.683.41-.94.906-.051.102-.17.153-.29.102a.22.22 0 01-.103-.29c.308-.598.735-1.008 1.213-1.128.41-.102.837 0 1.23.274.803.563.974.546 1.743.12.478-.257 1.059-.223 1.537.084.462.308.752.82.786 1.401.393-.05 1.128-.068 1.606.342.461.393.547 1.008.547 1.367.358-.069.956-.086 1.366.358.325.376.359.838.359 1.196 0 .12 0 .29.034.342.034.017.12.051.205.068.41.12 1.247.393 1.11 1.572 0 .102-.102.188-.204.188M21.405 19.202c-.17-.137-.273-.222-.273-.36v-4.406c0-.137.102-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.137-.222-.24-.342-.342-.17-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.691 0-2.255-.256-.222-.086-.444-.222-.666-.359-.495-.325-1.076-.683-1.948-.683-.7 0-1.332.256-1.879.478-.376.154-.717.29-.973.29h-.103c-.24 0-.598-.136-.974-.29-.546-.222-1.178-.478-1.879-.478-.871 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.452.256-2.272.256h-.341v1.537c0 .154-.103.24-.274.376-.12.086-.239.188-.341.342a.959.959 0 000 1.042c.085.137.222.24.341.325.171.136.274.222.274.375v4.408c0 .137-.103.222-.274.359a1.52 1.52 0 00-.341.324.959.959 0 000 1.042c.085.137.222.24.341.325.171.137.274.222.274.376v1.469h16.246v-1.47c0-.136.102-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.136-.222-.239-.342-.324zm-7.192-9.089c.513-.205 1.094-.444 1.691-.444.718 0 1.196.29 1.675.598.222.137.46.29.734.41a4.5 4.5 0 00.684.205v9.362c-.376-.069-.803-.069-1.248-.069-.666 0-1.366 0-2.032-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.527.564a6.17 6.17 0 00.735-.41c.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.691.444.36.137.684.274.974.308v8.866h-.051c-.427.034-1.042.24-1.726.444-.222.069-.46.154-.683.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.445.445 0 01-.069.256c-.051.086-.154.154-.239.222-.205.171-.444.359-.444.735v.974H5.33v-.974c0-.376-.256-.564-.444-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.017-.188.069-.273.05-.086.153-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.103-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.017-.205.069-.274.05-.085.153-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.905.683c.444 0 .803-.29.906-.683h5.586V10.933c.359.035.752.035 1.145.035h.034v1.025c0 .375.239.563.444.734.102.069.188.154.239.222.051.069.085.171.068.257 0 .119-.017.187-.068.273-.051.085-.154.154-.24.239-.204.154-.443.359-.443.717v4.408c0 .359.239.564.444.717.102.086.188.154.239.223.051.085.085.17.068.256l.035.034zM71.51 19.202c-.188-.137-.273-.222-.273-.36v-4.406c0-.137.103-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.137-.222-.24-.342-.342-.188-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.69 0-2.255-.256a4.235 4.235 0 01-.666-.359c-.495-.325-1.076-.683-1.947-.683-.684 0-1.333.256-1.88.478-.375.154-.734.29-.973.29h-.103c-.239 0-.598-.136-.974-.29-.563-.222-1.195-.478-1.879-.478-.87 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.451.256-2.271.256h-.342v1.537c0 .154-.103.24-.273.376-.12.086-.24.188-.342.342a.959.959 0 000 1.042c.085.137.222.24.342.325.17.136.273.222.273.375v4.408c0 .137-.103.222-.273.359a1.52 1.52 0 00-.342.324.959.959 0 000 1.042c.085.137.222.24.342.325.17.137.273.222.273.376v1.469h16.246v-1.47c0-.136.103-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.136-.222-.239-.342-.324m-7.192-9.089c.513-.205 1.094-.444 1.692-.444.734 0 1.178.29 1.674.598.222.137.461.29.717.41.222.086.444.154.684.205v9.362c-.376-.069-.803-.069-1.247-.069-.667 0-1.367 0-2.033-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.526.564c.256-.12.495-.256.717-.41.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.692.444.358.137.683.274.973.308v8.866h-.051c-.427.034-1.025.24-1.725.444-.223.069-.462.154-.684.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.446.446 0 01-.069.256c-.051.086-.153.154-.239.222-.205.171-.444.359-.444.735v.974h-15.34v-.974c0-.376-.257-.564-.445-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.018-.188.069-.273.051-.086.154-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.102-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.018-.205.069-.274.051-.085.154-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.906.683c.444 0 .785-.29.905-.683h5.586V10.933c.376.035.752.035 1.162.035h.034v1.025c0 .375.256.563.444.734.103.069.188.154.24.222.05.069.085.171.068.257 0 .119-.017.187-.069.273-.05.085-.153.154-.239.239-.205.154-.444.359-.444.717v4.408c0 .359.256.564.444.717.103.086.188.154.24.223.05.085.085.17.068.256l-.034.034z" }),
3588
- hAsync("path", { fill: "#011F5B", d: "M74.654 4.886H1.452v36.49c-.051 15.99 8.85 27.606 16.315 34.542 8.148 7.551 17.322 12.061 20.21 12.676h.153c2.887-.632 12.06-5.125 20.21-12.676 7.482-6.936 16.365-18.552 16.331-34.542V4.886h-.017zm-1.008 21.986H2.46V5.894h71.186v20.978zM16.588 62.457a6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867 6.28 6.28 0 01-8.866 0zm41.051 12.727c-8.473 7.858-17.237 11.804-19.595 12.402-2.357-.598-11.12-4.561-19.594-12.402-.205-.188-.41-.393-.615-.581l20.21-21.457 20.209 21.457c-.205.188-.41.393-.615.58zM31.775 42.469c0-3.45 2.802-6.27 6.27-6.27a6.263 6.263 0 016.269 6.27 6.263 6.263 0 01-6.27 6.27 6.274 6.274 0 01-6.27-6.27zm27.743 19.988a6.28 6.28 0 01-8.866 0 6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867zm10.062-3.178L38.045 28.871 6.508 59.279C4.066 54.12 2.426 48.158 2.46 41.376V27.88h71.186v13.496c.017 6.765-1.606 12.744-4.066 17.903M88.799 81.3c0 3.604.973 6.371 4.817 6.371 3.536 0 5.398-2.374 5.398-6.491v-7.175c0-.53-.102-.974-.153-1.384-.12-.922-1.008-1.298-2.221-1.418v-.666h6.082v.666c-1.23.12-2.085.495-2.221 1.418-.051.41-.137.854-.137 1.384v7.277c0 5.552-3.536 7.602-6.867 7.602-5.484 0-7.192-2.784-7.192-7.448v-7.688c0-2.391.102-2.272-2.221-2.545v-.666h6.935v.666c-2.323.273-2.22.154-2.22 2.546v7.55zM117.31 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.086.751.12 1.059.102.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.034-.325.119-.65.119-1.06v-9.361c-.564-.718-1.179-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.002 10.865h.035V77.37c0-.427-.086-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.623.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.684l.017-.017zM127.117 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM137.503 75.166c-1.093 0-1.879.308-1.23 2.221a1204.83 1204.83 0 002.973 8.798c1.281-3.04 2.494-6.116 3.724-9.14.495-1.264-.017-1.879-1.367-1.879v-.512h4.288v.512c-.581 0-1.23.188-1.64 1.196-1.674 4.083-3.348 8.132-5.022 12.198h-1.025c-1.213-3.434-2.563-7.278-3.776-10.643-.734-2.136-1.349-2.75-2.306-2.75v-.513h5.398v.512h-.017zM148.932 88.047c1.793-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.085-1.76-1.708-1.965v-.512h8.9v3.194h-.512c-.205-1.486-.598-2.562-2.033-2.562h-2.7v5.689h1.675c1.247 0 1.793-.496 1.828-1.726h.512v4.237h-.512c-.035-1.162-.496-1.862-1.828-1.862h-1.675v4.493c0 1.69.786 1.828 2.563 1.828 2.887 0 2.75-.82 3.656-2.939h.512l-.598 3.57h-9.788v-.529zM162.735 74.654h5.791c1.999 0 4.015 1.059 4.015 3.382 0 2.05-1.247 3.451-2.785 4.049l1.948 2.955c.991 1.453 2.101 2.853 2.819 3.263v.257h-2.05c-1.179 0-1.811-2.17-4.22-6.168h-1.879v3.69c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512zm3.639 7.124h1.64c1.725 0 2.528-1.299 2.528-3.554s-1.196-2.921-2.648-2.921h-1.537v6.475h.017zM184.568 77.61c-.171-1.384-.923-2.512-2.512-2.512-1.144 0-2.186.598-2.186 2.067 0 1.47 1.383 2.221 3.382 3.724 2.101 1.572 2.785 2.597 2.785 4.237 0 2.358-2.426 3.673-4.818 3.673a9.267 9.267 0 01-3.399-.632c-.086-.034-.137-.12-.137-.273v-2.87h.513c.205 2.203 1.657 3.092 3.211 3.092 1.401 0 2.563-1.077 2.563-2.529 0-1.281-.701-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.999-3.211 4.271-3.211.854 0 1.999.102 2.784.376.12.034.137.12.137.204v2.614h-.512v.017zM193.81 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM205.7 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965V75.286h-1.793c-1.726 0-2.119 1.093-2.785 2.409h-.495l.546-3.041h11.002l.529 3.04h-.512c-.649-1.315-1.042-2.408-2.785-2.408H205.7v10.796zM216.53 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.136-1.794v-.512h5.074v.512c-1.503 0-1.384.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.034-1.794-1.145-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.331 6.03c-.205.393-.222.957-.222 1.453v2.22c0 1.846-.086 1.743 1.708 1.965v.513h-5.364v-.513h.017zM235.527 83.81c0-3.382 2.921-8.438 7.209-8.438 3.434 0 4.186 2.323 4.186 4.646 0 2.836-2.272 8.866-7.192 8.866-3.297 0-4.203-2.647-4.203-5.073m9.02-5.023c0-2.682-1.623-2.784-2.033-2.784-2.784 0-4.612 5.005-4.612 8.353 0 1.333.222 3.759 2.135 3.759 2.938 0 4.51-4.835 4.51-9.328zM258.914 76.225l-.615.547h-3.383c-1.264 6.15-3.331 14.316-4.8 18.228h-1.162l3.69-18.228h-2.443l.24-1.076h2.425c1.367-5.484 5.911-6.065 6.987-6.065.598 0 1.828.103 2.221.462l-.324 1.708-.649.307c-.359-.7-1.179-1.503-2.255-1.503-1.555 0-2.717 1.06-3.332 3.844l-.29 1.23h3.792l-.102.546zM274.391 85.348c0 2.392-.102 2.272 2.221 2.546v.666h-6.935v-.666c2.323-.291 2.22-.154 2.22-2.546v-11.6c0-2.391.103-2.272-2.22-2.545v-.666h6.747c4.288 0 6.39 1.691 6.39 4.783 0 3.707-3.349 5.723-7.295 5.484v-.513c3.212.052 4.715-1.879 4.715-4.715 0-2.835-1.384-4.22-4.271-4.22h-1.572v13.992zM286.384 88.047c1.776-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.068-1.76-1.708-1.965v-.512h8.883v3.194h-.513c-.205-1.486-.598-2.562-2.033-2.562h-2.699v5.689h1.674c1.248 0 1.794-.496 1.828-1.726h.513v4.237h-.513c-.034-1.162-.495-1.862-1.828-1.862h-1.674v4.493c0 1.69.769 1.828 2.563 1.828 2.87 0 2.733-.82 3.656-2.939h.512l-.598 3.57h-9.789v-.512l.018-.017zM312.231 88.577c-3.161-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.086.751.12 1.059.103.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.563-.718-1.178-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.068-.769-.12-1.076-.102-.718-.769-.991-2.101-1.093v-.513h4.886v.513c-.94.102-1.606.375-1.726 1.093-.034.307-.119.649-.119 1.076v11.224h-.666l.017-.017zM330.373 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.068.751.119 1.059.103.717.786 1.008 2.084 1.093v.513h-4.868v-.513c.956-.085 1.606-.376 1.708-1.093.034-.325.12-.65.12-1.06v-9.361c-.547-.718-1.179-1.35-2.307-1.35v-.512h3.622c2.973 3.604 6.048 7.26 9.02 10.865h.034V77.37c0-.427-.068-.769-.102-1.076-.103-.718-.786-.991-2.102-1.093v-.513h4.869v.513c-.939.102-1.606.375-1.708 1.093-.051.307-.137.649-.137 1.076v11.224h-.666v-.017zM343.322 77.61c-.154-1.384-.922-2.512-2.511-2.512-1.145 0-2.187.598-2.187 2.067 0 1.47 1.401 2.221 3.383 3.724 2.101 1.572 2.784 2.597 2.784 4.237 0 2.358-2.409 3.673-4.817 3.673a9.34 9.34 0 01-3.4-.632c-.068-.034-.136-.12-.136-.273v-2.87h.512c.222 2.203 1.674 3.092 3.212 3.092 1.4 0 2.562-1.077 2.562-2.529 0-1.281-.683-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.982-3.211 4.288-3.211.855 0 1.982.102 2.768.376.119.034.137.12.137.204v2.614h-.513v.017zM351.334 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.119-1.794v-.512h5.057v.512c-1.503 0-1.367.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.051-1.794-1.128-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.314 6.03c-.188.393-.239.957-.239 1.453v2.22c0 1.846-.085 1.743 1.708 1.965v.513h-5.347v-.513h-.017zM363.6 88.047c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512h5.347v.512c-1.794.205-1.708.12-1.708 1.965v9.276c0 1.384.769 1.538 2.545 1.538 2.887 0 2.768-.82 3.673-2.939h.496l-.598 3.57h-9.772v-.512l.017-.017zM379.761 75.166c-1.094 0-1.897.308-1.23 2.221.785 2.358 1.93 5.757 2.972 8.798 1.264-3.04 2.477-6.116 3.707-9.14.496-1.264 0-1.879-1.366-1.879v-.512h4.287v.512c-.58 0-1.23.188-1.64 1.196a2610.34 2610.34 0 01-5.039 12.198h-1.008c-1.213-3.434-2.563-7.278-3.775-10.643-.735-2.136-1.35-2.75-2.307-2.75v-.513h5.416v.512h-.017zM391.77 83.964l-.922 2.665c-.256.77.119 1.435.991 1.435v.513h-3.622v-.513c.547 0 1.128-.341 1.435-.99.854-1.76 3.178-8.252 4.835-12.66h1.11c1.35 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.606 1.743v.513h-4.63v-.513c1.247 0 1.367-.649 1.042-1.52l-.854-2.58h-5.057v.017zm4.818-.751l-2.118-6.458h-.035l-2.374 6.458h4.527zM416.268 88.577c-3.178-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.069.751.12 1.059.102.717.786 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.546-.718-1.161-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.069-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.606.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.666v-.017zM425.664 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM433.983 83.964l-.922 2.665c-.257.77.119 1.435 1.007 1.435v.513h-3.621v-.513c.546 0 1.11-.341 1.435-.99.854-1.76 3.177-8.252 4.834-12.66h1.111c1.349 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.605 1.743v.513h-4.629v-.513c1.247 0 1.366-.649 1.059-1.52l-.854-2.58h-5.057l-.034.017zm4.8-.751l-2.101-6.458h-.034l-2.375 6.458h4.51zM101.116 6.201h-5.689v20.654c1.537.53 3.434.786 5.689.786 3.451 0 6.184-.888 8.183-2.665 1.998-1.777 3.006-4.22 3.006-7.295 0-3.314-.991-6.064-2.989-8.217-1.999-2.152-4.715-3.245-8.2-3.245m-17.032-1.76h16.81c5.5 0 9.84 1.213 13.051 3.656 3.212 2.443 4.818 5.569 4.818 9.43 0 3.86-1.401 6.765-4.203 8.815-2.801 2.05-6.816 3.075-12.061 3.075-2.015 0-4.373-.154-7.072-.479v12.898c0 2.785.376 4.698 1.11 5.74.752 1.042 2.119 1.572 4.1 1.572v1.332h-16.57v-1.332c1.981 0 3.348-.547 4.1-1.657.751-1.093 1.11-2.938 1.11-5.501V13.12c0-2.75-.376-4.664-1.11-5.74-.752-1.076-2.119-1.606-4.1-1.606V4.442l.017.017zM119.6 31.758h15.511v-.547c0-2.545-.717-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.4 1.572-2.186 3.724-2.34 6.475m21.388 11.428v2.084c-1.725 2.204-3.485 3.776-5.279 4.715-1.793.94-3.946 1.418-6.457 1.418-4.442 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.768-2.955 6.15-4.442 10.148-4.442 3.297 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58h-20.927v.393c0 3.144.478 5.86 1.435 8.183.956 2.323 2.357 4.134 4.185 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.316-.768 3.075-2.357 5.279-4.766" }),
3589
- hAsync("path", { fill: "#011F5B", d: "M151.118 21.234v5.69c3.332-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.931.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.861-.734.683-.496 1.042-1.418 1.042-2.819V30.7c0-2-.598-3.57-1.777-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.364 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.827.956v1.333h-15v-1.333c2.17 0 3.503-.341 3.998-1.042.495-.7.752-2.17.752-4.424V27.589c0-1.708-.308-2.818-.906-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.867-.872h1.366v.017z" }),
3590
- hAsync("path", { fill: "#011F5B", d: "M185.695 21.234v5.69c3.331-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.93.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.86-.734.684-.496 1.042-1.418 1.042-2.819V30.7c0-2-.597-3.57-1.776-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.365 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.826.956v1.333h-14.999v-1.333c2.17 0 3.502-.341 3.998-1.042.495-.7.751-2.17.751-4.424V27.589c0-1.708-.307-2.818-.905-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.866-.872h1.367v.017zM251.466 40.436h1.366l-2.818 10.045H216.65V49.15c1.879 0 3.229-.598 4.032-1.777.802-1.179 1.195-3.16 1.195-5.928v-28.99c0-2.494-.375-4.22-1.11-5.21-.752-.974-2.118-1.47-4.1-1.47V4.442h16.485v1.332c-1.828 0-3.143.564-3.946 1.692-.803 1.127-1.196 2.99-1.196 5.569v30.767c0 1.708.359 2.87 1.077 3.502.717.632 2.101.94 4.134.94h9.139c2.819 0 4.801-.496 5.928-1.47 1.128-.974 2.187-3.092 3.178-6.338zM261.203 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.683.7-1.486 1.042-2.426 1.042a3.474 3.474 0 01-2.511-1.042c-.7-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.342 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.391-.77.649-.512.973-1.57.973-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.101-.82-4.476-.82V22.09l9.464-.871.017.017zM276.851 27.555v16.246c0 2.119.359 3.57 1.076 4.357.718.785 1.965 1.178 3.759 1.178 3.707 0 6.628-1.195 8.781-3.57 2.152-2.374 3.228-5.723 3.228-10.01 0-3.588-.939-6.51-2.801-8.799-1.862-2.272-4.1-3.416-6.697-3.416-2.733 0-5.176 1.332-7.363 3.997M275.467-.017h1.367V25.47c1.213-1.315 2.665-2.34 4.39-3.109 1.726-.752 3.451-1.145 5.211-1.145 3.69 0 6.816 1.35 9.379 4.015 2.562 2.682 3.826 5.98 3.826 9.874 0 4.578-1.725 8.337-5.159 11.275-3.451 2.938-8.2 4.39-14.247 4.39-2.358 0-5.313-.29-8.849-.87V7.225c0-2.22-.274-3.604-.838-4.117-.563-.53-1.964-.786-4.219-.786V.991L275.467 0v-.017z" }),
3591
- hAsync("path", { fill: "#011F5B", d: "M310.198 21.234v6.167c2.614-2.272 4.646-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.621-1.366 1.811 0 3.553.751 5.228 2.237l-2.153 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.638 1.144-6.047 3.45v15.649c0 1.572.324 2.63.991 3.194.649.547 1.913.82 3.775.82v1.333h-15.033v-1.333c1.981 0 3.297-.307 3.912-.94.615-.631.922-2.135.922-4.526V28.119c0-1.965-.341-3.246-1.008-3.827-.666-.58-2.289-.871-4.885-.871v-1.332l9.976-.872h1.367l-.017.017zM341.341 44.707v-9.652c-.803.341-1.982.769-3.537 1.298-2.853.974-4.68 1.93-5.483 2.887-.803.957-1.196 2.238-1.196 3.861 0 1.418.427 2.63 1.281 3.673.854 1.042 1.862 1.554 3.041 1.554 1.076 0 2.204-.341 3.382-1.042 1.179-.7 2.016-1.554 2.512-2.58zm-7.654 6.68c-2.221 0-4.134-.735-5.74-2.221-1.588-1.487-2.391-3.263-2.391-5.365 0-2.1.683-3.638 2.067-4.92 1.366-1.298 4.168-2.528 8.371-3.707 2.647-.734 4.424-1.366 5.347-1.879v-2.118c0-2.067-.581-3.741-1.726-5.006-1.144-1.264-2.699-1.896-4.629-1.896-1.76 0-3.315.547-4.664 1.64-1.367 1.094-2.323 2.597-2.87 4.476L326 29.998c.581-2.648 1.828-4.766 3.741-6.355 1.93-1.589 4.185-2.392 6.765-2.392 3.058 0 5.535.923 7.448 2.768 1.897 1.845 2.853 4.407 2.853 7.67v12.215c0 1.725.12 2.904.342 3.519.222.615.649.922 1.281.922.41 0 .752-.17 1.025-.53.256-.358.564-1.092.906-2.22h1.366c-.136 1.777-.683 3.195-1.674 4.237-.991 1.042-2.272 1.571-3.861 1.571-2.323 0-3.946-1.35-4.834-4.048-1.418 1.537-2.665 2.596-3.776 3.177-1.093.581-2.391.871-3.878.871M362.421 21.234v6.167c2.614-2.272 4.647-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.622-1.366 1.811 0 3.553.751 5.227 2.237l-2.152 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.639 1.144-6.048 3.45v15.649c0 1.572.325 2.63.991 3.194.649.547 1.914.82 3.776.82v1.333h-15.034v-1.333c1.982 0 3.297-.307 3.912-.94.615-.631.923-2.135.923-4.526V28.119c0-1.965-.342-3.246-1.008-3.827-.666-.58-2.289-.871-4.886-.871v-1.332l9.977-.872h1.366l-.017.017zM387.141 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.684.7-1.486 1.042-2.426 1.042-.94 0-1.811-.342-2.511-1.042-.701-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.341 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.39-.77.649-.512.974-1.57.974-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.102-.82-4.476-.82V22.09l9.464-.871.017.017zM399.988 31.758h15.511v-.547c0-2.545-.734-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.401 1.572-2.187 3.724-2.34 6.475m21.388 11.428v2.084c-1.726 2.204-3.485 3.776-5.279 4.715-1.794.94-3.946 1.418-6.457 1.418-4.459 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.767-2.955 6.15-4.442 10.147-4.442 3.298 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58H399.97v.393c0 3.144.479 5.86 1.435 8.183.957 2.323 2.341 4.134 4.186 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.315-.768 3.075-2.357 5.279-4.766M442.678 21.234v8.747h-1.606c-.256-2.204-1.042-3.946-2.357-5.245-1.316-1.298-2.887-1.947-4.749-1.947-1.418 0-2.546.359-3.417 1.06-.854.7-1.298 1.64-1.298 2.818 0 1.179.393 2.17 1.196 3.04.802.872 2.528 1.931 5.193 3.161 3.451 1.572 5.74 3.075 6.85 4.51 1.111 1.435 1.674 3.16 1.674 5.176 0 2.375-.888 4.442-2.665 6.184-1.776 1.743-3.877 2.614-6.32 2.614-1.265 0-2.922-.461-4.989-1.366-1.127-.496-1.879-.752-2.238-.752-.495 0-.922.188-1.247.547-.341.358-.529.82-.598 1.366h-1.366v-9.703h1.366c.496 2.545 1.589 4.578 3.297 6.081 1.709 1.504 3.656 2.256 5.86 2.256 1.418 0 2.597-.479 3.553-1.418.957-.94 1.435-2.102 1.435-3.502 0-1.401-.444-2.495-1.315-3.485-.888-.991-2.785-2.119-5.723-3.4-3.297-1.452-5.467-2.785-6.509-4.049-1.042-1.264-1.571-2.767-1.571-4.561 0-2.22.854-4.151 2.579-5.757 1.709-1.606 3.741-2.409 6.099-2.409 1.093 0 2.289.256 3.57.786.923.359 1.657.547 2.238.547.769 0 1.316-.445 1.691-1.333h1.367v.034z" })),
3592
- hAsync("defs", null,
3593
- hAsync("clipPath", { id: "clip0_10377_15535" },
3594
- hAsync("path", { fill: "#fff", d: "M0 0H444.165V95H0z" })))));
3713
+ return (hAsync("svg", { xmlns: "http://www.w3.org/2000/svg", width: "445", fill: "none", class: "website-header__logo", viewBox: "0 0 445 95" }, hAsync("g", { "clip-path": "url(#clip0_10377_15535)" }, hAsync("path", { fill: "#011F5B", d: "M443.498 60.919H84.084v1.247h359.414v-1.247z" }), hAsync("path", { fill: "#fff", d: "M76.106 3.45H0v37.926c-.052 16.52 9.105 28.478 16.793 35.601 8.456 7.841 17.766 12.368 20.875 13.035l.376.085.376-.085c3.11-.683 12.437-5.194 20.876-13.035 7.687-7.123 16.827-19.082 16.793-35.601V3.45h.017z" }), hAsync("path", { fill: "#900", d: "M1.93 5.45s.103 22.037 0 21.934h72.245V5.45H1.93zM21.32 19.32c.12.085.222.17.307.29.086.137.12.274.12.445a.888.888 0 01-.12.427c-.085.12-.205.205-.307.307-.171.137-.342.257-.342.479v1.35H5.022v-1.35c0-.222-.17-.36-.341-.479a1.054 1.054 0 01-.308-.307.753.753 0 01-.12-.444c0-.171.035-.308.12-.445.085-.12.205-.205.308-.29.17-.137.341-.256.341-.495V14.4c0-.222-.17-.342-.341-.478a1.245 1.245 0 01-.308-.29.752.752 0 01-.12-.445c0-.17.035-.307.12-.444.085-.12.205-.222.308-.29.17-.137.341-.257.341-.479v-1.383h.205c.94 0 1.743-.018 2.324-.274.239-.085.444-.239.666-.376.495-.307 1.042-.649 1.879-.649.666 0 1.281.256 1.828.479.393.153.752.29 1.025.29h.102c.274 0 .633-.154 1.025-.29.547-.223 1.162-.479 1.828-.479.837 0 1.384.342 1.88.65.222.136.444.273.683.375.564.24 1.384.274 2.323.274h.205v1.383c0 .222.17.342.342.479.102.085.222.17.307.29.086.137.12.273.12.444 0 .171-.051.308-.12.444-.085.12-.205.205-.307.29-.171.137-.342.257-.342.48v4.407c0 .222.17.358.342.495m30.527 2.306c-1.23 1.965-3.621 2.46-3.706 2.477-.462.086-.957.12-1.436.12-2.494 0-4.783-1.093-7.123-2.29-.256-.136-.547-.29-.854-.46-1.487-.82-3.57-1.948-5.33-1.948-.513 0-1.008.102-1.435.325l-.069.034v.085c0 .222-.068.444-.136.65-.29.751-1.196 1.537-1.64 1.861-1.025.735-2.29 1.487-3.844 1.487-.24 0-.444-.035-.65-.103a1.502 1.502 0 01-.7-.495c-.085-.103-.153-.24-.222-.376-.051-.103-.068-.222-.102-.342v-.085l-.103-.034c-.615-.188-.973-.581-.973-1.06 0-.375.273-.683.53-.99.41-.479.75-.889.187-1.435-.051-.052-.12-.086-.17-.137-.086-.068-.172-.12-.24-.205-.495-.53-.205-1.657-.034-2.323v-.069c.205-.734.512-1.486.922-2.306.564-1.11 1.23-2.374 2.187-3.16.017 0 .034-.017.068-.017.017 0 .052.017.069.034 0 .034.12.188.273.444l.154.273.102-.29c.274-.786.7-1.298 1.299-1.52.632-.24 1.23.085 1.52.307l.12.102.085-.136c.188-.308.547-.684 1.128-.718.649-.034 1.178.41 1.434.684l.103.085.102-.085c.29-.24 1.042-.786 1.794-.684.718.103.991.718 1.076.974l.052.17.153-.068c.342-.17.991-.392 1.606 0 .393.257.444.684.41.991v.188l.171-.034c.461-.068 1.316-.12 1.828.393.393.41.427.94.376 1.298v.188h.17c.41-.068.957-.034 1.248.427.205.308.12.752.051.974l-.034.137.136.034c.24.051.65.205.77.547.102.256.068.666-.07 1.161l-.033.12.12.051c.204.085.58.29.785.683.205.393.188.872-.017 1.453l-.034.085.068.068c.53.479 1.06.906 1.589 1.282 1.06.768 2.716 1.178 3.844.256.427-.342.615-.991.478-1.589-.137-.53-.478-.888-.957-1.008-.854-.188-1.52.615-2.067 1.435 0 .017-.05.034-.085.034-.034 0-.051-.017-.068-.051-.513-1.213-.53-2.204-.086-2.973.393-.649 1.128-1.11 2.033-1.264h.12v-.153c0-1.418.324-2.46 1.008-3.092.427-.376 1.195-.803 2.477-.615a.13.13 0 01.068.034v.068c-.94 2.29-.718 3.143-.205 5.023.051.17.085.341.137.512.478 1.777.341 3.297-.428 4.527m19.56-2.306c.12.085.223.17.308.29a.79.79 0 01.12.444.734.734 0 01-.12.427c-.085.12-.205.206-.307.308-.171.137-.342.256-.342.478v1.35H55.127v-1.35c0-.222-.153-.358-.341-.478a1.055 1.055 0 01-.308-.308.648.648 0 01-.12-.444c0-.17.035-.307.12-.444.086-.12.188-.205.308-.29.17-.137.341-.256.341-.496V14.35c0-.222-.153-.342-.341-.479a1.242 1.242 0 01-.308-.29.648.648 0 01-.12-.444c0-.154.035-.308.12-.444.086-.12.205-.222.308-.29.17-.137.341-.257.341-.479V10.54h.205c.94 0 1.743-.017 2.324-.273.239-.085.444-.24.683-.376.478-.307 1.042-.65 1.862-.65.666 0 1.281.257 1.828.48.393.153.752.29 1.025.29h.103c.273 0 .632-.154 1.025-.29.546-.223 1.161-.48 1.828-.48.837 0 1.383.343 1.879.65.222.137.444.273.683.376.564.24 1.384.273 2.323.273h.205v1.384c0 .222.154.342.342.478.103.086.222.171.308.29.085.137.119.274.119.445 0 .17-.034.307-.12.444-.085.12-.204.205-.307.29-.17.137-.342.257-.342.479v4.407c0 .222.154.36.342.496" }), hAsync("path", { fill: "#011F5B", d: "M26.82 18.382c.257 0 .496.068.735.256.086.068.154.136.222.188a.374.374 0 01-.017.564c-.17.153-.376.29-.512.375-.29.205-.803.564-1.145.29-.17-.153.17-.392.017-.99-.12-.478.342-.683.718-.683" }), hAsync("path", { fill: "#011F5B", d: "M46.706 24.378c-2.495 0-4.818-1.077-7.192-2.307-.257-.136-.564-.29-.872-.46-1.896-1.043-4.749-2.598-6.628-1.624 0 .24-.051.479-.137.684-.29.785-1.23 1.605-1.69 1.93-1.043.752-2.324 1.503-3.93 1.503-.24 0-.478-.034-.683-.102a1.64 1.64 0 01-.77-.547 2.354 2.354 0 01-.238-.41 1.784 1.784 0 01-.103-.376c-.666-.205-1.076-.649-1.076-1.195 0-.41.29-.752.564-1.077.444-.53.649-.803.188-1.23-.052-.051-.103-.085-.171-.136-.086-.069-.171-.12-.256-.223-.547-.597-.24-1.759-.069-2.46v-.068c.222-.734.513-1.503.94-2.34.564-1.128 1.247-2.409 2.22-3.212.052-.034.12-.068.188-.051.069 0 .12.051.154.102.034.052.427.65.837 1.435 1.692-1.008 4.1-1.127 4.374-1.127 1.486-.051 3.638.17 5.483 1.589 1.145.888 2.085 1.964 2.99 3.023.24.274.478.564.734.838 1.401 1.571 2.734 2.818 4.066 3.792 1.008.735 2.597 1.145 3.673.256.393-.324.564-.905.427-1.435-.12-.478-.427-.803-.854-.905-.769-.171-1.4.598-1.913 1.366-.051.069-.137.12-.222.103-.086 0-.154-.068-.188-.137-.53-1.247-.547-2.289-.069-3.092.41-.683 1.196-1.178 2.136-1.315 0-1.47.342-2.546 1.06-3.195.443-.393 1.246-.837 2.596-.666.068 0 .136.051.17.12.035.068.052.136 0 .205-.939 2.237-.7 3.075-.204 4.92.05.17.085.341.153.53.496 1.81.342 3.382-.444 4.629-1.264 2.033-3.707 2.528-3.81 2.545-.495.085-.973.12-1.452.12M33.398 19.2c1.793 0 3.843 1.128 5.45 2 .307.17.597.324.87.46 2.734 1.418 5.433 2.648 8.337 2.136.017 0 2.358-.479 3.502-2.34.718-1.145.837-2.58.393-4.271a7.72 7.72 0 01-.137-.513c-.478-1.76-.751-2.75.103-4.937-.99-.068-1.589.273-1.93.564-.65.58-.957 1.606-.906 3.058a.24.24 0 01-.205.239c-.888.102-1.64.512-2.016 1.127-.358.598-.376 1.367-.05 2.29.443-.598 1.195-1.418 2.152-1.213.598.136 1.042.598 1.195 1.23.171.717-.05 1.486-.58 1.913-1.265 1.025-3.075.598-4.237-.24-1.367-.99-2.716-2.254-4.134-3.86l-.735-.837c-.905-1.025-1.828-2.101-2.921-2.956-1.725-1.332-3.775-1.554-5.176-1.503-.957.034-2.887.308-4.186 1.094.41.82.752 1.776.752 2.494 0 .136-.017.256-.068.393.94-.547 2.067-.154 2.682.53.136.153.29.375.444.631.24.359.53.786.854 1.11.051.052.068.12.068.188a.188.188 0 01-.102.171s-.598.428-1.435 1.043c-.12.085-.24.17-.342.239-.017 0-.034.034-.051.05l.735.12c.512-.273 1.059-.393 1.657-.393m-6.475-7.926c-.803.752-1.4 1.88-1.913 2.887-.41.803-.7 1.537-.888 2.255v.068c-.154.53-.445 1.623-.069 2.016.051.051.12.103.188.154.068.051.137.102.205.17.786.752.24 1.402-.154 1.863-.239.273-.461.53-.461.786 0 .546.666.751.871.785.103.018.171.103.171.205 0 .171.034.274.085.41.052.12.103.205.171.308.137.17.325.307.547.393.154.068.342.085.547.085 1.486 0 2.682-.734 3.673-1.435.58-.41 1.315-1.161 1.537-1.708.051-.154.085-.308.103-.478l-1.042-.171h-.018a.3.3 0 01-.205-.222c-.034-.205.154-.325.53-.581.103-.069.222-.154.325-.24.546-.41.99-.717 1.23-.888a7.525 7.525 0 01-.735-1.008c-.154-.222-.29-.444-.41-.563-.512-.547-1.418-.871-2.152-.427-.29.188-.547.41-.838.666-.222.188-.444.41-.7.58-.103.069-.24.052-.308-.05-.085-.086-.068-.223 0-.308a.742.742 0 01.12-.103c.325-.324 1.11-1.042 1.11-1.571 0-1.213-1.161-3.195-1.571-3.861" }), hAsync("path", { fill: "#011F5B", d: "M25.386 22.789c-.223 0-.445 0-.667-.034-.12-.017-.222-.12-.205-.256 0-.12.12-.205.257-.205 1.042.136 2.58 0 3.895-1.384a.237.237 0 01.324 0 .238.238 0 010 .324C28 22.26 26.752 22.79 25.37 22.79M43.802 19.338s-.052 0-.086-.017c-.12-.051-.154-.17-.12-.29.24-.547.274-1.008.103-1.35-.239-.461-.786-.615-.803-.615-.051 0-.12-.051-.136-.102-.035-.052-.035-.12 0-.188.085-.205.256-.837.153-1.162-.102-.273-.615-.376-.785-.41-.069 0-.137-.051-.171-.103-.035-.068-.035-.136 0-.187.068-.171.222-.684.034-.957-.342-.53-1.23-.273-1.23-.273-.086.017-.171 0-.222-.052-.052-.05-.069-.153-.052-.222 0 0 .257-.803-.239-1.332-.58-.598-1.845-.24-1.862-.24a.196.196 0 01-.205-.068c-.051-.051-.068-.136-.051-.222 0-.034.222-.7-.24-.973-.717-.445-1.537.119-1.537.136a.181.181 0 01-.205.017c-.068-.034-.12-.102-.12-.17 0-.035-.119-.906-.887-1.009-.838-.12-1.709.735-1.726.752a.26.26 0 01-.17.069.18.18 0 01-.154-.086s-.599-.769-1.333-.735c-.717.035-.99.752-.99.77a.242.242 0 01-.155.136c-.068 0-.136 0-.188-.051 0 0-.717-.684-1.434-.41-.906.341-1.162 1.452-1.248 1.81a.206.206 0 01-.256.171c-.12-.017-.188-.136-.17-.256.102-.427.392-1.708 1.52-2.118.7-.257 1.332.085 1.657.324.188-.307.564-.751 1.247-.786.7-.034 1.281.462 1.537.718.342-.273 1.11-.837 1.914-.718.7.103 1.042.65 1.178 1.077.376-.188 1.077-.41 1.76 0 .461.307.512.803.478 1.127.496-.085 1.401-.136 1.948.427.444.462.461 1.06.41 1.418.393-.051 1.042-.017 1.384.513.222.358.153.803.068 1.093.29.068.735.24.871.632.137.376 0 .94-.085 1.247.239.103.632.325.854.752.24.478.205 1.042-.086 1.725-.034.086-.12.12-.205.12" }), hAsync("path", { fill: "#011F5B", d: "M42.725 22.31h-.017c-.12 0-.205-.119-.188-.239.103-.82-.393-.973-.803-1.093-.102-.034-.204-.068-.29-.12-.222-.136-.24-.41-.24-.683 0-.307-.016-.649-.255-.905-.41-.444-1.196-.154-1.196-.154-.069.034-.154 0-.205-.034-.069-.051-.086-.12-.086-.188 0 0 .12-.871-.375-1.298-.428-.36-1.23-.274-1.504-.205-.068 0-.136 0-.188-.052-.05-.034-.068-.102-.068-.17.034-.53-.17-1.008-.58-1.265a1.06 1.06 0 00-1.094-.085c-.906.478-1.264.512-2.204-.154-.29-.205-.598-.273-.871-.205-.359.086-.683.41-.94.906-.051.102-.17.153-.29.102a.22.22 0 01-.103-.29c.308-.598.735-1.008 1.213-1.128.41-.102.837 0 1.23.274.803.563.974.546 1.743.12.478-.257 1.059-.223 1.537.084.462.308.752.82.786 1.401.393-.05 1.128-.068 1.606.342.461.393.547 1.008.547 1.367.358-.069.956-.086 1.366.358.325.376.359.838.359 1.196 0 .12 0 .29.034.342.034.017.12.051.205.068.41.12 1.247.393 1.11 1.572 0 .102-.102.188-.204.188M21.405 19.202c-.17-.137-.273-.222-.273-.36v-4.406c0-.137.102-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.137-.222-.24-.342-.342-.17-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.691 0-2.255-.256-.222-.086-.444-.222-.666-.359-.495-.325-1.076-.683-1.948-.683-.7 0-1.332.256-1.879.478-.376.154-.717.29-.973.29h-.103c-.24 0-.598-.136-.974-.29-.546-.222-1.178-.478-1.879-.478-.871 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.452.256-2.272.256h-.341v1.537c0 .154-.103.24-.274.376-.12.086-.239.188-.341.342a.959.959 0 000 1.042c.085.137.222.24.341.325.171.136.274.222.274.375v4.408c0 .137-.103.222-.274.359a1.52 1.52 0 00-.341.324.959.959 0 000 1.042c.085.137.222.24.341.325.171.137.274.222.274.376v1.469h16.246v-1.47c0-.136.102-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.086-.136-.222-.239-.342-.324zm-7.192-9.089c.513-.205 1.094-.444 1.691-.444.718 0 1.196.29 1.675.598.222.137.46.29.734.41a4.5 4.5 0 00.684.205v9.362c-.376-.069-.803-.069-1.248-.069-.666 0-1.366 0-2.032-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.527.564a6.17 6.17 0 00.735-.41c.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.691.444.36.137.684.274.974.308v8.866h-.051c-.427.034-1.042.24-1.726.444-.222.069-.46.154-.683.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.445.445 0 01-.069.256c-.051.086-.154.154-.239.222-.205.171-.444.359-.444.735v.974H5.33v-.974c0-.376-.256-.564-.444-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.017-.188.069-.273.05-.086.153-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.103-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.017-.205.069-.274.05-.085.153-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.905.683c.444 0 .803-.29.906-.683h5.586V10.933c.359.035.752.035 1.145.035h.034v1.025c0 .375.239.563.444.734.102.069.188.154.239.222.051.069.085.171.068.257 0 .119-.017.187-.068.273-.051.085-.154.154-.24.239-.204.154-.443.359-.443.717v4.408c0 .359.239.564.444.717.102.086.188.154.239.223.051.085.085.17.068.256l.035.034zM71.51 19.202c-.188-.137-.273-.222-.273-.36v-4.406c0-.137.103-.24.273-.376.12-.086.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.137-.222-.24-.342-.342-.188-.136-.273-.222-.273-.376v-1.537h-.359c-.82 0-1.69 0-2.255-.256a4.235 4.235 0 01-.666-.359c-.495-.325-1.076-.683-1.947-.683-.684 0-1.333.256-1.88.478-.375.154-.734.29-.973.29h-.103c-.239 0-.598-.136-.974-.29-.563-.222-1.195-.478-1.879-.478-.87 0-1.452.358-1.947.683-.222.137-.427.273-.65.359-.563.239-1.451.256-2.271.256h-.342v1.537c0 .154-.103.24-.273.376-.12.086-.24.188-.342.342a.959.959 0 000 1.042c.085.137.222.24.342.325.17.136.273.222.273.375v4.408c0 .137-.103.222-.273.359a1.52 1.52 0 00-.342.324.959.959 0 000 1.042c.085.137.222.24.342.325.17.137.273.222.273.376v1.469h16.246v-1.47c0-.136.103-.238.273-.375.12-.085.24-.188.342-.325a.959.959 0 00.154-.53.904.904 0 00-.154-.512c-.085-.136-.222-.239-.342-.324m-7.192-9.089c.513-.205 1.094-.444 1.692-.444.734 0 1.178.29 1.674.598.222.137.461.29.717.41.222.086.444.154.684.205v9.362c-.376-.069-.803-.069-1.247-.069-.667 0-1.367 0-2.033-.205-.223-.068-.462-.136-.684-.222-.683-.222-1.298-.41-1.725-.444h-.017v-8.883c.29-.051.598-.17.94-.308m-6.526.564c.256-.12.495-.256.717-.41.495-.307.957-.598 1.674-.598.598 0 1.179.24 1.692.444.358.137.683.274.973.308v8.866h-.051c-.427.034-1.025.24-1.725.444-.223.069-.462.154-.684.222-.666.205-1.366.205-2.033.205-.444 0-.854 0-1.247.069v-9.345a3.15 3.15 0 00.684-.205m13.752 9.396a.446.446 0 01-.069.256c-.051.086-.153.154-.239.222-.205.171-.444.359-.444.735v.974h-15.34v-.974c0-.376-.257-.564-.445-.735a1.02 1.02 0 01-.24-.222c-.05-.085-.085-.17-.068-.256 0-.12.018-.188.069-.273.051-.086.154-.154.239-.223.205-.153.444-.358.444-.717v-4.407c0-.376-.256-.564-.444-.718-.102-.085-.188-.154-.24-.24-.05-.084-.085-.17-.068-.255 0-.103.018-.205.069-.274.051-.085.154-.153.239-.222.205-.153.444-.358.444-.734v-1.025h.034c.41 0 .786 0 1.162-.034v10.147h5.586a.923.923 0 00.906.683c.444 0 .785-.29.905-.683h5.586V10.933c.376.035.752.035 1.162.035h.034v1.025c0 .375.256.563.444.734.103.069.188.154.24.222.05.069.085.171.068.257 0 .119-.017.187-.069.273-.05.085-.153.154-.239.239-.205.154-.444.359-.444.717v4.408c0 .359.256.564.444.717.103.086.188.154.24.223.05.085.085.17.068.256l-.034.034z" }), hAsync("path", { fill: "#011F5B", d: "M74.654 4.886H1.452v36.49c-.051 15.99 8.85 27.606 16.315 34.542 8.148 7.551 17.322 12.061 20.21 12.676h.153c2.887-.632 12.06-5.125 20.21-12.676 7.482-6.936 16.365-18.552 16.331-34.542V4.886h-.017zm-1.008 21.986H2.46V5.894h71.186v20.978zM16.588 62.457a6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867 6.28 6.28 0 01-8.866 0zm41.051 12.727c-8.473 7.858-17.237 11.804-19.595 12.402-2.357-.598-11.12-4.561-19.594-12.402-.205-.188-.41-.393-.615-.581l20.21-21.457 20.209 21.457c-.205.188-.41.393-.615.58zM31.775 42.469c0-3.45 2.802-6.27 6.27-6.27a6.263 6.263 0 016.269 6.27 6.263 6.263 0 01-6.27 6.27 6.274 6.274 0 01-6.27-6.27zm27.743 19.988a6.28 6.28 0 01-8.866 0 6.28 6.28 0 010-8.867 6.279 6.279 0 018.866 0 6.28 6.28 0 010 8.867zm10.062-3.178L38.045 28.871 6.508 59.279C4.066 54.12 2.426 48.158 2.46 41.376V27.88h71.186v13.496c.017 6.765-1.606 12.744-4.066 17.903M88.799 81.3c0 3.604.973 6.371 4.817 6.371 3.536 0 5.398-2.374 5.398-6.491v-7.175c0-.53-.102-.974-.153-1.384-.12-.922-1.008-1.298-2.221-1.418v-.666h6.082v.666c-1.23.12-2.085.495-2.221 1.418-.051.41-.137.854-.137 1.384v7.277c0 5.552-3.536 7.602-6.867 7.602-5.484 0-7.192-2.784-7.192-7.448v-7.688c0-2.391.102-2.272-2.221-2.545v-.666h6.935v.666c-2.323.273-2.22.154-2.22 2.546v7.55zM117.31 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.086.751.12 1.059.102.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.034-.325.119-.65.119-1.06v-9.361c-.564-.718-1.179-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.002 10.865h.035V77.37c0-.427-.086-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.623.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.684l.017-.017zM127.117 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM137.503 75.166c-1.093 0-1.879.308-1.23 2.221a1204.83 1204.83 0 002.973 8.798c1.281-3.04 2.494-6.116 3.724-9.14.495-1.264-.017-1.879-1.367-1.879v-.512h4.288v.512c-.581 0-1.23.188-1.64 1.196-1.674 4.083-3.348 8.132-5.022 12.198h-1.025c-1.213-3.434-2.563-7.278-3.776-10.643-.734-2.136-1.349-2.75-2.306-2.75v-.513h5.398v.512h-.017zM148.932 88.047c1.793-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.085-1.76-1.708-1.965v-.512h8.9v3.194h-.512c-.205-1.486-.598-2.562-2.033-2.562h-2.7v5.689h1.675c1.247 0 1.793-.496 1.828-1.726h.512v4.237h-.512c-.035-1.162-.496-1.862-1.828-1.862h-1.675v4.493c0 1.69.786 1.828 2.563 1.828 2.887 0 2.75-.82 3.656-2.939h.512l-.598 3.57h-9.788v-.529zM162.735 74.654h5.791c1.999 0 4.015 1.059 4.015 3.382 0 2.05-1.247 3.451-2.785 4.049l1.948 2.955c.991 1.453 2.101 2.853 2.819 3.263v.257h-2.05c-1.179 0-1.811-2.17-4.22-6.168h-1.879v3.69c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512zm3.639 7.124h1.64c1.725 0 2.528-1.299 2.528-3.554s-1.196-2.921-2.648-2.921h-1.537v6.475h.017zM184.568 77.61c-.171-1.384-.923-2.512-2.512-2.512-1.144 0-2.186.598-2.186 2.067 0 1.47 1.383 2.221 3.382 3.724 2.101 1.572 2.785 2.597 2.785 4.237 0 2.358-2.426 3.673-4.818 3.673a9.267 9.267 0 01-3.399-.632c-.086-.034-.137-.12-.137-.273v-2.87h.513c.205 2.203 1.657 3.092 3.211 3.092 1.401 0 2.563-1.077 2.563-2.529 0-1.281-.701-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.999-3.211 4.271-3.211.854 0 1.999.102 2.784.376.12.034.137.12.137.204v2.614h-.512v.017zM193.81 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM205.7 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965V75.286h-1.793c-1.726 0-2.119 1.093-2.785 2.409h-.495l.546-3.041h11.002l.529 3.04h-.512c-.649-1.315-1.042-2.408-2.785-2.408H205.7v10.796zM216.53 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.136-1.794v-.512h5.074v.512c-1.503 0-1.384.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.034-1.794-1.145-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.331 6.03c-.205.393-.222.957-.222 1.453v2.22c0 1.846-.086 1.743 1.708 1.965v.513h-5.364v-.513h.017zM235.527 83.81c0-3.382 2.921-8.438 7.209-8.438 3.434 0 4.186 2.323 4.186 4.646 0 2.836-2.272 8.866-7.192 8.866-3.297 0-4.203-2.647-4.203-5.073m9.02-5.023c0-2.682-1.623-2.784-2.033-2.784-2.784 0-4.612 5.005-4.612 8.353 0 1.333.222 3.759 2.135 3.759 2.938 0 4.51-4.835 4.51-9.328zM258.914 76.225l-.615.547h-3.383c-1.264 6.15-3.331 14.316-4.8 18.228h-1.162l3.69-18.228h-2.443l.24-1.076h2.425c1.367-5.484 5.911-6.065 6.987-6.065.598 0 1.828.103 2.221.462l-.324 1.708-.649.307c-.359-.7-1.179-1.503-2.255-1.503-1.555 0-2.717 1.06-3.332 3.844l-.29 1.23h3.792l-.102.546zM274.391 85.348c0 2.392-.102 2.272 2.221 2.546v.666h-6.935v-.666c2.323-.291 2.22-.154 2.22-2.546v-11.6c0-2.391.103-2.272-2.22-2.545v-.666h6.747c4.288 0 6.39 1.691 6.39 4.783 0 3.707-3.349 5.723-7.295 5.484v-.513c3.212.052 4.715-1.879 4.715-4.715 0-2.835-1.384-4.22-4.271-4.22h-1.572v13.992zM286.384 88.047c1.776-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.068-1.76-1.708-1.965v-.512h8.883v3.194h-.513c-.205-1.486-.598-2.562-2.033-2.562h-2.699v5.689h1.674c1.248 0 1.794-.496 1.828-1.726h.513v4.237h-.513c-.034-1.162-.495-1.862-1.828-1.862h-1.674v4.493c0 1.69.769 1.828 2.563 1.828 2.87 0 2.733-.82 3.656-2.939h.512l-.598 3.57h-9.789v-.512l.018-.017zM312.231 88.577c-3.161-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.086.751.12 1.059.103.717.769 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.563-.718-1.178-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.068-.769-.12-1.076-.102-.718-.769-.991-2.101-1.093v-.513h4.886v.513c-.94.102-1.606.375-1.726 1.093-.034.307-.119.649-.119 1.076v11.224h-.666l.017-.017zM330.373 88.577c-3.16-3.742-6.44-7.654-9.686-11.48v8.798c0 .41.068.751.119 1.059.103.717.786 1.008 2.084 1.093v.513h-4.868v-.513c.956-.085 1.606-.376 1.708-1.093.034-.325.12-.65.12-1.06v-9.361c-.547-.718-1.179-1.35-2.307-1.35v-.512h3.622c2.973 3.604 6.048 7.26 9.02 10.865h.034V77.37c0-.427-.068-.769-.102-1.076-.103-.718-.786-.991-2.102-1.093v-.513h4.869v.513c-.939.102-1.606.375-1.708 1.093-.051.307-.137.649-.137 1.076v11.224h-.666v-.017zM343.322 77.61c-.154-1.384-.922-2.512-2.511-2.512-1.145 0-2.187.598-2.187 2.067 0 1.47 1.401 2.221 3.383 3.724 2.101 1.572 2.784 2.597 2.784 4.237 0 2.358-2.409 3.673-4.817 3.673a9.34 9.34 0 01-3.4-.632c-.068-.034-.136-.12-.136-.273v-2.87h.512c.222 2.203 1.674 3.092 3.212 3.092 1.4 0 2.562-1.077 2.562-2.529 0-1.281-.683-2.34-3.673-4.322-1.076-.717-2.409-1.486-2.409-3.656 0-1.793 1.982-3.211 4.288-3.211.855 0 1.982.102 2.768.376.119.034.137.12.137.204v2.614h-.513v.017zM351.334 88.047c1.794-.222 1.708-.12 1.708-1.965v-3.057l-3.057-6.065c-.65-1.298-1.213-1.794-2.119-1.794v-.512h5.057v.512c-1.503 0-1.367.752-.871 1.794l2.408 4.988 2.734-4.988c.683-1.213.051-1.794-1.128-1.794v-.512h4.1v.512c-.547 0-1.093.257-1.623 1.213l-3.314 6.03c-.188.393-.239.957-.239 1.453v2.22c0 1.846-.085 1.743 1.708 1.965v.513h-5.347v-.513h-.017zM363.6 88.047c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.069-1.76-1.708-1.965v-.512h5.347v.512c-1.794.205-1.708.12-1.708 1.965v9.276c0 1.384.769 1.538 2.545 1.538 2.887 0 2.768-.82 3.673-2.939h.496l-.598 3.57h-9.772v-.512l.017-.017zM379.761 75.166c-1.094 0-1.897.308-1.23 2.221.785 2.358 1.93 5.757 2.972 8.798 1.264-3.04 2.477-6.116 3.707-9.14.496-1.264 0-1.879-1.366-1.879v-.512h4.287v.512c-.58 0-1.23.188-1.64 1.196a2610.34 2610.34 0 01-5.039 12.198h-1.008c-1.213-3.434-2.563-7.278-3.775-10.643-.735-2.136-1.35-2.75-2.307-2.75v-.513h5.416v.512h-.017zM391.77 83.964l-.922 2.665c-.256.77.119 1.435.991 1.435v.513h-3.622v-.513c.547 0 1.128-.341 1.435-.99.854-1.76 3.178-8.252 4.835-12.66h1.11c1.35 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.606 1.743v.513h-4.63v-.513c1.247 0 1.367-.649 1.042-1.52l-.854-2.58h-5.057v.017zm4.818-.751l-2.118-6.458h-.035l-2.374 6.458h4.527zM416.268 88.577c-3.178-3.742-6.441-7.654-9.687-11.48v8.798c0 .41.069.751.12 1.059.102.717.786 1.008 2.084 1.093v.513h-4.869v-.513c.957-.085 1.606-.376 1.709-1.093.051-.325.119-.65.119-1.06v-9.361c-.546-.718-1.161-1.35-2.306-1.35v-.512h3.622c2.955 3.604 6.047 7.26 9.003 10.865h.034V77.37c0-.427-.069-.769-.12-1.076-.102-.718-.786-.991-2.084-1.093v-.513h4.869v.513c-.94.102-1.606.375-1.709 1.093-.034.307-.119.649-.119 1.076v11.224h-.666v-.017zM425.664 86.082c0 1.846-.086 1.743 1.708 1.965v.513h-5.347v-.513c1.794-.222 1.708-.12 1.708-1.965v-8.951c0-1.845.086-1.743-1.708-1.965v-.53h5.347v.53c-1.794.205-1.708.12-1.708 1.965v8.951zM433.983 83.964l-.922 2.665c-.257.77.119 1.435 1.007 1.435v.513h-3.621v-.513c.546 0 1.11-.341 1.435-.99.854-1.76 3.177-8.252 4.834-12.66h1.111c1.349 3.998 3.382 10.131 4.066 11.89.444 1.111.751 1.743 1.605 1.743v.513h-4.629v-.513c1.247 0 1.366-.649 1.059-1.52l-.854-2.58h-5.057l-.034.017zm4.8-.751l-2.101-6.458h-.034l-2.375 6.458h4.51zM101.116 6.201h-5.689v20.654c1.537.53 3.434.786 5.689.786 3.451 0 6.184-.888 8.183-2.665 1.998-1.777 3.006-4.22 3.006-7.295 0-3.314-.991-6.064-2.989-8.217-1.999-2.152-4.715-3.245-8.2-3.245m-17.032-1.76h16.81c5.5 0 9.84 1.213 13.051 3.656 3.212 2.443 4.818 5.569 4.818 9.43 0 3.86-1.401 6.765-4.203 8.815-2.801 2.05-6.816 3.075-12.061 3.075-2.015 0-4.373-.154-7.072-.479v12.898c0 2.785.376 4.698 1.11 5.74.752 1.042 2.119 1.572 4.1 1.572v1.332h-16.57v-1.332c1.981 0 3.348-.547 4.1-1.657.751-1.093 1.11-2.938 1.11-5.501V13.12c0-2.75-.376-4.664-1.11-5.74-.752-1.076-2.119-1.606-4.1-1.606V4.442l.017.017zM119.6 31.758h15.511v-.547c0-2.545-.717-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.4 1.572-2.186 3.724-2.34 6.475m21.388 11.428v2.084c-1.725 2.204-3.485 3.776-5.279 4.715-1.793.94-3.946 1.418-6.457 1.418-4.442 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.768-2.955 6.15-4.442 10.148-4.442 3.297 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58h-20.927v.393c0 3.144.478 5.86 1.435 8.183.956 2.323 2.357 4.134 4.185 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.316-.768 3.075-2.357 5.279-4.766" }), hAsync("path", { fill: "#011F5B", d: "M151.118 21.234v5.69c3.332-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.931.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.861-.734.683-.496 1.042-1.418 1.042-2.819V30.7c0-2-.598-3.57-1.777-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.364 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.827.956v1.333h-15v-1.333c2.17 0 3.503-.341 3.998-1.042.495-.7.752-2.17.752-4.424V27.589c0-1.708-.308-2.818-.906-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.867-.872h1.366v.017z" }), hAsync("path", { fill: "#011F5B", d: "M185.695 21.234v5.69c3.331-3.793 6.748-5.69 10.284-5.69 2.751 0 5.04.94 6.868 2.82 1.828 1.878 2.75 4.338 2.75 7.413v12.847c0 1.964.325 3.263.991 3.895.649.632 1.93.94 3.844.94v1.332h-15.187v-1.333c1.879 0 3.177-.239 3.86-.734.684-.496 1.042-1.418 1.042-2.819V30.7c0-2-.597-3.57-1.776-4.767-1.196-1.178-2.716-1.776-4.578-1.776-2.665 0-5.365 1.862-8.081 5.569v13.923c0 2.357.308 3.86.923 4.51.615.649 1.896.956 3.826.956v1.333h-14.999v-1.333c2.17 0 3.502-.341 3.998-1.042.495-.7.751-2.17.751-4.424V27.589c0-1.708-.307-2.818-.905-3.365-.598-.53-1.879-.803-3.844-.803v-1.332l8.866-.872h1.367v.017zM251.466 40.436h1.366l-2.818 10.045H216.65V49.15c1.879 0 3.229-.598 4.032-1.777.802-1.179 1.195-3.16 1.195-5.928v-28.99c0-2.494-.375-4.22-1.11-5.21-.752-.974-2.118-1.47-4.1-1.47V4.442h16.485v1.332c-1.828 0-3.143.564-3.946 1.692-.803 1.127-1.196 2.99-1.196 5.569v30.767c0 1.708.359 2.87 1.077 3.502.717.632 2.101.94 4.134.94h9.139c2.819 0 4.801-.496 5.928-1.47 1.128-.974 2.187-3.092 3.178-6.338zM261.203 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.683.7-1.486 1.042-2.426 1.042a3.474 3.474 0 01-2.511-1.042c-.7-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.342 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.391-.77.649-.512.973-1.57.973-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.101-.82-4.476-.82V22.09l9.464-.871.017.017zM276.851 27.555v16.246c0 2.119.359 3.57 1.076 4.357.718.785 1.965 1.178 3.759 1.178 3.707 0 6.628-1.195 8.781-3.57 2.152-2.374 3.228-5.723 3.228-10.01 0-3.588-.939-6.51-2.801-8.799-1.862-2.272-4.1-3.416-6.697-3.416-2.733 0-5.176 1.332-7.363 3.997M275.467-.017h1.367V25.47c1.213-1.315 2.665-2.34 4.39-3.109 1.726-.752 3.451-1.145 5.211-1.145 3.69 0 6.816 1.35 9.379 4.015 2.562 2.682 3.826 5.98 3.826 9.874 0 4.578-1.725 8.337-5.159 11.275-3.451 2.938-8.2 4.39-14.247 4.39-2.358 0-5.313-.29-8.849-.87V7.225c0-2.22-.274-3.604-.838-4.117-.563-.53-1.964-.786-4.219-.786V.991L275.467 0v-.017z" }), hAsync("path", { fill: "#011F5B", d: "M310.198 21.234v6.167c2.614-2.272 4.646-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.621-1.366 1.811 0 3.553.751 5.228 2.237l-2.153 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.638 1.144-6.047 3.45v15.649c0 1.572.324 2.63.991 3.194.649.547 1.913.82 3.775.82v1.333h-15.033v-1.333c1.981 0 3.297-.307 3.912-.94.615-.631.922-2.135.922-4.526V28.119c0-1.965-.341-3.246-1.008-3.827-.666-.58-2.289-.871-4.885-.871v-1.332l9.976-.872h1.367l-.017.017zM341.341 44.707v-9.652c-.803.341-1.982.769-3.537 1.298-2.853.974-4.68 1.93-5.483 2.887-.803.957-1.196 2.238-1.196 3.861 0 1.418.427 2.63 1.281 3.673.854 1.042 1.862 1.554 3.041 1.554 1.076 0 2.204-.341 3.382-1.042 1.179-.7 2.016-1.554 2.512-2.58zm-7.654 6.68c-2.221 0-4.134-.735-5.74-2.221-1.588-1.487-2.391-3.263-2.391-5.365 0-2.1.683-3.638 2.067-4.92 1.366-1.298 4.168-2.528 8.371-3.707 2.647-.734 4.424-1.366 5.347-1.879v-2.118c0-2.067-.581-3.741-1.726-5.006-1.144-1.264-2.699-1.896-4.629-1.896-1.76 0-3.315.547-4.664 1.64-1.367 1.094-2.323 2.597-2.87 4.476L326 29.998c.581-2.648 1.828-4.766 3.741-6.355 1.93-1.589 4.185-2.392 6.765-2.392 3.058 0 5.535.923 7.448 2.768 1.897 1.845 2.853 4.407 2.853 7.67v12.215c0 1.725.12 2.904.342 3.519.222.615.649.922 1.281.922.41 0 .752-.17 1.025-.53.256-.358.564-1.092.906-2.22h1.366c-.136 1.777-.683 3.195-1.674 4.237-.991 1.042-2.272 1.571-3.861 1.571-2.323 0-3.946-1.35-4.834-4.048-1.418 1.537-2.665 2.596-3.776 3.177-1.093.581-2.391.871-3.878.871M362.421 21.234v6.167c2.614-2.272 4.647-3.878 6.099-4.783 1.452-.922 2.665-1.366 3.622-1.366 1.811 0 3.553.751 5.227 2.237l-2.152 5.057c-3.041-1.674-5.296-2.511-6.748-2.511-1.623 0-3.639 1.144-6.048 3.45v15.649c0 1.572.325 2.63.991 3.194.649.547 1.914.82 3.776.82v1.333h-15.034v-1.333c1.982 0 3.297-.307 3.912-.94.615-.631.923-2.135.923-4.526V28.119c0-1.965-.342-3.246-1.008-3.827-.666-.58-2.289-.871-4.886-.871v-1.332l9.977-.872h1.366l-.017.017zM387.141 6.509c.974 0 1.777.341 2.46 1.008.683.666 1.008 1.486 1.008 2.46 0 .973-.342 1.793-1.025 2.494-.684.7-1.486 1.042-2.426 1.042-.94 0-1.811-.342-2.511-1.042-.701-.7-1.059-1.52-1.059-2.494 0-.974.341-1.794 1.042-2.46a3.534 3.534 0 012.528-1.008m1.247 14.726h1.367v23.984c0 1.572.341 2.631 1.025 3.144.683.53 1.93.786 3.724.786v1.332h-15.58V49.15c2.272 0 3.741-.257 4.39-.77.649-.512.974-1.57.974-3.177V27.675c0-1.726-.307-2.87-.905-3.434-.598-.546-2.102-.82-4.476-.82V22.09l9.464-.871.017.017zM399.988 31.758h15.511v-.547c0-2.545-.734-4.561-2.169-6.047-1.452-1.487-3.263-2.238-5.433-2.238-2.306 0-4.151.785-5.552 2.357-1.401 1.572-2.187 3.724-2.34 6.475m21.388 11.428v2.084c-1.726 2.204-3.485 3.776-5.279 4.715-1.794.94-3.946 1.418-6.457 1.418-4.459 0-8.115-1.4-11.019-4.185-2.887-2.785-4.339-6.32-4.339-10.626 0-4.305 1.384-7.96 4.134-10.916 2.767-2.955 6.15-4.442 10.147-4.442 3.298 0 6.167 1.11 8.627 3.332 2.46 2.22 3.69 4.885 3.69 7.978v.58H399.97v.393c0 3.144.479 5.86 1.435 8.183.957 2.323 2.341 4.134 4.186 5.433 1.828 1.315 3.741 1.964 5.74 1.964 1.862 0 3.451-.393 4.766-1.162 1.315-.768 3.075-2.357 5.279-4.766M442.678 21.234v8.747h-1.606c-.256-2.204-1.042-3.946-2.357-5.245-1.316-1.298-2.887-1.947-4.749-1.947-1.418 0-2.546.359-3.417 1.06-.854.7-1.298 1.64-1.298 2.818 0 1.179.393 2.17 1.196 3.04.802.872 2.528 1.931 5.193 3.161 3.451 1.572 5.74 3.075 6.85 4.51 1.111 1.435 1.674 3.16 1.674 5.176 0 2.375-.888 4.442-2.665 6.184-1.776 1.743-3.877 2.614-6.32 2.614-1.265 0-2.922-.461-4.989-1.366-1.127-.496-1.879-.752-2.238-.752-.495 0-.922.188-1.247.547-.341.358-.529.82-.598 1.366h-1.366v-9.703h1.366c.496 2.545 1.589 4.578 3.297 6.081 1.709 1.504 3.656 2.256 5.86 2.256 1.418 0 2.597-.479 3.553-1.418.957-.94 1.435-2.102 1.435-3.502 0-1.401-.444-2.495-1.315-3.485-.888-.991-2.785-2.119-5.723-3.4-3.297-1.452-5.467-2.785-6.509-4.049-1.042-1.264-1.571-2.767-1.571-4.561 0-2.22.854-4.151 2.579-5.757 1.709-1.606 3.741-2.409 6.099-2.409 1.093 0 2.289.256 3.57.786.923.359 1.657.547 2.238.547.769 0 1.316-.445 1.691-1.333h1.367v.034z" })), hAsync("defs", null, hAsync("clipPath", { id: "clip0_10377_15535" }, hAsync("path", { fill: "#fff", d: "M0 0H444.165V95H0z" })))));
3595
3714
  };
3596
3715
 
3597
3716
  const pennlibsHeaderCss = ":host{font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default)}*,*:before,*:after{box-sizing:inherit}.viewport-margins{width:100%;max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}a{color:var(--color-fg-menu)}*:focus{box-shadow:0 0 0 2px var(--pl-color-bg-accent), 0 0 0 4px var(--pl-color-bg-accent-emphasis);outline:none}.website-header{--color-fg-service:var(--pl-color-penn-blue);--color-fg-menu:var(--pl-color-fg-default);--color-bg-menu:var(--pl-color-bg-default)}.website-header--dark{--color-fg-service:var(--pl-color-fg-on-emphasis);--color-fg-menu:var(--pl-color-fg-on-emphasis);--color-bg-menu:var(--pl-color-penn-blue)}.website-header__logo-name-container{display:flex;align-items:stretch;margin-right:auto}@media (max-width: 620px){.website-header__logo-name-container{margin-right:6em;flex-direction:column;gap:0.5rem}}.website-header_logo-link{line-height:0}.website-header__logo{max-width:260px;margin-right:1em}@media (max-width: 1000px){.website-header__logo{max-width:200px}}@media (max-width: 620px){.website-header__logo{max-width:190px}}.website-header__service-link{display:flex;justify-content:center;flex-direction:column;text-decoration:none;line-height:1;color:var(--color-fg-service)}@media (min-width: 1001px){.website-header__service-link{padding-left:0.5em}}.website-header__hero .website-header__service-link{border-left:none}.website-header__service-link:hover .website-header__service-name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.1em;text-decoration-color:var(--color-fg-service)}.website-header__service-name{font-size:1.5em;font-weight:500}.website-header__service-lede{font-size:1em}.website-header__inner-container{display:flex;justify-content:space-between;align-items:center;position:relative;padding:1em 0}@media (max-width: 1000px){.website-header__inner-container{flex-direction:column;align-items:flex-start}}@media (max-width: 1000px){.website-header__navigation{width:100%}}.website-header__navigation-list{list-style:none;display:flex;margin:0;padding:0}@media (max-width: 1000px){.website-header__navigation-list{display:none}}@media (max-width: 1000px){.website-header__navigation-list--visible{display:block;margin-top:1rem}.website-header__navigation-list--visible a{display:inline-block}}.website-header__navigation-list button{background-color:transparent;border-width:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;padding:0;color:inherit}.website-header__navigation-list a,.website-header__navigation-list button{display:block;text-decoration:none;cursor:pointer}@media (max-width: 1000px){.website-header__navigation-list a,.website-header__navigation-list button{padding:0.75em 0}}.website-header__navigation-list--visible a,.website-header__navigation-list--visible button{padding:0.5em 0}@media (min-width: 1001px){.website-header__navigation-list a,.website-header__navigation-list button{padding:0.5em}}.website-header__navigation-list a:hover,.website-header__navigation-list button:hover{text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset)}.website-header__navigation-button{all:unset;text-transform:uppercase;font-size:0.75em;letter-spacing:0.075em;font-weight:600;padding:0.5em;border-radius:0.25em;position:absolute;right:0;top:1.5em;display:flex;align-items:center;color:var(--color-fg-service);cursor:pointer}@media (min-width: 1001px){.website-header__navigation-button{display:none}}.website-header__navigation-button[aria-expanded=true] svg{rotate:180deg}@media print{.website-header__inner-container>*:not(.website-header__logo-name-container){display:none}}";
@@ -3663,7 +3782,7 @@ class Header {
3663
3782
  get hostElement() { return getElement(this); }
3664
3783
  static get style() { return pennlibsHeaderCss; }
3665
3784
  static get cmpMeta() { return {
3666
- "$flags$": 9,
3785
+ "$flags$": 265,
3667
3786
  "$tagName$": "pennlibs-header",
3668
3787
  "$members$": {
3669
3788
  "serviceName": [1, "service-name"],
@@ -3740,7 +3859,7 @@ class Hero {
3740
3859
  get hostElement() { return getElement(this); }
3741
3860
  static get style() { return pennlibsHeroCss; }
3742
3861
  static get cmpMeta() { return {
3743
- "$flags$": 9,
3862
+ "$flags$": 265,
3744
3863
  "$tagName$": "pennlibs-hero",
3745
3864
  "$members$": {
3746
3865
  "heroPictureElement": [32],
@@ -3754,6 +3873,162 @@ class Hero {
3754
3873
  }; }
3755
3874
  }
3756
3875
 
3876
+ const pennlibsIiifImgCss = ":host{display:block;width:100%;max-width:100%}picture{display:block;line-height:0}.iiif-img{display:block;width:100%;max-width:100%;height:auto;opacity:0;filter:blur(5px);transition:opacity 0.15s ease-in, filter 0.15s ease-in}.iiif-img.loaded{opacity:1;filter:blur(0)}.fallback-container{display:block;width:100%;height:auto;min-height:200px}.fallback-container pennlibs-fallback-img{width:100%;height:100%}";
3877
+
3878
+ const PIXEL_DENSITY_MULTIPLIERS = [0.5, 0.75, 1, 1.5, 2];
3879
+ const DEFAULT_IMAGE_SIZES = [400, 600, 800, 1200, 1600, 2400];
3880
+ /**
3881
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
3882
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
3883
+ * with modern WebP format and JPG fallback support.
3884
+ *
3885
+ * @component
3886
+ * @example
3887
+ * <pennlibs-iiif-img
3888
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
3889
+ * alt="">
3890
+ * </pennlibs-iiif-img>
3891
+ */
3892
+ class IIIFImg {
3893
+ constructor(hostRef) {
3894
+ registerInstance(this, hostRef);
3895
+ /**
3896
+ * The IIIF [region](https://iiif.io/api/image/3.0/#41-region) of the image to display.
3897
+ * Defines the rectangular portion of the underlying image to return.
3898
+ *
3899
+ * `full`: The full image is returned, without any cropping.
3900
+ *
3901
+ * `square`: A square area where width and height equal the shorter dimension.
3902
+ *
3903
+ * `x,y,w,h`: Absolute pixel coordinates (x, y position; w, h dimensions).
3904
+ *
3905
+ * `pct:x,y,w,h`: Percentage-based coordinates of full image dimensions.
3906
+ *
3907
+ * @default 'full'
3908
+ */
3909
+ this.region = 'full';
3910
+ /**
3911
+ * The IIIF [rotation](https://iiif.io/api/image/3.0/#44-rotation) to apply to the image.
3912
+ * Specifies mirroring and clockwise rotation in degrees (0-360).
3913
+ *
3914
+ * `n`: Rotation in degrees only.
3915
+ *
3916
+ * `!n`: Mirror the image vertically, then rotate by n degrees.
3917
+ *
3918
+ * @default '0'
3919
+ */
3920
+ this.rotation = '0';
3921
+ /**
3922
+ * The IIIF [quality](https://iiif.io/api/image/3.0/#quality) of the image.
3923
+ * Controls the color delivery mode.
3924
+ *
3925
+ * `default`: The server's default quality.
3926
+ *
3927
+ * `color`: Full color information.
3928
+ *
3929
+ * `gray`: Grayscale rendering.
3930
+ *
3931
+ * `bitonal`: Black and white only.
3932
+ *
3933
+ * @default 'default'
3934
+ */
3935
+ this.quality = 'default';
3936
+ /**
3937
+ * Native browser lazy loading behavior. Use "lazy" to defer loading until the image is near the viewport,
3938
+ * or "eager" to load immediately.
3939
+ * @default 'lazy'
3940
+ */
3941
+ this.loading = 'lazy';
3942
+ /**
3943
+ * Whether to display a fallback placeholder image when the IIIF image fails to load.
3944
+ * @default true
3945
+ */
3946
+ this.showFallback = true;
3947
+ this.isLoaded = false;
3948
+ this.hasError = false;
3949
+ this.baseUrl = 'https://iiif-images.library.upenn.edu/iiif/3';
3950
+ this.handleLoad = () => {
3951
+ this.isLoaded = true;
3952
+ };
3953
+ this.handleError = () => {
3954
+ this.hasError = true;
3955
+ };
3956
+ }
3957
+ buildIIIFUrl(width, format = 'jpg') {
3958
+ const sizeParam = width ? `${width},` : 'max';
3959
+ return `${this.baseUrl}/${this.uuid}/${this.region}/${sizeParam}/${this.rotation}/${this.quality}.${format}`;
3960
+ }
3961
+ generateSrcset(sizes, format) {
3962
+ const uniqueSizes = [...new Set(sizes)].sort((a, b) => a - b);
3963
+ const srcsetEntries = uniqueSizes.map(size => {
3964
+ const url = this.buildIIIFUrl(size, format);
3965
+ return `${url} ${size}w`;
3966
+ });
3967
+ return srcsetEntries.join(', ');
3968
+ }
3969
+ getOptimalSizes() {
3970
+ if (this.observedWidth) {
3971
+ const baseSizes = PIXEL_DENSITY_MULTIPLIERS.map(multiplier => Math.round(this.observedWidth * multiplier));
3972
+ return baseSizes;
3973
+ }
3974
+ return [...DEFAULT_IMAGE_SIZES];
3975
+ }
3976
+ componentDidLoad() {
3977
+ if ('ResizeObserver' in window) {
3978
+ this.resizeObserver = new ResizeObserver(entries => {
3979
+ for (const entry of entries) {
3980
+ this.observedWidth = Math.round(entry.contentRect.width);
3981
+ if (this.resizeObserver) {
3982
+ this.resizeObserver.disconnect();
3983
+ this.resizeObserver = undefined;
3984
+ }
3985
+ // Trigger re-render with optimized sizes
3986
+ this.isLoaded = this.isLoaded;
3987
+ }
3988
+ });
3989
+ this.resizeObserver.observe(this.hostElement);
3990
+ }
3991
+ }
3992
+ disconnectedCallback() {
3993
+ if (this.resizeObserver) {
3994
+ this.resizeObserver.disconnect();
3995
+ this.resizeObserver = undefined;
3996
+ }
3997
+ }
3998
+ render() {
3999
+ const sizes = this.getOptimalSizes();
4000
+ if (this.hasError && this.showFallback) {
4001
+ return (hAsync("div", { class: "fallback-container" }, hAsync("pennlibs-fallback-img", null)));
4002
+ }
4003
+ const imgClasses = {
4004
+ 'iiif-img': true,
4005
+ 'loaded': this.isLoaded
4006
+ };
4007
+ const defaultSize = sizes[0];
4008
+ return (hAsync("picture", null, hAsync("source", { type: "image/webp", srcSet: this.generateSrcset(sizes, 'webp'), sizes: "100vw" }), hAsync("img", { class: imgClasses, src: this.buildIIIFUrl(defaultSize, 'jpg'), srcSet: this.generateSrcset(sizes, 'jpg'), sizes: "100vw", alt: this.alt, loading: this.loading, onLoad: this.handleLoad, onError: this.handleError })));
4009
+ }
4010
+ get hostElement() { return getElement(this); }
4011
+ static get style() { return pennlibsIiifImgCss; }
4012
+ static get cmpMeta() { return {
4013
+ "$flags$": 265,
4014
+ "$tagName$": "pennlibs-iiif-img",
4015
+ "$members$": {
4016
+ "uuid": [1],
4017
+ "alt": [1],
4018
+ "region": [1],
4019
+ "rotation": [1],
4020
+ "quality": [1],
4021
+ "loading": [1],
4022
+ "showFallback": [4, "show-fallback"],
4023
+ "isLoaded": [32],
4024
+ "hasError": [32]
4025
+ },
4026
+ "$listeners$": undefined,
4027
+ "$lazyBundleId$": "-",
4028
+ "$attrsToReflect$": []
4029
+ }; }
4030
+ }
4031
+
3757
4032
  const pennlibsFallbackImgCss = ":host{font-family:var(--pl-font-family);font-size:var(--pl-font-size);display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--pl-color-bg-subtle);aspect-ratio:3/2}.no-image__img{width:100%;max-width:150px;filter:grayscale(1) opacity(0.3)}";
3758
4033
 
3759
4034
  class NoImage {
@@ -3767,7 +4042,7 @@ class NoImage {
3767
4042
  static get assetsDirs() { return ["assets"]; }
3768
4043
  static get style() { return pennlibsFallbackImgCss; }
3769
4044
  static get cmpMeta() { return {
3770
- "$flags$": 9,
4045
+ "$flags$": 265,
3771
4046
  "$tagName$": "pennlibs-fallback-img",
3772
4047
  "$members$": undefined,
3773
4048
  "$listeners$": undefined,
@@ -3827,7 +4102,7 @@ class PennlibsFeedback {
3827
4102
  }
3828
4103
  static get style() { return pennlibsFeedbackCss; }
3829
4104
  static get cmpMeta() { return {
3830
- "$flags$": 9,
4105
+ "$flags$": 265,
3831
4106
  "$tagName$": "pennlibs-feedback",
3832
4107
  "$members$": {
3833
4108
  "error": [32],
@@ -3846,6 +4121,7 @@ registerComponents([
3846
4121
  Footer,
3847
4122
  Header,
3848
4123
  Hero,
4124
+ IIIFImg,
3849
4125
  NoImage,
3850
4126
  PennlibsFeedback,
3851
4127
  ]);
@@ -3899,7 +4175,7 @@ var BUILD = {
3899
4175
  vdomRender: true,
3900
4176
  vdomStyle: true,
3901
4177
  vdomText: true,
3902
- watchCallback: true,
4178
+ propChangeCallback: true,
3903
4179
  taskQueue: true,
3904
4180
  hotModuleReplacement: false,
3905
4181
  isDebug: false,
@@ -3947,7 +4223,7 @@ var NAMESPACE = (
3947
4223
  );
3948
4224
 
3949
4225
  /*
3950
- Stencil Hydrate Runner v4.29.3 | MIT Licensed | https://stenciljs.com
4226
+ Stencil Hydrate Runner v4.38.1 | MIT Licensed | https://stenciljs.com
3951
4227
  */
3952
4228
  var __defProp = Object.defineProperty;
3953
4229
  var __export = (target, all) => {
@@ -3961,6 +4237,7 @@ var ORG_LOCATION_ID = "o";
3961
4237
  var SLOT_NODE_ID = "s";
3962
4238
  var TEXT_NODE_ID = "t";
3963
4239
  var HYDRATE_ID = "s-id";
4240
+ var HYDRATED_STYLE_ID = "sty-id";
3964
4241
  var STENCIL_DOC_DATA = "_stencilDocData";
3965
4242
  var XLINK_NS = "http://www.w3.org/1999/xlink";
3966
4243
 
@@ -4671,8 +4948,21 @@ function triggerEventListener(elm, ev) {
4671
4948
  } else if (elm.parentElement == null && elm.tagName === "HTML") {
4672
4949
  triggerEventListener(elm.ownerDocument, ev);
4673
4950
  } else {
4674
- triggerEventListener(elm.parentElement, ev);
4951
+ const nextTarget = getNextEventTarget(elm, ev);
4952
+ triggerEventListener(nextTarget, ev);
4953
+ }
4954
+ }
4955
+ function getNextEventTarget(elm, ev) {
4956
+ if (elm.parentElement) {
4957
+ return elm.parentElement;
4958
+ }
4959
+ if (elm.host && ev.composed) {
4960
+ return elm.host;
4961
+ }
4962
+ if (ev.composed && elm.parentNode && elm.parentNode.host) {
4963
+ return elm.parentNode.host;
4675
4964
  }
4965
+ return null;
4676
4966
  }
4677
4967
  function dispatchEvent(currentTarget, ev) {
4678
4968
  ev.target = currentTarget;
@@ -14314,6 +14604,11 @@ function* streamToHtml(node, opts, output) {
14314
14604
  const mode = ` shadowrootmode="open"`;
14315
14605
  yield mode;
14316
14606
  output.currentLineWidth += mode.length;
14607
+ if (node.delegatesFocus) {
14608
+ const delegatesFocusAttr = " shadowrootdelegatesfocus";
14609
+ yield delegatesFocusAttr;
14610
+ output.currentLineWidth += delegatesFocusAttr.length;
14611
+ }
14317
14612
  }
14318
14613
  const attrsLength = node.attributes.length;
14319
14614
  const attributes = opts.prettyHtml && attrsLength > 1 ? cloneAttributes(node.attributes, true) : node.attributes;
@@ -14832,6 +15127,15 @@ var MockNode2 = class {
14832
15127
  set textContent(value) {
14833
15128
  this._nodeValue = String(value);
14834
15129
  }
15130
+ addEventListener(type, handler) {
15131
+ addEventListener(this, type, handler);
15132
+ }
15133
+ removeEventListener(type, handler) {
15134
+ removeEventListener(this, type, handler);
15135
+ }
15136
+ dispatchEvent(ev) {
15137
+ return dispatchEvent(this, ev);
15138
+ }
14835
15139
  };
14836
15140
  MockNode2.ELEMENT_NODE = 1;
14837
15141
  MockNode2.TEXT_NODE = 3;
@@ -14870,15 +15174,25 @@ var MockElement = class extends MockNode2 {
14870
15174
  addEventListener(this, type, handler);
14871
15175
  }
14872
15176
  attachShadow(_opts) {
15177
+ var _a2;
14873
15178
  const shadowRoot = this.ownerDocument.createDocumentFragment();
15179
+ shadowRoot.delegatesFocus = (_a2 = _opts.delegatesFocus) != null ? _a2 : false;
14874
15180
  this.shadowRoot = shadowRoot;
14875
15181
  return shadowRoot;
14876
15182
  }
14877
15183
  blur() {
14878
- dispatchEvent(
14879
- this,
14880
- new MockFocusEvent("blur", { relatedTarget: null, bubbles: true, cancelable: true, composed: true })
14881
- );
15184
+ if (isCurrentlyDispatching(this, "blur")) {
15185
+ return;
15186
+ }
15187
+ markAsDispatching(this, "blur");
15188
+ try {
15189
+ dispatchEvent(
15190
+ this,
15191
+ new MockFocusEvent("blur", { relatedTarget: null, bubbles: true, cancelable: true, composed: true })
15192
+ );
15193
+ } finally {
15194
+ unmarkAsDispatching(this, "blur");
15195
+ }
14882
15196
  }
14883
15197
  get localName() {
14884
15198
  if (!this.nodeName) {
@@ -15620,6 +15934,28 @@ function setTextContent(elm, text) {
15620
15934
  const textNode = new MockTextNode(elm.ownerDocument, text);
15621
15935
  elm.appendChild(textNode);
15622
15936
  }
15937
+ var currentlyDispatching = /* @__PURE__ */ new WeakMap();
15938
+ function isCurrentlyDispatching(target, eventType) {
15939
+ const dispatchingEvents = currentlyDispatching.get(target);
15940
+ return dispatchingEvents != null && dispatchingEvents.has(eventType);
15941
+ }
15942
+ function markAsDispatching(target, eventType) {
15943
+ let dispatchingEvents = currentlyDispatching.get(target);
15944
+ if (dispatchingEvents == null) {
15945
+ dispatchingEvents = /* @__PURE__ */ new Set();
15946
+ currentlyDispatching.set(target, dispatchingEvents);
15947
+ }
15948
+ dispatchingEvents.add(eventType);
15949
+ }
15950
+ function unmarkAsDispatching(target, eventType) {
15951
+ const dispatchingEvents = currentlyDispatching.get(target);
15952
+ if (dispatchingEvents != null) {
15953
+ dispatchingEvents.delete(eventType);
15954
+ if (dispatchingEvents.size === 0) {
15955
+ currentlyDispatching.delete(target);
15956
+ }
15957
+ }
15958
+ }
15623
15959
 
15624
15960
  // src/mock-doc/comment-node.ts
15625
15961
  var MockComment = class _MockComment extends MockNode2 {
@@ -15647,6 +15983,12 @@ var MockDocumentFragment = class _MockDocumentFragment extends MockHTMLElement {
15647
15983
  getElementById(id) {
15648
15984
  return getElementById(this, id);
15649
15985
  }
15986
+ get adoptedStyleSheets() {
15987
+ return [];
15988
+ }
15989
+ set adoptedStyleSheets(_adoptedStyleSheets) {
15990
+ throw new Error("Unimplemented");
15991
+ }
15650
15992
  cloneNode(deep) {
15651
15993
  const cloned = new _MockDocumentFragment(null);
15652
15994
  if (deep) {
@@ -15695,7 +16037,9 @@ var MockCSSStyleSheet = class {
15695
16037
  deleteRule(index) {
15696
16038
  if (index >= 0 && index < this.cssRules.length) {
15697
16039
  this.cssRules.splice(index, 1);
15698
- updateStyleTextNode(this.ownerNode);
16040
+ if (this.ownerNode) {
16041
+ updateStyleTextNode(this.ownerNode);
16042
+ }
15699
16043
  }
15700
16044
  }
15701
16045
  insertRule(rule, index = 0) {
@@ -15711,9 +16055,23 @@ var MockCSSStyleSheet = class {
15711
16055
  const cssRule = new MockCSSRule(this);
15712
16056
  cssRule.cssText = rule;
15713
16057
  this.cssRules.splice(index, 0, cssRule);
15714
- updateStyleTextNode(this.ownerNode);
16058
+ if (this.ownerNode) {
16059
+ updateStyleTextNode(this.ownerNode);
16060
+ }
15715
16061
  return index;
15716
16062
  }
16063
+ replaceSync(cssText) {
16064
+ this.cssRules = [];
16065
+ const rules = cssText.split("}").map((rule) => rule.trim()).filter(Boolean).map((rule) => rule + "}");
16066
+ for (const rule of rules) {
16067
+ const cssRule = new MockCSSRule(this);
16068
+ cssRule.cssText = rule;
16069
+ this.cssRules.push(cssRule);
16070
+ }
16071
+ if (this.ownerNode) {
16072
+ updateStyleTextNode(this.ownerNode);
16073
+ }
16074
+ }
15717
16075
  };
15718
16076
  function getStyleElementText(styleElm) {
15719
16077
  const output = [];
@@ -16752,9 +17110,11 @@ var WINDOW_PROPS = [
16752
17110
  "NodeList",
16753
17111
  "FocusEvent",
16754
17112
  "KeyboardEvent",
16755
- "MouseEvent"
17113
+ "MouseEvent",
17114
+ "CSSStyleSheet"
16756
17115
  ];
16757
17116
  var GLOBAL_CONSTRUCTORS = [
17117
+ ["CSSStyleSheet", MockCSSStyleSheet],
16758
17118
  ["CustomEvent", MockCustomEvent],
16759
17119
  ["DocumentFragment", MockDocumentFragment],
16760
17120
  ["DOMParser", MockDOMParser],
@@ -16962,12 +17322,6 @@ var MockShadowRoot = class extends MockDocumentFragment {
16962
17322
  get activeElement() {
16963
17323
  return null;
16964
17324
  }
16965
- set adoptedStyleSheets(_adoptedStyleSheets) {
16966
- throw new Error("Unimplemented");
16967
- }
16968
- get adoptedStyleSheets() {
16969
- return [];
16970
- }
16971
17325
  get cloneable() {
16972
17326
  return false;
16973
17327
  }
@@ -17771,7 +18125,7 @@ var MockDocument = class _MockDocument extends MockHTMLElement {
17771
18125
  }
17772
18126
  set location(val) {
17773
18127
  if (this.defaultView != null) {
17774
- this.defaultView.location = val;
18128
+ this.defaultView.location.href = val;
17775
18129
  }
17776
18130
  }
17777
18131
  get baseURI() {
@@ -18546,6 +18900,9 @@ var _colonHostContextRe = createSupportsRuleRe(":host-context");
18546
18900
  var setMode = (handler) => modeResolutionChain.push(handler);
18547
18901
  var CAPTURE_EVENT_SUFFIX = "Capture";
18548
18902
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
18903
+ var baseClass = BUILD.lazyLoad ? class {
18904
+ } : globalThis.HTMLElement || class {
18905
+ };
18549
18906
 
18550
18907
  // src/compiler/html/canonical-link.ts
18551
18908
  var updateCanonicalLink = (doc, href) => {
@@ -19736,6 +20093,7 @@ function renderToString(html, options, asStream) {
19736
20093
  }
19737
20094
  function hydrateDocument(doc, options, asStream) {
19738
20095
  const opts = normalizeHydrateOptions(options);
20096
+ opts.serializeShadowRoot = typeof opts.serializeShadowRoot === "undefined" ? "declarative-shadow-dom" : opts.serializeShadowRoot;
19739
20097
  let win2 = null;
19740
20098
  const results = generateHydrateResults(opts);
19741
20099
  if (hasError(results.diagnostics)) {
@@ -19747,7 +20105,7 @@ function hydrateDocument(doc, options, asStream) {
19747
20105
  opts.destroyDocument = true;
19748
20106
  win2 = new MockWindow(doc);
19749
20107
  if (!asStream) {
19750
- return render(win2, opts, results).then(() => results);
20108
+ return render2(win2, opts, results).then(() => results);
19751
20109
  }
19752
20110
  return renderStream(win2, opts, results);
19753
20111
  } catch (e) {
@@ -19764,7 +20122,7 @@ function hydrateDocument(doc, options, asStream) {
19764
20122
  opts.destroyDocument = false;
19765
20123
  win2 = patchDomImplementation(doc, opts);
19766
20124
  if (!asStream) {
19767
- return render(win2, opts, results).then(() => results);
20125
+ return render2(win2, opts, results).then(() => results);
19768
20126
  }
19769
20127
  return renderStream(win2, opts, results);
19770
20128
  } catch (e) {
@@ -19779,7 +20137,7 @@ function hydrateDocument(doc, options, asStream) {
19779
20137
  renderBuildError(results, `Invalid html or document. Must be either a valid "html" string, or DOM "document".`);
19780
20138
  return Promise.resolve(results);
19781
20139
  }
19782
- async function render(win2, opts, results) {
20140
+ async function render2(win2, opts, results) {
19783
20141
  if ("process" in globalThis && typeof process.on === "function" && !process.__stencilErrors) {
19784
20142
  process.__stencilErrors = true;
19785
20143
  process.on("unhandledRejection", (e) => {
@@ -19804,7 +20162,7 @@ async function render(win2, opts, results) {
19804
20162
  }
19805
20163
  function renderStream(win2, opts, results) {
19806
20164
  async function* processRender() {
19807
- const renderResult = await render(win2, opts, results);
20165
+ const renderResult = await render2(win2, opts, results);
19808
20166
  yield renderResult.html;
19809
20167
  }
19810
20168
  return Readable.from(processRender());
@@ -19840,6 +20198,16 @@ function finalizeHydrate(win2, doc, opts, results) {
19840
20198
  if (opts.removeScripts) {
19841
20199
  removeScripts(doc.documentElement);
19842
20200
  }
20201
+ const styles2 = doc.querySelectorAll("head style");
20202
+ if (styles2.length > 0) {
20203
+ results.styles.push(
20204
+ ...Array.from(styles2).map((style) => ({
20205
+ href: style.getAttribute("href"),
20206
+ id: style.getAttribute(HYDRATED_STYLE_ID),
20207
+ content: style.textContent
20208
+ }))
20209
+ );
20210
+ }
19843
20211
  try {
19844
20212
  updateCanonicalLink(doc, opts.canonicalUrl);
19845
20213
  } catch (e) {