Current section
Files
Jump to
Current section
Files
priv/static/assets/storybook.js
(() => {
var __defProp = Object.defineProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
// assets/js/hooks/index.js
var hooks_exports = {};
__export(hooks_exports, {
ElementalDropdownMultiItem: () => ElementalDropdownMultiItem,
ElementalDropdownSearch: () => ElementalDropdownSearch,
ElementalDropdownSingleItem: () => ElementalDropdownSingleItem
});
// assets/js/hooks/dropdown.js
function debounce(fun, timeoutMs) {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fun.apply(this, args), timeoutMs);
};
}
var ElementalDropdownSearch = {
mounted() {
this.el.oninput = debounce(() => this.filterSibling(), 100);
},
filterSibling() {
const text = this.el.value.toLowerCase();
this.listAllSiblings().forEach((el) => {
const label = el.getAttribute("elemental-label").toLowerCase();
if (label.includes(text))
this.showItem(el);
else
this.hideItem(el);
});
},
listAllSiblings() {
return Array.from(this.el.parentNode.children).filter((child) => child !== this.el);
},
showItem(el) {
const itemId = el.getAttribute("elemental-item-id");
const selector = CSS.escape(itemId);
const itemEl = el.querySelector(`#${selector}`);
itemEl.disabled = false;
el.classList.remove("hidden");
},
hideItem(el) {
const itemId = el.getAttribute("elemental-item-id");
const selector = CSS.escape(itemId);
const itemEl = el.querySelector(`#${selector}`);
itemEl.disabled = true;
el.classList.add("hidden");
}
};
var ElementalDropdownSingleItem = {
mounted() {
this.el.onclick = () => {
this.closeDropdown();
this.updatePrompt();
};
},
updatePrompt() {
this.hideAllPrompts();
this.showSelectedPrompt();
},
hideAllPrompts() {
const promptId = this.el.getAttribute("elemental-hook-prompt-container-id");
const promptEl = document.getElementById(promptId);
Array.from(promptEl.children).forEach((child) => {
const classList = child.classList;
if (!classList.contains("hidden")) {
classList.add("hidden");
}
});
},
showSelectedPrompt() {
const displayId = `${this.el.id}_display`;
document.getElementById(displayId).classList.remove("hidden");
},
// Close the prompt by removing focus from it, this is based
// on how the dropdown is implemented.
closeDropdown() {
const contentId = this.el.getAttribute("elemental-hook-content-id");
const contentEl = document.getElementById(contentId);
contentEl.blur();
}
};
var ElementalDropdownMultiItem = {
mounted() {
this.el.onclick = () => {
this.hideDefaultPrompt();
this.toggleSelf();
this.maybeShowDefaultPrompt();
};
},
hideDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook--default-prompt-id");
const promptEl = document.getElementById(promptId);
if (!promptEl.classList.contains("hidden")) {
promptEl.classList.add("hidden");
}
},
showDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook--default-prompt-id");
const promptEl = document.getElementById(promptId);
if (promptEl.classList.contains("hidden")) {
promptEl.classList.remove("hidden");
}
},
toggleSelf() {
const displayId = `${this.el.id}_display`;
document.getElementById(displayId).classList.toggle("hidden");
},
maybeShowDefaultPrompt() {
const promptId = this.el.getAttribute("elemental-hook-prompt-container-id");
const promptEl = document.getElementById(promptId);
const noPromptShown = Array.from(promptEl.children).every((child) => child.classList.contains("hidden"));
if (noPromptShown)
this.showDefaultPrompt();
}
};
// assets/js/storybook.js
(function() {
window.storybook = { Hooks: hooks_exports };
})();
})();
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXNzZXRzL2pzL2hvb2tzL2luZGV4LmpzIiwgIi4uLy4uLy4uL2Fzc2V0cy9qcy9ob29rcy9kcm9wZG93bi5qcyIsICIuLi8uLi8uLi9hc3NldHMvanMvc3Rvcnlib29rLmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9kcm9wZG93blwiXG4iLCAiLy8gU21hbGwgaGVscGVyIHRvIHdyYXAgYSBmdW5jdGlvbiB3aXRoIGRlYm91bmNlIGJlaGF2aW91ci5cbmZ1bmN0aW9uIGRlYm91bmNlKGZ1biwgdGltZW91dE1zKSB7XG4gIGxldCB0aW1lclxuXG4gIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgIGNsZWFyVGltZW91dCh0aW1lcilcbiAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4gZnVuLmFwcGx5KHRoaXMsIGFyZ3MpLCB0aW1lb3V0TXMpXG4gIH1cbn1cblxuLyoqXG4gKiA+IEltcGxlbWVudHMgY2xpZW50LXNpZGUgdGV4dCBzZWFyY2ggZnVuY3Rpb25hbGl0eSBvbiBkcm9wZG93bnMuXG4gKlxuICogUHJvdmlkZSBjbGllbnQgc2lkZSBiZWhhdmlvdXIgZm9yIHRoZSBkcm9wZG93biBzZWFyY2ggZnVuY3Rpb25hbGl0eSxcbiAqIGludHJvZHVjZXMgYW4gYG9uaW5wdXRgIGV2ZW50IGxpc3RlbmVyIHRoYXQgb24gaW5wdXQgY2hhbmdlcyB3aWxsXG4gKiBmaWx0ZXIgdGhlIGRyb3Bkb3duIGl0ZW1zIGJhc2VkIG9uIHRoZSBzZWFyY2ggcmVzdWx0LlxuICpcbiAqIEZpbHRlcmluZyBpcyBwZXJmb3JtZWQgYnkgc2ltcGx5IGRpc2FibGluZyBhbmQgaGlkaW5nIGl0ZW1zIHRoYXQgZG9uJ3RcbiAqIG1hdGNoIHRoZSBzZWFyY2hlZCB0ZXJtLlxuICpcbiAqIE1hdGNoaW5nIGl0c2VsZiBpcyBwZXJmb3JtZWQgYnkgc2ltcGx5IGRvd25jYXNpbmcgYm90aCB0aGUgYGxhYmVsYFxuICogb2YgdGhlIGl0ZW0gYW5kIHRoZSBpbnB1dHRlZCB0ZXh0LCBhbmQgY2hlY2tpbmcgaWYgdGhlIGxhYmVsXG4gKiBjb250YWlucyB0aGUgaW5wdXR0ZWQgdGV4dC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVsZW1lbnRhbERyb3Bkb3duU2VhcmNoID0ge1xuICBtb3VudGVkKCkgeyB0aGlzLmVsLm9uaW5wdXQgPSBkZWJvdW5jZSgoKSA9PiB0aGlzLmZpbHRlclNpYmxpbmcoKSwgMTAwKSB9LFxuXG4gIGZpbHRlclNpYmxpbmcoKSB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuZWwudmFsdWUudG9Mb3dlckNhc2UoKVxuICAgIHRoaXMubGlzdEFsbFNpYmxpbmdzKCkuZm9yRWFjaChlbCA9PiB7XG4gICAgICBjb25zdCBsYWJlbCA9IGVsLmdldEF0dHJpYnV0ZShcImVsZW1lbnRhbC1sYWJlbFwiKS50b0xvd2VyQ2FzZSgpXG5cbiAgICAgIGlmIChsYWJlbC5pbmNsdWRlcyh0ZXh0KSkgdGhpcy5zaG93SXRlbShlbClcbiAgICAgIGVsc2UgdGhpcy5oaWRlSXRlbShlbClcbiAgICB9KVxuICB9LFxuXG4gIGxpc3RBbGxTaWJsaW5ncygpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsLnBhcmVudE5vZGUuY2hpbGRyZW4pLmZpbHRlcihjaGlsZCA9PiBjaGlsZCAhPT0gdGhpcy5lbClcbiAgfSxcblxuICBzaG93SXRlbShlbCkge1xuICAgIGNvbnN0IGl0ZW1JZCA9IGVsLmdldEF0dHJpYnV0ZShcImVsZW1lbnRhbC1pdGVtLWlkXCIpXG4gICAgY29uc3Qgc2VsZWN0b3IgPSBDU1MuZXNjYXBlKGl0ZW1JZClcbiAgICBjb25zdCBpdGVtRWwgPSBlbC5xdWVyeVNlbGVjdG9yKGAjJHtzZWxlY3Rvcn1gKVxuICAgIGl0ZW1FbC5kaXNhYmxlZCA9IGZhbHNlXG4gICAgZWwuY2xhc3NMaXN0LnJlbW92ZShcImhpZGRlblwiKVxuICB9LFxuXG4gIGhpZGVJdGVtKGVsKSB7XG4gICAgY29uc3QgaXRlbUlkID0gZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWl0ZW0taWRcIilcbiAgICBjb25zdCBzZWxlY3RvciA9IENTUy5lc2NhcGUoaXRlbUlkKVxuICAgIGNvbnN0IGl0ZW1FbCA9IGVsLnF1ZXJ5U2VsZWN0b3IoYCMke3NlbGVjdG9yfWApXG4gICAgaXRlbUVsLmRpc2FibGVkID0gdHJ1ZVxuICAgIGVsLmNsYXNzTGlzdC5hZGQoXCJoaWRkZW5cIilcbiAgfVxufVxuXG4vKipcbiAqIEFsbG93cyBmb3IgdXBkYXRpbmcgdGhlIGRyb3Bkb3duIHByb21wdCB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZVxuICogZnJvbSB0aGUgb3B0aW9ucywgYWRkaXRpb25hbGx5IGNsb3NlcyB0aGUgZHJvcGRvd24gYnlcbiAqIHJlbW92aW5nIGZvY3VzLiBJbnRlbmRlZCBmb3IgaW50ZXJuYWwgdXNlIG9ubHkuXG4gKi9cbmV4cG9ydCBjb25zdCBFbGVtZW50YWxEcm9wZG93blNpbmdsZUl0ZW0gPSB7XG4gIG1vdW50ZWQoKSB7XG4gICAgLy8gVGhpcyBpcyBzaW1wbGUgYnV0IGRvZXMgdGhlIHRyaWNrIHNpbmNlIGl0IGlzIGludGVuZGVkIHRvIHdvcmtcbiAgICAvLyB3aXRoIHJhZGlvIGJ1dHRvbnMsIGkuZS4gY2xpY2sgaW1wbGllcyBzZWxlY3Rpb24uXG4gICAgdGhpcy5lbC5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKClcbiAgICAgIHRoaXMudXBkYXRlUHJvbXB0KClcbiAgICB9XG4gIH0sXG5cbiAgdXBkYXRlUHJvbXB0KCkge1xuICAgIHRoaXMuaGlkZUFsbFByb21wdHMoKVxuICAgIHRoaXMuc2hvd1NlbGVjdGVkUHJvbXB0KClcbiAgfSxcblxuICBoaWRlQWxsUHJvbXB0cygpIHtcbiAgICBjb25zdCBwcm9tcHRJZCA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWhvb2stcHJvbXB0LWNvbnRhaW5lci1pZFwiKVxuICAgIGNvbnN0IHByb21wdEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocHJvbXB0SWQpXG4gICAgQXJyYXkuZnJvbShwcm9tcHRFbC5jaGlsZHJlbikuZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIGNvbnN0IGNsYXNzTGlzdCA9IGNoaWxkLmNsYXNzTGlzdFxuICAgICAgaWYgKCFjbGFzc0xpc3QuY29udGFpbnMoXCJoaWRkZW5cIikpIHtcbiAgICAgICAgY2xhc3NMaXN0LmFkZChcImhpZGRlblwiKVxuICAgICAgfVxuICAgIH0pXG4gIH0sXG5cbiAgc2hvd1NlbGVjdGVkUHJvbXB0KCkge1xuICAgIGNvbnN0IGRpc3BsYXlJZCA9IGAke3RoaXMuZWwuaWR9X2Rpc3BsYXlgXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGlzcGxheUlkKS5jbGFzc0xpc3QucmVtb3ZlKFwiaGlkZGVuXCIpXG4gIH0sXG5cbiAgLy8gQ2xvc2UgdGhlIHByb21wdCBieSByZW1vdmluZyBmb2N1cyBmcm9tIGl0LCB0aGlzIGlzIGJhc2VkXG4gIC8vIG9uIGhvdyB0aGUgZHJvcGRvd24gaXMgaW1wbGVtZW50ZWQuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgY29uc3QgY29udGVudElkID0gdGhpcy5lbC5nZXRBdHRyaWJ1dGUoXCJlbGVtZW50YWwtaG9vay1jb250ZW50LWlkXCIpXG4gICAgY29uc3QgY29udGVudEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGVudElkKVxuICAgIGNvbnRlbnRFbC5ibHVyKClcbiAgfVxufVxuXG4vKipcbiAqIEFsbG93cyBmb3IgdXBkYXRpbmcgdGhlIGRyb3Bkb3duIHByb21wdCB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZVxuICogZnJvbSB0aGUgb3B0aW9ucy4gSW50ZW5kZWQgZm9yIGludGVybmFsIHVzZSBvbmx5LlxuICovXG5leHBvcnQgY29uc3QgRWxlbWVudGFsRHJvcGRvd25NdWx0aUl0ZW0gPSB7XG4gIG1vdW50ZWQoKSB7XG4gICAgdGhpcy5lbC5vbmNsaWNrID0gKCkgPT4ge1xuICAgICAgdGhpcy5oaWRlRGVmYXVsdFByb21wdCgpXG4gICAgICB0aGlzLnRvZ2dsZVNlbGYoKVxuICAgICAgdGhpcy5tYXliZVNob3dEZWZhdWx0UHJvbXB0KClcbiAgICB9XG4gIH0sXG5cbiAgaGlkZURlZmF1bHRQcm9tcHQoKSB7XG4gICAgY29uc3QgcHJvbXB0SWQgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcImVsZW1lbnRhbC1ob29rLS1kZWZhdWx0LXByb21wdC1pZFwiKVxuICAgIGNvbnN0IHByb21wdEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocHJvbXB0SWQpXG4gICAgaWYgKCFwcm9tcHRFbC5jbGFzc0xpc3QuY29udGFpbnMoXCJoaWRkZW5cIikpIHtcbiAgICAgIHByb21wdEVsLmNsYXNzTGlzdC5hZGQoXCJoaWRkZW5cIilcbiAgICB9XG4gIH0sXG5cbiAgc2hvd0RlZmF1bHRQcm9tcHQoKSB7XG4gICAgY29uc3QgcHJvbXB0SWQgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcImVsZW1lbnRhbC1ob29rLS1kZWZhdWx0LXByb21wdC1pZFwiKVxuICAgIGNvbnN0IHByb21wdEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocHJvbXB0SWQpXG4gICAgaWYgKHByb21wdEVsLmNsYXNzTGlzdC5jb250YWlucyhcImhpZGRlblwiKSkge1xuICAgICAgcHJvbXB0RWwuY2xhc3NMaXN0LnJlbW92ZShcImhpZGRlblwiKVxuICAgIH1cbiAgfSxcblxuICB0b2dnbGVTZWxmKCkge1xuICAgIGNvbnN0IGRpc3BsYXlJZCA9IGAke3RoaXMuZWwuaWR9X2Rpc3BsYXlgXG4gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZGlzcGxheUlkKS5jbGFzc0xpc3QudG9nZ2xlKFwiaGlkZGVuXCIpXG4gIH0sXG5cbiAgbWF5YmVTaG93RGVmYXVsdFByb21wdCgpIHtcbiAgICBjb25zdCBwcm9tcHRJZCA9IHRoaXMuZWwuZ2V0QXR0cmlidXRlKFwiZWxlbWVudGFsLWhvb2stcHJvbXB0LWNvbnRhaW5lci1pZFwiKVxuICAgIGNvbnN0IHByb21wdEVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocHJvbXB0SWQpXG4gICAgY29uc3Qgbm9Qcm9tcHRTaG93biA9IEFycmF5LmZyb20ocHJvbXB0RWwuY2hpbGRyZW4pLmV2ZXJ5KChjaGlsZCkgPT4gY2hpbGQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiaGlkZGVuXCIpKVxuICAgIGlmIChub1Byb21wdFNob3duKSB0aGlzLnNob3dEZWZhdWx0UHJvbXB0KClcbiAgfVxufVxuIiwgIi8vIExvYWQgRWxlbWVudGFsJ3MgY3VzdG9tIEphdmFTY3JpcHQgaW50byBzdG9yeWJvb2tcblxuaW1wb3J0ICogYXMgSG9va3MgZnJvbSBcIi4vaG9va3NcIjtcblxuKGZ1bmN0aW9uICgpIHtcbiAgd2luZG93LnN0b3J5Ym9vayA9IHsgSG9va3MgfTtcbn0pKCk7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDQ0EsV0FBUyxTQUFTLEtBQUssV0FBVztBQUNoQyxRQUFJO0FBRUosV0FBTyxJQUFJLFNBQVM7QUFDbEIsbUJBQWEsS0FBSztBQUNsQixjQUFRLFdBQVcsTUFBTSxJQUFJLE1BQU0sTUFBTSxJQUFJLEdBQUcsU0FBUztBQUFBLElBQzNEO0FBQUEsRUFDRjtBQWdCTyxNQUFNLDBCQUEwQjtBQUFBLElBQ3JDLFVBQVU7QUFBRSxXQUFLLEdBQUcsVUFBVSxTQUFTLE1BQU0sS0FBSyxjQUFjLEdBQUcsR0FBRztBQUFBLElBQUU7QUFBQSxJQUV4RSxnQkFBZ0I7QUFDZCxZQUFNLE9BQU8sS0FBSyxHQUFHLE1BQU0sWUFBWTtBQUN2QyxXQUFLLGdCQUFnQixFQUFFLFFBQVEsUUFBTTtBQUNuQyxjQUFNLFFBQVEsR0FBRyxhQUFhLGlCQUFpQixFQUFFLFlBQVk7QUFFN0QsWUFBSSxNQUFNLFNBQVMsSUFBSTtBQUFHLGVBQUssU0FBUyxFQUFFO0FBQUE7QUFDckMsZUFBSyxTQUFTLEVBQUU7QUFBQSxNQUN2QixDQUFDO0FBQUEsSUFDSDtBQUFBLElBRUEsa0JBQWtCO0FBQ2hCLGFBQU8sTUFBTSxLQUFLLEtBQUssR0FBRyxXQUFXLFFBQVEsRUFBRSxPQUFPLFdBQVMsVUFBVSxLQUFLLEVBQUU7QUFBQSxJQUNsRjtBQUFBLElBRUEsU0FBUyxJQUFJO0FBQ1gsWUFBTSxTQUFTLEdBQUcsYUFBYSxtQkFBbUI7QUFDbEQsWUFBTSxXQUFXLElBQUksT0FBTyxNQUFNO0FBQ2xDLFlBQU0sU0FBUyxHQUFHLGNBQWMsSUFBSSxVQUFVO0FBQzlDLGFBQU8sV0FBVztBQUNsQixTQUFHLFVBQVUsT0FBTyxRQUFRO0FBQUEsSUFDOUI7QUFBQSxJQUVBLFNBQVMsSUFBSTtBQUNYLFlBQU0sU0FBUyxHQUFHLGFBQWEsbUJBQW1CO0FBQ2xELFlBQU0sV0FBVyxJQUFJLE9BQU8sTUFBTTtBQUNsQyxZQUFNLFNBQVMsR0FBRyxjQUFjLElBQUksVUFBVTtBQUM5QyxhQUFPLFdBQVc7QUFDbEIsU0FBRyxVQUFVLElBQUksUUFBUTtBQUFBLElBQzNCO0FBQUEsRUFDRjtBQU9PLE1BQU0sOEJBQThCO0FBQUEsSUFDekMsVUFBVTtBQUdSLFdBQUssR0FBRyxVQUFVLE1BQU07QUFDdEIsYUFBSyxjQUFjO0FBQ25CLGFBQUssYUFBYTtBQUFBLE1BQ3BCO0FBQUEsSUFDRjtBQUFBLElBRUEsZUFBZTtBQUNiLFdBQUssZUFBZTtBQUNwQixXQUFLLG1CQUFtQjtBQUFBLElBQzFCO0FBQUEsSUFFQSxpQkFBaUI7QUFDZixZQUFNLFdBQVcsS0FBSyxHQUFHLGFBQWEsb0NBQW9DO0FBQzFFLFlBQU0sV0FBVyxTQUFTLGVBQWUsUUFBUTtBQUNqRCxZQUFNLEtBQUssU0FBUyxRQUFRLEVBQUUsUUFBUSxDQUFDLFVBQVU7QUFDL0MsY0FBTSxZQUFZLE1BQU07QUFDeEIsWUFBSSxDQUFDLFVBQVUsU0FBUyxRQUFRLEdBQUc7QUFDakMsb0JBQVUsSUFBSSxRQUFRO0FBQUEsUUFDeEI7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFFQSxxQkFBcUI7QUFDbkIsWUFBTSxZQUFZLEdBQUcsS0FBSyxHQUFHO0FBQzdCLGVBQVMsZUFBZSxTQUFTLEVBQUUsVUFBVSxPQUFPLFFBQVE7QUFBQSxJQUM5RDtBQUFBO0FBQUE7QUFBQSxJQUlBLGdCQUFnQjtBQUNkLFlBQU0sWUFBWSxLQUFLLEdBQUcsYUFBYSwyQkFBMkI7QUFDbEUsWUFBTSxZQUFZLFNBQVMsZUFBZSxTQUFTO0FBQ25ELGdCQUFVLEtBQUs7QUFBQSxJQUNqQjtBQUFBLEVBQ0Y7QUFNTyxNQUFNLDZCQUE2QjtBQUFBLElBQ3hDLFVBQVU7QUFDUixXQUFLLEdBQUcsVUFBVSxNQUFNO0FBQ3RCLGFBQUssa0JBQWtCO0FBQ3ZCLGFBQUssV0FBVztBQUNoQixhQUFLLHVCQUF1QjtBQUFBLE1BQzlCO0FBQUEsSUFDRjtBQUFBLElBRUEsb0JBQW9CO0FBQ2xCLFlBQU0sV0FBVyxLQUFLLEdBQUcsYUFBYSxtQ0FBbUM7QUFDekUsWUFBTSxXQUFXLFNBQVMsZUFBZSxRQUFRO0FBQ2pELFVBQUksQ0FBQyxTQUFTLFVBQVUsU0FBUyxRQUFRLEdBQUc7QUFDMUMsaUJBQVMsVUFBVSxJQUFJLFFBQVE7QUFBQSxNQUNqQztBQUFBLElBQ0Y7QUFBQSxJQUVBLG9CQUFvQjtBQUNsQixZQUFNLFdBQVcsS0FBSyxHQUFHLGFBQWEsbUNBQW1DO0FBQ3pFLFlBQU0sV0FBVyxTQUFTLGVBQWUsUUFBUTtBQUNqRCxVQUFJLFNBQVMsVUFBVSxTQUFTLFFBQVEsR0FBRztBQUN6QyxpQkFBUyxVQUFVLE9BQU8sUUFBUTtBQUFBLE1BQ3BDO0FBQUEsSUFDRjtBQUFBLElBRUEsYUFBYTtBQUNYLFlBQU0sWUFBWSxHQUFHLEtBQUssR0FBRztBQUM3QixlQUFTLGVBQWUsU0FBUyxFQUFFLFVBQVUsT0FBTyxRQUFRO0FBQUEsSUFDOUQ7QUFBQSxJQUVBLHlCQUF5QjtBQUN2QixZQUFNLFdBQVcsS0FBSyxHQUFHLGFBQWEsb0NBQW9DO0FBQzFFLFlBQU0sV0FBVyxTQUFTLGVBQWUsUUFBUTtBQUNqRCxZQUFNLGdCQUFnQixNQUFNLEtBQUssU0FBUyxRQUFRLEVBQUUsTUFBTSxDQUFDLFVBQVUsTUFBTSxVQUFVLFNBQVMsUUFBUSxDQUFDO0FBQ3ZHLFVBQUk7QUFBZSxhQUFLLGtCQUFrQjtBQUFBLElBQzVDO0FBQUEsRUFDRjs7O0FDM0lBLEdBQUMsV0FBWTtBQUNYLFdBQU8sWUFBWSxFQUFFLHFCQUFNO0FBQUEsRUFDN0IsR0FBRzsiLAogICJuYW1lcyI6IFtdCn0K