{"version":3,"file":"application.js","sources":["../../javascript/icasf_app.js","../../javascript/utilities/index.js","../../javascript/components/accordion_end.js","../../javascript/component.js","../../javascript/components/accordion.js","../../javascript/components/block_level_link.js","../../javascript/components/jump_link_editor.js","../../javascript/utilities/focus-lock.js","../../javascript/elements/generic_carousel.js","../../javascript/components/lightbox.js","../../javascript/utilities/animation.js","../../javascript/components/main_nav.js","../../javascript/components/mini_calendar.js","../../javascript/components/modal.js","../../../node_modules/ev-emitter/ev-emitter.js","../../../node_modules/get-size/get-size.js","../../../node_modules/desandro-matches-selector/matches-selector.js","../../../node_modules/fizzy-ui-utils/utils.js","../../../node_modules/flickity/js/cell.js","../../../node_modules/flickity/js/slide.js","../../../node_modules/flickity/js/animate.js","../../../node_modules/flickity/js/flickity.js","../../../node_modules/unipointer/unipointer.js","../../../node_modules/unidragger/unidragger.js","../../../node_modules/flickity/js/drag.js","../../../node_modules/flickity/js/prev-next-button.js","../../../node_modules/flickity/js/page-dots.js","../../../node_modules/flickity/js/player.js","../../../node_modules/flickity/js/add-remove-cell.js","../../../node_modules/flickity/js/lazyload.js","../../../node_modules/flickity/js/index.js","../../javascript/components/remote_content_area.js","../../javascript/components/responsive_image.js","../../javascript/magic_modules/billboard_module.js","../../javascript/elements/crossfade_carousel.js","../../../node_modules/plyr/dist/plyr.min.mjs","../../javascript/elements/video.js","../../javascript/magic_modules/carousel_module.js","../../javascript/magic_modules/image_grid_module.js","../../javascript/magic_modules/poster_module.js","../../javascript/magic_modules/video_module.js","../../javascript/index.js"],"sourcesContent":["// UNCOMMENT FOR DEBOUNCE OR THROTTLE SUPPORT. NOTE: REQUIRES LODASH TO BE INSTALLED\n// import debounce from \"lodash/debounce\";\n// import throttle from \"lodash/throttle\";\n\nclass App {\n constructor() {\n this.rootFontSize = App.getRootFontSize();\n\n // NOTE: breakpoints in rem units\n // NOTE: MAKE THIS MATCH YOUR SCSS BREAKPOINTS\n this.breakpoints = {\n \"xxl\": 93.75, // 1500px – ...\n \"xl\": 75, // 1200px – 1499\n \"lg\": 51.25, // 820px – 1199px\n \"md\": 37.5, // 650px – 819px\n \"sm\": 0, // 0px – 649px\n };\n\n // Initial state\n this.state = {\n breakpoint: this.getBreakpoint(),\n };\n\n // Out-of-the-box events\n const builtInEvents = [\n { parent: document, type: \"turbolinks:load\" },\n { parent: document, type: \"turbolinks:visit\" },\n { parent: document, type: \"turbolinks:before-visit\" },\n { parent: document, type: \"turbolinks:before-render\" },\n { parent: document, type: \"turbolinks:before-cache\" },\n { parent: document, type: \"DOMContentLoaded\" },\n { parent: document, type: \"focusin\" },\n { parent: document, type: \"focusout\" },\n { parent: document, type: \"mouseenter\" },\n { parent: document, type: \"mouseleave\" },\n { parent: document, type: \"click\" },\n { parent: document, type: \"change\" },\n { parent: document, type: \"keydown\" },\n { parent: document, type: \"keyup\" },\n { parent: window, type: \"scroll\", throttle: 100 },\n { parent: window, type: \"resize\", debounce: 200 },\n { parent: window, type: \"breakpoint\" },\n { parent: document, type: \"page-load\" },\n { parent: window, type: \"popstate\" },\n { parent: document, type: \"economy:magic_module_updated\" },\n { parent: document, type: \"economy:magic_module_order_updated\" },\n { parent: document, type: \"economy:magic_module_edit\" },\n { parent: document, type: \"modal:load\" },\n { parent: document, type: \"modal:open\" },\n { parent: document, type: \"modal:close\" },\n ];\n\n // Build standardized events object\n this.events = []\n\n // Attach a listener for each registered event type,\n // optionally debouncing the handlers.\n builtInEvents.forEach((eventConfig) => {\n let executeAllHandlers = (originalEvent) => {\n this.emit(eventConfig.type, originalEvent);\n };\n\n // UNCOMMENT FOR DEBOUNCE OR THROTTLE SUPPORT. NOTE: REQUIRES LODASH TO BE INSTALLED\n // if (eventConfig.debounce) {\n // executeAllHandlers = debounce(executeAllHandlers, eventConfig.debounce);\n // } else if (eventConfig.throttle) {\n // executeAllHandlers = throttle(executeAllHandlers, eventConfig.throttle);\n // }\n\n eventConfig.parent.addEventListener(eventConfig.type, executeAllHandlers);\n });\n\n // Setup custom events\n this.addEventListener(\"resize\", {\n name: \"breakpoint-checker\",\n handler: () => {\n const previousBreakpoint = this.state.breakpoint;\n const currentBreakpoint = this.getBreakpoint();\n if (currentBreakpoint !== this.state.breakpoint) {\n this.state.breakpoint = currentBreakpoint;\n this.emit(\"breakpoint\", {\n previous: previousBreakpoint,\n current: currentBreakpoint,\n });\n }\n },\n });\n\n this.addEventListener(\"turbolinks:load\", () => {\n this.emit(\"page-load\", {\n target: document.body,\n originalEvent: \"turbolinks:load\"\n });\n });\n\n $(window).on(\"economy:magic_module_updated\", (e) => {\n this.emit(\"page-load\", {\n target: e.target,\n originalEvent: \"economy:magic_module_updated\"\n });\n\n this.emit(\"economy:magic_module_updated\", {\n target: e.target,\n });\n });\n\n $(window).on(\"economy:magic_module_order_updated\", () => {\n const container = document.getElementById(\"magic-modules\");\n this.emit(\"economy:magic_module_order_updated\", {\n target: container,\n magicModules: container.querySelectorAll(\".mm\"),\n });\n });\n\n $(window).on(\"economy:init:fields\", (e) => {\n this.emit(\"economy:magic_module_edit\", {\n target: e.target,\n });\n });\n\n this.addEventListener('main-nav:load', (e) => {\n this.emit(\"page-load\", e);\n });\n\n this.addEventListener(\"modal:load\", (e) => {\n this.emit(\"page-load\", {\n target: e.target,\n originalEvent: \"modal:load\"\n });\n });\n\n this.addEventListener(\"remote-content-area:load\", (e) => {\n e.content.forEach((element) => {\n this.emit(\"page-load\", {\n target: element\n })\n })\n })\n }\n\n addEventListener(type, e) {\n if (!this.events[type]) {\n this.events[type] = {};\n }\n\n const name = e.name || Object.keys(this.events[type]).length;\n const handler = e instanceof Function ? e : e.handler;\n this.events[type][name] = handler;\n\n return this.removeEventListener.bind(this, type, name);\n }\n\n removeEventListener(type, data) {\n const name = typeof data === \"string\" ? data : data.name;\n if (this.events[type] && this.events[type][name]) {\n delete this.events[type][name];\n }\n }\n\n emit(type, originalEvent) {\n if (!this.events[type]) {\n return;\n }\n\n Object.values(this.events[type]).forEach((handler) => {\n if (handler instanceof Function) {\n handler(originalEvent);\n }\n });\n }\n\n updateState(update) {\n this.state = Object.assign({}, this.state, update);\n }\n\n // NOTE: do not call this method directly. Opt instead to use `this.state.breakpoint`\n getBreakpoint() {\n const viewportWidth = window.innerWidth / this.rootFontSize;\n const [breakpoint] = Object.entries(this.breakpoints).find(\n ([_, minViewportSize]) => viewportWidth >= minViewportSize // eslint-disable-line no-unused-vars\n );\n return breakpoint;\n }\n\n // NOTE: css media queries use rem units, so our js recreation of breakpoint should too.\n // We need the root font size in pixels to convert `window.innerWidth` to rem units.\n // `getComputedStyle` causes DOM reflow, though, so we want to minimize how often we check it.\n static getRootFontSize() {\n return parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n}\nexport default new App();\n","export const isEconomyEditMode = () =>\n document.documentElement.classList.contains(\"edit\") ||\n document.documentElement.classList.contains(\"record\");\n\nexport const interpolate = (min, max, progress) => {\n return progress * (max - min) + min;\n};\n\nexport const clamp = (val, min, max) => Math.min(Math.max(val, min), max);\n\nexport const fetchPageMarkup = (url) => {\n const parsedUrl = editSearchParams(url, (params) => {\n params.set(\"remote\", \"1\");\n });\n return fetch(parsedUrl, {\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\",\n },\n })\n .then((res) => res.text())\n .catch((err) => {\n console.error(\"Could not load the requested page.\", err); // eslint-disable-line no-console\n });\n};\n\nexport const fetchJson = (url) => {\n return fetch(url, {\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\",\n },\n })\n .then((res) => res.json())\n .catch((err) => {\n console.error(\"Could not load the requested page.\", err); // eslint-disable-line no-console\n });\n};\n\nexport const editSearchParams = (url, cb) => {\n // The URL interface treats relative URLs as invalid unless we pass in a base.\n const formatted =\n url.startsWith(\"/\") || url.startsWith(\"?\")\n ? new URL(url, window.location.origin)\n : new URL(url);\n const params = new URLSearchParams(formatted.search);\n cb(params, url);\n formatted.search = params.toString();\n return formatted.href;\n};\n\nexport const getLastItem = (arr) => {\n return arr[arr.length - 1];\n};\n\nexport const wait = (duration) => {\n console.log('WAIT!', duration)\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n};\n\nexport const getPreviousSiblings = (element) => {\n let acc;\n let traverser = element;\n while ((traverser = element.previousSibling)) {\n acc.push(traverser);\n }\n return acc;\n};\n\nexport const getNextSiblings = (element) => {\n let acc;\n let traverser = element;\n while ((traverser = element.nextSibling)) {\n acc.push(traverser);\n }\n return acc;\n};\n\nexport function slugify(string) {\n let output = string;\n // Trim whitespace\n output = output.replace(/^\\s+|\\s+$/g, \"\");\n // All lowercae\n output = output.toLowerCase();\n\n // Remove accents, swap ñ for n, etc\n const from = \"àáäâèéëêìíïîòóöôùúüûñç·/_,:;\";\n const to = \"aaaaeeeeiiiioooouuuunc------\";\n for (let i = 0, l = from.length; i < l; i++) {\n output = output.replace(new RegExp(from.charAt(i), \"g\"), to.charAt(i));\n }\n\n return output\n .replace(/[^a-z0-9 -]/g, \"\") // remove invalid chars\n .replace(/\\s+/g, \"-\") // collapse whitespace and replace by -\n .replace(/-+/g, \"-\"); // collapse dashes\n}\n\nexport const loopAround = (val, min, max) => {\n if (val > max) {\n return min;\n }\n if (val < min) {\n return max;\n }\n return val;\n};\n\nexport const promiseOrTimeout = ({ promise, timeout, result = \"resolve\" }) => {\n return new Promise((resolve, reject) => {\n let settled = false;\n promise()\n .then((...args) => {\n settled = true;\n resolve(...args);\n })\n .catch((...args) => {\n settled = true;\n reject(...args);\n });\n setTimeout(() => {\n if (settled) {\n return;\n }\n\n console.log('Time out occurred before promise could resolve.')\n if (result === \"resolve\") {\n resolve();\n } else {\n reject();\n }\n }, timeout);\n });\n};\n","/* global $ */\nimport app from \"../icasf_app\";\nimport { isEconomyEditMode } from \"../utilities\";\n\nconst resetAllAccordionAffectedModules = () => {\n [...document.querySelectorAll(\n \".starts-accordion, .ends-accordion, .accordion-content\"\n )].forEach((el) => {\n el.classList.remove(\n \"starts-accordion\",\n \"ends-accordion\",\n \"accordion-content\"\n )\n })\n};\n\nconst updateAccordionAffectedModules = (startModule) => {\n const parent = $(startModule).closest(\".edit-interface.mm\")[0];\n parent.classList.add(\"starts-accordion\");\n let el = parent.nextElementSibling;\n\n while (el) {\n const endsAccordion = Boolean(el.querySelector(\".js-accordion-end-banner\"));\n if (endsAccordion) {\n el.classList.add(\"ends-accordion\");\n break;\n } else {\n el.classList.add(\"accordion-content\");\n el = el.nextElementSibling;\n }\n }\n};\n\nconst updateAccordionHints = () => {\n resetAllAccordionAffectedModules();\n [...document.querySelectorAll(\".js-accordion-module\")].forEach(updateAccordionAffectedModules)\n};\n\nexport default () => {\n app.addEventListener(\"turbolinks:load\", () => {\n if (!isEconomyEditMode()) {\n return;\n }\n\n updateAccordionHints();\n $(document).on(\"economy:magic_module_updated\", updateAccordionHints);\n $(document).on(\"economy:magic_module_order_updated\", updateAccordionHints);\n $(document).on(\"economy:magic_module_removed\", updateAccordionHints);\n });\n};\n","import app from \"./icasf_app\";\n\nexport default class Component {\n static eventNamespace = null;\n\n constructor(props = {}) {\n this.props = props;\n this.setUpElements();\n this.setUpState();\n this.setUpEvents();\n }\n\n setUpElements() {\n this.elements = {};\n }\n\n setUpState() {\n this.state = this.defaultState;\n }\n\n setUpEvents() {\n this.events = {};\n }\n\n on(event, handler) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(handler);\n\n return this.off.bind(this, event, handler);\n }\n\n off(event, handler) {\n this.events[event] = this.events[event].filter((e) => e !== handler);\n }\n\n emit(event, {...args} = {}) {\n const formattedArgs = Object.assign({}, this.defaultEventData, args);\n if (this.events[event]?.length) {\n this.events[event].forEach((cb) => cb.call(this, formattedArgs));\n }\n\n const key = this.constructor.eventNamespace\n ? `${this.constructor.eventNamespace}:${event}`\n : event;\n app.emit(key, formattedArgs);\n }\n\n update(update) {\n const previousState = Object.assign({}, this.state);\n Object.assign(this.state, update);\n return this.render(update, previousState);\n }\n\n render(_update, _previousState) {\n return true;\n }\n\n destroy() {\n this.unlistenDestroy();\n }\n\n get defaultEventData() {\n return {};\n }\n\n get defaultState() {\n return {};\n }\n}\n","/* JavaScript for AccordionModule */\nimport app from \"../icasf_app\";\nimport Component from \"../component\";\nexport class Accordion extends Component {\n get defaultState() {\n return {\n open: this.props.initiallyOpen,\n };\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.element = element;\n this.elements.toggler = element.querySelector(\".js-accordion__toggler\");\n this.elements.body = element.querySelector(\".js-accordion__body\");\n this.elements.openIcon = element.querySelector(\".js-accordion__open-icon\");\n this.elements.closeIcon = element.querySelector(\n \".js-accordion__close-icon\"\n );\n }\n\n setUpEvents() {\n this.elements.toggler.onchange = this.handleToggle.bind(this);\n }\n\n handleToggle(e) {\n console.log('Toggle', e.target.checked)\n if (e.target.checked === true) {\n this.open();\n } else {\n this.close();\n }\n }\n\n open() {\n this.update({ open: true });\n }\n\n close() {\n this.update({ open: false });\n }\n\n toggle() {\n if (this.state.open) {\n this.close();\n } else {\n this.open();\n }\n }\n\n render(update) {\n if (update.hasOwnProperty(\"open\")) {\n if (this.state.open) {\n this.elements.body.style.setProperty(\"display\", \"block\");\n this.elements.openIcon.style.setProperty(\"display\", \"none\");\n this.elements.closeIcon.style.setProperty(\"display\", \"block\");\n this.elements.toggler.setAttribute(\"checked\", \"true\");\n } else {\n this.elements.body.style.setProperty(\"display\", \"none\");\n this.elements.openIcon.style.setProperty(\"display\", \"block\");\n this.elements.closeIcon.style.setProperty(\"display\", \"none\");\n this.elements.toggler.removeAttribute(\"checked\");\n }\n }\n }\n}\n\n// Exports an array of all the current instances\nexport const accordions = {\n current: [],\n};\n\n// Export an init function that looks for and instantiates the module on page-load\nexport const init = () => {\n // Initialize any instances of the AccordionModule on any given page\n app.addEventListener(\"page-load\", (e) => {\n accordions.current = [...e.target.querySelectorAll(\".js-accordion\")].map(\n (element) => {\n const initiallyOpen = element.classList.contains(\".js-accordion--open\");\n new Accordion({ element, initiallyOpen });\n }\n );\n });\n};\n","import app from \"../icasf_app\";\nimport * as util from \"../utilities\";\n\n/*\n This component helps with accessibility when we need to make an\n entire block of content a link.\n\n Generally speaking, we don't want to wrap entire blocks of content\n in an tag. If you do, a screen reader will announce the whole\n block at once. \n\n Instead, we wrap a meaninful span of tag in the and use this\n JS to add a \"click\" handler. \n\n To use, apply the `.js-block-level-link` to the element you want\n to be clickable. This element should contain an tag.\n\n \n\n NOTE: we don't use a click handler because we want to preserve\n the ability to select text. For more on this approach, see this\n article from Inclusive Components: https://inclusive-components.design/cards/\n\n NOTE: This component takes special precautions to avoid redundant\n initialization when content is loaded asynchronously. This helps keep\n things clean when \"load more\" buttons are clicked. Theoretically all\n components should take these precautions, but it's not exactly easy\n to make a one-size-fits-all solution.\n*/\n\nconst SELECTOR = \".js-block-level-link\";\nexport class BlockLevelLink {\n constructor(element) {\n const alreadyInitialized = blockLevelLinks.current.some(\n (instance) => instance.element === element\n );\n if (alreadyInitialized) {\n return;\n }\n\n this.element = element;\n\n // Prefer to target an element directly labeled as the direct, in case there are other links that are children.\n const anchorTag =\n element.querySelector(\".js-block-level-link__target\") ||\n element.querySelector(\"a[href]\");\n\n if (!anchorTag) {\n return;\n }\n\n let mouseDownTime;\n\n element.addEventListener(\"mousedown\", () => {\n mouseDownTime = new Date().getTime();\n });\n\n element.addEventListener(\"mouseup\", () => {\n if (!mouseDownTime) {\n return;\n }\n\n const currentTime = new Date().getTime();\n if (currentTime - mouseDownTime < 200) {\n anchorTag.click();\n }\n\n mouseDownTime = null;\n });\n }\n}\n\nexport const blockLevelLinks = {\n current: [],\n\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n if (util.isEconomyEditMode()) {\n return;\n }\n\n if (e.target.matches(SELECTOR)) {\n const instance = new BlockLevelLink(e.target);\n blockLevelLinks.current = [...blockLevelLinks.current, instance];\n } else {\n const elements = e.target.querySelectorAll(SELECTOR);\n const instances = [...elements]\n .map((element) => {\n return new BlockLevelLink(element);\n })\n .filter((b) => b);\n \n blockLevelLinks.current = [...blockLevelLinks.current, ...instances];\n }\n });\n },\n};\n","import app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { slugify } from \"../utilities\";\n\nexport class JumpLinkEditor extends Component {\n get defaultState() {\n return { enabled: false, slug: null };\n }\n\n constructor(props) {\n super(props);\n\n this.setSlug();\n }\n\n setUpElements() {\n super.setUpElements();\n const { element } = this.props;\n this.elements.checkbox = element.querySelector(\".magic_module_jump_link input.boolean\");\n this.elements.textInput = element.querySelector(\".magic_module_title input, .magic_module_text input\");\n this.elements.slugInput = element.querySelector(\".magic_module_jump_link_slug input\");\n this.elements.hint = element.querySelector(\".js-jump-link-hint\");\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n const handler = this.setSlug.bind(this);\n this.elements.checkbox.onchange = handler;\n this.elements.textInput.onkeyup = handler;\n this.elements.slugInput.onkeyup = handler;\n }\n\n setSlug() {\n if (!this.elements.checkbox.checked) {\n this.update({\n slug: \"\"\n })\n return;\n } else if (this.elements.slugInput.value) {\n this.update({\n slug: slugify(this.elements.slugInput.value)\n })\n } else if (this.elements.textInput.value) {\n this.update({\n slug: slugify(this.elements.textInput.value)\n })\n } else {\n this.update({\n slug: \"\"\n })\n }\n }\n\n render(update) {\n if (this.state.slug) {\n const url = new URL(window.location.href);\n url.pathname = url.pathname.replace(\"/edit\", \"\").replace(\"/new\", \"\");\n url.hash = this.state.slug;\n this.elements.hint.innerHTML = `Your jump link with be ${url.pathname + url.hash}`;\n } else {\n this.elements.hint.textContent = \"\";\n }\n }\n}\n\nexport const jumpLinkEditors = {\n current: [],\n init: () => {\n app.addEventListener(\"economy:magic_module_edit\", (e) => {\n const element = e.target.querySelector(\".magic_module_jump_link\");\n\n if (!element) {\n return;\n }\n\n jumpLinkEditors.current = [\n ...jumpLinkEditors.current,\n new JumpLinkEditor({ element: e.target }),\n ];\n });\n },\n};\n","/*\n This class is used to control keyboard focus and keep it contained\n within a set of constraints. It is used to add accessibility to dialogs,\n so that users are not focusing elements that are outside of the dialog.\n\n \"Constraints\" are enforced whenever the users changes focus. If the currently focused\n element does not meet the constraints, then focus is redirected back to the `loopTarget`.\n \n Constraints can either be selectors that the element must match, or they can be\n HTML elements that must either *be* the currently focused element or *contain* it.\n\n This class has support for a tracked \"history\" of constraints (each of which is called an \"entry\").\n This allows you open a second focus lock while one is already open. When the second one is\n unlocked, the first one will be made active again.\n\n This class is exported as a singleton so that its state can be shared\n across several parts of the app.\n\n Example:\n const focusableElements = document.querySelectorAll(\".focusable-element\");\n // Locks the focus\n const unlock = focusLock.lock({\n elements: [...focusableElements],\n loopTarget: focusableElements[0]\n })\n\n // Unlocks the focus\n unlock();\n\n Example:\n focusLock.lock({\n selectors: [\".modal *\", \".some-other-selector\"],\n loopTarget: document.getElementById(\"modal-close-button\")\n })\n\n TODO:\n - Support moving in reverse with shift+tab\n - If you call `unlock` on a entry that isn't the currently active, everything blows up\n*/\nimport app from \"../icasf_app\";\n\nclass FocusLock {\n constructor() {\n this.state = this.constructor.defaultState;\n\n app.addEventListener(\"focusin\", {\n name: \"focus-lock-handler\",\n handler: () => {\n this.handleFocusChange();\n },\n });\n\n app.addEventListener(\"turbolinks:before-cache\", {\n name: \"focus-lock-teardown\",\n handler: () => {\n this.unlockAll();\n },\n });\n }\n\n /**\n * @param {FocusLock~Entry} entry A configuration object that describes how the lock should be enforced\n * @returns {Function} A function that will unlock this lock and remove it from the history\n * @typedef {Object} FocusLock~Entry\n * @property {[string]} [selectors] Selectors that the currently focused element must match in order for focus to be permissible. If it's not permissible, the `loopTarget` will be focused. Required if `elements` is not present\n * @property {[HTMLElement]} [elements] Elements that the currently focused element must match or be a child to in order for focus to be permissible. If it's not permissible, the `loopTarget` will be focused. Required if `selectors` is not present\n * @property {HTMLElement|Function} loopTarget An element that will receive focus when the user hits tab and ends up on an unpermitted focus (i.e. where should we redirect focus when the user tabs past the end of the available options). Alternatively, pass in a function that returns an element.\n * @property {HTMLElement|Function} [lockTarget] An element that will receive focus when the lock is set. Alternatively, pass in a function that returns an element.\n * @property {HTMLElement|Function} [unlockTarget] An element that will receive focus when the lock is unset. If the lock is unset and another entry exists, the focus will not be directed here, but rather to the newly active entry's `lockTarget`. Alternatively, pass in a function that returns an element.\n\n */\n lock(entry) {\n // Validate the entry\n if (!entry.loopTarget) {\n throw new Error(\"Focus Lock: expected parameter `loopTarget`\");\n }\n\n if (!entry.elements && !entry.selectors) {\n throw new Error(\n \"Focus Lock: expected parameter `elements` or `selectors`\"\n );\n }\n\n if (\n entry.elements &&\n (!Array.isArray(entry.elements) ||\n entry.elements.some((element) => element.nodeType !== 1))\n ) {\n throw new Error(\n \"Focus Lock: `elements` parameter must be an array of HTML nodes\"\n );\n }\n\n if (\n entry.selectors &&\n (!Array.isArray(entry.selectors) ||\n entry.selectors.some((selector) => typeof selector !== \"string\"))\n ) {\n throw new Error(\n \"Focus Lock: `selectors` parameter must be an array of strings\"\n );\n }\n\n const parsedEntry = Object.assign({}, entry);\n if (!parsedEntry.unlockTarget) {\n parsedEntry.unlockTarget = document.activeElement;\n }\n\n if (!parsedEntry.lockTarget) {\n parsedEntry.lockTarget = entry.loopTarget;\n }\n\n // Add it to our saved list of entries\n this.update({\n entries: [...this.state.entries, parsedEntry],\n });\n\n // Totally clear out the previously active entry\n this.update({\n locked: false,\n selectors: [],\n elements: [],\n loopTarget: null,\n unlockTarget: null,\n lockTarget: null,\n });\n\n // Set the current lock\n this.update({\n locked: true,\n ...parsedEntry,\n });\n\n // Set the initial focus\n this.constructor.focusElementOrFunction(this.state.lockTarget);\n\n // Make it easy for devs to remove this lock by returning a function they can call\n return this.unlock.bind(this, parsedEntry);\n }\n\n unlock(entry) {\n if (!this.state.locked || !this.state.entries.length) {\n return;\n }\n\n let entryToUse = entry;\n if (!entry) {\n entryToUse = this.state.entries[this.state.entries.length - 1];\n } else if (!this.state.entries.some((e) => e === entry)) {\n // Don't do anything if this entry isn't in our store\n return;\n }\n\n // Remove the entry from our store and update the current lock.\n // If there's another entry to use, lock to that.\n this.update({\n entries: this.state.entries.filter((e) => e !== entryToUse),\n });\n\n if (this.state.entries.length) {\n // Totally clear out the previously active entry\n this.update({\n locked: false,\n selectors: [],\n elements: [],\n loopTarget: null,\n focusToReturnTo: null,\n });\n\n // Get the most recently added entry from the store\n const activeEntry = this.state.entries.slice().pop();\n this.update({\n locked: true,\n ...activeEntry,\n });\n\n this.constructor.focusElementOrFunction(this.state.lockTarget);\n } else {\n this.constructor.focusElementOrFunction(this.state.unlockTarget);\n this.update(this.constructor.defaultState);\n }\n }\n\n unlockAll() {\n if (!this.state.locked || !this.state.entries.length) {\n return;\n }\n\n const { unlockTarget } = this.state.entries[0];\n this.update(this.constructor.defaultState);\n this.constructor.focusElementOrFunction(unlockTarget);\n }\n\n handleFocusChange() {\n if (!this.state.locked) {\n return;\n }\n\n let isPermissible = true;\n if (this.state.selectors.length) {\n isPermissible = this.state.selectors.some((selector) =>\n document.activeElement.matches(selector)\n );\n } else if (this.state.elements.length) {\n isPermissible = this.state.elements.some(\n (element) =>\n element === document.activeElement ||\n element.contains(document.activeElement)\n );\n }\n\n if (isPermissible) {\n return;\n }\n\n this.constructor.focusElementOrFunction(this.state.loopTarget);\n }\n\n update(update) {\n Object.assign(this.state, update);\n }\n\n static defaultState = {\n entries: [],\n locked: false,\n selectors: [],\n elements: [],\n loopTarget: null,\n lockTarget: null,\n unlockTarget: null,\n };\n\n static focusElementOrFunction(target) {\n if (target instanceof Function) {\n const element = target();\n if (element && element.nodeType === 1) {\n element.focus();\n }\n } else if (target.nodeType === 1) {\n target.focus();\n }\n }\n}\n\n// Export a singleton\nexport default new FocusLock();\n","import * as Util from \"../utilities\";\nimport app from \"../icasf_app\";\n\n/*\n This javascript provides an interface for Flickity to work in a\n Linked by Air type of way. It includes:\n - accessible buttons\n - screen reader announcements\n - turbolinks cacheing behavior\n\n This js should handle all of the default functionality for carousels.\n If you need to interact with a specific instance, you can either crawl\n the `GenericCarousel.current` array, or you can use the static\n `getInstance` method. Otherwise, we provide static methods for performing\n actions on all active carousels.\n\n Example:\n import { GenericCarousel } from \"../scripts/generic_carousel\";\n GenericCarousel.current.forEach(c => c.next());\n\n Example:\n import { GenericCarousel } from \"../scripts/generic_carousel\";\n const element = document.getElementById('some-id')\n const carousel = GenericCarousel.getInstance(element);\n carousel.refreshLayout();\n\n Example:\n import { GenericCarousel } from \"../scripts/generic_carousel\";\n GenericCarousel.refreshAll();\n\n You may extend this class to provide custom functionality or controls.\n By default, instances of class extensions will still accumulate in the\n GenericCarousel.current array.\n\n Certain elements are needed to build out functionality. You may pass\n them in via the `elements` argument, or use the default CSS class names.\n If using the latter path, make sure you elements exist within element.\n If the elements are found, functionality will be added. In that sense,\n they are all optional, but the you ought to include them for accessibility.\n See the `elements` option below.\n\n @param {HTMLNode} element The containing element\n @param {object} options Any options that should be passed to Flickity\n @param {GenericCarousel ~ Elements} elements Named references to elements that build out carousel functionality\n\n @typedef {Object} GenericCarousel ~ Elements\n @property {HTMLNode} slideWrapper=\".js-carousel-slide-wrapper\" The element that contains all the slides, which will be the target of the flickity initialization\n @property {HTMLNode} [previousControl=\".js-carousel-previous\"] A button to select the carousel's previous slide\n @property {HTMLNode} [nextControl=\".js-carousel-next\"] A button to select the carousel's next slide\n*/\n\nexport class GenericCarousel {\n static current = [];\n\n static selectorPrefix = \"js-carousel\";\n\n static defaultConfig = {\n wrapAround: true,\n accessibility: true,\n };\n\n constructor(element, options = {}, elements = {}) {\n // CONFIG\n this.config = Object.assign(this.constructor.defaultConfig, options);\n\n // ELEMENTS\n this.setElements(element, elements);\n\n // ACCESSIBILITY CONCERNS\n this.setupAccessibility();\n\n // PRE-INITIALIZE HOOKS\n this.beforeInit();\n\n // STATE\n this.state = this.defaultState;\n\n // EVENTS\n this.setUpEvents();\n\n // INITIAL RENDER\n this.update(this.state);\n\n // KEEP TRACK OF IT\n GenericCarousel.current.push(this);\n\n // HOOKS\n this.emit(\"initialize\");\n }\n\n /* Constructor helpers (broken out so they can be overwritten) */\n setElements(element, elements = {}) {\n this.element = element;\n this.slideWrapper =\n elements.slideWrapper ||\n element.querySelector(\n `.${this.constructor.selectorPrefix}-slide-wrapper`\n ) ||\n element;\n this.slides =\n elements.slides ||\n element.querySelectorAll(`.${this.constructor.selectorPrefix}-slide`);\n // Convert from nodeList to Array\n this.slides = [...this.slides];\n this.previousControl =\n elements.previousControl ||\n element.querySelector(`.${this.constructor.selectorPrefix}-previous`) ||\n element.querySelector(\".js-previous-control\");\n this.nextControl =\n elements.nextControl ||\n element.querySelector(`.${this.constructor.selectorPrefix}-next`) ||\n element.querySelector(\".js-next-control\");\n }\n\n get defaultState() {\n return {\n index: 0,\n maxIndex: this.slides.length - 1,\n canGoNext: true,\n canGoPrevious: this.config.wrapAround,\n };\n }\n\n setupAccessibility() {\n if (!this.config.accessibility) {\n return;\n }\n\n // Announcements\n this.announcements = document.createElement(\"div\");\n this.announcements.className = \"sr-only js-carousel-announcements\";\n this.announcements.setAttribute(\"aria-live\", \"polite\");\n this.element.appendChild(this.announcements);\n\n // Control labels\n if (this.previousControl) {\n this.previousLabel = document.createElement(\"div\");\n this.previousLabel.className = \"sr-only\";\n this.previousControl.appendChild(this.previousLabel);\n }\n\n if (this.nextControl) {\n this.nextLabel = document.createElement(\"div\");\n this.nextLabel.className = \"sr-only\";\n this.nextControl.appendChild(this.nextLabel);\n }\n }\n\n beforeInit() {\n // Leaving blank so it can overwritten\n }\n\n setUpEvents() {\n if (this.nextControl) {\n this.nextControl.addEventListener(\"click\", () => {\n this.next();\n });\n }\n if (this.previousControl) {\n this.previousControl.addEventListener(\"click\", () => {\n this.previous();\n });\n }\n\n // Allow for event tie-ins\n this.events = {};\n this.events.initialize = [];\n this.events.layout = [];\n this.events.change = [];\n }\n\n /* Public methods */\n select(index) {\n const currentIndex = this.state.index;\n this.update({ index });\n this.updateControls();\n this.emit(\"change\", {\n index: this.state.index,\n previousIndex: currentIndex,\n });\n }\n\n next() {\n const currentIndex = this.state.index;\n const { nextIndex } = this;\n const shouldChange = typeof nextIndex === \"number\";\n if (shouldChange) {\n this.update({\n index: nextIndex,\n });\n this.updateControls();\n this.emit(\"change\", {\n index: this.state.index,\n previousIndex: currentIndex,\n });\n }\n }\n\n previous() {\n const currentIndex = this.state.index;\n const { previousIndex } = this;\n const shouldChange = typeof previousIndex === \"number\";\n if (shouldChange) {\n this.update({\n index: previousIndex,\n });\n this.updateControls();\n this.emit(\"change\", {\n index: this.state.index,\n previousIndex: currentIndex,\n });\n }\n }\n\n destroy() {\n GenericCarousel.current = GenericCarousel.current.filter((c) => c !== this);\n }\n\n refreshLayout() {\n this.emit(\"layout\");\n }\n\n on(event, handler) {\n if (!this.events[event]) {\n this.events[event] = [];\n }\n this.events[event].push(handler);\n\n return this.off.bind(this, event, handler);\n }\n\n off(event, handler) {\n this.events[event] = this.events[event].filter((e) => e !== handler);\n }\n\n emit(event, args = {}) {\n if (!this.events[event]) {\n return;\n }\n\n const formattedArgs = Object.assign({}, args, {\n target: this,\n });\n this.events[event].forEach((cb) => cb.call(this, formattedArgs));\n }\n\n afterImagesLoad() {\n const images = this.element.querySelectorAll(\"img\");\n if (!images) {\n return Promise.resolve();\n }\n\n const promises = [...images].map((imageElement) => {\n return new Promise((resolve, reject) => {\n if (imageElement.complete) {\n resolve();\n } else {\n /* eslint-disable no-param-reassign */\n imageElement.addEventListener('load', resolve);\n imageElement.addEventListener('error', reject);\n /* eslint-enable no-param-reassign */\n }\n });\n });\n return Promise.allSettled(promises);\n }\n\n /* Public helper methods */\n static getInstance(element) {\n return GenericCarousel.current.find((i) => {\n return i.element === element;\n });\n }\n\n static refreshAll() {\n GenericCarousel.current.forEach((i) => i.refreshLayout());\n }\n\n static destroyAll() {\n GenericCarousel.current.forEach((i) => i.destroy());\n }\n\n /* State management functions */\n update(update) {\n const previousState = Object.assign({}, this.state);\n Object.assign(this.state, update);\n this.render(update, previousState);\n return previousState;\n }\n\n updateControls() {\n const canGoPrevious = typeof this.previousIndex === \"number\";\n const canGoNext = typeof this.nextIndex === \"number\";\n this.update({ canGoPrevious, canGoNext });\n }\n\n /* Render functions */\n /* eslint-disable no-unused-vars */\n render(update, previousState) {\n if (update.hasOwnProperty(\"canGoPrevious\")) {\n this.renderPreviousControl();\n }\n if (update.hasOwnProperty(\"canGoNext\")) {\n this.renderNextControl();\n }\n if (update.hasOwnProperty(\"index\")) {\n this.renderAnnouncements();\n }\n }\n /* eslint-enable no-unused-vars */\n\n renderPreviousControl() {\n if (!this.previousControl) {\n return;\n }\n if (this.state.canGoPrevious) {\n this.previousControl.removeAttribute(\"disabled\");\n } else {\n this.previousControl.setAttribute(\"disabled\", \"\");\n }\n\n if (this.previousLabel) {\n this.previousLabel.innerHTML = `Go to slide #${this.previousIndex + 1}`;\n }\n }\n\n renderNextControl() {\n if (!this.nextControl) {\n return;\n }\n if (this.state.canGoNext) {\n this.nextControl.removeAttribute(\"disabled\");\n } else {\n this.nextControl.setAttribute(\"disabled\", \"\");\n }\n\n if (this.nextLabel) {\n this.nextLabel.innerHTML = `Go to slide #${this.nextIndex + 1}`;\n }\n }\n\n renderAnnouncements() {\n if (!this.announcements) {\n return;\n }\n this.announcements.innerHTML = `Now viewing slide #${\n this.state.index + 1\n } of ${this.state.maxIndex + 1}`;\n }\n\n /* Helper functions */\n get previousIndex() {\n if (this.state.maxIndex === 0) {\n return false;\n }\n if (this.config.wrapAround) {\n return Util.loopAround(this.state.index - 1, 0, this.state.maxIndex);\n }\n if (this.state.index === 0) {\n return false;\n }\n return this.state.index - 1;\n }\n\n get nextIndex() {\n if (this.state.maxIndex === 0) {\n return false;\n }\n if (this.config.wrapAround && this.state.maxIndex > 0) {\n return Util.loopAround(this.state.index + 1, 0, this.state.maxIndex);\n }\n if (this.state.index === this.state.maxIndex) {\n return false;\n }\n return this.state.index + 1;\n }\n}\n\n// // NOTE: we give these listeners a name so that they don't accumulate\napp.addEventListener(\"turbolinks:before-cache\", {\n name: \"carousel-destroyer\",\n handler: () => {\n GenericCarousel.destroyAll();\n },\n});\n\napp.addEventListener(\"resize\", {\n name: \"carousel-resizer\",\n handler: () => {\n GenericCarousel.refreshAll();\n },\n});\n","import app from \"../icasf_app\";\nimport focusLock from \"../utilities/focus-lock\";\nimport * as util from \"../utilities\";\nimport { GenericCarousel } from \"../elements/generic_carousel\";\n\nconst OPEN_CLASS = \"lightbox--open\";\nconst ROOT_OPEN_CLASS = \"lightbox-is-open\";\n\nexport class Lightbox extends GenericCarousel {\n /* Public methods */\n open(content, index = 0) {\n // Force input content to be an Array\n let slides;\n if (NodeList.prototype.isPrototypeOf(content)) {\n slides = [...content];\n } else {\n slides = [].concat(content);\n }\n\n // Force each slide to be saved as a string\n // Filter out anything we don't know what to do with\n slides = slides.reduce((acc, slide) => {\n if (typeof slide === \"string\") {\n acc.push(slide);\n } else if (slide.nodeType && slide.nodeType === 1) {\n acc.push(slide.outerHTML);\n } else if (slide.nodeType && slide.nodeType === 11) {\n acc.concat(slide.children.map((c) => c.outerHTML));\n }\n return acc;\n }, []);\n\n this.update({\n slides,\n index,\n content: slides[index],\n maxIndex: slides.length - 1,\n open: true,\n focus: this.firstFocusableElement,\n focusReleaseTarget: document.activeElement,\n focusLock: true,\n });\n\n // Update the prev/next controls so that they reflect the current state\n this.updateControls();\n\n this.emit(\"open\");\n }\n\n close() {\n const update = {};\n update.open = false;\n update.content = \"\";\n update.focus = this.state.focusReleaseTarget;\n update.focusReleaseTarget = null;\n update.focusLock = false;\n update.color = \"color-default\";\n update.canGoPrevious = false;\n update.canGoNext = false;\n this.update(update);\n\n this.emit(\"close\");\n }\n\n updateContent(index = this.state.index) {\n this.update({\n content: this.state.slides[index],\n });\n }\n\n previous() {\n super.previous();\n this.updateContent();\n }\n\n next() {\n super.next();\n this.updateContent();\n }\n\n select() {\n super.next();\n this.updateContent();\n }\n\n /* Initialzer methods */\n setElements() {\n this.element = document.getElementById(\"lightbox\");\n this.content = document.getElementById(\"lightbox-content\");\n this.closeButton = document.getElementById(\"lightbox-close\");\n super.setElements(this.element, {\n previousControl: this.element.querySelector('.js-lightbox__previous'),\n nextControl: this.element.querySelector('.js-lightbox__next'),\n });\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n app.addEventListener(\"click\", {\n name: \"lightbox-closer\",\n handler: (e) => {\n if (!e.target.closest(\".js-lightbox__close\")) {\n return;\n }\n this.close();\n },\n });\n\n app.addEventListener(\"keydown\", {\n name: \"lightbox-keys-events\",\n handler: (e) => {\n if (!this.state.open) {\n return;\n }\n\n switch (e.keyCode) {\n // Left arrow\n case 37:\n this.previous();\n break;\n // Right arrow\n case 39:\n this.next();\n break;\n // Escape key\n case 27:\n this.close();\n break;\n default:\n }\n },\n });\n\n // Elements can encode lightbox content as a data attribute.\n // When those elements are clicked, the data attribute's content will be used for the lightbox.\n app.addEventListener(\"click\", {\n name: \"lightbox-opener\",\n handler: (e) => {\n const element = e.target.closest(\"[data-lightbox]\");\n if (!element) {\n return;\n }\n\n const markup = element.getAttribute(\"data-lightbox\");\n this.open(markup);\n },\n });\n }\n\n /* State management methods */\n get defaultState() {\n return Object.assign({}, parent.defaultState, {\n open: false,\n content: null,\n focus: null,\n focusReleaseTarget: null,\n focusLock: false,\n previousNextControls: false,\n slides: [],\n wrapAround: true,\n maxIndex: null,\n });\n }\n\n get firstFocusableElement() {\n // If the prev/next controls are hidden, use the close button\n if (this.state.canGoPrevious) {\n return this.previousControl;\n }\n if (this.state.canGoNext) {\n return this.nextControl;\n }\n return this.closeButton;\n }\n\n update(update) {\n const previousState = Object.assign({}, this.state);\n Object.assign(this.state, update);\n this.render(update, previousState);\n return previousState;\n }\n\n /* Rendering methods */\n render(update, previousState) {\n super.render(update, previousState);\n\n if (update.hasOwnProperty(\"content\")) {\n this.renderLightboxBody(update.content);\n }\n\n if (update.hasOwnProperty(\"open\")) {\n this.renderOpenState(update.open);\n }\n\n if (update.focus) {\n update.focus.focus();\n }\n\n if (update.hasOwnProperty(\"focusLock\")) {\n if (this.state.focusLock) {\n this.unlockFocus = focusLock.lock({\n selectors: [\".js-lightbox *\"],\n loopTarget: () => {\n return this.firstFocusableElement;\n },\n });\n } else if (this.unlockFocus) {\n this.unlockFocus();\n }\n }\n\n if (\n update.hasOwnProperty(\"canGoPrevious\") &&\n update.hasOwnProperty(\"canGoNext\")\n ) {\n this.renderPreviousNextControls();\n }\n }\n\n renderOpenState(isOpen) {\n const classListMethod = isOpen ? \"add\" : \"remove\";\n this.element.classList[classListMethod](OPEN_CLASS);\n document.documentElement.classList[classListMethod](ROOT_OPEN_CLASS);\n if (isOpen) {\n this.element.style.setProperty('display', 'flex');\n } else {\n this.element.style.removeProperty('display');\n }\n }\n\n renderLightboxBody(html) {\n this.content.innerHTML = html;\n }\n\n renderPreviousNextControls() {\n if (!this.state.canGoNext && !this.state.canGoPrevious) {\n this.previousControl.style.setProperty('display', 'none');\n this.nextControl.style.setProperty('display', 'none');\n } else {\n this.previousControl.style.removeProperty('display');\n this.nextControl.style.removeProperty('display');\n }\n }\n\n /*\n Misc\n */\n emit(event, args = {}) {\n super.emit(event, args);\n\n app.emit(`lightbox:${event}`, args);\n }\n}\n\nexport const lightbox = {\n current: null,\n init: () => {\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (util.isEconomyEditMode()) {\n return;\n }\n lightbox.current = new Lightbox();\n });\n }\n};\n\nwindow.lightbox = lightbox;\n","export const animateProperty = ({\n element,\n property,\n value,\n duration = \"300ms\",\n delay = '0ms',\n easing = \"ease-out\",\n}) => {\n return new Promise((resolve, reject) => {\n element.style.setProperty(\n \"transition\",\n `${property} ${duration} ${easing} ${delay}`\n );\n const endHandler = () => {\n resolve();\n element.removeEventListener(\"transitionend\", endHandler);\n };\n element.addEventListener(\"transitionend\", endHandler);\n element.style.setProperty(property, value);\n });\n};\n\nexport const fadeOutElement = ({ element, duration, easing }) => {\n // Set pre-transition state\n element.style.setProperty(\"display\", \"block\");\n element.style.setProperty(\"opacity\", 1);\n\n // Trigger a reflow so that we can then use a transition\n element.offsetWidth; // eslint-disable-line no-unused-expressions\n\n return animateProperty({\n property: \"opacity\",\n value: 0,\n element,\n duration,\n easing,\n }).then(() => {\n element.style.setProperty(\"display\", \"none\");\n });\n};\n\nexport const fadeInElement = ({\n element,\n duration,\n easing,\n display = \"block\",\n}) => {\n // Set pre-transition state\n element.style.setProperty(\"display\", display);\n element.style.setProperty(\"opacity\", 0);\n\n // Trigger a reflow so that we can then use a transition\n element.offsetWidth; // eslint-disable-line no-unused-expressions\n\n return animateProperty({\n property: \"opacity\",\n value: 1,\n element,\n duration,\n easing,\n });\n};\n\nexport const fadeOutElements = ({ elements, ...props }) => {\n const promises = [...elements].map((element) => {\n return fadeOutElement({ element, ...props });\n });\n return Promise.all(promises);\n};\n\nexport const fadeInElements = ({ elements, ...props }) => {\n const promises = [...elements].map((element) => {\n return fadeInElement({ element, ...props });\n });\n return Promise.all(promises);\n};\n","import app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { fetchPageMarkup, getLastItem, wait } from \"../utilities\";\nimport { animateProperty } from \"../utilities/animation\";\n\nconst OPEN_CLASS_NAME = \"main-nav--open\";\nconst SUSPENDED_CLASS_NAME = \"main-nav--suspended\";\n\nexport class MainNav extends Component {\n static eventNamespace = \"main-nav\";\n get defaultState() {\n return {\n open: false,\n buttonLabel: \"Menu\",\n index: null,\n item: null,\n elementsToShift: [],\n elementsToUnshift: [],\n suspended: false,\n };\n }\n\n constructor(props) {\n super(props);\n this.refreshItems();\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { root } = this.props;\n this.elements.root = root;\n this.elements.toggler = root.querySelector(\".js-main-nav__toggler\");\n this.elements.backdrop = root.querySelector(\".js-main-nav__backdrop\");\n this.elements.body = root.querySelector(\".js-main-nav__body\");\n this.elements.pageContainer = document.getElementById(\"page-content\");\n }\n\n refreshItems() {\n const { root } = this.props;\n\n // Re-query for elements so that the order is correct\n const currentPage = (this.elements.currentPage =\n this.elements.pageContainer.firstElementChild);\n const items = (this.elements.items = [\n ...root.querySelectorAll(\".js-main-nav__item\"),\n ]);\n\n // Re-bind event handler so that interaction is correct\n items.forEach((item, index, items) => {\n const link = item.querySelector(\"a\");\n const itemsToCycle = items.slice(0, index);\n const itemsToSurface = items.slice(index);\n const newOrder = [...itemsToSurface, ...itemsToCycle];\n const pageToCycle = document.querySelector(\"#page-content > div\");\n const href = link.href;\n link.onclick = this.handleLinkClick.bind(this, {\n index,\n item,\n link,\n itemsToCycle,\n pageToCycle,\n itemsToSurface,\n newOrder,\n href,\n });\n const elementsToShift = index > 0 ? [...itemsToCycle, currentPage] : [];\n const elementsToUnshift =\n index > 0 ? [...itemsToSurface, item] : [...items, currentPage];\n item.onmouseenter = this.handleItemMouseEnter.bind(this, {\n elementsToShift,\n elementsToUnshift,\n });\n });\n\n this.elements.body.addEventListener(\"mouseleave\", () => {\n if (this.state.suspended || app.state.breakpoint === \"sm\" || app.state.breakpoint === \"md\") {\n return;\n }\n\n this.update({\n elementsToShift: [],\n elementsToUnshift: [...items, currentPage],\n });\n });\n\n // Reset state\n const index = 0;\n const item = this.elements.items[index];\n this.update({\n index,\n item,\n });\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n this.elements.toggler.onclick = this.toggle.bind(this);\n this.elements.backdrop.onclick = this.close.bind(this);\n }\n\n /*\n ::::::::::::::::::::\n :: PUBLIC METHODS ::\n ::::::::::::::::::::\n */\n open() {\n // Visually open the menu\n this.update({\n open: true,\n buttonLabel: \"Close\",\n });\n\n // Emit the event for public tie-ins\n this.emit(\"open\");\n }\n\n close() {\n // Reset the visuals\n this.update({\n open: false,\n buttonLabel: \"Menu\",\n });\n\n // Emit the event for public tie-ins\n this.emit(\"close\");\n }\n\n toggle() {\n if (this.state.open) {\n this.close();\n } else {\n this.open();\n }\n }\n\n suspend() {\n this.update({\n suspended: true,\n });\n }\n\n unsuspend() {\n this.update({\n suspended: false,\n });\n }\n\n destroy() {\n this.close();\n super.destroy();\n }\n\n /*\n ::::::::::::::::::::::::::::\n :: EVENT HANDLERS METHODS ::\n ::::::::::::::::::::::::::::\n */\n\n handleItemMouseEnter({ elementsToShift, elementsToUnshift }) {\n if (this.state.suspended || app.state.breakpoint === \"sm\" || app.state.breakpoint === \"md\") {\n return;\n }\n\n this.update({ elementsToShift, elementsToUnshift });\n }\n\n handleLinkClick(elements, e) {\n // TODO: Remove this once the mobile interaction works\n if (app.state.breakpoint === \"sm\" || app.state.breakpoint === 'md') {\n if (!this.state.open) {\n this.open();\n e.preventDefault();\n }\n return;\n }\n\n e.preventDefault();\n\n this.suspend();\n\n const { link } = elements;\n const { href } = link;\n\n // Update the URL right away in case anything goes wrong. If the URL is correct, the user can just reload the page.\n history.pushState({}, null, href);\n\n // In most cases, we will cycle out \"old\" nav items and reshuffle them to the back.\n // But if the user clicks the current item (for example, clicking \"calendar\" when on an Event Page)\n // we just want to crossfade the pages.\n if (Boolean(elements.itemsToCycle.length)) {\n return this.cycleOut(elements)\n .then(() => {\n return this.loadNextPage(href);\n })\n .then((nextPage) => {\n elements.nextPage = nextPage;\n window.scrollTo(0, 0);\n return this.surface(elements);\n })\n .then(() => {\n return this.shuffleBack(elements);\n })\n .then(() => {\n return this.settle(elements);\n })\n .then(() => {\n this.finishPageLoad(elements);\n });\n } else {\n return animateProperty({\n element: elements.pageToCycle,\n property: \"opacity\",\n value: 0,\n })\n .then(() => {\n return this.loadNextPage(href);\n })\n .then((nextPage) => {\n elements.nextPage = nextPage;\n window.scrollTo(0, 0);\n return animateProperty({\n element: nextPage,\n property: \"opacity\",\n value: 1,\n });\n })\n .then(() => {\n return this.settle(elements);\n })\n .then(() => {\n this.finishPageLoad(elements);\n })\n }\n }\n\n /*\n ::::::::::::::::::::\n :: RENDER METHODS ::\n ::::::::::::::::::::\n */\n render(update, previousState) {\n super.render(update, previousState);\n\n if (update.hasOwnProperty(\"open\")) {\n this.renderOpenState(previousState);\n }\n\n if (update.hasOwnProperty(\"buttonLabel\")) {\n this.renderButtonLabel();\n }\n\n if (update.hasOwnProperty(\"suspended\")) {\n this.renderSuspendedState();\n }\n\n if (\n update.hasOwnProperty(\"elementsToShift\") ||\n update.hasOwnProperty(\"elementsToUnshift\")\n ) {\n this.shiftElements(previousState);\n }\n }\n\n renderOpenState(previousState) {\n if (previousState.open) {\n this.elements.backdrop.style.removeProperty(\"display\");\n this.elements.items.forEach((item) => {\n item.style.removeProperty(\"transform\");\n });\n document.documentElement.style.removeProperty(\"overflow\");\n } else {\n this.elements.backdrop.style.setProperty(\"display\", \"block\");\n this.elements.items.forEach((item, index, list) => {\n item.style.setProperty(\n \"transform\",\n `translateY(${-1.5 * (list.length - index)}em)`\n );\n });\n document.documentElement.style.setProperty(\"overflow\", \"hidden\");\n }\n }\n\n renderButtonLabel() {\n this.elements.toggler.textContent = this.state.buttonLabel;\n }\n\n renderSuspendedState() {\n if (this.state.suspended) {\n this.elements.root.classList.add(SUSPENDED_CLASS_NAME);\n } else {\n this.elements.root.classList.remove(SUSPENDED_CLASS_NAME);\n }\n }\n\n shiftElements(previousState) {\n // TODO: this isn't the correct value. We should be using REMs\n let translateDirection;\n const translateAmount = 15;\n if (app.state.breakpoint === \"sm\" || app.state.breakpoint === 'md') {\n translateDirection = \"Y\";\n } else {\n translateDirection = \"X\";\n }\n return Promise.all(\n this.state.elementsToShift.map((element) =>\n animateProperty({\n element,\n property: `transform`,\n value: `translate${translateDirection}(${-1 * translateAmount}px)`,\n })\n ),\n this.state.elementsToUnshift.map((element) =>\n animateProperty({\n element,\n property: `transform`,\n value: `translate${translateDirection}(0px)`,\n })\n )\n );\n }\n\n cycleOut({ itemsToCycle, itemsToSurface, pageToCycle }) {\n const lastItem = (\n getLastItem(itemsToCycle) || this.elements.root\n ).getBoundingClientRect();\n let translateDirection;\n let translateAmount;\n if (app.state.breakpoint === \"sm\" || app.state.breakpoint === 'md') {\n translateDirection = \"Y\";\n translateAmount = lastItem.bottom;\n } else {\n translateDirection = \"X\";\n translateAmount = lastItem.right + 20;\n }\n const animatedElements = [...itemsToCycle, pageToCycle];\n\n // Before animation, make sure the z-indexes are what we expect\n [\n pageToCycle,\n ...itemsToCycle.slice().reverse(),\n ...itemsToSurface.slice().reverse(),\n ].forEach((element, index) => element.style.setProperty(\"z-index\", index));\n\n return Promise.all(\n animatedElements.map((item) =>\n animateProperty({\n element: item,\n property: \"transform\",\n value: `translate${translateDirection}(${-1 * translateAmount}px)`,\n })\n )\n );\n }\n\n loadNextPage(href) {\n return fetchPageMarkup(href).then((html) => {\n // Render the new page slightly to the right of where it needs to be\n const nextPage = document.createElement(\"div\");\n nextPage.innerHTML = html;\n nextPage.className = \"height-100% bg-white\";\n nextPage.style.setProperty(\"position\", \"absolute\");\n nextPage.style.setProperty(\"top\", \"0\");\n nextPage.style.setProperty(\"left\", \"0\");\n nextPage.style.setProperty(\"width\", \"100%\");\n nextPage.style.setProperty(\"height\", \"100%\");\n nextPage.style.setProperty(\"z-index\", \"-1\");\n nextPage.style.setProperty(\"opacity\", \"0\");\n this.elements.pageContainer.appendChild(nextPage);\n nextPage.offsetWidth;\n\n return nextPage;\n });\n }\n\n surface({ itemsToSurface, itemsToCycle, nextPage }) {\n // Before animation, make sure the z-indexes are what we expect\n [\n ...itemsToCycle.slice().reverse(),\n nextPage,\n ...itemsToSurface.slice().reverse(),\n ].forEach((element, index) => element.style.setProperty(\"z-index\", index));\n\n let translateDirection;\n let translateAmount;\n if (app.state.breakpoint === \"sm\" || app.state.breakpoint === 'md') {\n translateDirection = \"Y\";\n translateAmount = itemsToSurface[0].offsetTop;\n } else {\n translateDirection = \"X\";\n translateAmount = itemsToSurface[0].offsetLeft;\n }\n\n nextPage.style.setProperty(\n \"transform\",\n `translate${translateDirection}(${translateAmount}px)`\n );\n\n return Promise.all([\n ...itemsToSurface.map((item) =>\n animateProperty({\n element: item,\n property: \"transform\",\n value: `translate${translateDirection}(${-1 * translateAmount}px)`,\n })\n ),\n animateProperty({\n element: nextPage,\n property: \"transform\",\n value: `translate(0, 0)`,\n }),\n ]).then(() => {\n return animateProperty({\n element: nextPage,\n property: \"opacity\",\n value: 1,\n });\n });\n }\n\n shuffleBack({ itemsToCycle, nextPage, itemsToSurface }) {\n // Before animation, make sure the z-indexes are what we expect\n [\n ...itemsToCycle.slice().reverse(),\n ...itemsToSurface.slice().reverse(),\n nextPage,\n ].forEach((element, index) => element.style.setProperty(\"z-index\", index));\n\n nextPage.style.setProperty(\"position\", \"absolute\");\n const lastItem = getLastItem(itemsToCycle);\n let translateDirection;\n let translateAmount;\n if (app.state.breakpoint === \"sm\" || app.state.breakpoint === 'md') {\n translateDirection = \"Y\";\n translateAmount = lastItem.offsetTop + lastItem.offsetHeight;\n } else {\n translateDirection = \"X\";\n translateAmount =\n lastItem.parentElement.offsetWidth -\n lastItem.offsetLeft -\n lastItem.offsetWidth;\n }\n return Promise.all(\n itemsToCycle.map((item) =>\n animateProperty({\n element: item,\n property: \"transform\",\n value: `translate${translateDirection}(${translateAmount}px)`,\n })\n )\n );\n }\n\n settle({ newOrder, nextPage, pageToCycle }) {\n const { body } = this.elements;\n pageToCycle.parentElement.removeChild(pageToCycle);\n newOrder.forEach((item, index, list) => {\n body.appendChild(item);\n item.style.removeProperty(\"transform\");\n item.style.removeProperty(\"transition\");\n item.style.setProperty(\"z-index\", list.length - index);\n });\n nextPage.style.setProperty(\"position\", \"relative\");\n nextPage.style.removeProperty(\"transform\");\n nextPage.style.removeProperty(\"transition\");\n nextPage.style.removeProperty(\"z-index\");\n nextPage.style.setProperty(\"z-index\", \"4\");\n nextPage.style.removeProperty(\"opacity\");\n nextPage.style.removeProperty(\"transform\");\n nextPage.style.removeProperty(\"top\");\n nextPage.style.removeProperty(\"left\");\n nextPage.style.removeProperty(\"width\");\n nextPage.style.removeProperty(\"height\");\n nextPage.style.removeProperty(\"z-index\");\n nextPage.style.removeProperty(\"opacity\");\n this.refreshItems();\n }\n\n finishPageLoad({ nextPage, index}) {\n // Dispatch a global event so other modules can tie-into it\n app.emit(\"main-nav:load\", {\n target: nextPage,\n });\n\n // Do not allow for hover interaction again until the user mouses out from the nav\n const handler = (e) => {\n this.unsuspend();\n this.elements.root.removeEventListener(\"mouseout\", handler);\n };\n this.elements.root.addEventListener(\"mouseout\", handler);\n }\n}\n\nexport const mainNav = {\n current: null,\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n const root = e.target.querySelector(\".js-main-nav\");\n\n if (!root) {\n return;\n }\n\n mainNav.current = new MainNav({ root });\n });\n\n app.addEventListener(\"turbolinks:before-visit\", () => {\n if (!mainNav.current) {\n return;\n }\n\n mainNav.current.destroy();\n });\n },\n};\n","import Component from \"../component\";\nimport app from \"../icasf_app\";\nimport * as util from \"../utilities\";\n\nclass MiniCalendar extends Component {\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props\n this.elements.previous = element.querySelector('.js-mini-calendar__previous');\n this.elements.next = element.querySelector('.js-mini-calendar__next');\n this.elements.heading = element.querySelector('.js-mini-calendar__heading');\n this.elements.body = element.querySelector('.js-mini-calendar__body');\n }\n\n setUpEvents() {\n this.elements.previous.onclick = this.handleButtonClick.bind(this);\n this.elements.next.onclick = this.handleButtonClick.bind(this);\n }\n\n handleButtonClick(e) {\n const { monthCacheKey, url } = e.currentTarget.dataset;\n this.changeMonth(monthCacheKey, url);\n }\n\n changeMonth(monthCacheKey, url) {\n if (this.state.cache[monthCacheKey]) {\n return this.update({\n body: this.state.cache[monthCacheKey]\n })\n }\n\n const self = this;\n\n return util.fetchJson(url).then((data) => {\n // const updatedCache = {\n // ...self.state.cache,\n // };\n // updatedCache[data.month_cache_key] = data.body;\n return self.update({\n body: data.body,\n // cache: updatedCache,\n monthCacheKey: data.month_cache_key,\n heading: data.heading,\n nextMonthCacheKey: data.next_month_cache_key,\n nextMonthPath: data.next_month_path,\n previousMonthCacheKey: data.previous_month_cache_key,\n previousMonthPath: data.previous_month_path,\n })\n })\n }\n\n render(update, previousState) {\n if (update.hasOwnProperty(\"nextMonthCacheKey\")) {\n this.elements.next.dataset.monthCacheKey = this.state.nextMonthCacheKey;\n }\n if (update.hasOwnProperty(\"nextMonthPath\")) {\n this.elements.next.dataset.url = this.state.nextMonthPath;\n }\n if (update.hasOwnProperty(\"previousMonthCacheKey\")) {\n this.elements.previous.dataset.monthCacheKey = this.state.previousMonthCacheKey;\n }\n if (update.hasOwnProperty(\"previousMonthPath\")) {\n this.elements.previous.dataset.url = this.state.previousMonthPath;\n }\n if (update.hasOwnProperty(\"heading\")) {\n this.elements.heading.textContent = this.state.heading;\n }\n if (update.hasOwnProperty(\"body\")) {\n this.elements.body.innerHTML = this.state.body;\n }\n }\n\n get defaultState() {\n const { body, heading, previous, next } = this.elements\n const { monthCacheKey } = body.dataset\n const cache = {};\n // cache[monthCacheKey] = body.innerHTML;\n return {\n body: body.innerHTML,\n heading: heading.textContent,\n nextMonthCacheKey: next.dataset.monthCacheKey,\n nextMonthPath: next.dataset.url,\n previousMonthCacheKey: previous.dataset.monthCacheKey,\n previousMonthPath: previous.dataset.url,\n cache,\n monthCacheKey,\n }\n }\n}\n\nexport const miniCalendar = {\n current: null,\n init: () => {\n app.addEventListener('modal:load', (e) => {\n const element = e.target.querySelector('.js-mini-calendar');\n if (!element) {\n return\n }\n\n miniCalendar.current = new MiniCalendar({ element });\n });\n }\n}","import app from \"../icasf_app\";\nimport focusLock from \"../utilities/focus-lock\";\nimport * as util from \"../utilities\";\nimport Component from \"../component\";\n\nexport class Modal extends Component {\n static eventNamespace = \"modal\"\n\n /* Public methods */\n open(content = \"\", location = false) {\n const update = {\n content,\n open: true,\n focus: this.firstFocusableElement,\n focusReleaseTarget: document.activeElement,\n focusLock: true,\n };\n\n // If a location is supplied, we update the current URL and add an entry to history.\n // If the modal is currently closed, we want to keep a record of the current page,\n // so that when the user clicks the close button, we can return here\n if (location) {\n update.location = location;\n if (!this.state.open) {\n update.pageToRetunTo = window.location.href;\n }\n }\n this.update(update);\n this.emit(\"open\");\n }\n\n close(returnToPreviousPage = true) {\n const update = {};\n update.open = false;\n update.content = \"\";\n update.focus = this.state.focusReleaseTarget;\n update.focusReleaseTarget = null;\n update.focusLock = false;\n\n // If we are just closing the modal, we want to return to the previous page\n // If we're closing the modal because we are visiting a new page, we don't want to do that.\n if (this.state.pageToRetunTo && returnToPreviousPage) {\n update.location = this.state.pageToRetunTo;\n }\n\n update.pageToRetunTo = null;\n this.update(update);\n\n this.emit(\"close\");\n }\n\n load(url, addHistoryEntry = true) {\n const formattedUrl = util.editSearchParams(url, (params) => {\n params.set(\"remote\", \"modal\");\n });\n const pageToRetunTo = addHistoryEntry && window.location.href;\n\n util.fetchPageMarkup(formattedUrl).then((html) => {\n this.open(html, addHistoryEntry && url);\n this.emit(\"load\", {\n pageToRetunTo,\n location: url,\n target: this.elements.modal,\n });\n });\n }\n\n /* Initialzer methods */\n setUpElements() {\n super.setUpElements();\n\n this.elements.modal = document.getElementById(\"modal\");\n this.elements.content = document.getElementById(\"modal-content\");\n this.elements.closeButton = document.getElementById(\"modal-close\");\n }\n\n setUpEvents() {\n app.addEventListener(\"click\", {\n name: \"modal-closer\",\n handler: (e) => {\n if (!e.target.closest(\".js-modal__close\")) {\n return;\n }\n this.close();\n },\n });\n\n app.addEventListener(\"click\", {\n name: \"modal-opener\",\n handler: (e) => {\n if (util.isEconomyEditMode()) {\n return;\n }\n\n const link = e.target.closest(\"[data-modal-link]\");\n if (!link) {\n return;\n }\n\n e.preventDefault();\n this.load(link.getAttribute(\"data-modal-link\"));\n },\n });\n\n app.addEventListener(\"click\", {\n name: \"modal-quiet-opener\",\n handler: (e) => {\n if (util.isEconomyEditMode()) {\n return;\n }\n\n const link = e.target.closest(\"[data-modal-link-without-history]\");\n if (!link) {\n return;\n }\n\n e.preventDefault();\n this.load(link.getAttribute(\"data-modal-link-without-history\"), false);\n },\n });\n\n app.addEventListener(\"popstate\", {\n name: \"modal-history\",\n handler: (e) => {\n // If the user click \"back\" or \"forward\", and we've marked that history entry as a page that was opened in a modal,\n // then we should open the modal like\n if (e.state && e.state.isModalPage === true) {\n this.open(e.state.modalContent, false);\n this.emit(\"load\", {\n target: this.modal,\n });\n }\n // If the \"back\" event is to a page that *wasn't* opened in a modal, but the modal is open,\n // then we should close the modal!\n else if (this.state.open) {\n this.close(false);\n }\n },\n });\n\n // Escape key closes the modal\n app.addEventListener(\"keydown\", {\n name: \"modal-escape-closer\",\n handler: (e) => {\n if (!this.state.open) {\n return;\n }\n\n if (e.keyCode === 27) {\n this.close();\n }\n },\n });\n\n // Clicking outside the modal closes it\n app.addEventListener(\"click\", {\n name: \"modal-backdrop-click-closer\",\n handler: (e) => {\n if (!this.state.open) {\n return;\n }\n\n if (\n this.elements.modal.contains(e.target) &&\n !this.elements.content.contains(e.target) &&\n !e.target.matches(\".js-modal-controls *\")\n ) {\n this.close();\n }\n },\n });\n\n /* \n If a link is clicked inside a modal page, the modal should close\n and the resultant page is loaded as a normal page.\n\n Using `before-cache` is important here because how we create History\n entries while working around Turbolinks. Basically, when we open the\n modal, we add a History entry with the modal content stored as in its\n snapshot state. We do that so that we can handle `popstate` events and\n restore the modal's content. Turbolinks, however, still thinks we're on\n the same page. Therefore, when Turbolinks caches the page, we want the\n captured HTML to *not* have the modal, since the page didn't have the\n modal when it was first loaded.\n */\n app.addEventListener(\"turbolinks:before-cache\", () => {\n if (!this.state.open) {\n return;\n }\n\n this.close(false);\n });\n }\n\n /* State management methods */\n get defaultState() {\n return {\n open: false,\n content: null,\n focus: null,\n focusReleaseTarget: null,\n focusLock: false,\n location: null,\n };\n }\n\n get firstFocusableElement() {\n this.elements.closeButton ||= document.getElementById(\"modal-close\");\n return this.elements.closeButton;\n }\n\n /* Rendering methods */\n render(update, previousState) {\n super.render(update, previousState);\n\n if (update.hasOwnProperty(\"content\")) {\n this.renderModalBody(update.content);\n }\n\n if (update.hasOwnProperty(\"open\")) {\n this.renderOpenState(update.open);\n }\n\n if (update.hasOwnProperty(\"location\")) {\n this.renderLocation(update.location);\n }\n\n if (update.hasOwnProperty(\"focusLock\")) {\n if (this.state.focusLock) {\n this.unlockFocus = focusLock.lock({\n selectors: [\".js-modal *\"],\n loopTarget: this.firstFocusableElement,\n });\n } else if (this.unlockFocus) {\n this.unlockFocus();\n }\n }\n\n return true;\n }\n\n renderOpenState(isOpen) {\n if (isOpen) {\n this.elements.modal.style.setProperty('display', 'flex')\n document.documentElement.style.setProperty('overflow', 'hidden');\n } else {\n this.elements.modal.style.setProperty('display', 'none')\n document.documentElement.style.removeProperty('overflow');\n }\n }\n\n renderModalBody(html) {\n this.elements.content.innerHTML = html;\n this.elements.content.scrollTo(0, 0);\n }\n\n renderLocation(href) {\n const snapshot = {};\n snapshot.isModalPage = Boolean(this.state.content);\n snapshot.modalContent = this.state.content;\n snapshot.pageToRetunTo = this.state.pageToRetunTo;\n history.pushState(snapshot, null, href);\n }\n\n /*\n Misc\n */\n emit(event, args = {}) {\n app.emit(`modal:${event}`, args);\n }\n}\n\nexport const modal = {\n current: null,\n init: () => {\n document.addEventListener('DOMContentLoaded', () => {\n if (util.isEconomyEditMode()) {\n return;\n }\n\n modal.current = new Modal();\n });\n }\n}\n\nwindow.modal = modal;\n","/**\n * EvEmitter v1.1.0\n * Lil' event emitter\n * MIT License\n */\n\n/* jshint unused: true, undef: true, strict: true */\n\n( function( global, factory ) {\n // universal module definition\n /* jshint strict: false */ /* globals define, module, window */\n if ( typeof define == 'function' && define.amd ) {\n // AMD - RequireJS\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS - Browserify, Webpack\n module.exports = factory();\n } else {\n // Browser globals\n global.EvEmitter = factory();\n }\n\n}( typeof window != 'undefined' ? window : this, function() {\n\n\"use strict\";\n\nfunction EvEmitter() {}\n\nvar proto = EvEmitter.prototype;\n\nproto.on = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // set events hash\n var events = this._events = this._events || {};\n // set listeners array\n var listeners = events[ eventName ] = events[ eventName ] || [];\n // only add once\n if ( listeners.indexOf( listener ) == -1 ) {\n listeners.push( listener );\n }\n\n return this;\n};\n\nproto.once = function( eventName, listener ) {\n if ( !eventName || !listener ) {\n return;\n }\n // add event\n this.on( eventName, listener );\n // set once flag\n // set onceEvents hash\n var onceEvents = this._onceEvents = this._onceEvents || {};\n // set onceListeners object\n var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};\n // set flag\n onceListeners[ listener ] = true;\n\n return this;\n};\n\nproto.off = function( eventName, listener ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n var index = listeners.indexOf( listener );\n if ( index != -1 ) {\n listeners.splice( index, 1 );\n }\n\n return this;\n};\n\nproto.emitEvent = function( eventName, args ) {\n var listeners = this._events && this._events[ eventName ];\n if ( !listeners || !listeners.length ) {\n return;\n }\n // copy over to avoid interference if .off() in listener\n listeners = listeners.slice(0);\n args = args || [];\n // once stuff\n var onceListeners = this._onceEvents && this._onceEvents[ eventName ];\n\n for ( var i=0; i < listeners.length; i++ ) {\n var listener = listeners[i]\n var isOnce = onceListeners && onceListeners[ listener ];\n if ( isOnce ) {\n // remove listener\n // remove before trigger to prevent recursion\n this.off( eventName, listener );\n // unset once flag\n delete onceListeners[ listener ];\n }\n // trigger listener\n listener.apply( this, args );\n }\n\n return this;\n};\n\nproto.allOff = function() {\n delete this._events;\n delete this._onceEvents;\n};\n\nreturn EvEmitter;\n\n}));\n","/*!\n * getSize v2.0.3\n * measure size of elements\n * MIT license\n */\n\n/* jshint browser: true, strict: true, undef: true, unused: true */\n/* globals console: false */\n\n( function( window, factory ) {\n /* jshint strict: false */ /* globals define, module */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.getSize = factory();\n }\n\n})( window, function factory() {\n'use strict';\n\n// -------------------------- helpers -------------------------- //\n\n// get a number from a string, not a percentage\nfunction getStyleSize( value ) {\n var num = parseFloat( value );\n // not a percent like '100%', and a number\n var isValid = value.indexOf('%') == -1 && !isNaN( num );\n return isValid && num;\n}\n\nfunction noop() {}\n\nvar logError = typeof console == 'undefined' ? noop :\n function( message ) {\n console.error( message );\n };\n\n// -------------------------- measurements -------------------------- //\n\nvar measurements = [\n 'paddingLeft',\n 'paddingRight',\n 'paddingTop',\n 'paddingBottom',\n 'marginLeft',\n 'marginRight',\n 'marginTop',\n 'marginBottom',\n 'borderLeftWidth',\n 'borderRightWidth',\n 'borderTopWidth',\n 'borderBottomWidth'\n];\n\nvar measurementsLength = measurements.length;\n\nfunction getZeroSize() {\n var size = {\n width: 0,\n height: 0,\n innerWidth: 0,\n innerHeight: 0,\n outerWidth: 0,\n outerHeight: 0\n };\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n size[ measurement ] = 0;\n }\n return size;\n}\n\n// -------------------------- getStyle -------------------------- //\n\n/**\n * getStyle, get style of element, check for Firefox bug\n * https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n */\nfunction getStyle( elem ) {\n var style = getComputedStyle( elem );\n if ( !style ) {\n logError( 'Style returned ' + style +\n '. Are you running this code in a hidden iframe on Firefox? ' +\n 'See https://bit.ly/getsizebug1' );\n }\n return style;\n}\n\n// -------------------------- setup -------------------------- //\n\nvar isSetup = false;\n\nvar isBoxSizeOuter;\n\n/**\n * setup\n * check isBoxSizerOuter\n * do on first getSize() rather than on page load for Firefox bug\n */\nfunction setup() {\n // setup once\n if ( isSetup ) {\n return;\n }\n isSetup = true;\n\n // -------------------------- box sizing -------------------------- //\n\n /**\n * Chrome & Safari measure the outer-width on style.width on border-box elems\n * IE11 & Firefox<29 measures the inner-width\n */\n var div = document.createElement('div');\n div.style.width = '200px';\n div.style.padding = '1px 2px 3px 4px';\n div.style.borderStyle = 'solid';\n div.style.borderWidth = '1px 2px 3px 4px';\n div.style.boxSizing = 'border-box';\n\n var body = document.body || document.documentElement;\n body.appendChild( div );\n var style = getStyle( div );\n // round value for browser zoom. desandro/masonry#928\n isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;\n getSize.isBoxSizeOuter = isBoxSizeOuter;\n\n body.removeChild( div );\n}\n\n// -------------------------- getSize -------------------------- //\n\nfunction getSize( elem ) {\n setup();\n\n // use querySeletor if elem is string\n if ( typeof elem == 'string' ) {\n elem = document.querySelector( elem );\n }\n\n // do not proceed on non-objects\n if ( !elem || typeof elem != 'object' || !elem.nodeType ) {\n return;\n }\n\n var style = getStyle( elem );\n\n // if hidden, everything is 0\n if ( style.display == 'none' ) {\n return getZeroSize();\n }\n\n var size = {};\n size.width = elem.offsetWidth;\n size.height = elem.offsetHeight;\n\n var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';\n\n // get all measurements\n for ( var i=0; i < measurementsLength; i++ ) {\n var measurement = measurements[i];\n var value = style[ measurement ];\n var num = parseFloat( value );\n // any 'auto', 'medium' value will be 0\n size[ measurement ] = !isNaN( num ) ? num : 0;\n }\n\n var paddingWidth = size.paddingLeft + size.paddingRight;\n var paddingHeight = size.paddingTop + size.paddingBottom;\n var marginWidth = size.marginLeft + size.marginRight;\n var marginHeight = size.marginTop + size.marginBottom;\n var borderWidth = size.borderLeftWidth + size.borderRightWidth;\n var borderHeight = size.borderTopWidth + size.borderBottomWidth;\n\n var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;\n\n // overwrite width and height if we can get it from style\n var styleWidth = getStyleSize( style.width );\n if ( styleWidth !== false ) {\n size.width = styleWidth +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );\n }\n\n var styleHeight = getStyleSize( style.height );\n if ( styleHeight !== false ) {\n size.height = styleHeight +\n // add padding and border unless it's already including it\n ( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );\n }\n\n size.innerWidth = size.width - ( paddingWidth + borderWidth );\n size.innerHeight = size.height - ( paddingHeight + borderHeight );\n\n size.outerWidth = size.width + marginWidth;\n size.outerHeight = size.height + marginHeight;\n\n return size;\n}\n\nreturn getSize;\n\n});\n","/**\n * matchesSelector v2.0.2\n * matchesSelector( element, '.selector' )\n * MIT license\n */\n\n/*jshint browser: true, strict: true, undef: true, unused: true */\n\n( function( window, factory ) {\n /*global define: false, module: false */\n 'use strict';\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.matchesSelector = factory();\n }\n\n}( window, function factory() {\n 'use strict';\n\n var matchesMethod = ( function() {\n var ElemProto = window.Element.prototype;\n // check for the standard method name first\n if ( ElemProto.matches ) {\n return 'matches';\n }\n // check un-prefixed\n if ( ElemProto.matchesSelector ) {\n return 'matchesSelector';\n }\n // check vendor prefixes\n var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];\n\n for ( var i=0; i < prefixes.length; i++ ) {\n var prefix = prefixes[i];\n var method = prefix + 'MatchesSelector';\n if ( ElemProto[ method ] ) {\n return method;\n }\n }\n })();\n\n return function matchesSelector( elem, selector ) {\n return elem[ matchesMethod ]( selector );\n };\n\n}));\n","/**\n * Fizzy UI utils v2.0.7\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'desandro-matches-selector/matches-selector'\n ], function( matchesSelector ) {\n return factory( window, matchesSelector );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('desandro-matches-selector')\n );\n } else {\n // browser global\n window.fizzyUIUtils = factory(\n window,\n window.matchesSelector\n );\n }\n\n}( window, function factory( window, matchesSelector ) {\n\n'use strict';\n\nvar utils = {};\n\n// ----- extend ----- //\n\n// extends objects\nutils.extend = function( a, b ) {\n for ( var prop in b ) {\n a[ prop ] = b[ prop ];\n }\n return a;\n};\n\n// ----- modulo ----- //\n\nutils.modulo = function( num, div ) {\n return ( ( num % div ) + div ) % div;\n};\n\n// ----- makeArray ----- //\n\nvar arraySlice = Array.prototype.slice;\n\n// turn element or nodeList into an array\nutils.makeArray = function( obj ) {\n if ( Array.isArray( obj ) ) {\n // use object if already an array\n return obj;\n }\n // return empty array if undefined or null. #6\n if ( obj === null || obj === undefined ) {\n return [];\n }\n\n var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';\n if ( isArrayLike ) {\n // convert nodeList to array\n return arraySlice.call( obj );\n }\n\n // array of single index\n return [ obj ];\n};\n\n// ----- removeFrom ----- //\n\nutils.removeFrom = function( ary, obj ) {\n var index = ary.indexOf( obj );\n if ( index != -1 ) {\n ary.splice( index, 1 );\n }\n};\n\n// ----- getParent ----- //\n\nutils.getParent = function( elem, selector ) {\n while ( elem.parentNode && elem != document.body ) {\n elem = elem.parentNode;\n if ( matchesSelector( elem, selector ) ) {\n return elem;\n }\n }\n};\n\n// ----- getQueryElement ----- //\n\n// use element as selector string\nutils.getQueryElement = function( elem ) {\n if ( typeof elem == 'string' ) {\n return document.querySelector( elem );\n }\n return elem;\n};\n\n// ----- handleEvent ----- //\n\n// enable .ontype to trigger from .addEventListener( elem, 'type' )\nutils.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// ----- filterFindElements ----- //\n\nutils.filterFindElements = function( elems, selector ) {\n // make array of elems\n elems = utils.makeArray( elems );\n var ffElems = [];\n\n elems.forEach( function( elem ) {\n // check that elem is an actual element\n if ( !( elem instanceof HTMLElement ) ) {\n return;\n }\n // add elem if no selector\n if ( !selector ) {\n ffElems.push( elem );\n return;\n }\n // filter & find items if we have a selector\n // filter\n if ( matchesSelector( elem, selector ) ) {\n ffElems.push( elem );\n }\n // find children\n var childElems = elem.querySelectorAll( selector );\n // concat childElems to filterFound array\n for ( var i=0; i < childElems.length; i++ ) {\n ffElems.push( childElems[i] );\n }\n });\n\n return ffElems;\n};\n\n// ----- debounceMethod ----- //\n\nutils.debounceMethod = function( _class, methodName, threshold ) {\n threshold = threshold || 100;\n // original method\n var method = _class.prototype[ methodName ];\n var timeoutName = methodName + 'Timeout';\n\n _class.prototype[ methodName ] = function() {\n var timeout = this[ timeoutName ];\n clearTimeout( timeout );\n\n var args = arguments;\n var _this = this;\n this[ timeoutName ] = setTimeout( function() {\n method.apply( _this, args );\n delete _this[ timeoutName ];\n }, threshold );\n };\n};\n\n// ----- docReady ----- //\n\nutils.docReady = function( callback ) {\n var readyState = document.readyState;\n if ( readyState == 'complete' || readyState == 'interactive' ) {\n // do async to allow for other scripts to run. metafizzy/flickity#441\n setTimeout( callback );\n } else {\n document.addEventListener( 'DOMContentLoaded', callback );\n }\n};\n\n// ----- htmlInit ----- //\n\n// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/\nutils.toDashed = function( str ) {\n return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {\n return $1 + '-' + $2;\n }).toLowerCase();\n};\n\nvar console = window.console;\n/**\n * allow user to initialize classes via [data-namespace] or .js-namespace class\n * htmlInit( Widget, 'widgetName' )\n * options are parsed from data-namespace-options\n */\nutils.htmlInit = function( WidgetClass, namespace ) {\n utils.docReady( function() {\n var dashedNamespace = utils.toDashed( namespace );\n var dataAttr = 'data-' + dashedNamespace;\n var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );\n var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );\n var elems = utils.makeArray( dataAttrElems )\n .concat( utils.makeArray( jsDashElems ) );\n var dataOptionsAttr = dataAttr + '-options';\n var jQuery = window.jQuery;\n\n elems.forEach( function( elem ) {\n var attr = elem.getAttribute( dataAttr ) ||\n elem.getAttribute( dataOptionsAttr );\n var options;\n try {\n options = attr && JSON.parse( attr );\n } catch ( error ) {\n // log error, do not initialize\n if ( console ) {\n console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +\n ': ' + error );\n }\n return;\n }\n // initialize\n var instance = new WidgetClass( elem, options );\n // make available via $().data('namespace')\n if ( jQuery ) {\n jQuery.data( elem, namespace, instance );\n }\n });\n\n });\n};\n\n// ----- ----- //\n\nreturn utils;\n\n}));\n","// Flickity.Cell\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'get-size/get-size',\n ], function( getSize ) {\n return factory( window, getSize );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('get-size')\n );\n } else {\n // browser global\n window.Flickity = window.Flickity || {};\n window.Flickity.Cell = factory(\n window,\n window.getSize\n );\n }\n\n}( window, function factory( window, getSize ) {\n\n'use strict';\n\nfunction Cell( elem, parent ) {\n this.element = elem;\n this.parent = parent;\n\n this.create();\n}\n\nvar proto = Cell.prototype;\n\nproto.create = function() {\n this.element.style.position = 'absolute';\n this.element.setAttribute( 'aria-hidden', 'true' );\n this.x = 0;\n this.shift = 0;\n this.element.style[ this.parent.originSide ] = 0;\n};\n\nproto.destroy = function() {\n // reset style\n this.unselect();\n this.element.style.position = '';\n var side = this.parent.originSide;\n this.element.style[ side ] = '';\n this.element.style.transform = '';\n this.element.removeAttribute('aria-hidden');\n};\n\nproto.getSize = function() {\n this.size = getSize( this.element );\n};\n\nproto.setPosition = function( x ) {\n this.x = x;\n this.updateTarget();\n this.renderPosition( x );\n};\n\n// setDefaultTarget v1 method, backwards compatibility, remove in v3\nproto.updateTarget = proto.setDefaultTarget = function() {\n var marginProperty = this.parent.originSide == 'left' ? 'marginLeft' : 'marginRight';\n this.target = this.x + this.size[ marginProperty ] +\n this.size.width * this.parent.cellAlign;\n};\n\nproto.renderPosition = function( x ) {\n // render position of cell with in slider\n var sideOffset = this.parent.originSide === 'left' ? 1 : -1;\n\n var adjustedX = this.parent.options.percentPosition ?\n x * sideOffset * ( this.parent.size.innerWidth / this.size.width ) :\n x * sideOffset;\n\n this.element.style.transform = 'translateX(' +\n this.parent.getPositionValue( adjustedX ) + ')';\n};\n\nproto.select = function() {\n this.element.classList.add('is-selected');\n this.element.removeAttribute('aria-hidden');\n};\n\nproto.unselect = function() {\n this.element.classList.remove('is-selected');\n this.element.setAttribute( 'aria-hidden', 'true' );\n};\n\n/**\n * @param {Integer} shift - 0, 1, or -1\n */\nproto.wrapShift = function( shift ) {\n this.shift = shift;\n this.renderPosition( this.x + this.parent.slideableWidth * shift );\n};\n\nproto.remove = function() {\n this.element.parentNode.removeChild( this.element );\n};\n\nreturn Cell;\n\n} ) );\n","// slide\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory();\n } else {\n // browser global\n window.Flickity = window.Flickity || {};\n window.Flickity.Slide = factory();\n }\n\n}( window, function factory() {\n'use strict';\n\nfunction Slide( parent ) {\n this.parent = parent;\n this.isOriginLeft = parent.originSide == 'left';\n this.cells = [];\n this.outerWidth = 0;\n this.height = 0;\n}\n\nvar proto = Slide.prototype;\n\nproto.addCell = function( cell ) {\n this.cells.push( cell );\n this.outerWidth += cell.size.outerWidth;\n this.height = Math.max( cell.size.outerHeight, this.height );\n // first cell stuff\n if ( this.cells.length == 1 ) {\n this.x = cell.x; // x comes from first cell\n var beginMargin = this.isOriginLeft ? 'marginLeft' : 'marginRight';\n this.firstMargin = cell.size[ beginMargin ];\n }\n};\n\nproto.updateTarget = function() {\n var endMargin = this.isOriginLeft ? 'marginRight' : 'marginLeft';\n var lastCell = this.getLastCell();\n var lastMargin = lastCell ? lastCell.size[ endMargin ] : 0;\n var slideWidth = this.outerWidth - ( this.firstMargin + lastMargin );\n this.target = this.x + this.firstMargin + slideWidth * this.parent.cellAlign;\n};\n\nproto.getLastCell = function() {\n return this.cells[ this.cells.length - 1 ];\n};\n\nproto.select = function() {\n this.cells.forEach( function( cell ) {\n cell.select();\n } );\n};\n\nproto.unselect = function() {\n this.cells.forEach( function( cell ) {\n cell.unselect();\n } );\n};\n\nproto.getCellElements = function() {\n return this.cells.map( function( cell ) {\n return cell.element;\n } );\n};\n\nreturn Slide;\n\n} ) );\n","// animate\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'fizzy-ui-utils/utils',\n ], function( utils ) {\n return factory( window, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n window.Flickity = window.Flickity || {};\n window.Flickity.animatePrototype = factory(\n window,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, utils ) {\n\n'use strict';\n\n// -------------------------- animate -------------------------- //\n\nvar proto = {};\n\nproto.startAnimation = function() {\n if ( this.isAnimating ) {\n return;\n }\n\n this.isAnimating = true;\n this.restingFrames = 0;\n this.animate();\n};\n\nproto.animate = function() {\n this.applyDragForce();\n this.applySelectedAttraction();\n\n var previousX = this.x;\n\n this.integratePhysics();\n this.positionSlider();\n this.settle( previousX );\n // animate next frame\n if ( this.isAnimating ) {\n var _this = this;\n requestAnimationFrame( function animateFrame() {\n _this.animate();\n } );\n }\n};\n\nproto.positionSlider = function() {\n var x = this.x;\n // wrap position around\n if ( this.options.wrapAround && this.cells.length > 1 ) {\n x = utils.modulo( x, this.slideableWidth );\n x -= this.slideableWidth;\n this.shiftWrapCells( x );\n }\n\n this.setTranslateX( x, this.isAnimating );\n this.dispatchScrollEvent();\n};\n\nproto.setTranslateX = function( x, is3d ) {\n x += this.cursorPosition;\n // reverse if right-to-left and using transform\n x = this.options.rightToLeft ? -x : x;\n var translateX = this.getPositionValue( x );\n // use 3D transforms for hardware acceleration on iOS\n // but use 2D when settled, for better font-rendering\n this.slider.style.transform = is3d ?\n 'translate3d(' + translateX + ',0,0)' : 'translateX(' + translateX + ')';\n};\n\nproto.dispatchScrollEvent = function() {\n var firstSlide = this.slides[0];\n if ( !firstSlide ) {\n return;\n }\n var positionX = -this.x - firstSlide.target;\n var progress = positionX / this.slidesWidth;\n this.dispatchEvent( 'scroll', null, [ progress, positionX ] );\n};\n\nproto.positionSliderAtSelected = function() {\n if ( !this.cells.length ) {\n return;\n }\n this.x = -this.selectedSlide.target;\n this.velocity = 0; // stop wobble\n this.positionSlider();\n};\n\nproto.getPositionValue = function( position ) {\n if ( this.options.percentPosition ) {\n // percent position, round to 2 digits, like 12.34%\n return ( Math.round( ( position / this.size.innerWidth ) * 10000 ) * 0.01 ) + '%';\n } else {\n // pixel positioning\n return Math.round( position ) + 'px';\n }\n};\n\nproto.settle = function( previousX ) {\n // keep track of frames where x hasn't moved\n var isResting = !this.isPointerDown &&\n Math.round( this.x * 100 ) == Math.round( previousX * 100 );\n if ( isResting ) {\n this.restingFrames++;\n }\n // stop animating if resting for 3 or more frames\n if ( this.restingFrames > 2 ) {\n this.isAnimating = false;\n delete this.isFreeScrolling;\n // render position with translateX when settled\n this.positionSlider();\n this.dispatchEvent( 'settle', null, [ this.selectedIndex ] );\n }\n};\n\nproto.shiftWrapCells = function( x ) {\n // shift before cells\n var beforeGap = this.cursorPosition + x;\n this._shiftCells( this.beforeShiftCells, beforeGap, -1 );\n // shift after cells\n var afterGap = this.size.innerWidth - ( x + this.slideableWidth + this.cursorPosition );\n this._shiftCells( this.afterShiftCells, afterGap, 1 );\n};\n\nproto._shiftCells = function( cells, gap, shift ) {\n for ( var i = 0; i < cells.length; i++ ) {\n var cell = cells[i];\n var cellShift = gap > 0 ? shift : 0;\n cell.wrapShift( cellShift );\n gap -= cell.size.outerWidth;\n }\n};\n\nproto._unshiftCells = function( cells ) {\n if ( !cells || !cells.length ) {\n return;\n }\n for ( var i = 0; i < cells.length; i++ ) {\n cells[i].wrapShift( 0 );\n }\n};\n\n// -------------------------- physics -------------------------- //\n\nproto.integratePhysics = function() {\n this.x += this.velocity;\n this.velocity *= this.getFrictionFactor();\n};\n\nproto.applyForce = function( force ) {\n this.velocity += force;\n};\n\nproto.getFrictionFactor = function() {\n return 1 - this.options[ this.isFreeScrolling ? 'freeScrollFriction' : 'friction' ];\n};\n\nproto.getRestingPosition = function() {\n // my thanks to Steven Wittens, who simplified this math greatly\n return this.x + this.velocity / ( 1 - this.getFrictionFactor() );\n};\n\nproto.applyDragForce = function() {\n if ( !this.isDraggable || !this.isPointerDown ) {\n return;\n }\n // change the position to drag position by applying force\n var dragVelocity = this.dragX - this.x;\n var dragForce = dragVelocity - this.velocity;\n this.applyForce( dragForce );\n};\n\nproto.applySelectedAttraction = function() {\n // do not attract if pointer down or no slides\n var dragDown = this.isDraggable && this.isPointerDown;\n if ( dragDown || this.isFreeScrolling || !this.slides.length ) {\n return;\n }\n var distance = this.selectedSlide.target * -1 - this.x;\n var force = distance * this.options.selectedAttraction;\n this.applyForce( force );\n};\n\nreturn proto;\n\n} ) );\n","// Flickity main\n/* eslint-disable max-params */\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter',\n 'get-size/get-size',\n 'fizzy-ui-utils/utils',\n './cell',\n './slide',\n './animate',\n ], function( EvEmitter, getSize, utils, Cell, Slide, animatePrototype ) {\n return factory( window, EvEmitter, getSize, utils, Cell, Slide, animatePrototype );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter'),\n require('get-size'),\n require('fizzy-ui-utils'),\n require('./cell'),\n require('./slide'),\n require('./animate')\n );\n } else {\n // browser global\n var _Flickity = window.Flickity;\n\n window.Flickity = factory(\n window,\n window.EvEmitter,\n window.getSize,\n window.fizzyUIUtils,\n _Flickity.Cell,\n _Flickity.Slide,\n _Flickity.animatePrototype\n );\n }\n\n}( window, function factory( window, EvEmitter, getSize,\n utils, Cell, Slide, animatePrototype ) {\n\n/* eslint-enable max-params */\n'use strict';\n\n// vars\nvar jQuery = window.jQuery;\nvar getComputedStyle = window.getComputedStyle;\nvar console = window.console;\n\nfunction moveElements( elems, toElem ) {\n elems = utils.makeArray( elems );\n while ( elems.length ) {\n toElem.appendChild( elems.shift() );\n }\n}\n\n// -------------------------- Flickity -------------------------- //\n\n// globally unique identifiers\nvar GUID = 0;\n// internal store of all Flickity intances\nvar instances = {};\n\nfunction Flickity( element, options ) {\n var queryElement = utils.getQueryElement( element );\n if ( !queryElement ) {\n if ( console ) {\n console.error( 'Bad element for Flickity: ' + ( queryElement || element ) );\n }\n return;\n }\n this.element = queryElement;\n // do not initialize twice on same element\n if ( this.element.flickityGUID ) {\n var instance = instances[ this.element.flickityGUID ];\n if ( instance ) instance.option( options );\n return instance;\n }\n\n // add jQuery\n if ( jQuery ) {\n this.$element = jQuery( this.element );\n }\n // options\n this.options = utils.extend( {}, this.constructor.defaults );\n this.option( options );\n\n // kick things off\n this._create();\n}\n\nFlickity.defaults = {\n accessibility: true,\n // adaptiveHeight: false,\n cellAlign: 'center',\n // cellSelector: undefined,\n // contain: false,\n freeScrollFriction: 0.075, // friction when free-scrolling\n friction: 0.28, // friction when selecting\n namespaceJQueryEvents: true,\n // initialIndex: 0,\n percentPosition: true,\n resize: true,\n selectedAttraction: 0.025,\n setGallerySize: true,\n // watchCSS: false,\n // wrapAround: false\n};\n\n// hash of methods triggered on _create()\nFlickity.createMethods = [];\n\nvar proto = Flickity.prototype;\n// inherit EventEmitter\nutils.extend( proto, EvEmitter.prototype );\n\nproto._create = function() {\n // add id for Flickity.data\n var id = this.guid = ++GUID;\n this.element.flickityGUID = id; // expando\n instances[ id ] = this; // associate via id\n // initial properties\n this.selectedIndex = 0;\n // how many frames slider has been in same position\n this.restingFrames = 0;\n // initial physics properties\n this.x = 0;\n this.velocity = 0;\n this.originSide = this.options.rightToLeft ? 'right' : 'left';\n // create viewport & slider\n this.viewport = document.createElement('div');\n this.viewport.className = 'flickity-viewport';\n this._createSlider();\n\n if ( this.options.resize || this.options.watchCSS ) {\n window.addEventListener( 'resize', this );\n }\n\n // add listeners from on option\n for ( var eventName in this.options.on ) {\n var listener = this.options.on[ eventName ];\n this.on( eventName, listener );\n }\n\n Flickity.createMethods.forEach( function( method ) {\n this[ method ]();\n }, this );\n\n if ( this.options.watchCSS ) {\n this.watchCSS();\n } else {\n this.activate();\n }\n\n};\n\n/**\n * set options\n * @param {Object} opts - options to extend\n */\nproto.option = function( opts ) {\n utils.extend( this.options, opts );\n};\n\nproto.activate = function() {\n if ( this.isActive ) {\n return;\n }\n this.isActive = true;\n this.element.classList.add('flickity-enabled');\n if ( this.options.rightToLeft ) {\n this.element.classList.add('flickity-rtl');\n }\n\n this.getSize();\n // move initial cell elements so they can be loaded as cells\n var cellElems = this._filterFindCellElements( this.element.children );\n moveElements( cellElems, this.slider );\n this.viewport.appendChild( this.slider );\n this.element.appendChild( this.viewport );\n // get cells from children\n this.reloadCells();\n\n if ( this.options.accessibility ) {\n // allow element to focusable\n this.element.tabIndex = 0;\n // listen for key presses\n this.element.addEventListener( 'keydown', this );\n }\n\n this.emitEvent('activate');\n this.selectInitialIndex();\n // flag for initial activation, for using initialIndex\n this.isInitActivated = true;\n // ready event. #493\n this.dispatchEvent('ready');\n};\n\n// slider positions the cells\nproto._createSlider = function() {\n // slider element does all the positioning\n var slider = document.createElement('div');\n slider.className = 'flickity-slider';\n slider.style[ this.originSide ] = 0;\n this.slider = slider;\n};\n\nproto._filterFindCellElements = function( elems ) {\n return utils.filterFindElements( elems, this.options.cellSelector );\n};\n\n// goes through all children\nproto.reloadCells = function() {\n // collection of item elements\n this.cells = this._makeCells( this.slider.children );\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n};\n\n/**\n * turn elements into Flickity.Cells\n * @param {[Array, NodeList, HTMLElement]} elems - elements to make into cells\n * @returns {Array} items - collection of new Flickity Cells\n */\nproto._makeCells = function( elems ) {\n var cellElems = this._filterFindCellElements( elems );\n\n // create new Flickity for collection\n var cells = cellElems.map( function( cellElem ) {\n return new Cell( cellElem, this );\n }, this );\n\n return cells;\n};\n\nproto.getLastCell = function() {\n return this.cells[ this.cells.length - 1 ];\n};\n\nproto.getLastSlide = function() {\n return this.slides[ this.slides.length - 1 ];\n};\n\n// positions all cells\nproto.positionCells = function() {\n // size all cells\n this._sizeCells( this.cells );\n // position all cells\n this._positionCells( 0 );\n};\n\n/**\n * position certain cells\n * @param {Integer} index - which cell to start with\n */\nproto._positionCells = function( index ) {\n index = index || 0;\n // also measure maxCellHeight\n // start 0 if positioning all cells\n this.maxCellHeight = index ? this.maxCellHeight || 0 : 0;\n var cellX = 0;\n // get cellX\n if ( index > 0 ) {\n var startCell = this.cells[ index - 1 ];\n cellX = startCell.x + startCell.size.outerWidth;\n }\n var len = this.cells.length;\n for ( var i = index; i < len; i++ ) {\n var cell = this.cells[i];\n cell.setPosition( cellX );\n cellX += cell.size.outerWidth;\n this.maxCellHeight = Math.max( cell.size.outerHeight, this.maxCellHeight );\n }\n // keep track of cellX for wrap-around\n this.slideableWidth = cellX;\n // slides\n this.updateSlides();\n // contain slides target\n this._containSlides();\n // update slidesWidth\n this.slidesWidth = len ? this.getLastSlide().target - this.slides[0].target : 0;\n};\n\n/**\n * cell.getSize() on multiple cells\n * @param {Array} cells - cells to size\n */\nproto._sizeCells = function( cells ) {\n cells.forEach( function( cell ) {\n cell.getSize();\n } );\n};\n\n// -------------------------- -------------------------- //\n\nproto.updateSlides = function() {\n this.slides = [];\n if ( !this.cells.length ) {\n return;\n }\n\n var slide = new Slide( this );\n this.slides.push( slide );\n var isOriginLeft = this.originSide == 'left';\n var nextMargin = isOriginLeft ? 'marginRight' : 'marginLeft';\n\n var canCellFit = this._getCanCellFit();\n\n this.cells.forEach( function( cell, i ) {\n // just add cell if first cell in slide\n if ( !slide.cells.length ) {\n slide.addCell( cell );\n return;\n }\n\n var slideWidth = ( slide.outerWidth - slide.firstMargin ) +\n ( cell.size.outerWidth - cell.size[ nextMargin ] );\n\n if ( canCellFit.call( this, i, slideWidth ) ) {\n slide.addCell( cell );\n } else {\n // doesn't fit, new slide\n slide.updateTarget();\n\n slide = new Slide( this );\n this.slides.push( slide );\n slide.addCell( cell );\n }\n }, this );\n // last slide\n slide.updateTarget();\n // update .selectedSlide\n this.updateSelectedSlide();\n};\n\nproto._getCanCellFit = function() {\n var groupCells = this.options.groupCells;\n if ( !groupCells ) {\n return function() {\n return false;\n };\n } else if ( typeof groupCells == 'number' ) {\n // group by number. 3 -> [0,1,2], [3,4,5], ...\n var number = parseInt( groupCells, 10 );\n return function( i ) {\n return ( i % number ) !== 0;\n };\n }\n // default, group by width of slide\n // parse '75%\n var percentMatch = typeof groupCells == 'string' &&\n groupCells.match( /^(\\d+)%$/ );\n var percent = percentMatch ? parseInt( percentMatch[1], 10 ) / 100 : 1;\n return function( i, slideWidth ) {\n /* eslint-disable-next-line no-invalid-this */\n return slideWidth <= ( this.size.innerWidth + 1 ) * percent;\n };\n};\n\n// alias _init for jQuery plugin .flickity()\nproto._init =\nproto.reposition = function() {\n this.positionCells();\n this.positionSliderAtSelected();\n};\n\nproto.getSize = function() {\n this.size = getSize( this.element );\n this.setCellAlign();\n this.cursorPosition = this.size.innerWidth * this.cellAlign;\n};\n\nvar cellAlignShorthands = {\n // cell align, then based on origin side\n center: {\n left: 0.5,\n right: 0.5,\n },\n left: {\n left: 0,\n right: 1,\n },\n right: {\n right: 0,\n left: 1,\n },\n};\n\nproto.setCellAlign = function() {\n var shorthand = cellAlignShorthands[ this.options.cellAlign ];\n this.cellAlign = shorthand ? shorthand[ this.originSide ] : this.options.cellAlign;\n};\n\nproto.setGallerySize = function() {\n if ( this.options.setGallerySize ) {\n var height = this.options.adaptiveHeight && this.selectedSlide ?\n this.selectedSlide.height : this.maxCellHeight;\n this.viewport.style.height = height + 'px';\n }\n};\n\nproto._getWrapShiftCells = function() {\n // only for wrap-around\n if ( !this.options.wrapAround ) {\n return;\n }\n // unshift previous cells\n this._unshiftCells( this.beforeShiftCells );\n this._unshiftCells( this.afterShiftCells );\n // get before cells\n // initial gap\n var gapX = this.cursorPosition;\n var cellIndex = this.cells.length - 1;\n this.beforeShiftCells = this._getGapCells( gapX, cellIndex, -1 );\n // get after cells\n // ending gap between last cell and end of gallery viewport\n gapX = this.size.innerWidth - this.cursorPosition;\n // start cloning at first cell, working forwards\n this.afterShiftCells = this._getGapCells( gapX, 0, 1 );\n};\n\nproto._getGapCells = function( gapX, cellIndex, increment ) {\n // keep adding cells until the cover the initial gap\n var cells = [];\n while ( gapX > 0 ) {\n var cell = this.cells[ cellIndex ];\n if ( !cell ) {\n break;\n }\n cells.push( cell );\n cellIndex += increment;\n gapX -= cell.size.outerWidth;\n }\n return cells;\n};\n\n// ----- contain ----- //\n\n// contain cell targets so no excess sliding\nproto._containSlides = function() {\n if ( !this.options.contain || this.options.wrapAround || !this.cells.length ) {\n return;\n }\n var isRightToLeft = this.options.rightToLeft;\n var beginMargin = isRightToLeft ? 'marginRight' : 'marginLeft';\n var endMargin = isRightToLeft ? 'marginLeft' : 'marginRight';\n var contentWidth = this.slideableWidth - this.getLastCell().size[ endMargin ];\n // content is less than gallery size\n var isContentSmaller = contentWidth < this.size.innerWidth;\n // bounds\n var beginBound = this.cursorPosition + this.cells[0].size[ beginMargin ];\n var endBound = contentWidth - this.size.innerWidth * ( 1 - this.cellAlign );\n // contain each cell target\n this.slides.forEach( function( slide ) {\n if ( isContentSmaller ) {\n // all cells fit inside gallery\n slide.target = contentWidth * this.cellAlign;\n } else {\n // contain to bounds\n slide.target = Math.max( slide.target, beginBound );\n slide.target = Math.min( slide.target, endBound );\n }\n }, this );\n};\n\n// ----- ----- //\n\n/**\n * emits events via eventEmitter and jQuery events\n * @param {String} type - name of event\n * @param {Event} event - original event\n * @param {Array} args - extra arguments\n */\nproto.dispatchEvent = function( type, event, args ) {\n var emitArgs = event ? [ event ].concat( args ) : args;\n this.emitEvent( type, emitArgs );\n\n if ( jQuery && this.$element ) {\n // default trigger with type if no event\n type += this.options.namespaceJQueryEvents ? '.flickity' : '';\n var $event = type;\n if ( event ) {\n // create jQuery event\n var jQEvent = new jQuery.Event( event );\n jQEvent.type = type;\n $event = jQEvent;\n }\n this.$element.trigger( $event, args );\n }\n};\n\n// -------------------------- select -------------------------- //\n\n/**\n * @param {Integer} index - index of the slide\n * @param {Boolean} isWrap - will wrap-around to last/first if at the end\n * @param {Boolean} isInstant - will immediately set position at selected cell\n */\nproto.select = function( index, isWrap, isInstant ) {\n if ( !this.isActive ) {\n return;\n }\n index = parseInt( index, 10 );\n this._wrapSelect( index );\n\n if ( this.options.wrapAround || isWrap ) {\n index = utils.modulo( index, this.slides.length );\n }\n // bail if invalid index\n if ( !this.slides[ index ] ) {\n return;\n }\n var prevIndex = this.selectedIndex;\n this.selectedIndex = index;\n this.updateSelectedSlide();\n if ( isInstant ) {\n this.positionSliderAtSelected();\n } else {\n this.startAnimation();\n }\n if ( this.options.adaptiveHeight ) {\n this.setGallerySize();\n }\n // events\n this.dispatchEvent( 'select', null, [ index ] );\n // change event if new index\n if ( index != prevIndex ) {\n this.dispatchEvent( 'change', null, [ index ] );\n }\n // old v1 event name, remove in v3\n this.dispatchEvent('cellSelect');\n};\n\n// wraps position for wrapAround, to move to closest slide. #113\nproto._wrapSelect = function( index ) {\n var len = this.slides.length;\n var isWrapping = this.options.wrapAround && len > 1;\n if ( !isWrapping ) {\n return index;\n }\n var wrapIndex = utils.modulo( index, len );\n // go to shortest\n var delta = Math.abs( wrapIndex - this.selectedIndex );\n var backWrapDelta = Math.abs( ( wrapIndex + len ) - this.selectedIndex );\n var forewardWrapDelta = Math.abs( ( wrapIndex - len ) - this.selectedIndex );\n if ( !this.isDragSelect && backWrapDelta < delta ) {\n index += len;\n } else if ( !this.isDragSelect && forewardWrapDelta < delta ) {\n index -= len;\n }\n // wrap position so slider is within normal area\n if ( index < 0 ) {\n this.x -= this.slideableWidth;\n } else if ( index >= len ) {\n this.x += this.slideableWidth;\n }\n};\n\nproto.previous = function( isWrap, isInstant ) {\n this.select( this.selectedIndex - 1, isWrap, isInstant );\n};\n\nproto.next = function( isWrap, isInstant ) {\n this.select( this.selectedIndex + 1, isWrap, isInstant );\n};\n\nproto.updateSelectedSlide = function() {\n var slide = this.slides[ this.selectedIndex ];\n // selectedIndex could be outside of slides, if triggered before resize()\n if ( !slide ) {\n return;\n }\n // unselect previous selected slide\n this.unselectSelectedSlide();\n // update new selected slide\n this.selectedSlide = slide;\n slide.select();\n this.selectedCells = slide.cells;\n this.selectedElements = slide.getCellElements();\n // HACK: selectedCell & selectedElement is first cell in slide, backwards compatibility\n // Remove in v3?\n this.selectedCell = slide.cells[0];\n this.selectedElement = this.selectedElements[0];\n};\n\nproto.unselectSelectedSlide = function() {\n if ( this.selectedSlide ) {\n this.selectedSlide.unselect();\n }\n};\n\nproto.selectInitialIndex = function() {\n var initialIndex = this.options.initialIndex;\n // already activated, select previous selectedIndex\n if ( this.isInitActivated ) {\n this.select( this.selectedIndex, false, true );\n return;\n }\n // select with selector string\n if ( initialIndex && typeof initialIndex == 'string' ) {\n var cell = this.queryCell( initialIndex );\n if ( cell ) {\n this.selectCell( initialIndex, false, true );\n return;\n }\n }\n\n var index = 0;\n // select with number\n if ( initialIndex && this.slides[ initialIndex ] ) {\n index = initialIndex;\n }\n // select instantly\n this.select( index, false, true );\n};\n\n/**\n * select slide from number or cell element\n * @param {[Element, Number]} value - zero-based index or element to select\n * @param {Boolean} isWrap - enables wrapping around for extra index\n * @param {Boolean} isInstant - disables slide animation\n */\nproto.selectCell = function( value, isWrap, isInstant ) {\n // get cell\n var cell = this.queryCell( value );\n if ( !cell ) {\n return;\n }\n\n var index = this.getCellSlideIndex( cell );\n this.select( index, isWrap, isInstant );\n};\n\nproto.getCellSlideIndex = function( cell ) {\n // get index of slides that has cell\n for ( var i = 0; i < this.slides.length; i++ ) {\n var slide = this.slides[i];\n var index = slide.cells.indexOf( cell );\n if ( index != -1 ) {\n return i;\n }\n }\n};\n\n// -------------------------- get cells -------------------------- //\n\n/**\n * get Flickity.Cell, given an Element\n * @param {Element} elem - matching cell element\n * @returns {Flickity.Cell} cell - matching cell\n */\nproto.getCell = function( elem ) {\n // loop through cells to get the one that matches\n for ( var i = 0; i < this.cells.length; i++ ) {\n var cell = this.cells[i];\n if ( cell.element == elem ) {\n return cell;\n }\n }\n};\n\n/**\n * get collection of Flickity.Cells, given Elements\n * @param {[Element, Array, NodeList]} elems - multiple elements\n * @returns {Array} cells - Flickity.Cells\n */\nproto.getCells = function( elems ) {\n elems = utils.makeArray( elems );\n var cells = [];\n elems.forEach( function( elem ) {\n var cell = this.getCell( elem );\n if ( cell ) {\n cells.push( cell );\n }\n }, this );\n return cells;\n};\n\n/**\n * get cell elements\n * @returns {Array} cellElems\n */\nproto.getCellElements = function() {\n return this.cells.map( function( cell ) {\n return cell.element;\n } );\n};\n\n/**\n * get parent cell from an element\n * @param {Element} elem - child element\n * @returns {Flickit.Cell} cell - parent cell\n */\nproto.getParentCell = function( elem ) {\n // first check if elem is cell\n var cell = this.getCell( elem );\n if ( cell ) {\n return cell;\n }\n // try to get parent cell elem\n elem = utils.getParent( elem, '.flickity-slider > *' );\n return this.getCell( elem );\n};\n\n/**\n * get cells adjacent to a slide\n * @param {Integer} adjCount - number of adjacent slides\n * @param {Integer} index - index of slide to start\n * @returns {Array} cells - array of Flickity.Cells\n */\nproto.getAdjacentCellElements = function( adjCount, index ) {\n if ( !adjCount ) {\n return this.selectedSlide.getCellElements();\n }\n index = index === undefined ? this.selectedIndex : index;\n\n var len = this.slides.length;\n if ( 1 + ( adjCount * 2 ) >= len ) {\n return this.getCellElements();\n }\n\n var cellElems = [];\n for ( var i = index - adjCount; i <= index + adjCount; i++ ) {\n var slideIndex = this.options.wrapAround ? utils.modulo( i, len ) : i;\n var slide = this.slides[ slideIndex ];\n if ( slide ) {\n cellElems = cellElems.concat( slide.getCellElements() );\n }\n }\n return cellElems;\n};\n\n/**\n * select slide from number or cell element\n * @param {[Element, String, Number]} selector - element, selector string, or index\n * @returns {Flickity.Cell} - matching cell\n */\nproto.queryCell = function( selector ) {\n if ( typeof selector == 'number' ) {\n // use number as index\n return this.cells[ selector ];\n }\n if ( typeof selector == 'string' ) {\n // do not select invalid selectors from hash: #123, #/. #791\n if ( selector.match( /^[#.]?[\\d/]/ ) ) {\n return;\n }\n // use string as selector, get element\n selector = this.element.querySelector( selector );\n }\n // get cell from element\n return this.getCell( selector );\n};\n\n// -------------------------- events -------------------------- //\n\nproto.uiChange = function() {\n this.emitEvent('uiChange');\n};\n\n// keep focus on element when child UI elements are clicked\nproto.childUIPointerDown = function( event ) {\n // HACK iOS does not allow touch events to bubble up?!\n if ( event.type != 'touchstart' ) {\n event.preventDefault();\n }\n this.focus();\n};\n\n// ----- resize ----- //\n\nproto.onresize = function() {\n this.watchCSS();\n this.resize();\n};\n\nutils.debounceMethod( Flickity, 'onresize', 150 );\n\nproto.resize = function() {\n // #1177 disable resize behavior when animating or dragging for iOS 15\n if ( !this.isActive || this.isAnimating || this.isDragging ) {\n return;\n }\n this.getSize();\n // wrap values\n if ( this.options.wrapAround ) {\n this.x = utils.modulo( this.x, this.slideableWidth );\n }\n this.positionCells();\n this._getWrapShiftCells();\n this.setGallerySize();\n this.emitEvent('resize');\n // update selected index for group slides, instant\n // TODO: position can be lost between groups of various numbers\n var selectedElement = this.selectedElements && this.selectedElements[0];\n this.selectCell( selectedElement, false, true );\n};\n\n// watches the :after property, activates/deactivates\nproto.watchCSS = function() {\n var watchOption = this.options.watchCSS;\n if ( !watchOption ) {\n return;\n }\n\n var afterContent = getComputedStyle( this.element, ':after' ).content;\n // activate if :after { content: 'flickity' }\n if ( afterContent.indexOf('flickity') != -1 ) {\n this.activate();\n } else {\n this.deactivate();\n }\n};\n\n// ----- keydown ----- //\n\n// go previous/next if left/right keys pressed\nproto.onkeydown = function( event ) {\n // only work if element is in focus\n var isNotFocused = document.activeElement && document.activeElement != this.element;\n if ( !this.options.accessibility || isNotFocused ) {\n return;\n }\n\n var handler = Flickity.keyboardHandlers[ event.keyCode ];\n if ( handler ) {\n handler.call( this );\n }\n};\n\nFlickity.keyboardHandlers = {\n // left arrow\n 37: function() {\n var leftMethod = this.options.rightToLeft ? 'next' : 'previous';\n this.uiChange();\n this[ leftMethod ]();\n },\n // right arrow\n 39: function() {\n var rightMethod = this.options.rightToLeft ? 'previous' : 'next';\n this.uiChange();\n this[ rightMethod ]();\n },\n};\n\n// ----- focus ----- //\n\nproto.focus = function() {\n // TODO remove scrollTo once focus options gets more support\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus ...\n // #Browser_compatibility\n var prevScrollY = window.pageYOffset;\n this.element.focus({ preventScroll: true });\n // hack to fix scroll jump after focus, #76\n if ( window.pageYOffset != prevScrollY ) {\n window.scrollTo( window.pageXOffset, prevScrollY );\n }\n};\n\n// -------------------------- destroy -------------------------- //\n\n// deactivate all Flickity functionality, but keep stuff available\nproto.deactivate = function() {\n if ( !this.isActive ) {\n return;\n }\n this.element.classList.remove('flickity-enabled');\n this.element.classList.remove('flickity-rtl');\n this.unselectSelectedSlide();\n // destroy cells\n this.cells.forEach( function( cell ) {\n cell.destroy();\n } );\n this.element.removeChild( this.viewport );\n // move child elements back into element\n moveElements( this.slider.children, this.element );\n if ( this.options.accessibility ) {\n this.element.removeAttribute('tabIndex');\n this.element.removeEventListener( 'keydown', this );\n }\n // set flags\n this.isActive = false;\n this.emitEvent('deactivate');\n};\n\nproto.destroy = function() {\n this.deactivate();\n window.removeEventListener( 'resize', this );\n this.allOff();\n this.emitEvent('destroy');\n if ( jQuery && this.$element ) {\n jQuery.removeData( this.element, 'flickity' );\n }\n delete this.element.flickityGUID;\n delete instances[ this.guid ];\n};\n\n// -------------------------- prototype -------------------------- //\n\nutils.extend( proto, animatePrototype );\n\n// -------------------------- extras -------------------------- //\n\n/**\n * get Flickity instance from element\n * @param {[Element, String]} elem - element or selector string\n * @returns {Flickity} - Flickity instance\n */\nFlickity.data = function( elem ) {\n elem = utils.getQueryElement( elem );\n var id = elem && elem.flickityGUID;\n return id && instances[ id ];\n};\n\nutils.htmlInit( Flickity, 'flickity' );\n\nif ( jQuery && jQuery.bridget ) {\n jQuery.bridget( 'flickity', Flickity );\n}\n\n// set internal jQuery, for Webpack + jQuery v3, #478\nFlickity.setJQuery = function( jq ) {\n jQuery = jq;\n};\n\nFlickity.Cell = Cell;\nFlickity.Slide = Slide;\n\nreturn Flickity;\n\n} ) );\n","/*!\n * Unipointer v2.4.0\n * base class for doing one thing with pointer event\n * MIT license\n */\n\n/*jshint browser: true, undef: true, unused: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /* jshint strict: false */ /*global define, module, require */\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter'\n ], function( EvEmitter ) {\n return factory( window, EvEmitter );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('ev-emitter')\n );\n } else {\n // browser global\n window.Unipointer = factory(\n window,\n window.EvEmitter\n );\n }\n\n}( window, function factory( window, EvEmitter ) {\n\n'use strict';\n\nfunction noop() {}\n\nfunction Unipointer() {}\n\n// inherit EvEmitter\nvar proto = Unipointer.prototype = Object.create( EvEmitter.prototype );\n\nproto.bindStartEvent = function( elem ) {\n this._bindStartEvent( elem, true );\n};\n\nproto.unbindStartEvent = function( elem ) {\n this._bindStartEvent( elem, false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd - remove if falsey\n */\nproto._bindStartEvent = function( elem, isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n\n // default to mouse events\n var startEvent = 'mousedown';\n if ( 'ontouchstart' in window ) {\n // HACK prefer Touch Events as you can preventDefault on touchstart to\n // disable scroll in iOS & mobile Chrome metafizzy/flickity#1177\n startEvent = 'touchstart';\n } else if ( window.PointerEvent ) {\n // Pointer Events\n startEvent = 'pointerdown';\n }\n elem[ bindMethod ]( startEvent, this );\n};\n\n// trigger handler methods for events\nproto.handleEvent = function( event ) {\n var method = 'on' + event.type;\n if ( this[ method ] ) {\n this[ method ]( event );\n }\n};\n\n// returns the touch that we're keeping track of\nproto.getTouch = function( touches ) {\n for ( var i=0; i < touches.length; i++ ) {\n var touch = touches[i];\n if ( touch.identifier == this.pointerIdentifier ) {\n return touch;\n }\n }\n};\n\n// ----- start event ----- //\n\nproto.onmousedown = function( event ) {\n // dismiss clicks from right or middle buttons\n var button = event.button;\n if ( button && ( button !== 0 && button !== 1 ) ) {\n return;\n }\n this._pointerDown( event, event );\n};\n\nproto.ontouchstart = function( event ) {\n this._pointerDown( event, event.changedTouches[0] );\n};\n\nproto.onpointerdown = function( event ) {\n this._pointerDown( event, event );\n};\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto._pointerDown = function( event, pointer ) {\n // dismiss right click and other pointers\n // button = 0 is okay, 1-4 not\n if ( event.button || this.isPointerDown ) {\n return;\n }\n\n this.isPointerDown = true;\n // save pointer identifier to match up touch events\n this.pointerIdentifier = pointer.pointerId !== undefined ?\n // pointerId for pointer events, touch.indentifier for touch events\n pointer.pointerId : pointer.identifier;\n\n this.pointerDown( event, pointer );\n};\n\nproto.pointerDown = function( event, pointer ) {\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// hash of events to be bound after start event\nvar postStartEvents = {\n mousedown: [ 'mousemove', 'mouseup' ],\n touchstart: [ 'touchmove', 'touchend', 'touchcancel' ],\n pointerdown: [ 'pointermove', 'pointerup', 'pointercancel' ],\n};\n\nproto._bindPostStartEvents = function( event ) {\n if ( !event ) {\n return;\n }\n // get proper events to match start event\n var events = postStartEvents[ event.type ];\n // bind events to node\n events.forEach( function( eventName ) {\n window.addEventListener( eventName, this );\n }, this );\n // save these arguments\n this._boundPointerEvents = events;\n};\n\nproto._unbindPostStartEvents = function() {\n // check for _boundEvents, in case dragEnd triggered twice (old IE8 bug)\n if ( !this._boundPointerEvents ) {\n return;\n }\n this._boundPointerEvents.forEach( function( eventName ) {\n window.removeEventListener( eventName, this );\n }, this );\n\n delete this._boundPointerEvents;\n};\n\n// ----- move event ----- //\n\nproto.onmousemove = function( event ) {\n this._pointerMove( event, event );\n};\n\nproto.onpointermove = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerMove( event, event );\n }\n};\n\nproto.ontouchmove = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerMove( event, touch );\n }\n};\n\n/**\n * pointer move\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerMove = function( event, pointer ) {\n this.pointerMove( event, pointer );\n};\n\n// public\nproto.pointerMove = function( event, pointer ) {\n this.emitEvent( 'pointerMove', [ event, pointer ] );\n};\n\n// ----- end event ----- //\n\n\nproto.onmouseup = function( event ) {\n this._pointerUp( event, event );\n};\n\nproto.onpointerup = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerUp( event, event );\n }\n};\n\nproto.ontouchend = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerUp( event, touch );\n }\n};\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerUp = function( event, pointer ) {\n this._pointerDone();\n this.pointerUp( event, pointer );\n};\n\n// public\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n};\n\n// ----- pointer done ----- //\n\n// triggered on pointer up & pointer cancel\nproto._pointerDone = function() {\n this._pointerReset();\n this._unbindPostStartEvents();\n this.pointerDone();\n};\n\nproto._pointerReset = function() {\n // reset properties\n this.isPointerDown = false;\n delete this.pointerIdentifier;\n};\n\nproto.pointerDone = noop;\n\n// ----- pointer cancel ----- //\n\nproto.onpointercancel = function( event ) {\n if ( event.pointerId == this.pointerIdentifier ) {\n this._pointerCancel( event, event );\n }\n};\n\nproto.ontouchcancel = function( event ) {\n var touch = this.getTouch( event.changedTouches );\n if ( touch ) {\n this._pointerCancel( event, touch );\n }\n};\n\n/**\n * pointer cancel\n * @param {Event} event\n * @param {Event or Touch} pointer\n * @private\n */\nproto._pointerCancel = function( event, pointer ) {\n this._pointerDone();\n this.pointerCancel( event, pointer );\n};\n\n// public\nproto.pointerCancel = function( event, pointer ) {\n this.emitEvent( 'pointerCancel', [ event, pointer ] );\n};\n\n// ----- ----- //\n\n// utility function for getting x/y coords from event\nUnipointer.getPointerPoint = function( pointer ) {\n return {\n x: pointer.pageX,\n y: pointer.pageY\n };\n};\n\n// ----- ----- //\n\nreturn Unipointer;\n\n}));\n","/*!\n * Unidragger v2.4.0\n * Draggable base class\n * MIT license\n */\n\n/*jshint browser: true, unused: true, undef: true, strict: true */\n\n( function( window, factory ) {\n // universal module definition\n /*jshint strict: false */ /*globals define, module, require */\n\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'unipointer/unipointer'\n ], function( Unipointer ) {\n return factory( window, Unipointer );\n });\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('unipointer')\n );\n } else {\n // browser global\n window.Unidragger = factory(\n window,\n window.Unipointer\n );\n }\n\n}( window, function factory( window, Unipointer ) {\n\n'use strict';\n\n// -------------------------- Unidragger -------------------------- //\n\nfunction Unidragger() {}\n\n// inherit Unipointer & EvEmitter\nvar proto = Unidragger.prototype = Object.create( Unipointer.prototype );\n\n// ----- bind start ----- //\n\nproto.bindHandles = function() {\n this._bindHandles( true );\n};\n\nproto.unbindHandles = function() {\n this._bindHandles( false );\n};\n\n/**\n * Add or remove start event\n * @param {Boolean} isAdd\n */\nproto._bindHandles = function( isAdd ) {\n // munge isAdd, default to true\n isAdd = isAdd === undefined ? true : isAdd;\n // bind each handle\n var bindMethod = isAdd ? 'addEventListener' : 'removeEventListener';\n var touchAction = isAdd ? this._touchActionValue : '';\n for ( var i=0; i < this.handles.length; i++ ) {\n var handle = this.handles[i];\n this._bindStartEvent( handle, isAdd );\n handle[ bindMethod ]( 'click', this );\n // touch-action: none to override browser touch gestures. metafizzy/flickity#540\n if ( window.PointerEvent ) {\n handle.style.touchAction = touchAction;\n }\n }\n};\n\n// prototype so it can be overwriteable by Flickity\nproto._touchActionValue = 'none';\n\n// ----- start event ----- //\n\n/**\n * pointer start\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerDown = function( event, pointer ) {\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. flickity#842\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n\n event.preventDefault();\n this.pointerDownBlur();\n // bind move and end events\n this._bindPostStartEvents( event );\n this.emitEvent( 'pointerDown', [ event, pointer ] );\n};\n\n// nodes that have text fields\nvar cursorNodes = {\n TEXTAREA: true,\n INPUT: true,\n SELECT: true,\n OPTION: true,\n};\n\n// input types that do not have text fields\nvar clickTypes = {\n radio: true,\n checkbox: true,\n button: true,\n submit: true,\n image: true,\n file: true,\n};\n\n// dismiss inputs with text fields. flickity#403, flickity#404\nproto.okayPointerDown = function( event ) {\n var isCursorNode = cursorNodes[ event.target.nodeName ];\n var isClickType = clickTypes[ event.target.type ];\n var isOkay = !isCursorNode || isClickType;\n if ( !isOkay ) {\n this._pointerReset();\n }\n return isOkay;\n};\n\n// kludge to blur previously focused input\nproto.pointerDownBlur = function() {\n var focused = document.activeElement;\n // do not blur body for IE10, metafizzy/flickity#117\n var canBlur = focused && focused.blur && focused != document.body;\n if ( canBlur ) {\n focused.blur();\n }\n};\n\n// ----- move event ----- //\n\n/**\n * drag move\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.emitEvent( 'pointerMove', [ event, pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\n// base pointer move logic\nproto._dragPointerMove = function( event, pointer ) {\n var moveVector = {\n x: pointer.pageX - this.pointerDownPointer.pageX,\n y: pointer.pageY - this.pointerDownPointer.pageY\n };\n // start drag if pointer has moved far enough to start drag\n if ( !this.isDragging && this.hasDragStarted( moveVector ) ) {\n this._dragStart( event, pointer );\n }\n return moveVector;\n};\n\n// condition if pointer has moved far enough to start drag\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > 3 || Math.abs( moveVector.y ) > 3;\n};\n\n// ----- end event ----- //\n\n/**\n * pointer up\n * @param {Event} event\n * @param {Event or Touch} pointer\n */\nproto.pointerUp = function( event, pointer ) {\n this.emitEvent( 'pointerUp', [ event, pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto._dragPointerUp = function( event, pointer ) {\n if ( this.isDragging ) {\n this._dragEnd( event, pointer );\n } else {\n // pointer didn't move enough for drag to start\n this._staticClick( event, pointer );\n }\n};\n\n// -------------------------- drag -------------------------- //\n\n// dragStart\nproto._dragStart = function( event, pointer ) {\n this.isDragging = true;\n // prevent clicks\n this.isPreventingClicks = true;\n this.dragStart( event, pointer );\n};\n\nproto.dragStart = function( event, pointer ) {\n this.emitEvent( 'dragStart', [ event, pointer ] );\n};\n\n// dragMove\nproto._dragMove = function( event, pointer, moveVector ) {\n // do not drag if not dragging yet\n if ( !this.isDragging ) {\n return;\n }\n\n this.dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n event.preventDefault();\n this.emitEvent( 'dragMove', [ event, pointer, moveVector ] );\n};\n\n// dragEnd\nproto._dragEnd = function( event, pointer ) {\n // set flags\n this.isDragging = false;\n // re-enable clicking async\n setTimeout( function() {\n delete this.isPreventingClicks;\n }.bind( this ) );\n\n this.dragEnd( event, pointer );\n};\n\nproto.dragEnd = function( event, pointer ) {\n this.emitEvent( 'dragEnd', [ event, pointer ] );\n};\n\n// ----- onclick ----- //\n\n// handle all clicks and prevent clicks when dragging\nproto.onclick = function( event ) {\n if ( this.isPreventingClicks ) {\n event.preventDefault();\n }\n};\n\n// ----- staticClick ----- //\n\n// triggered after pointer down & up with no/tiny movement\nproto._staticClick = function( event, pointer ) {\n // ignore emulated mouse up clicks\n if ( this.isIgnoringMouseUp && event.type == 'mouseup' ) {\n return;\n }\n\n this.staticClick( event, pointer );\n\n // set flag for emulated clicks 300ms after touchend\n if ( event.type != 'mouseup' ) {\n this.isIgnoringMouseUp = true;\n // reset flag after 300ms\n setTimeout( function() {\n delete this.isIgnoringMouseUp;\n }.bind( this ), 400 );\n }\n};\n\nproto.staticClick = function( event, pointer ) {\n this.emitEvent( 'staticClick', [ event, pointer ] );\n};\n\n// ----- utils ----- //\n\nUnidragger.getPointerPoint = Unipointer.getPointerPoint;\n\n// ----- ----- //\n\nreturn Unidragger;\n\n}));\n","// drag\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n 'unidragger/unidragger',\n 'fizzy-ui-utils/utils',\n ], function( Flickity, Unidragger, utils ) {\n return factory( window, Flickity, Unidragger, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('./flickity'),\n require('unidragger'),\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n window.Flickity = factory(\n window,\n window.Flickity,\n window.Unidragger,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, Flickity, Unidragger, utils ) {\n\n'use strict';\n\n// ----- defaults ----- //\n\nutils.extend( Flickity.defaults, {\n draggable: '>1',\n dragThreshold: 3,\n} );\n\n// ----- create ----- //\n\nFlickity.createMethods.push('_createDrag');\n\n// -------------------------- drag prototype -------------------------- //\n\nvar proto = Flickity.prototype;\nutils.extend( proto, Unidragger.prototype );\nproto._touchActionValue = 'pan-y';\n\n// -------------------------- -------------------------- //\n\nproto._createDrag = function() {\n this.on( 'activate', this.onActivateDrag );\n this.on( 'uiChange', this._uiChangeDrag );\n this.on( 'deactivate', this.onDeactivateDrag );\n this.on( 'cellChange', this.updateDraggable );\n // TODO updateDraggable on resize? if groupCells & slides change\n};\n\nproto.onActivateDrag = function() {\n this.handles = [ this.viewport ];\n this.bindHandles();\n this.updateDraggable();\n};\n\nproto.onDeactivateDrag = function() {\n this.unbindHandles();\n this.element.classList.remove('is-draggable');\n};\n\nproto.updateDraggable = function() {\n // disable dragging if less than 2 slides. #278\n if ( this.options.draggable == '>1' ) {\n this.isDraggable = this.slides.length > 1;\n } else {\n this.isDraggable = this.options.draggable;\n }\n if ( this.isDraggable ) {\n this.element.classList.add('is-draggable');\n } else {\n this.element.classList.remove('is-draggable');\n }\n};\n\n// backwards compatibility\nproto.bindDrag = function() {\n this.options.draggable = true;\n this.updateDraggable();\n};\n\nproto.unbindDrag = function() {\n this.options.draggable = false;\n this.updateDraggable();\n};\n\nproto._uiChangeDrag = function() {\n delete this.isFreeScrolling;\n};\n\n// -------------------------- pointer events -------------------------- //\n\nproto.pointerDown = function( event, pointer ) {\n if ( !this.isDraggable ) {\n this._pointerDownDefault( event, pointer );\n return;\n }\n var isOkay = this.okayPointerDown( event );\n if ( !isOkay ) {\n return;\n }\n\n this._pointerDownPreventDefault( event );\n this.pointerDownFocus( event );\n // blur\n if ( document.activeElement != this.element ) {\n // do not blur if already focused\n this.pointerDownBlur();\n }\n\n // stop if it was moving\n this.dragX = this.x;\n this.viewport.classList.add('is-pointer-down');\n // track scrolling\n this.pointerDownScroll = getScrollPosition();\n window.addEventListener( 'scroll', this );\n\n this._pointerDownDefault( event, pointer );\n};\n\n// default pointerDown logic, used for staticClick\nproto._pointerDownDefault = function( event, pointer ) {\n // track start event position\n // Safari 9 overrides pageX and pageY. These values needs to be copied. #779\n this.pointerDownPointer = {\n pageX: pointer.pageX,\n pageY: pointer.pageY,\n };\n // bind move and end events\n this._bindPostStartEvents( event );\n this.dispatchEvent( 'pointerDown', event, [ pointer ] );\n};\n\nvar focusNodes = {\n INPUT: true,\n TEXTAREA: true,\n SELECT: true,\n};\n\nproto.pointerDownFocus = function( event ) {\n var isFocusNode = focusNodes[ event.target.nodeName ];\n if ( !isFocusNode ) {\n this.focus();\n }\n};\n\nproto._pointerDownPreventDefault = function( event ) {\n var isTouchStart = event.type == 'touchstart';\n var isTouchPointer = event.pointerType == 'touch';\n var isFocusNode = focusNodes[ event.target.nodeName ];\n if ( !isTouchStart && !isTouchPointer && !isFocusNode ) {\n event.preventDefault();\n }\n};\n\n// ----- move ----- //\n\nproto.hasDragStarted = function( moveVector ) {\n return Math.abs( moveVector.x ) > this.options.dragThreshold;\n};\n\n// ----- up ----- //\n\nproto.pointerUp = function( event, pointer ) {\n delete this.isTouchScrolling;\n this.viewport.classList.remove('is-pointer-down');\n this.dispatchEvent( 'pointerUp', event, [ pointer ] );\n this._dragPointerUp( event, pointer );\n};\n\nproto.pointerDone = function() {\n window.removeEventListener( 'scroll', this );\n delete this.pointerDownScroll;\n};\n\n// -------------------------- dragging -------------------------- //\n\nproto.dragStart = function( event, pointer ) {\n if ( !this.isDraggable ) {\n return;\n }\n this.dragStartPosition = this.x;\n this.startAnimation();\n window.removeEventListener( 'scroll', this );\n this.dispatchEvent( 'dragStart', event, [ pointer ] );\n};\n\nproto.pointerMove = function( event, pointer ) {\n var moveVector = this._dragPointerMove( event, pointer );\n this.dispatchEvent( 'pointerMove', event, [ pointer, moveVector ] );\n this._dragMove( event, pointer, moveVector );\n};\n\nproto.dragMove = function( event, pointer, moveVector ) {\n if ( !this.isDraggable ) {\n return;\n }\n event.preventDefault();\n\n this.previousDragX = this.dragX;\n // reverse if right-to-left\n var direction = this.options.rightToLeft ? -1 : 1;\n if ( this.options.wrapAround ) {\n // wrap around move. #589\n moveVector.x %= this.slideableWidth;\n }\n var dragX = this.dragStartPosition + moveVector.x * direction;\n\n if ( !this.options.wrapAround && this.slides.length ) {\n // slow drag\n var originBound = Math.max( -this.slides[0].target, this.dragStartPosition );\n dragX = dragX > originBound ? ( dragX + originBound ) * 0.5 : dragX;\n var endBound = Math.min( -this.getLastSlide().target, this.dragStartPosition );\n dragX = dragX < endBound ? ( dragX + endBound ) * 0.5 : dragX;\n }\n\n this.dragX = dragX;\n\n this.dragMoveTime = new Date();\n this.dispatchEvent( 'dragMove', event, [ pointer, moveVector ] );\n};\n\nproto.dragEnd = function( event, pointer ) {\n if ( !this.isDraggable ) {\n return;\n }\n if ( this.options.freeScroll ) {\n this.isFreeScrolling = true;\n }\n // set selectedIndex based on where flick will end up\n var index = this.dragEndRestingSelect();\n\n if ( this.options.freeScroll && !this.options.wrapAround ) {\n // if free-scroll & not wrap around\n // do not free-scroll if going outside of bounding slides\n // so bounding slides can attract slider, and keep it in bounds\n var restingX = this.getRestingPosition();\n this.isFreeScrolling = -restingX > this.slides[0].target &&\n -restingX < this.getLastSlide().target;\n } else if ( !this.options.freeScroll && index == this.selectedIndex ) {\n // boost selection if selected index has not changed\n index += this.dragEndBoostSelect();\n }\n delete this.previousDragX;\n // apply selection\n // TODO refactor this, selecting here feels weird\n // HACK, set flag so dragging stays in correct direction\n this.isDragSelect = this.options.wrapAround;\n this.select( index );\n delete this.isDragSelect;\n this.dispatchEvent( 'dragEnd', event, [ pointer ] );\n};\n\nproto.dragEndRestingSelect = function() {\n var restingX = this.getRestingPosition();\n // how far away from selected slide\n var distance = Math.abs( this.getSlideDistance( -restingX, this.selectedIndex ) );\n // get closet resting going up and going down\n var positiveResting = this._getClosestResting( restingX, distance, 1 );\n var negativeResting = this._getClosestResting( restingX, distance, -1 );\n // use closer resting for wrap-around\n var index = positiveResting.distance < negativeResting.distance ?\n positiveResting.index : negativeResting.index;\n return index;\n};\n\n/**\n * given resting X and distance to selected cell\n * get the distance and index of the closest cell\n * @param {Number} restingX - estimated post-flick resting position\n * @param {Number} distance - distance to selected cell\n * @param {Integer} increment - +1 or -1, going up or down\n * @returns {Object} - { distance: {Number}, index: {Integer} }\n */\nproto._getClosestResting = function( restingX, distance, increment ) {\n var index = this.selectedIndex;\n var minDistance = Infinity;\n var condition = this.options.contain && !this.options.wrapAround ?\n // if contain, keep going if distance is equal to minDistance\n function( dist, minDist ) {\n return dist <= minDist;\n } : function( dist, minDist ) {\n return dist < minDist;\n };\n while ( condition( distance, minDistance ) ) {\n // measure distance to next cell\n index += increment;\n minDistance = distance;\n distance = this.getSlideDistance( -restingX, index );\n if ( distance === null ) {\n break;\n }\n distance = Math.abs( distance );\n }\n return {\n distance: minDistance,\n // selected was previous index\n index: index - increment,\n };\n};\n\n/**\n * measure distance between x and a slide target\n * @param {Number} x - horizontal position\n * @param {Integer} index - slide index\n * @returns {Number} - slide distance\n */\nproto.getSlideDistance = function( x, index ) {\n var len = this.slides.length;\n // wrap around if at least 2 slides\n var isWrapAround = this.options.wrapAround && len > 1;\n var slideIndex = isWrapAround ? utils.modulo( index, len ) : index;\n var slide = this.slides[ slideIndex ];\n if ( !slide ) {\n return null;\n }\n // add distance for wrap-around slides\n var wrap = isWrapAround ? this.slideableWidth * Math.floor( index/len ) : 0;\n return x - ( slide.target + wrap );\n};\n\nproto.dragEndBoostSelect = function() {\n // do not boost if no previousDragX or dragMoveTime\n if ( this.previousDragX === undefined || !this.dragMoveTime ||\n // or if drag was held for 100 ms\n new Date() - this.dragMoveTime > 100 ) {\n return 0;\n }\n\n var distance = this.getSlideDistance( -this.dragX, this.selectedIndex );\n var delta = this.previousDragX - this.dragX;\n if ( distance > 0 && delta > 0 ) {\n // boost to next if moving towards the right, and positive velocity\n return 1;\n } else if ( distance < 0 && delta < 0 ) {\n // boost to previous if moving towards the left, and negative velocity\n return -1;\n }\n return 0;\n};\n\n// ----- staticClick ----- //\n\nproto.staticClick = function( event, pointer ) {\n // get clickedCell, if cell was clicked\n var clickedCell = this.getParentCell( event.target );\n var cellElem = clickedCell && clickedCell.element;\n var cellIndex = clickedCell && this.cells.indexOf( clickedCell );\n this.dispatchEvent( 'staticClick', event, [ pointer, cellElem, cellIndex ] );\n};\n\n// ----- scroll ----- //\n\nproto.onscroll = function() {\n var scroll = getScrollPosition();\n var scrollMoveX = this.pointerDownScroll.x - scroll.x;\n var scrollMoveY = this.pointerDownScroll.y - scroll.y;\n // cancel click/tap if scroll is too much\n if ( Math.abs( scrollMoveX ) > 3 || Math.abs( scrollMoveY ) > 3 ) {\n this._pointerDone();\n }\n};\n\n// ----- utils ----- //\n\nfunction getScrollPosition() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset,\n };\n}\n\n// ----- ----- //\n\nreturn Flickity;\n\n} ) );\n","// prev/next buttons\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n 'unipointer/unipointer',\n 'fizzy-ui-utils/utils',\n ], function( Flickity, Unipointer, utils ) {\n return factory( window, Flickity, Unipointer, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('./flickity'),\n require('unipointer'),\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n factory(\n window,\n window.Flickity,\n window.Unipointer,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, Flickity, Unipointer, utils ) {\n'use strict';\n\nvar svgURI = 'http://www.w3.org/2000/svg';\n\n// -------------------------- PrevNextButton -------------------------- //\n\nfunction PrevNextButton( direction, parent ) {\n this.direction = direction;\n this.parent = parent;\n this._create();\n}\n\nPrevNextButton.prototype = Object.create( Unipointer.prototype );\n\nPrevNextButton.prototype._create = function() {\n // properties\n this.isEnabled = true;\n this.isPrevious = this.direction == -1;\n var leftDirection = this.parent.options.rightToLeft ? 1 : -1;\n this.isLeft = this.direction == leftDirection;\n\n var element = this.element = document.createElement('button');\n element.className = 'flickity-button flickity-prev-next-button';\n element.className += this.isPrevious ? ' previous' : ' next';\n // prevent button from submitting form http://stackoverflow.com/a/10836076/182183\n element.setAttribute( 'type', 'button' );\n // init as disabled\n this.disable();\n\n element.setAttribute( 'aria-label', this.isPrevious ? 'Previous' : 'Next' );\n\n // create arrow\n var svg = this.createSVG();\n element.appendChild( svg );\n // events\n this.parent.on( 'select', this.update.bind( this ) );\n this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) );\n};\n\nPrevNextButton.prototype.activate = function() {\n this.bindStartEvent( this.element );\n this.element.addEventListener( 'click', this );\n // add to DOM\n this.parent.element.appendChild( this.element );\n};\n\nPrevNextButton.prototype.deactivate = function() {\n // remove from DOM\n this.parent.element.removeChild( this.element );\n // click events\n this.unbindStartEvent( this.element );\n this.element.removeEventListener( 'click', this );\n};\n\nPrevNextButton.prototype.createSVG = function() {\n var svg = document.createElementNS( svgURI, 'svg' );\n svg.setAttribute( 'class', 'flickity-button-icon' );\n svg.setAttribute( 'viewBox', '0 0 100 100' );\n var path = document.createElementNS( svgURI, 'path' );\n var pathMovements = getArrowMovements( this.parent.options.arrowShape );\n path.setAttribute( 'd', pathMovements );\n path.setAttribute( 'class', 'arrow' );\n // rotate arrow\n if ( !this.isLeft ) {\n path.setAttribute( 'transform', 'translate(100, 100) rotate(180) ' );\n }\n svg.appendChild( path );\n return svg;\n};\n\n// get SVG path movmement\nfunction getArrowMovements( shape ) {\n // use shape as movement if string\n if ( typeof shape == 'string' ) {\n return shape;\n }\n // create movement string\n return 'M ' + shape.x0 + ',50' +\n ' L ' + shape.x1 + ',' + ( shape.y1 + 50 ) +\n ' L ' + shape.x2 + ',' + ( shape.y2 + 50 ) +\n ' L ' + shape.x3 + ',50 ' +\n ' L ' + shape.x2 + ',' + ( 50 - shape.y2 ) +\n ' L ' + shape.x1 + ',' + ( 50 - shape.y1 ) +\n ' Z';\n}\n\nPrevNextButton.prototype.handleEvent = utils.handleEvent;\n\nPrevNextButton.prototype.onclick = function() {\n if ( !this.isEnabled ) {\n return;\n }\n this.parent.uiChange();\n var method = this.isPrevious ? 'previous' : 'next';\n this.parent[ method ]();\n};\n\n// ----- ----- //\n\nPrevNextButton.prototype.enable = function() {\n if ( this.isEnabled ) {\n return;\n }\n this.element.disabled = false;\n this.isEnabled = true;\n};\n\nPrevNextButton.prototype.disable = function() {\n if ( !this.isEnabled ) {\n return;\n }\n this.element.disabled = true;\n this.isEnabled = false;\n};\n\nPrevNextButton.prototype.update = function() {\n // index of first or last slide, if previous or next\n var slides = this.parent.slides;\n // enable is wrapAround and at least 2 slides\n if ( this.parent.options.wrapAround && slides.length > 1 ) {\n this.enable();\n return;\n }\n var lastIndex = slides.length ? slides.length - 1 : 0;\n var boundIndex = this.isPrevious ? 0 : lastIndex;\n var method = this.parent.selectedIndex == boundIndex ? 'disable' : 'enable';\n this[ method ]();\n};\n\nPrevNextButton.prototype.destroy = function() {\n this.deactivate();\n this.allOff();\n};\n\n// -------------------------- Flickity prototype -------------------------- //\n\nutils.extend( Flickity.defaults, {\n prevNextButtons: true,\n arrowShape: {\n x0: 10,\n x1: 60, y1: 50,\n x2: 70, y2: 40,\n x3: 30,\n },\n} );\n\nFlickity.createMethods.push('_createPrevNextButtons');\nvar proto = Flickity.prototype;\n\nproto._createPrevNextButtons = function() {\n if ( !this.options.prevNextButtons ) {\n return;\n }\n\n this.prevButton = new PrevNextButton( -1, this );\n this.nextButton = new PrevNextButton( 1, this );\n\n this.on( 'activate', this.activatePrevNextButtons );\n};\n\nproto.activatePrevNextButtons = function() {\n this.prevButton.activate();\n this.nextButton.activate();\n this.on( 'deactivate', this.deactivatePrevNextButtons );\n};\n\nproto.deactivatePrevNextButtons = function() {\n this.prevButton.deactivate();\n this.nextButton.deactivate();\n this.off( 'deactivate', this.deactivatePrevNextButtons );\n};\n\n// -------------------------- -------------------------- //\n\nFlickity.PrevNextButton = PrevNextButton;\n\nreturn Flickity;\n\n} ) );\n","// page dots\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n 'unipointer/unipointer',\n 'fizzy-ui-utils/utils',\n ], function( Flickity, Unipointer, utils ) {\n return factory( window, Flickity, Unipointer, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('./flickity'),\n require('unipointer'),\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n factory(\n window,\n window.Flickity,\n window.Unipointer,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, Flickity, Unipointer, utils ) {\n\n// -------------------------- PageDots -------------------------- //\n\n'use strict';\n\nfunction PageDots( parent ) {\n this.parent = parent;\n this._create();\n}\n\nPageDots.prototype = Object.create( Unipointer.prototype );\n\nPageDots.prototype._create = function() {\n // create holder element\n this.holder = document.createElement('ol');\n this.holder.className = 'flickity-page-dots';\n // create dots, array of elements\n this.dots = [];\n // events\n this.handleClick = this.onClick.bind( this );\n this.on( 'pointerDown', this.parent.childUIPointerDown.bind( this.parent ) );\n};\n\nPageDots.prototype.activate = function() {\n this.setDots();\n this.holder.addEventListener( 'click', this.handleClick );\n this.bindStartEvent( this.holder );\n // add to DOM\n this.parent.element.appendChild( this.holder );\n};\n\nPageDots.prototype.deactivate = function() {\n this.holder.removeEventListener( 'click', this.handleClick );\n this.unbindStartEvent( this.holder );\n // remove from DOM\n this.parent.element.removeChild( this.holder );\n};\n\nPageDots.prototype.setDots = function() {\n // get difference between number of slides and number of dots\n var delta = this.parent.slides.length - this.dots.length;\n if ( delta > 0 ) {\n this.addDots( delta );\n } else if ( delta < 0 ) {\n this.removeDots( -delta );\n }\n};\n\nPageDots.prototype.addDots = function( count ) {\n var fragment = document.createDocumentFragment();\n var newDots = [];\n var length = this.dots.length;\n var max = length + count;\n\n for ( var i = length; i < max; i++ ) {\n var dot = document.createElement('li');\n dot.className = 'dot';\n dot.setAttribute( 'aria-label', 'Page dot ' + ( i + 1 ) );\n fragment.appendChild( dot );\n newDots.push( dot );\n }\n\n this.holder.appendChild( fragment );\n this.dots = this.dots.concat( newDots );\n};\n\nPageDots.prototype.removeDots = function( count ) {\n // remove from this.dots collection\n var removeDots = this.dots.splice( this.dots.length - count, count );\n // remove from DOM\n removeDots.forEach( function( dot ) {\n this.holder.removeChild( dot );\n }, this );\n};\n\nPageDots.prototype.updateSelected = function() {\n // remove selected class on previous\n if ( this.selectedDot ) {\n this.selectedDot.className = 'dot';\n this.selectedDot.removeAttribute('aria-current');\n }\n // don't proceed if no dots\n if ( !this.dots.length ) {\n return;\n }\n this.selectedDot = this.dots[ this.parent.selectedIndex ];\n this.selectedDot.className = 'dot is-selected';\n this.selectedDot.setAttribute( 'aria-current', 'step' );\n};\n\nPageDots.prototype.onTap = // old method name, backwards-compatible\nPageDots.prototype.onClick = function( event ) {\n var target = event.target;\n // only care about dot clicks\n if ( target.nodeName != 'LI' ) {\n return;\n }\n\n this.parent.uiChange();\n var index = this.dots.indexOf( target );\n this.parent.select( index );\n};\n\nPageDots.prototype.destroy = function() {\n this.deactivate();\n this.allOff();\n};\n\nFlickity.PageDots = PageDots;\n\n// -------------------------- Flickity -------------------------- //\n\nutils.extend( Flickity.defaults, {\n pageDots: true,\n} );\n\nFlickity.createMethods.push('_createPageDots');\n\nvar proto = Flickity.prototype;\n\nproto._createPageDots = function() {\n if ( !this.options.pageDots ) {\n return;\n }\n this.pageDots = new PageDots( this );\n // events\n this.on( 'activate', this.activatePageDots );\n this.on( 'select', this.updateSelectedPageDots );\n this.on( 'cellChange', this.updatePageDots );\n this.on( 'resize', this.updatePageDots );\n this.on( 'deactivate', this.deactivatePageDots );\n};\n\nproto.activatePageDots = function() {\n this.pageDots.activate();\n};\n\nproto.updateSelectedPageDots = function() {\n this.pageDots.updateSelected();\n};\n\nproto.updatePageDots = function() {\n this.pageDots.setDots();\n};\n\nproto.deactivatePageDots = function() {\n this.pageDots.deactivate();\n};\n\n// ----- ----- //\n\nFlickity.PageDots = PageDots;\n\nreturn Flickity;\n\n} ) );\n","// player & autoPlay\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n 'ev-emitter/ev-emitter',\n 'fizzy-ui-utils/utils',\n './flickity',\n ], function( EvEmitter, utils, Flickity ) {\n return factory( EvEmitter, utils, Flickity );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n require('ev-emitter'),\n require('fizzy-ui-utils'),\n require('./flickity')\n );\n } else {\n // browser global\n factory(\n window.EvEmitter,\n window.fizzyUIUtils,\n window.Flickity\n );\n }\n\n}( window, function factory( EvEmitter, utils, Flickity ) {\n\n'use strict';\n\n// -------------------------- Player -------------------------- //\n\nfunction Player( parent ) {\n this.parent = parent;\n this.state = 'stopped';\n // visibility change event handler\n this.onVisibilityChange = this.visibilityChange.bind( this );\n this.onVisibilityPlay = this.visibilityPlay.bind( this );\n}\n\nPlayer.prototype = Object.create( EvEmitter.prototype );\n\n// start play\nPlayer.prototype.play = function() {\n if ( this.state == 'playing' ) {\n return;\n }\n // do not play if page is hidden, start playing when page is visible\n var isPageHidden = document.hidden;\n if ( isPageHidden ) {\n document.addEventListener( 'visibilitychange', this.onVisibilityPlay );\n return;\n }\n\n this.state = 'playing';\n // listen to visibility change\n document.addEventListener( 'visibilitychange', this.onVisibilityChange );\n // start ticking\n this.tick();\n};\n\nPlayer.prototype.tick = function() {\n // do not tick if not playing\n if ( this.state != 'playing' ) {\n return;\n }\n\n var time = this.parent.options.autoPlay;\n // default to 3 seconds\n time = typeof time == 'number' ? time : 3000;\n var _this = this;\n // HACK: reset ticks if stopped and started within interval\n this.clear();\n this.timeout = setTimeout( function() {\n _this.parent.next( true );\n _this.tick();\n }, time );\n};\n\nPlayer.prototype.stop = function() {\n this.state = 'stopped';\n this.clear();\n // remove visibility change event\n document.removeEventListener( 'visibilitychange', this.onVisibilityChange );\n};\n\nPlayer.prototype.clear = function() {\n clearTimeout( this.timeout );\n};\n\nPlayer.prototype.pause = function() {\n if ( this.state == 'playing' ) {\n this.state = 'paused';\n this.clear();\n }\n};\n\nPlayer.prototype.unpause = function() {\n // re-start play if paused\n if ( this.state == 'paused' ) {\n this.play();\n }\n};\n\n// pause if page visibility is hidden, unpause if visible\nPlayer.prototype.visibilityChange = function() {\n var isPageHidden = document.hidden;\n this[ isPageHidden ? 'pause' : 'unpause' ]();\n};\n\nPlayer.prototype.visibilityPlay = function() {\n this.play();\n document.removeEventListener( 'visibilitychange', this.onVisibilityPlay );\n};\n\n// -------------------------- Flickity -------------------------- //\n\nutils.extend( Flickity.defaults, {\n pauseAutoPlayOnHover: true,\n} );\n\nFlickity.createMethods.push('_createPlayer');\nvar proto = Flickity.prototype;\n\nproto._createPlayer = function() {\n this.player = new Player( this );\n\n this.on( 'activate', this.activatePlayer );\n this.on( 'uiChange', this.stopPlayer );\n this.on( 'pointerDown', this.stopPlayer );\n this.on( 'deactivate', this.deactivatePlayer );\n};\n\nproto.activatePlayer = function() {\n if ( !this.options.autoPlay ) {\n return;\n }\n this.player.play();\n this.element.addEventListener( 'mouseenter', this );\n};\n\n// Player API, don't hate the ... thanks I know where the door is\n\nproto.playPlayer = function() {\n this.player.play();\n};\n\nproto.stopPlayer = function() {\n this.player.stop();\n};\n\nproto.pausePlayer = function() {\n this.player.pause();\n};\n\nproto.unpausePlayer = function() {\n this.player.unpause();\n};\n\nproto.deactivatePlayer = function() {\n this.player.stop();\n this.element.removeEventListener( 'mouseenter', this );\n};\n\n// ----- mouseenter/leave ----- //\n\n// pause auto-play on hover\nproto.onmouseenter = function() {\n if ( !this.options.pauseAutoPlayOnHover ) {\n return;\n }\n this.player.pause();\n this.element.addEventListener( 'mouseleave', this );\n};\n\n// resume auto-play on hover off\nproto.onmouseleave = function() {\n this.player.unpause();\n this.element.removeEventListener( 'mouseleave', this );\n};\n\n// ----- ----- //\n\nFlickity.Player = Player;\n\nreturn Flickity;\n\n} ) );\n","// add, remove cell\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n 'fizzy-ui-utils/utils',\n ], function( Flickity, utils ) {\n return factory( window, Flickity, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('./flickity'),\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n factory(\n window,\n window.Flickity,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, Flickity, utils ) {\n\n'use strict';\n\n// append cells to a document fragment\nfunction getCellsFragment( cells ) {\n var fragment = document.createDocumentFragment();\n cells.forEach( function( cell ) {\n fragment.appendChild( cell.element );\n } );\n return fragment;\n}\n\n// -------------------------- add/remove cell prototype -------------------------- //\n\nvar proto = Flickity.prototype;\n\n/**\n * Insert, prepend, or append cells\n * @param {[Element, Array, NodeList]} elems - Elements to insert\n * @param {Integer} index - Zero-based number to insert\n */\nproto.insert = function( elems, index ) {\n var cells = this._makeCells( elems );\n if ( !cells || !cells.length ) {\n return;\n }\n var len = this.cells.length;\n // default to append\n index = index === undefined ? len : index;\n // add cells with document fragment\n var fragment = getCellsFragment( cells );\n // append to slider\n var isAppend = index == len;\n if ( isAppend ) {\n this.slider.appendChild( fragment );\n } else {\n var insertCellElement = this.cells[ index ].element;\n this.slider.insertBefore( fragment, insertCellElement );\n }\n // add to this.cells\n if ( index === 0 ) {\n // prepend, add to start\n this.cells = cells.concat( this.cells );\n } else if ( isAppend ) {\n // append, add to end\n this.cells = this.cells.concat( cells );\n } else {\n // insert in this.cells\n var endCells = this.cells.splice( index, len - index );\n this.cells = this.cells.concat( cells ).concat( endCells );\n }\n\n this._sizeCells( cells );\n this.cellChange( index, true );\n};\n\nproto.append = function( elems ) {\n this.insert( elems, this.cells.length );\n};\n\nproto.prepend = function( elems ) {\n this.insert( elems, 0 );\n};\n\n/**\n * Remove cells\n * @param {[Element, Array, NodeList]} elems - ELements to remove\n */\nproto.remove = function( elems ) {\n var cells = this.getCells( elems );\n if ( !cells || !cells.length ) {\n return;\n }\n\n var minCellIndex = this.cells.length - 1;\n // remove cells from collection & DOM\n cells.forEach( function( cell ) {\n cell.remove();\n var index = this.cells.indexOf( cell );\n minCellIndex = Math.min( index, minCellIndex );\n utils.removeFrom( this.cells, cell );\n }, this );\n\n this.cellChange( minCellIndex, true );\n};\n\n/**\n * logic to be run after a cell's size changes\n * @param {Element} elem - cell's element\n */\nproto.cellSizeChange = function( elem ) {\n var cell = this.getCell( elem );\n if ( !cell ) {\n return;\n }\n cell.getSize();\n\n var index = this.cells.indexOf( cell );\n this.cellChange( index );\n};\n\n/**\n * logic any time a cell is changed: added, removed, or size changed\n * @param {Integer} changedCellIndex - index of the changed cell, optional\n * @param {Boolean} isPositioningSlider - Positions slider after selection\n */\nproto.cellChange = function( changedCellIndex, isPositioningSlider ) {\n var prevSelectedElem = this.selectedElement;\n this._positionCells( changedCellIndex );\n this._getWrapShiftCells();\n this.setGallerySize();\n // update selectedIndex\n // try to maintain position & select previous selected element\n var cell = this.getCell( prevSelectedElem );\n if ( cell ) {\n this.selectedIndex = this.getCellSlideIndex( cell );\n }\n this.selectedIndex = Math.min( this.slides.length - 1, this.selectedIndex );\n\n this.emitEvent( 'cellChange', [ changedCellIndex ] );\n // position slider\n this.select( this.selectedIndex );\n // do not position slider after lazy load\n if ( isPositioningSlider ) {\n this.positionSliderAtSelected();\n }\n};\n\n// ----- ----- //\n\nreturn Flickity;\n\n} ) );\n","// lazyload\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n 'fizzy-ui-utils/utils',\n ], function( Flickity, utils ) {\n return factory( window, Flickity, utils );\n } );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n window,\n require('./flickity'),\n require('fizzy-ui-utils')\n );\n } else {\n // browser global\n factory(\n window,\n window.Flickity,\n window.fizzyUIUtils\n );\n }\n\n}( window, function factory( window, Flickity, utils ) {\n'use strict';\n\nFlickity.createMethods.push('_createLazyload');\nvar proto = Flickity.prototype;\n\nproto._createLazyload = function() {\n this.on( 'select', this.lazyLoad );\n};\n\nproto.lazyLoad = function() {\n var lazyLoad = this.options.lazyLoad;\n if ( !lazyLoad ) {\n return;\n }\n // get adjacent cells, use lazyLoad option for adjacent count\n var adjCount = typeof lazyLoad == 'number' ? lazyLoad : 0;\n var cellElems = this.getAdjacentCellElements( adjCount );\n // get lazy images in those cells\n var lazyImages = [];\n cellElems.forEach( function( cellElem ) {\n var lazyCellImages = getCellLazyImages( cellElem );\n lazyImages = lazyImages.concat( lazyCellImages );\n } );\n // load lazy images\n lazyImages.forEach( function( img ) {\n new LazyLoader( img, this );\n }, this );\n};\n\nfunction getCellLazyImages( cellElem ) {\n // check if cell element is lazy image\n if ( cellElem.nodeName == 'IMG' ) {\n var lazyloadAttr = cellElem.getAttribute('data-flickity-lazyload');\n var srcAttr = cellElem.getAttribute('data-flickity-lazyload-src');\n var srcsetAttr = cellElem.getAttribute('data-flickity-lazyload-srcset');\n if ( lazyloadAttr || srcAttr || srcsetAttr ) {\n return [ cellElem ];\n }\n }\n // select lazy images in cell\n var lazySelector = 'img[data-flickity-lazyload], ' +\n 'img[data-flickity-lazyload-src], img[data-flickity-lazyload-srcset]';\n var imgs = cellElem.querySelectorAll( lazySelector );\n return utils.makeArray( imgs );\n}\n\n// -------------------------- LazyLoader -------------------------- //\n\n/**\n * class to handle loading images\n * @param {Image} img - Image element\n * @param {Flickity} flickity - Flickity instance\n */\nfunction LazyLoader( img, flickity ) {\n this.img = img;\n this.flickity = flickity;\n this.load();\n}\n\nLazyLoader.prototype.handleEvent = utils.handleEvent;\n\nLazyLoader.prototype.load = function() {\n this.img.addEventListener( 'load', this );\n this.img.addEventListener( 'error', this );\n // get src & srcset\n var src = this.img.getAttribute('data-flickity-lazyload') ||\n this.img.getAttribute('data-flickity-lazyload-src');\n var srcset = this.img.getAttribute('data-flickity-lazyload-srcset');\n // set src & serset\n this.img.src = src;\n if ( srcset ) {\n this.img.setAttribute( 'srcset', srcset );\n }\n // remove attr\n this.img.removeAttribute('data-flickity-lazyload');\n this.img.removeAttribute('data-flickity-lazyload-src');\n this.img.removeAttribute('data-flickity-lazyload-srcset');\n};\n\nLazyLoader.prototype.onload = function( event ) {\n this.complete( event, 'flickity-lazyloaded' );\n};\n\nLazyLoader.prototype.onerror = function( event ) {\n this.complete( event, 'flickity-lazyerror' );\n};\n\nLazyLoader.prototype.complete = function( event, className ) {\n // unbind events\n this.img.removeEventListener( 'load', this );\n this.img.removeEventListener( 'error', this );\n\n var cell = this.flickity.getParentCell( this.img );\n var cellElem = cell && cell.element;\n this.flickity.cellSizeChange( cellElem );\n\n this.img.classList.add( className );\n this.flickity.dispatchEvent( 'lazyLoad', event, cellElem );\n};\n\n// ----- ----- //\n\nFlickity.LazyLoader = LazyLoader;\n\nreturn Flickity;\n\n} ) );\n","/*!\n * Flickity v2.3.0\n * Touch, responsive, flickable carousels\n *\n * Licensed GPLv3 for open source use\n * or Flickity Commercial License for commercial use\n *\n * https://flickity.metafizzy.co\n * Copyright 2015-2021 Metafizzy\n */\n\n( function( window, factory ) {\n // universal module definition\n if ( typeof define == 'function' && define.amd ) {\n // AMD\n define( [\n './flickity',\n './drag',\n './prev-next-button',\n './page-dots',\n './player',\n './add-remove-cell',\n './lazyload',\n ], factory );\n } else if ( typeof module == 'object' && module.exports ) {\n // CommonJS\n module.exports = factory(\n require('./flickity'),\n require('./drag'),\n require('./prev-next-button'),\n require('./page-dots'),\n require('./player'),\n require('./add-remove-cell'),\n require('./lazyload')\n );\n }\n\n} )( window, function factory( Flickity ) {\n return Flickity;\n} );\n","import app from \"../icasf_app\";\nimport Component from \"../component\";\nimport * as util from \"../utilities\";\nimport { data } from \"flickity\";\n\nexport class RemoteContentArea extends Component {\n static eventNamespace = \"remote-content-area\";\n\n constructor(props) {\n super(props);\n\n this.emit(\"initialize\");\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.element = element;\n this.elements.target = element.querySelector('.js-remote-content-area__target');\n this.elements.loadMoreButton = element.querySelector('.js-remote-content-area__load-more');\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n if (this.elements.loadMoreButton) {\n this.elements.loadMoreButton.onclick = this.handleLoadMore.bind(this);\n }\n }\n\n fetchAndRender(url, action, mode = \"replace\") {\n // Some controllers need to respond to js requests with the full page,\n // not just the paginated content. To help the controller know\n // which request wants what, we set a URL param.\n const formattedUrl = util.editSearchParams(url, (params) => {\n params.set(\"remote\", action);\n });\n return util.fetchJson(formattedUrl).then((data) => {\n // Create a document fragment to minimize the number of reflows needed\n let fragment = document.createRange().createContextualFragment(data.body);\n\n // Pull out the update `next_page` link, then update/remove the \"Load More\" button\n this.updateLoadMoreButton(data.pagination_url);\n\n // At this point, the raw html has been parsed into real nodes.\n // When we append this document fragment to the DOM, the fragment\n // will be emptied out. Therefore, we save a reference to the nodes\n // now, so that we can access them even after they're appended.\n const content = [...fragment.children];\n\n // Dispatch an event in case any end-implementation needs to massage\n // the results further before they're added to the page\n this.emit(\"before-render\", { content });\n\n // Certain renders are intended to fully replace the target's content\n if (mode === \"replace\") {\n this.elements.target.innerHTML = \"\";\n }\n\n // Finally, add the fetched content to the page\n this.elements.target.appendChild(fragment);\n\n // Dispatch an event in case any end-implementation needs to tie-in\n this.emit(\"load\", { content, fragment });\n\n // Update the current URL\n if (mode === \"replace\") {\n history.replaceState(history.state, null, url);\n }\n });\n }\n\n handleLoadMore() {\n const { paginationUrl } = this.elements.loadMoreButton.dataset;\n return this.fetchAndRender(paginationUrl, \"pagination\", \"append\");\n }\n\n updateLoadMoreButton(paginationUrl) {\n if (!this.elements.loadMoreButton) {\n return fragment;\n }\n\n if (paginationUrl) {\n this.elements.loadMoreButton.dataset.paginationUrl = paginationUrl;\n } else {\n this.elements.loadMoreButton.style.setProperty('display', 'none');\n }\n\n return true;\n }\n\n get defaultEventData() {\n return {\n target: this.elements.target,\n remoteContentArea: this\n };\n }\n}\n\nexport const remoteContentAreas = {\n current: [],\n init: () => {\n app.addEventListener('page-load', (e) => {\n const elements = e.target.querySelectorAll('.js-remote-content-area');\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map((element) => {\n return new RemoteContentArea({ element });\n });\n\n remoteContentAreas.current = [\n ...remoteContentAreas.current,\n ...instances\n ];\n })\n }\n};\n","import app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { animateProperty } from \"../utilities/animation\";\n\nexport class ResponsiveImage extends Component {\n get defaultState() {\n return { highResLoaded: false };\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.element = element;\n this.elements.lowRes = element.querySelector(\n \".js-responsive-image__low-res\"\n );\n this.elements.lowResImg = this.elements.lowRes.querySelector(\"img\");\n this.elements.highRes = element.querySelector(\n \".js-responsive-image__high-res\"\n );\n this.elements.highResImg = this.elements.highRes.querySelector(\"img\");\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n if (this.elements.highResImg.complete) {\n this.switchToHighRes();\n } else {\n this.elements.highResImg.addEventListener('load', this.switchToHighRes.bind(this));\n }\n }\n\n switchToHighRes() {\n return this.update({\n highResLoaded: true,\n }).then(() => {\n this.elements.lowResImg.parentElement.removeChild(this.elements.lowResImg);\n });\n }\n\n render(update) {\n const promises = [];\n\n if (update.hasOwnProperty(\"highResLoaded\")) {\n promises.push(this.renderHighResImage());\n }\n\n return Promise.all(promises);\n }\n\n renderHighResImage() {\n if (!this.state.highResLoaded) {\n return;\n }\n\n this.elements.lowRes.classList.remove(\"relative\");\n this.elements.lowRes.classList.add(\"absolute\");\n this.elements.highRes.classList.remove(\"absolute\");\n this.elements.highRes.classList.add(\"relative\");\n this.elements.highRes.classList.remove(\"opacity-0\");\n this.elements.highRes.classList.add(\"opacity-100\");\n\n return animateProperty({\n element: this.elements.lowRes,\n property: \"opacity\",\n value: 0,\n }).then(() => {\n this.elements.lowRes.style.setProperty(\"display\", \"none\");\n });\n }\n}\n\nexport const responsiveImages = {\n current: [],\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n const elements = e.target.querySelectorAll(\".js-responsive-image\");\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map(\n (element) => new ResponsiveImage({ element })\n );\n\n responsiveImages.current = [...responsiveImages.current, ...instances];\n });\n\n app.addEventListener(\"turbolinks:before-visit\", () => {\n if (!Boolean(responsiveImages.current)) {\n return;\n }\n\n responsiveImages.current.forEach((instance) => {\n instance.destroy();\n });\n });\n },\n};\n","/* JavaScript for BillboardModule */\nimport app from \"../icasf_app\";\nimport Component from \"../component\";\nimport * as util from \"../utilities\";\nimport { animateProperty } from \"../utilities/animation\";\n\nconst DELAY = 3000; // ms\n\n// Export the class itself\nexport class BillboardModule extends Component {\n static useMobileLayout = () => {\n return app.state.breakpoint === \"sm\" || app.state.breakpoint === \"md\";\n };\n\n constructor(props) {\n super(props);\n\n if (!this.elements.overlay) {\n return;\n }\n\n // Set up the necessary prerequisites for the billboard animation\n this.prestage();\n\n // Group all the steps of the billboard animation in a single promise.\n // This allows us to easily have a failsafe in case something goes wrong.\n const animation = () => {\n return new Promise((resolve, reject) => {\n const primaryDelay = util.wait(DELAY);\n\n let imageLoaded = false;\n const imageLoadDelay = this.waitForImageLoad().then(() => {\n imageLoaded = true;\n return true;\n });\n\n // If the user clicks the billboard, they probably want it to go away.\n // If the image is loaded, we have enough information to continue the animation.\n // Otherwise we need to bail out and skip the rest.\n // TODO: this handler needs to be removed during the `stage` method.\n this.elements.overlay.addEventListener(\"click\", () => {\n if (imageLoaded) {\n resolve();\n } else {\n reject();\n }\n });\n\n // If the user doesn't click the billboard, then they are just patiently waiting.\n // Once the image is loaded and they've waited through the delay,\n // then continue with the animation.\n return Promise.all([primaryDelay, imageLoadDelay])\n .then(() => {\n resolve();\n })\n .catch(() => {\n reject();\n });\n })\n .then(() => {\n // Set up the first frame of the animation\n return this.stage();\n })\n .then(() => {\n // Trigger reflow so that the browser paints the new styles before continuing.\n this.elements.image.offsetWidth;\n\n // Proceed to play the animation\n return this.collapse();\n });\n };\n\n util\n .promiseOrTimeout({\n promise: animation,\n timeout: 5000,\n result: \"reject\",\n })\n .catch(() => {\n return this.handleFailure();\n })\n .finally(() => {\n return this.settle();\n });\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.element = element;\n this.elements.overlay = document.getElementById(\"billboard-overlay\");\n this.elements.overlayImage = BillboardModule.useMobileLayout()\n ? this.elements.overlay.querySelector(\n \".js-billboard__vertical-overlay-image\"\n )\n : this.elements.overlay.querySelector(\n \".js-billboard__horizontal-overlay-image\"\n );\n this.elements.sidebar = this.elements.overlay.querySelector(\n \".js-billboard__overlay-sidebar\"\n );\n this.elements.image = element.querySelector(\".js-billboard__image\");\n this.elements.siteNav = document.getElementById(\"main-nav\");\n }\n\n waitForImageLoad() {\n return new Promise((resolve, reject) => {\n if (this.elements.overlayImage.complete) {\n resolve();\n } else {\n this.elements.overlayImage.addEventListener('load', resolve);\n this.elements.overlayImage.addEventListener('error', reject);\n }\n });\n }\n\n // When the page loads, scroll to the top and disable scrolling\n prestage() {\n window.scrollTo(0, 0);\n document.documentElement.style.setProperty('overflow', 'hidden');\n }\n\n // On desktop, once the image is loaded, scale it so that it matches the billboard image.\n // On mobile, there isn't any scaling animation, so we can just bypass this function.\n stage() {\n this.elements.overlay.style.setProperty(\"background-color\", 'transparent');\n if (BillboardModule.useMobileLayout()) {\n return true;\n }\n\n const { overlayImage, image, siteNav } = this.elements;\n const overlayRect = overlayImage.getBoundingClientRect();\n const imageRect = image.getBoundingClientRect();\n const imgRatio = imageRect.width / imageRect.height;\n const windowRatio = window.innerWidth / window.innerHeight;\n const overlayRatio = overlayRect.width / overlayRect.height;\n let scale;\n // If image is \"more landscape\" than the window is, then the image should be\n // scaled up so that its height matches the window height. This will cause\n // the image to be wider than the viewport, and it will clipped by the viewport's\n // left edge. That should match the overlay image's `object-fit: cover; object-position: top right;`\n if (imgRatio > overlayRatio) {\n scale = window.innerHeight / imageRect.height;\n } else {\n // If the image \"more portrait\" than the window is, the image should be\n // scale up so that its width matches the overlay's width. In this condition,\n // we know that the overlay image is not auto-cropped horizontally, so all\n // we have to to do is size the image so that the widths match.\n scale = overlayRect.width / imageRect.width;\n }\n\n image.style.setProperty(\"transition\", \"transform 0s\");\n image.style.setProperty(\n \"transform\",\n `translateX(${overlayRect.right - imageRect.right}px) translateY(-${\n imageRect.top\n }px) scale(${scale})`\n );\n image.style.setProperty(\"z-index\", \"999\");\n\n siteNav.style.setProperty(\"transform\", \"translateX(100%)\");\n }\n\n collapse() {\n const { overlay, overlayImage, image, sidebar, siteNav } = this.elements;\n if (BillboardModule.useMobileLayout()) {\n return overlay.animate([{ opacity: 0 }], {\n duration: 500,\n easing: \"ease-in-out\",\n fill: \"forwards\",\n }).finished;\n } else {\n overlayImage.style.setProperty(\"visibility\", \"hidden\");\n return Promise.all([\n image.animate([{ transform: 'translateY(0) scale(1)'}], { duration: 1000, easing: \"ease-in-out\", fill: 'forwards' }).finished,\n sidebar.animate([{ opacity: 0 }], { duration: 500, delay: 500, fill: 'forwards' }).finished,\n siteNav.animate([{ transform: 'translateX(0)' }], { duration: 1000, delay: 500, fill: 'forwards' }).finished,\n ])\n }\n }\n\n handleFailure() {\n const { overlayImage, image, siteNav } = this.elements;\n if (BillboardModule.useMobileLayout()) {\n return true;\n } else {\n overlayImage.style.setProperty(\"visibility\", \"hidden\");\n image.style.removeProperty(\"transform\");\n image.style.removeProperty(\"transition\");\n siteNav.style.removeProperty(\"transform\");\n siteNav.style.removeProperty(\"transition\");\n return true;\n }\n }\n\n settle() {\n const { overlay, image, siteNav } = this.elements;\n overlay.style.setProperty(\"display\", \"none\");\n image.style.removeProperty(\"z-index\");\n document.documentElement.style.removeProperty('overflow');\n }\n}\n\nexport const billboardModules = {\n current: [],\n init: () => {\n document.addEventListener(\"DOMContentLoaded\", (e) => {\n console.log(\"dom content loaded... init billboards\");\n if (util.isEconomyEditMode()) {\n return;\n }\n\n const elements = e.target.querySelectorAll(\".js-billboard-module\");\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map(\n (element) => new BillboardModule({ element })\n );\n billboardModules.current = [...billboardModules.current, ...instances];\n });\n },\n};\n","import app from \"../icasf_app\";\nimport * as animation from \"../utilities/animation\";\nimport { GenericCarousel } from \"./generic_carousel\";\n\nconst INITIALIZED_CLASS_NAME = \"crossfade-carousel--initialized\";\n\n/*\n NOTE: \n At its core, this component handles two tasks:\n\n 1. Fade in/out slides on demand\n 2. Make sure the carousel's height matches the tallest slide\n\n Additionally, this component inherits some accessibility concerns from GenericCarousel,\n such as announcing the current slide to screen readers. Worth noting that the accessibility\n features can be turned off with any GenericCarousel instance or subclass instance.\n You may want to do this if you have two carousels working in conjunction:\n otherwise you would end up with redundant screen reader announcements.\n*/\nexport class CrossfadeCarousel extends GenericCarousel {\n static selectorPrefix = \"js-crossfade-carousel\";\n\n constructor(element, options, elements) {\n super(element, options, elements);\n\n this.afterImagesLoad().then(() => {\n this.refreshLayout();\n });\n }\n\n get defaultState() {\n return Object.assign({}, super.defaultState, {\n carouselHeight: 0,\n });\n }\n\n refreshLayout() {\n this.update({\n carouselHeight: false,\n });\n const maxHeight = [...this.slides].reduce((runningMaxHeight, slide) => {\n const slideHeight = slide.offsetHeight;\n return slideHeight > runningMaxHeight ? slideHeight : runningMaxHeight;\n }, 0);\n this.update({\n carouselHeight: maxHeight,\n });\n this.emit(\"layout\");\n }\n\n render(update, previousState) {\n super.render(update, previousState);\n\n if (update.hasOwnProperty(\"index\")) {\n this.renderCurrentSlide(this.state.index, previousState.index);\n }\n\n if (update.hasOwnProperty(\"carouselHeight\")) {\n this.renderCarouselHeight(this.state.carouselHeight);\n }\n }\n\n renderCurrentSlide(currentIndex, previousIndex) {\n if (currentIndex === previousIndex) {\n return;\n }\n\n const currentSlide = this.slides[currentIndex];\n const previousSlide = this.slides[previousIndex];\n\n return animation.fadeOutElement({ element: previousSlide }).then(() => {\n return animation.fadeInElement({ element: currentSlide });\n });\n }\n\n renderCarouselHeight(height) {\n if (height) {\n this.slideWrapper.style.height = `${height}px`;\n this.element.classList.add(INITIALIZED_CLASS_NAME);\n } else {\n this.slideWrapper.style.removeProperty(\"height\");\n this.element.classList.remove(INITIALIZED_CLASS_NAME);\n }\n }\n\n /* Public methods */\n resize() {\n this.refreshLayout();\n }\n}\n","function _defineProperty$1(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPrimitive(e,t){if(\"object\"!=typeof e||null===e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var s=i.call(e,t||\"default\");if(\"object\"!=typeof s)return s;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===t?String:Number)(e)}function _toPropertyKey(e){var t=_toPrimitive(e,\"string\");return\"symbol\"==typeof t?t:String(t)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var i=0;it){var i=getDecimalPlaces(t);return parseFloat(e.toFixed(i))}return Math.round(e/t)*t}var RangeTouch=function(){function e(t,i){_classCallCheck(this,e),is$1.element(t)?this.element=t:is$1.string(t)&&(this.element=document.querySelector(t)),is$1.element(this.element)&&is$1.empty(this.element.rangeTouch)&&(this.config=_objectSpread2({},defaults$1,{},i),this.init())}return _createClass(e,[{key:\"init\",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect=\"none\",this.element.style.webKitUserSelect=\"none\",this.element.style.touchAction=\"manipulation\"),this.listeners(!0),this.element.rangeTouch=this)}},{key:\"destroy\",value:function(){e.enabled&&(this.config.addCSS&&(this.element.style.userSelect=\"\",this.element.style.webKitUserSelect=\"\",this.element.style.touchAction=\"\"),this.listeners(!1),this.element.rangeTouch=null)}},{key:\"listeners\",value:function(e){var t=this,i=e?\"addEventListener\":\"removeEventListener\";[\"touchstart\",\"touchmove\",\"touchend\"].forEach((function(e){t.element[i](e,(function(e){return t.set(e)}),!1)}))}},{key:\"get\",value:function(t){if(!e.enabled||!is$1.event(t))return null;var i,s=t.target,n=t.changedTouches[0],r=parseFloat(s.getAttribute(\"min\"))||0,a=parseFloat(s.getAttribute(\"max\"))||100,o=parseFloat(s.getAttribute(\"step\"))||1,l=s.getBoundingClientRect(),c=100/l.width*(this.config.thumbWidth/2)/100;return 0>(i=100/l.width*(n.clientX-l.left))?i=0:100i?i-=(100-2*i)*c:50null!=e?e.constructor:null,instanceOf=(e,t)=>Boolean(e&&t&&e instanceof t),isNullOrUndefined=e=>null==e,isObject=e=>getConstructor(e)===Object,isNumber=e=>getConstructor(e)===Number&&!Number.isNaN(e),isString=e=>getConstructor(e)===String,isBoolean=e=>getConstructor(e)===Boolean,isFunction=e=>\"function\"==typeof e,isArray=e=>Array.isArray(e),isWeakMap=e=>instanceOf(e,WeakMap),isNodeList=e=>instanceOf(e,NodeList),isTextNode=e=>getConstructor(e)===Text,isEvent=e=>instanceOf(e,Event),isKeyboardEvent=e=>instanceOf(e,KeyboardEvent),isCue=e=>instanceOf(e,window.TextTrackCue)||instanceOf(e,window.VTTCue),isTrack=e=>instanceOf(e,TextTrack)||!isNullOrUndefined(e)&&isString(e.kind),isPromise=e=>instanceOf(e,Promise)&&isFunction(e.then),isElement=e=>null!==e&&\"object\"==typeof e&&1===e.nodeType&&\"object\"==typeof e.style&&\"object\"==typeof e.ownerDocument,isEmpty=e=>isNullOrUndefined(e)||(isString(e)||isArray(e)||isNodeList(e))&&!e.length||isObject(e)&&!Object.keys(e).length,isUrl=e=>{if(instanceOf(e,window.URL))return!0;if(!isString(e))return!1;let t=e;e.startsWith(\"http://\")&&e.startsWith(\"https://\")||(t=`http://${e}`);try{return!isEmpty(new URL(t).hostname)}catch(e){return!1}};var is={nullOrUndefined:isNullOrUndefined,object:isObject,number:isNumber,string:isString,boolean:isBoolean,function:isFunction,array:isArray,weakMap:isWeakMap,nodeList:isNodeList,element:isElement,textNode:isTextNode,event:isEvent,keyboardEvent:isKeyboardEvent,cue:isCue,track:isTrack,promise:isPromise,url:isUrl,empty:isEmpty};const transitionEndEvent=(()=>{const e=document.createElement(\"span\"),t={WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"transitionend\",OTransition:\"oTransitionEnd otransitionend\",transition:\"transitionend\"},i=Object.keys(t).find((t=>void 0!==e.style[t]));return!!is.string(i)&&t[i]})();function repaint(e,t){setTimeout((()=>{try{e.hidden=!0,e.offsetHeight,e.hidden=!1}catch(e){}}),t)}const isIE=Boolean(window.document.documentMode),isEdge=/Edge/g.test(navigator.userAgent),isWebKit=\"WebkitAppearance\"in document.documentElement.style&&!/Edge/g.test(navigator.userAgent),isIPhone=/iPhone|iPod/gi.test(navigator.userAgent)&&navigator.maxTouchPoints>1,isIPadOS=\"MacIntel\"===navigator.platform&&navigator.maxTouchPoints>1,isIos=/iPad|iPhone|iPod/gi.test(navigator.userAgent)&&navigator.maxTouchPoints>1;var browser={isIE:isIE,isEdge:isEdge,isWebKit:isWebKit,isIPhone:isIPhone,isIPadOS:isIPadOS,isIos:isIos};function cloneDeep(e){return JSON.parse(JSON.stringify(e))}function getDeep(e,t){return t.split(\".\").reduce(((e,t)=>e&&e[t]),e)}function extend(e={},...t){if(!t.length)return e;const i=t.shift();return is.object(i)?(Object.keys(i).forEach((t=>{is.object(i[t])?(Object.keys(e).includes(t)||Object.assign(e,{[t]:{}}),extend(e[t],i[t])):Object.assign(e,{[t]:i[t]})})),extend(e,...t)):e}function wrap(e,t){const i=e.length?e:[e];Array.from(i).reverse().forEach(((e,i)=>{const s=i>0?t.cloneNode(!0):t,n=e.parentNode,r=e.nextSibling;s.appendChild(e),r?n.insertBefore(s,r):n.appendChild(s)}))}function setAttributes(e,t){is.element(e)&&!is.empty(t)&&Object.entries(t).filter((([,e])=>!is.nullOrUndefined(e))).forEach((([t,i])=>e.setAttribute(t,i)))}function createElement(e,t,i){const s=document.createElement(e);return is.object(t)&&setAttributes(s,t),is.string(i)&&(s.innerText=i),s}function insertAfter(e,t){is.element(e)&&is.element(t)&&t.parentNode.insertBefore(e,t.nextSibling)}function insertElement(e,t,i,s){is.element(t)&&t.appendChild(createElement(e,i,s))}function removeElement(e){is.nodeList(e)||is.array(e)?Array.from(e).forEach(removeElement):is.element(e)&&is.element(e.parentNode)&&e.parentNode.removeChild(e)}function emptyElement(e){if(!is.element(e))return;let{length:t}=e.childNodes;for(;t>0;)e.removeChild(e.lastChild),t-=1}function replaceElement(e,t){return is.element(t)&&is.element(t.parentNode)&&is.element(e)?(t.parentNode.replaceChild(e,t),e):null}function getAttributesFromSelector(e,t){if(!is.string(e)||is.empty(e))return{};const i={},s=extend({},t);return e.split(\",\").forEach((e=>{const t=e.trim(),n=t.replace(\".\",\"\"),r=t.replace(/[[\\]]/g,\"\").split(\"=\"),[a]=r,o=r.length>1?r[1].replace(/[\"']/g,\"\"):\"\";switch(t.charAt(0)){case\".\":is.string(s.class)?i.class=`${s.class} ${n}`:i.class=n;break;case\"#\":i.id=t.replace(\"#\",\"\");break;case\"[\":i[a]=o}})),extend(s,i)}function toggleHidden(e,t){if(!is.element(e))return;let i=t;is.boolean(i)||(i=!e.hidden),e.hidden=i}function toggleClass(e,t,i){if(is.nodeList(e))return Array.from(e).map((e=>toggleClass(e,t,i)));if(is.element(e)){let s=\"toggle\";return void 0!==i&&(s=i?\"add\":\"remove\"),e.classList[s](t),e.classList.contains(t)}return!1}function hasClass(e,t){return is.element(e)&&e.classList.contains(t)}function matches(e,t){const{prototype:i}=Element;return(i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||function(){return Array.from(document.querySelectorAll(t)).includes(this)}).call(e,t)}function closest$1(e,t){const{prototype:i}=Element;return(i.closest||function(){let e=this;do{if(matches.matches(e,t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}).call(e,t)}function getElements(e){return this.elements.container.querySelectorAll(e)}function getElement(e){return this.elements.container.querySelector(e)}function setFocus(e=null,t=!1){is.element(e)&&e.focus({preventScroll:!0,focusVisible:t})}const defaultCodecs={\"audio/ogg\":\"vorbis\",\"audio/wav\":\"1\",\"video/webm\":\"vp8, vorbis\",\"video/mp4\":\"avc1.42E01E, mp4a.40.2\",\"video/ogg\":\"theora\"},support={audio:\"canPlayType\"in document.createElement(\"audio\"),video:\"canPlayType\"in document.createElement(\"video\"),check(e,t){const i=support[e]||\"html5\"!==t;return{api:i,ui:i&&support.rangeInput}},pip:!(browser.isIPhone||!is.function(createElement(\"video\").webkitSetPresentationMode)&&(!document.pictureInPictureEnabled||createElement(\"video\").disablePictureInPicture)),airplay:is.function(window.WebKitPlaybackTargetAvailabilityEvent),playsinline:\"playsInline\"in document.createElement(\"video\"),mime(e){if(is.empty(e))return!1;const[t]=e.split(\"/\");let i=e;if(!this.isHTML5||t!==this.type)return!1;Object.keys(defaultCodecs).includes(i)&&(i+=`; codecs=\"${defaultCodecs[e]}\"`);try{return Boolean(i&&this.media.canPlayType(i).replace(/no/,\"\"))}catch(e){return!1}},textTracks:\"textTracks\"in document.createElement(\"video\"),rangeInput:(()=>{const e=document.createElement(\"input\");return e.type=\"range\",\"range\"===e.type})(),touch:\"ontouchstart\"in document.documentElement,transitions:!1!==transitionEndEvent,reducedMotion:\"matchMedia\"in window&&window.matchMedia(\"(prefers-reduced-motion)\").matches},supportsPassiveListeners=(()=>{let e=!1;try{const t=Object.defineProperty({},\"passive\",{get:()=>(e=!0,null)});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(e){}return e})();function toggleListener(e,t,i,s=!1,n=!0,r=!1){if(!e||!(\"addEventListener\"in e)||is.empty(t)||!is.function(i))return;const a=t.split(\" \");let o=r;supportsPassiveListeners&&(o={passive:n,capture:r}),a.forEach((t=>{this&&this.eventListeners&&s&&this.eventListeners.push({element:e,type:t,callback:i,options:o}),e[s?\"addEventListener\":\"removeEventListener\"](t,i,o)}))}function on(e,t=\"\",i,s=!0,n=!1){toggleListener.call(this,e,t,i,!0,s,n)}function off(e,t=\"\",i,s=!0,n=!1){toggleListener.call(this,e,t,i,!1,s,n)}function once(e,t=\"\",i,s=!0,n=!1){const r=(...a)=>{off(e,t,r,s,n),i.apply(this,a)};toggleListener.call(this,e,t,r,!0,s,n)}function triggerEvent(e,t=\"\",i=!1,s={}){if(!is.element(e)||is.empty(t))return;const n=new CustomEvent(t,{bubbles:i,detail:{...s,plyr:this}});e.dispatchEvent(n)}function unbindListeners(){this&&this.eventListeners&&(this.eventListeners.forEach((e=>{const{element:t,type:i,callback:s,options:n}=e;t.removeEventListener(i,s,n)})),this.eventListeners=[])}function ready(){return new Promise((e=>this.ready?setTimeout(e,0):on.call(this,this.elements.container,\"ready\",e))).then((()=>{}))}function silencePromise(e){is.promise(e)&&e.then(null,(()=>{}))}function dedupe(e){return is.array(e)?e.filter(((t,i)=>e.indexOf(t)===i)):e}function closest(e,t){return is.array(e)&&e.length?e.reduce(((e,i)=>Math.abs(i-t)({...e,[t/i]:[t,i]})),{});function validateAspectRatio(e){if(!(is.array(e)||is.string(e)&&e.includes(\":\")))return!1;return(is.array(e)?e:e.split(\":\")).map(Number).every(is.number)}function reduceAspectRatio(e){if(!is.array(e)||!e.every(is.number))return null;const[t,i]=e,s=(e,t)=>0===t?e:s(t,e%t),n=s(t,i);return[t/n,i/n]}function getAspectRatio(e){const t=e=>validateAspectRatio(e)?e.split(\":\").map(Number):null;let i=t(e);if(null===i&&(i=t(this.config.ratio)),null===i&&!is.empty(this.embed)&&is.array(this.embed.ratio)&&({ratio:i}=this.embed),null===i&&this.isHTML5){const{videoWidth:e,videoHeight:t}=this.media;i=[e,t]}return reduceAspectRatio(i)}function setAspectRatio(e){if(!this.isVideo)return{};const{wrapper:t}=this.elements,i=getAspectRatio.call(this,e);if(!is.array(i))return{};const[s,n]=reduceAspectRatio(i),r=100/s*n;if(supportsCSS(`aspect-ratio: ${s}/${n}`)?t.style.aspectRatio=`${s}/${n}`:t.style.paddingBottom=`${r}%`,this.isVimeo&&!this.config.vimeo.premium&&this.supported.ui){const e=100/this.media.offsetWidth*parseInt(window.getComputedStyle(this.media).paddingBottom,10),i=(e-r)/(e/50);this.fullscreen.active?t.style.paddingBottom=null:this.media.style.transform=`translateY(-${i}%)`}else this.isHTML5&&t.classList.add(this.config.classNames.videoFixedRatio);return{padding:r,ratio:i}}function roundAspectRatio(e,t,i=.05){const s=e/t,n=closest(Object.keys(standardRatios),s);return Math.abs(n-s)<=i?standardRatios[n]:[e,t]}function getViewportSize(){return[Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)]}const html5={getSources(){if(!this.isHTML5)return[];return Array.from(this.media.querySelectorAll(\"source\")).filter((e=>{const t=e.getAttribute(\"type\");return!!is.empty(t)||support.mime.call(this,t)}))},getQualityOptions(){return this.config.quality.forced?this.config.quality.options:html5.getSources.call(this).map((e=>Number(e.getAttribute(\"size\")))).filter(Boolean)},setup(){if(!this.isHTML5)return;const e=this;e.options.speed=e.config.speed.options,is.empty(this.config.ratio)||setAspectRatio.call(e),Object.defineProperty(e.media,\"quality\",{get(){const t=html5.getSources.call(e).find((t=>t.getAttribute(\"src\")===e.source));return t&&Number(t.getAttribute(\"size\"))},set(t){if(e.quality!==t){if(e.config.quality.forced&&is.function(e.config.quality.onChange))e.config.quality.onChange(t);else{const i=html5.getSources.call(e).find((e=>Number(e.getAttribute(\"size\"))===t));if(!i)return;const{currentTime:s,paused:n,preload:r,readyState:a,playbackRate:o}=e.media;e.media.src=i.getAttribute(\"src\"),(\"none\"!==r||a)&&(e.once(\"loadedmetadata\",(()=>{e.speed=o,e.currentTime=s,n||silencePromise(e.play())})),e.media.load())}triggerEvent.call(e,e.media,\"qualitychange\",!1,{quality:t})}}})},cancelRequests(){this.isHTML5&&(removeElement(html5.getSources.call(this)),this.media.setAttribute(\"src\",this.config.blankVideo),this.media.load(),this.debug.log(\"Cancelled network requests\"))}};function generateId(e){return`${e}-${Math.floor(1e4*Math.random())}`}function format(e,...t){return is.empty(e)?e:e.toString().replace(/{(\\d+)}/g,((e,i)=>t[i].toString()))}function getPercentage(e,t){return 0===e||0===t||Number.isNaN(e)||Number.isNaN(t)?0:(e/t*100).toFixed(2)}const replaceAll=(e=\"\",t=\"\",i=\"\")=>e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g,\"\\\\$1\"),\"g\"),i.toString()),toTitleCase=(e=\"\")=>e.toString().replace(/\\w\\S*/g,(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()));function toPascalCase(e=\"\"){let t=e.toString();return t=replaceAll(t,\"-\",\" \"),t=replaceAll(t,\"_\",\" \"),t=toTitleCase(t),replaceAll(t,\" \",\"\")}function toCamelCase(e=\"\"){let t=e.toString();return t=toPascalCase(t),t.charAt(0).toLowerCase()+t.slice(1)}function stripHTML(e){const t=document.createDocumentFragment(),i=document.createElement(\"div\");return t.appendChild(i),i.innerHTML=e,t.firstChild.innerText}function getHTML(e){const t=document.createElement(\"div\");return t.appendChild(e),t.innerHTML}const resources={pip:\"PIP\",airplay:\"AirPlay\",html5:\"HTML5\",vimeo:\"Vimeo\",youtube:\"YouTube\"},i18n={get(e=\"\",t={}){if(is.empty(e)||is.empty(t))return\"\";let i=getDeep(t.i18n,e);if(is.empty(i))return Object.keys(resources).includes(e)?resources[e]:\"\";const s={\"{seektime}\":t.seekTime,\"{title}\":t.title};return Object.entries(s).forEach((([e,t])=>{i=replaceAll(i,e,t)})),i}};class Storage{constructor(e){_defineProperty$1(this,\"get\",(e=>{if(!Storage.supported||!this.enabled)return null;const t=window.localStorage.getItem(this.key);if(is.empty(t))return null;const i=JSON.parse(t);return is.string(e)&&e.length?i[e]:i})),_defineProperty$1(this,\"set\",(e=>{if(!Storage.supported||!this.enabled)return;if(!is.object(e))return;let t=this.get();is.empty(t)&&(t={}),extend(t,e);try{window.localStorage.setItem(this.key,JSON.stringify(t))}catch(e){}})),this.enabled=e.config.storage.enabled,this.key=e.config.storage.key}static get supported(){try{if(!(\"localStorage\"in window))return!1;const e=\"___test\";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch(e){return!1}}}function fetch(e,t=\"text\"){return new Promise(((i,s)=>{try{const s=new XMLHttpRequest;if(!(\"withCredentials\"in s))return;s.addEventListener(\"load\",(()=>{if(\"text\"===t)try{i(JSON.parse(s.responseText))}catch(e){i(s.responseText)}else i(s.response)})),s.addEventListener(\"error\",(()=>{throw new Error(s.status)})),s.open(\"GET\",e,!0),s.responseType=t,s.send()}catch(e){s(e)}}))}function loadSprite(e,t){if(!is.string(e))return;const i=\"cache\",s=is.string(t);let n=!1;const r=()=>null!==document.getElementById(t),a=(e,t)=>{e.innerHTML=t,s&&r()||document.body.insertAdjacentElement(\"afterbegin\",e)};if(!s||!r()){const r=Storage.supported,o=document.createElement(\"div\");if(o.setAttribute(\"hidden\",\"\"),s&&o.setAttribute(\"id\",t),r){const e=window.localStorage.getItem(`${i}-${t}`);if(n=null!==e,n){const t=JSON.parse(e);a(o,t.content)}}fetch(e).then((e=>{if(!is.empty(e)){if(r)try{window.localStorage.setItem(`${i}-${t}`,JSON.stringify({content:e}))}catch(e){}a(o,e)}})).catch((()=>{}))}}const getHours=e=>Math.trunc(e/60/60%60,10),getMinutes=e=>Math.trunc(e/60%60,10),getSeconds=e=>Math.trunc(e%60,10);function formatTime(e=0,t=!1,i=!1){if(!is.number(e))return formatTime(void 0,t,i);const s=e=>`0${e}`.slice(-2);let n=getHours(e);const r=getMinutes(e),a=getSeconds(e);return n=t||n>0?`${n}:`:\"\",`${i&&e>0?\"-\":\"\"}${n}${s(r)}:${s(a)}`}const controls={getIconUrl(){const e=new URL(this.config.iconUrl,window.location),t=window.location.host?window.location.host:window.top.location.host,i=e.host!==t||browser.isIE&&!window.svg4everybody;return{url:this.config.iconUrl,cors:i}},findElements(){try{return this.elements.controls=getElement.call(this,this.config.selectors.controls.wrapper),this.elements.buttons={play:getElements.call(this,this.config.selectors.buttons.play),pause:getElement.call(this,this.config.selectors.buttons.pause),restart:getElement.call(this,this.config.selectors.buttons.restart),rewind:getElement.call(this,this.config.selectors.buttons.rewind),fastForward:getElement.call(this,this.config.selectors.buttons.fastForward),mute:getElement.call(this,this.config.selectors.buttons.mute),pip:getElement.call(this,this.config.selectors.buttons.pip),airplay:getElement.call(this,this.config.selectors.buttons.airplay),settings:getElement.call(this,this.config.selectors.buttons.settings),captions:getElement.call(this,this.config.selectors.buttons.captions),fullscreen:getElement.call(this,this.config.selectors.buttons.fullscreen)},this.elements.progress=getElement.call(this,this.config.selectors.progress),this.elements.inputs={seek:getElement.call(this,this.config.selectors.inputs.seek),volume:getElement.call(this,this.config.selectors.inputs.volume)},this.elements.display={buffer:getElement.call(this,this.config.selectors.display.buffer),currentTime:getElement.call(this,this.config.selectors.display.currentTime),duration:getElement.call(this,this.config.selectors.display.duration)},is.element(this.elements.progress)&&(this.elements.display.seekTooltip=this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`)),!0}catch(e){return this.debug.warn(\"It looks like there is a problem with your custom controls HTML\",e),this.toggleNativeControls(!0),!1}},createIcon(e,t){const i=\"http://www.w3.org/2000/svg\",s=controls.getIconUrl.call(this),n=`${s.cors?\"\":s.url}#${this.config.iconPrefix}`,r=document.createElementNS(i,\"svg\");setAttributes(r,extend(t,{\"aria-hidden\":\"true\",focusable:\"false\"}));const a=document.createElementNS(i,\"use\"),o=`${n}-${e}`;return\"href\"in a&&a.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",o),a.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",o),r.appendChild(a),r},createLabel(e,t={}){const i=i18n.get(e,this.config);return createElement(\"span\",{...t,class:[t.class,this.config.classNames.hidden].filter(Boolean).join(\" \")},i)},createBadge(e){if(is.empty(e))return null;const t=createElement(\"span\",{class:this.config.classNames.menu.value});return t.appendChild(createElement(\"span\",{class:this.config.classNames.menu.badge},e)),t},createButton(e,t){const i=extend({},t);let s=toCamelCase(e);const n={element:\"button\",toggle:!1,label:null,icon:null,labelPressed:null,iconPressed:null};switch([\"element\",\"icon\",\"label\"].forEach((e=>{Object.keys(i).includes(e)&&(n[e]=i[e],delete i[e])})),\"button\"!==n.element||Object.keys(i).includes(\"type\")||(i.type=\"button\"),Object.keys(i).includes(\"class\")?i.class.split(\" \").some((e=>e===this.config.classNames.control))||extend(i,{class:`${i.class} ${this.config.classNames.control}`}):i.class=this.config.classNames.control,e){case\"play\":n.toggle=!0,n.label=\"play\",n.labelPressed=\"pause\",n.icon=\"play\",n.iconPressed=\"pause\";break;case\"mute\":n.toggle=!0,n.label=\"mute\",n.labelPressed=\"unmute\",n.icon=\"volume\",n.iconPressed=\"muted\";break;case\"captions\":n.toggle=!0,n.label=\"enableCaptions\",n.labelPressed=\"disableCaptions\",n.icon=\"captions-off\",n.iconPressed=\"captions-on\";break;case\"fullscreen\":n.toggle=!0,n.label=\"enterFullscreen\",n.labelPressed=\"exitFullscreen\",n.icon=\"enter-fullscreen\",n.iconPressed=\"exit-fullscreen\";break;case\"play-large\":i.class+=` ${this.config.classNames.control}--overlaid`,s=\"play\",n.label=\"play\",n.icon=\"play\";break;default:is.empty(n.label)&&(n.label=s),is.empty(n.icon)&&(n.icon=e)}const r=createElement(n.element);return n.toggle?(r.appendChild(controls.createIcon.call(this,n.iconPressed,{class:\"icon--pressed\"})),r.appendChild(controls.createIcon.call(this,n.icon,{class:\"icon--not-pressed\"})),r.appendChild(controls.createLabel.call(this,n.labelPressed,{class:\"label--pressed\"})),r.appendChild(controls.createLabel.call(this,n.label,{class:\"label--not-pressed\"}))):(r.appendChild(controls.createIcon.call(this,n.icon)),r.appendChild(controls.createLabel.call(this,n.label))),extend(i,getAttributesFromSelector(this.config.selectors.buttons[s],i)),setAttributes(r,i),\"play\"===s?(is.array(this.elements.buttons[s])||(this.elements.buttons[s]=[]),this.elements.buttons[s].push(r)):this.elements.buttons[s]=r,r},createRange(e,t){const i=createElement(\"input\",extend(getAttributesFromSelector(this.config.selectors.inputs[e]),{type:\"range\",min:0,max:100,step:.01,value:0,autocomplete:\"off\",role:\"slider\",\"aria-label\":i18n.get(e,this.config),\"aria-valuemin\":0,\"aria-valuemax\":100,\"aria-valuenow\":0},t));return this.elements.inputs[e]=i,controls.updateRangeFill.call(this,i),RangeTouch.setup(i),i},createProgress(e,t){const i=createElement(\"progress\",extend(getAttributesFromSelector(this.config.selectors.display[e]),{min:0,max:100,value:0,role:\"progressbar\",\"aria-hidden\":!0},t));if(\"volume\"!==e){i.appendChild(createElement(\"span\",null,\"0\"));const t={played:\"played\",buffer:\"buffered\"}[e],s=t?i18n.get(t,this.config):\"\";i.innerText=`% ${s.toLowerCase()}`}return this.elements.display[e]=i,i},createTime(e,t){const i=getAttributesFromSelector(this.config.selectors.display[e],t),s=createElement(\"div\",extend(i,{class:`${i.class?i.class:\"\"} ${this.config.classNames.display.time} `.trim(),\"aria-label\":i18n.get(e,this.config),role:\"timer\"}),\"00:00\");return this.elements.display[e]=s,s},bindMenuItemShortcuts(e,t){on.call(this,e,\"keydown keyup\",(i=>{if(![\" \",\"ArrowUp\",\"ArrowDown\",\"ArrowRight\"].includes(i.key))return;if(i.preventDefault(),i.stopPropagation(),\"keydown\"===i.type)return;const s=matches(e,'[role=\"menuitemradio\"]');if(!s&&[\" \",\"ArrowRight\"].includes(i.key))controls.showMenuPanel.call(this,t,!0);else{let t;\" \"!==i.key&&(\"ArrowDown\"===i.key||s&&\"ArrowRight\"===i.key?(t=e.nextElementSibling,is.element(t)||(t=e.parentNode.firstElementChild)):(t=e.previousElementSibling,is.element(t)||(t=e.parentNode.lastElementChild)),setFocus.call(this,t,!0))}}),!1),on.call(this,e,\"keyup\",(e=>{\"Return\"===e.key&&controls.focusFirstMenuItem.call(this,null,!0)}))},createMenuItem({value:e,list:t,type:i,title:s,badge:n=null,checked:r=!1}){const a=getAttributesFromSelector(this.config.selectors.inputs[i]),o=createElement(\"button\",extend(a,{type:\"button\",role:\"menuitemradio\",class:`${this.config.classNames.control} ${a.class?a.class:\"\"}`.trim(),\"aria-checked\":r,value:e})),l=createElement(\"span\");l.innerHTML=s,is.element(n)&&l.appendChild(n),o.appendChild(l),Object.defineProperty(o,\"checked\",{enumerable:!0,get:()=>\"true\"===o.getAttribute(\"aria-checked\"),set(e){e&&Array.from(o.parentNode.children).filter((e=>matches(e,'[role=\"menuitemradio\"]'))).forEach((e=>e.setAttribute(\"aria-checked\",\"false\"))),o.setAttribute(\"aria-checked\",e?\"true\":\"false\")}}),this.listeners.bind(o,\"click keyup\",(t=>{if(!is.keyboardEvent(t)||\" \"===t.key){switch(t.preventDefault(),t.stopPropagation(),o.checked=!0,i){case\"language\":this.currentTrack=Number(e);break;case\"quality\":this.quality=e;break;case\"speed\":this.speed=parseFloat(e)}controls.showMenuPanel.call(this,\"home\",is.keyboardEvent(t))}}),i,!1),controls.bindMenuItemShortcuts.call(this,o,i),t.appendChild(o)},formatTime(e=0,t=!1){if(!is.number(e))return e;return formatTime(e,getHours(this.duration)>0,t)},updateTimeDisplay(e=null,t=0,i=!1){is.element(e)&&is.number(t)&&(e.innerText=controls.formatTime(t,i))},updateVolume(){this.supported.ui&&(is.element(this.elements.inputs.volume)&&controls.setRange.call(this,this.elements.inputs.volume,this.muted?0:this.volume),is.element(this.elements.buttons.mute)&&(this.elements.buttons.mute.pressed=this.muted||0===this.volume))},setRange(e,t=0){is.element(e)&&(e.value=t,controls.updateRangeFill.call(this,e))},updateProgress(e){if(!this.supported.ui||!is.event(e))return;let t=0;const i=(e,t)=>{const i=is.number(t)?t:0,s=is.element(e)?e:this.elements.display.buffer;if(is.element(s)){s.value=i;const e=s.getElementsByTagName(\"span\")[0];is.element(e)&&(e.childNodes[0].nodeValue=i)}};if(e)switch(e.type){case\"timeupdate\":case\"seeking\":case\"seeked\":t=getPercentage(this.currentTime,this.duration),\"timeupdate\"===e.type&&controls.setRange.call(this,this.elements.inputs.seek,t);break;case\"playing\":case\"progress\":i(this.elements.display.buffer,100*this.buffered)}},updateRangeFill(e){const t=is.event(e)?e.target:e;if(is.element(t)&&\"range\"===t.getAttribute(\"type\")){if(matches(t,this.config.selectors.inputs.seek)){t.setAttribute(\"aria-valuenow\",this.currentTime);const e=controls.formatTime(this.currentTime),i=controls.formatTime(this.duration),s=i18n.get(\"seekLabel\",this.config);t.setAttribute(\"aria-valuetext\",s.replace(\"{currentTime}\",e).replace(\"{duration}\",i))}else if(matches(t,this.config.selectors.inputs.volume)){const e=100*t.value;t.setAttribute(\"aria-valuenow\",e),t.setAttribute(\"aria-valuetext\",`${e.toFixed(1)}%`)}else t.setAttribute(\"aria-valuenow\",t.value);(browser.isWebKit||browser.isIPadOS)&&t.style.setProperty(\"--value\",t.value/t.max*100+\"%\")}},updateSeekTooltip(e){var t,i;if(!this.config.tooltips.seek||!is.element(this.elements.inputs.seek)||!is.element(this.elements.display.seekTooltip)||0===this.duration)return;const s=this.elements.display.seekTooltip,n=`${this.config.classNames.tooltip}--visible`,r=e=>toggleClass(s,n,e);if(this.touch)return void r(!1);let a=0;const o=this.elements.progress.getBoundingClientRect();if(is.event(e))a=100/o.width*(e.pageX-o.left);else{if(!hasClass(s,n))return;a=parseFloat(s.style.left,10)}a<0?a=0:a>100&&(a=100);const l=this.duration/100*a;s.innerText=controls.formatTime(l);const c=null===(t=this.config.markers)||void 0===t||null===(i=t.points)||void 0===i?void 0:i.find((({time:e})=>e===Math.round(l)));c&&s.insertAdjacentHTML(\"afterbegin\",`${c.label}
`),s.style.left=`${a}%`,is.event(e)&&[\"mouseenter\",\"mouseleave\"].includes(e.type)&&r(\"mouseenter\"===e.type)},timeUpdate(e){const t=!is.element(this.elements.display.duration)&&this.config.invertTime;controls.updateTimeDisplay.call(this,this.elements.display.currentTime,t?this.duration-this.currentTime:this.currentTime,t),e&&\"timeupdate\"===e.type&&this.media.seeking||controls.updateProgress.call(this,e)},durationUpdate(){if(!this.supported.ui||!this.config.invertTime&&this.currentTime)return;if(this.duration>=2**32)return toggleHidden(this.elements.display.currentTime,!0),void toggleHidden(this.elements.progress,!0);is.element(this.elements.inputs.seek)&&this.elements.inputs.seek.setAttribute(\"aria-valuemax\",this.duration);const e=is.element(this.elements.display.duration);!e&&this.config.displayDuration&&this.paused&&controls.updateTimeDisplay.call(this,this.elements.display.currentTime,this.duration),e&&controls.updateTimeDisplay.call(this,this.elements.display.duration,this.duration),this.config.markers.enabled&&controls.setMarkers.call(this),controls.updateSeekTooltip.call(this)},toggleMenuButton(e,t){toggleHidden(this.elements.settings.buttons[e],!t)},updateSetting(e,t,i){const s=this.elements.settings.panels[e];let n=null,r=t;if(\"captions\"===e)n=this.currentTrack;else{if(n=is.empty(i)?this[e]:i,is.empty(n)&&(n=this.config[e].default),!is.empty(this.options[e])&&!this.options[e].includes(n))return void this.debug.warn(`Unsupported value of '${n}' for ${e}`);if(!this.config[e].options.includes(n))return void this.debug.warn(`Disabled value of '${n}' for ${e}`)}if(is.element(r)||(r=s&&s.querySelector('[role=\"menu\"]')),!is.element(r))return;this.elements.settings.buttons[e].querySelector(`.${this.config.classNames.menu.value}`).innerHTML=controls.getLabel.call(this,e,n);const a=r&&r.querySelector(`[value=\"${n}\"]`);is.element(a)&&(a.checked=!0)},getLabel(e,t){switch(e){case\"speed\":return 1===t?i18n.get(\"normal\",this.config):`${t}×`;case\"quality\":if(is.number(t)){const e=i18n.get(`qualityLabel.${t}`,this.config);return e.length?e:`${t}p`}return toTitleCase(t);case\"captions\":return captions.getLabel.call(this);default:return null}},setQualityMenu(e){if(!is.element(this.elements.settings.panels.quality))return;const t=\"quality\",i=this.elements.settings.panels.quality.querySelector('[role=\"menu\"]');is.array(e)&&(this.options.quality=dedupe(e).filter((e=>this.config.quality.options.includes(e))));const s=!is.empty(this.options.quality)&&this.options.quality.length>1;if(controls.toggleMenuButton.call(this,t,s),emptyElement(i),controls.checkMenu.call(this),!s)return;const n=e=>{const t=i18n.get(`qualityBadge.${e}`,this.config);return t.length?controls.createBadge.call(this,t):null};this.options.quality.sort(((e,t)=>{const i=this.config.quality.options;return i.indexOf(e)>i.indexOf(t)?1:-1})).forEach((e=>{controls.createMenuItem.call(this,{value:e,list:i,type:t,title:controls.getLabel.call(this,\"quality\",e),badge:n(e)})})),controls.updateSetting.call(this,t,i)},setCaptionsMenu(){if(!is.element(this.elements.settings.panels.captions))return;const e=\"captions\",t=this.elements.settings.panels.captions.querySelector('[role=\"menu\"]'),i=captions.getTracks.call(this),s=Boolean(i.length);if(controls.toggleMenuButton.call(this,e,s),emptyElement(t),controls.checkMenu.call(this),!s)return;const n=i.map(((e,i)=>({value:i,checked:this.captions.toggled&&this.currentTrack===i,title:captions.getLabel.call(this,e),badge:e.language&&controls.createBadge.call(this,e.language.toUpperCase()),list:t,type:\"language\"})));n.unshift({value:-1,checked:!this.captions.toggled,title:i18n.get(\"disabled\",this.config),list:t,type:\"language\"}),n.forEach(controls.createMenuItem.bind(this)),controls.updateSetting.call(this,e,t)},setSpeedMenu(){if(!is.element(this.elements.settings.panels.speed))return;const e=\"speed\",t=this.elements.settings.panels.speed.querySelector('[role=\"menu\"]');this.options.speed=this.options.speed.filter((e=>e>=this.minimumSpeed&&e<=this.maximumSpeed));const i=!is.empty(this.options.speed)&&this.options.speed.length>1;controls.toggleMenuButton.call(this,e,i),emptyElement(t),controls.checkMenu.call(this),i&&(this.options.speed.forEach((i=>{controls.createMenuItem.call(this,{value:i,list:t,type:e,title:controls.getLabel.call(this,\"speed\",i)})})),controls.updateSetting.call(this,e,t))},checkMenu(){const{buttons:e}=this.elements.settings,t=!is.empty(e)&&Object.values(e).some((e=>!e.hidden));toggleHidden(this.elements.settings.menu,!t)},focusFirstMenuItem(e,t=!1){if(this.elements.settings.popup.hidden)return;let i=e;is.element(i)||(i=Object.values(this.elements.settings.panels).find((e=>!e.hidden)));const s=i.querySelector('[role^=\"menuitem\"]');setFocus.call(this,s,t)},toggleMenu(e){const{popup:t}=this.elements.settings,i=this.elements.buttons.settings;if(!is.element(t)||!is.element(i))return;const{hidden:s}=t;let n=s;if(is.boolean(e))n=e;else if(is.keyboardEvent(e)&&\"Escape\"===e.key)n=!1;else if(is.event(e)){const s=is.function(e.composedPath)?e.composedPath()[0]:e.target,r=t.contains(s);if(r||!r&&e.target!==i&&n)return}i.setAttribute(\"aria-expanded\",n),toggleHidden(t,!n),toggleClass(this.elements.container,this.config.classNames.menu.open,n),n&&is.keyboardEvent(e)?controls.focusFirstMenuItem.call(this,null,!0):n||s||setFocus.call(this,i,is.keyboardEvent(e))},getMenuSize(e){const t=e.cloneNode(!0);t.style.position=\"absolute\",t.style.opacity=0,t.removeAttribute(\"hidden\"),e.parentNode.appendChild(t);const i=t.scrollWidth,s=t.scrollHeight;return removeElement(t),{width:i,height:s}},showMenuPanel(e=\"\",t=!1){const i=this.elements.container.querySelector(`#plyr-settings-${this.id}-${e}`);if(!is.element(i))return;const s=i.parentNode,n=Array.from(s.children).find((e=>!e.hidden));if(support.transitions&&!support.reducedMotion){s.style.width=`${n.scrollWidth}px`,s.style.height=`${n.scrollHeight}px`;const e=controls.getMenuSize.call(this,i),t=e=>{e.target===s&&[\"width\",\"height\"].includes(e.propertyName)&&(s.style.width=\"\",s.style.height=\"\",off.call(this,s,transitionEndEvent,t))};on.call(this,s,transitionEndEvent,t),s.style.width=`${e.width}px`,s.style.height=`${e.height}px`}toggleHidden(n,!0),toggleHidden(i,!1),controls.focusFirstMenuItem.call(this,i,t)},setDownloadUrl(){const e=this.elements.buttons.download;is.element(e)&&e.setAttribute(\"href\",this.download)},create(e){const{bindMenuItemShortcuts:t,createButton:i,createProgress:s,createRange:n,createTime:r,setQualityMenu:a,setSpeedMenu:o,showMenuPanel:l}=controls;this.elements.controls=null,is.array(this.config.controls)&&this.config.controls.includes(\"play-large\")&&this.elements.container.appendChild(i.call(this,\"play-large\"));const c=createElement(\"div\",getAttributesFromSelector(this.config.selectors.controls.wrapper));this.elements.controls=c;const u={class:\"plyr__controls__item\"};return dedupe(is.array(this.config.controls)?this.config.controls:[]).forEach((a=>{if(\"restart\"===a&&c.appendChild(i.call(this,\"restart\",u)),\"rewind\"===a&&c.appendChild(i.call(this,\"rewind\",u)),\"play\"===a&&c.appendChild(i.call(this,\"play\",u)),\"fast-forward\"===a&&c.appendChild(i.call(this,\"fast-forward\",u)),\"progress\"===a){const t=createElement(\"div\",{class:`${u.class} plyr__progress__container`}),i=createElement(\"div\",getAttributesFromSelector(this.config.selectors.progress));if(i.appendChild(n.call(this,\"seek\",{id:`plyr-seek-${e.id}`})),i.appendChild(s.call(this,\"buffer\")),this.config.tooltips.seek){const e=createElement(\"span\",{class:this.config.classNames.tooltip},\"00:00\");i.appendChild(e),this.elements.display.seekTooltip=e}this.elements.progress=i,t.appendChild(this.elements.progress),c.appendChild(t)}if(\"current-time\"===a&&c.appendChild(r.call(this,\"currentTime\",u)),\"duration\"===a&&c.appendChild(r.call(this,\"duration\",u)),\"mute\"===a||\"volume\"===a){let{volume:t}=this.elements;if(is.element(t)&&c.contains(t)||(t=createElement(\"div\",extend({},u,{class:`${u.class} plyr__volume`.trim()})),this.elements.volume=t,c.appendChild(t)),\"mute\"===a&&t.appendChild(i.call(this,\"mute\")),\"volume\"===a&&!browser.isIos&&!browser.isIPadOS){const i={max:1,step:.05,value:this.config.volume};t.appendChild(n.call(this,\"volume\",extend(i,{id:`plyr-volume-${e.id}`})))}}if(\"captions\"===a&&c.appendChild(i.call(this,\"captions\",u)),\"settings\"===a&&!is.empty(this.config.settings)){const s=createElement(\"div\",extend({},u,{class:`${u.class} plyr__menu`.trim(),hidden:\"\"}));s.appendChild(i.call(this,\"settings\",{\"aria-haspopup\":!0,\"aria-controls\":`plyr-settings-${e.id}`,\"aria-expanded\":!1}));const n=createElement(\"div\",{class:\"plyr__menu__container\",id:`plyr-settings-${e.id}`,hidden:\"\"}),r=createElement(\"div\"),a=createElement(\"div\",{id:`plyr-settings-${e.id}-home`}),o=createElement(\"div\",{role:\"menu\"});a.appendChild(o),r.appendChild(a),this.elements.settings.panels.home=a,this.config.settings.forEach((i=>{const s=createElement(\"button\",extend(getAttributesFromSelector(this.config.selectors.buttons.settings),{type:\"button\",class:`${this.config.classNames.control} ${this.config.classNames.control}--forward`,role:\"menuitem\",\"aria-haspopup\":!0,hidden:\"\"}));t.call(this,s,i),on.call(this,s,\"click\",(()=>{l.call(this,i,!1)}));const n=createElement(\"span\",null,i18n.get(i,this.config)),a=createElement(\"span\",{class:this.config.classNames.menu.value});a.innerHTML=e[i],n.appendChild(a),s.appendChild(n),o.appendChild(s);const c=createElement(\"div\",{id:`plyr-settings-${e.id}-${i}`,hidden:\"\"}),u=createElement(\"button\",{type:\"button\",class:`${this.config.classNames.control} ${this.config.classNames.control}--back`});u.appendChild(createElement(\"span\",{\"aria-hidden\":!0},i18n.get(i,this.config))),u.appendChild(createElement(\"span\",{class:this.config.classNames.hidden},i18n.get(\"menuBack\",this.config))),on.call(this,c,\"keydown\",(e=>{\"ArrowLeft\"===e.key&&(e.preventDefault(),e.stopPropagation(),l.call(this,\"home\",!0))}),!1),on.call(this,u,\"click\",(()=>{l.call(this,\"home\",!1)})),c.appendChild(u),c.appendChild(createElement(\"div\",{role:\"menu\"})),r.appendChild(c),this.elements.settings.buttons[i]=s,this.elements.settings.panels[i]=c})),n.appendChild(r),s.appendChild(n),c.appendChild(s),this.elements.settings.popup=n,this.elements.settings.menu=s}if(\"pip\"===a&&support.pip&&c.appendChild(i.call(this,\"pip\",u)),\"airplay\"===a&&support.airplay&&c.appendChild(i.call(this,\"airplay\",u)),\"download\"===a){const e=extend({},u,{element:\"a\",href:this.download,target:\"_blank\"});this.isHTML5&&(e.download=\"\");const{download:t}=this.config.urls;!is.url(t)&&this.isEmbed&&extend(e,{icon:`logo-${this.provider}`,label:this.provider}),c.appendChild(i.call(this,\"download\",e))}\"fullscreen\"===a&&c.appendChild(i.call(this,\"fullscreen\",u))})),this.isHTML5&&a.call(this,html5.getQualityOptions.call(this)),o.call(this),c},inject(){if(this.config.loadSprite){const e=controls.getIconUrl.call(this);e.cors&&loadSprite(e.url,\"sprite-plyr\")}this.id=Math.floor(1e4*Math.random());let e=null;this.elements.controls=null;const t={id:this.id,seektime:this.config.seekTime,title:this.config.title};let i=!0;is.function(this.config.controls)&&(this.config.controls=this.config.controls.call(this,t)),this.config.controls||(this.config.controls=[]),is.element(this.config.controls)||is.string(this.config.controls)?e=this.config.controls:(e=controls.create.call(this,{id:this.id,seektime:this.config.seekTime,speed:this.speed,quality:this.quality,captions:captions.getLabel.call(this)}),i=!1);let s;i&&is.string(this.config.controls)&&(e=(e=>{let i=e;return Object.entries(t).forEach((([e,t])=>{i=replaceAll(i,`{${e}}`,t)})),i})(e)),is.string(this.config.selectors.controls.container)&&(s=document.querySelector(this.config.selectors.controls.container)),is.element(s)||(s=this.elements.container);if(s[is.element(e)?\"insertAdjacentElement\":\"insertAdjacentHTML\"](\"afterbegin\",e),is.element(this.elements.controls)||controls.findElements.call(this),!is.empty(this.elements.buttons)){const e=e=>{const t=this.config.classNames.controlPressed;e.setAttribute(\"aria-pressed\",\"false\"),Object.defineProperty(e,\"pressed\",{configurable:!0,enumerable:!0,get:()=>hasClass(e,t),set(i=!1){toggleClass(e,t,i),e.setAttribute(\"aria-pressed\",i?\"true\":\"false\")}})};Object.values(this.elements.buttons).filter(Boolean).forEach((t=>{is.array(t)||is.nodeList(t)?Array.from(t).filter(Boolean).forEach(e):e(t)}))}if(browser.isEdge&&repaint(s),this.config.tooltips.controls){const{classNames:e,selectors:t}=this.config,i=`${t.controls.wrapper} ${t.labels} .${e.hidden}`,s=getElements.call(this,i);Array.from(s).forEach((e=>{toggleClass(e,this.config.classNames.hidden,!1),toggleClass(e,this.config.classNames.tooltip,!0)}))}},setMediaMetadata(){try{\"mediaSession\"in navigator&&(navigator.mediaSession.metadata=new window.MediaMetadata({title:this.config.mediaMetadata.title,artist:this.config.mediaMetadata.artist,album:this.config.mediaMetadata.album,artwork:this.config.mediaMetadata.artwork}))}catch(e){}},setMarkers(){var e,t;if(!this.duration||this.elements.markers)return;const i=null===(e=this.config.markers)||void 0===e||null===(t=e.points)||void 0===t?void 0:t.filter((({time:e})=>e>0&&etoggleClass(r,a,e);i.forEach((e=>{const t=createElement(\"span\",{class:this.config.classNames.marker},\"\"),i=e.time/this.duration*100+\"%\";r&&(t.addEventListener(\"mouseenter\",(()=>{e.label||(r.style.left=i,r.innerHTML=e.label,o(!0))})),t.addEventListener(\"mouseleave\",(()=>{o(!1)}))),t.addEventListener(\"click\",(()=>{this.currentTime=e.time})),t.style.left=i,n.appendChild(t)})),s.appendChild(n),this.config.tooltips.seek||(r=createElement(\"span\",{class:this.config.classNames.tooltip},\"\"),s.appendChild(r)),this.elements.markers={points:n,tip:r},this.elements.progress.appendChild(s)}};function parseUrl(e,t=!0){let i=e;if(t){const e=document.createElement(\"a\");e.href=i,i=e.href}try{return new URL(i)}catch(e){return null}}function buildUrlParams(e){const t=new URLSearchParams;return is.object(e)&&Object.entries(e).forEach((([e,i])=>{t.set(e,i)})),t}const captions={setup(){if(!this.supported.ui)return;if(!this.isVideo||this.isYouTube||this.isHTML5&&!support.textTracks)return void(is.array(this.config.controls)&&this.config.controls.includes(\"settings\")&&this.config.settings.includes(\"captions\")&&controls.setCaptionsMenu.call(this));if(is.element(this.elements.captions)||(this.elements.captions=createElement(\"div\",getAttributesFromSelector(this.config.selectors.captions)),this.elements.captions.setAttribute(\"dir\",\"auto\"),insertAfter(this.elements.captions,this.elements.wrapper)),browser.isIE&&window.URL){const e=this.media.querySelectorAll(\"track\");Array.from(e).forEach((e=>{const t=e.getAttribute(\"src\"),i=parseUrl(t);null!==i&&i.hostname!==window.location.href.hostname&&[\"http:\",\"https:\"].includes(i.protocol)&&fetch(t,\"blob\").then((t=>{e.setAttribute(\"src\",window.URL.createObjectURL(t))})).catch((()=>{removeElement(e)}))}))}const e=dedupe((navigator.languages||[navigator.language||navigator.userLanguage||\"en\"]).map((e=>e.split(\"-\")[0])));let t=(this.storage.get(\"language\")||this.config.captions.language||\"auto\").toLowerCase();\"auto\"===t&&([t]=e);let i=this.storage.get(\"captions\");if(is.boolean(i)||({active:i}=this.config.captions),Object.assign(this.captions,{toggled:!1,active:i,language:t,languages:e}),this.isHTML5){const e=this.config.captions.update?\"addtrack removetrack\":\"removetrack\";on.call(this,this.media.textTracks,e,captions.update.bind(this))}setTimeout(captions.update.bind(this),0)},update(){const e=captions.getTracks.call(this,!0),{active:t,language:i,meta:s,currentTrackNode:n}=this.captions,r=Boolean(e.find((e=>e.language===i)));this.isHTML5&&this.isVideo&&e.filter((e=>!s.get(e))).forEach((e=>{this.debug.log(\"Track added\",e),s.set(e,{default:\"showing\"===e.mode}),\"showing\"===e.mode&&(e.mode=\"hidden\"),on.call(this,e,\"cuechange\",(()=>captions.updateCues.call(this)))})),(r&&this.language!==i||!e.includes(n))&&(captions.setLanguage.call(this,i),captions.toggle.call(this,t&&r)),this.elements&&toggleClass(this.elements.container,this.config.classNames.captions.enabled,!is.empty(e)),is.array(this.config.controls)&&this.config.controls.includes(\"settings\")&&this.config.settings.includes(\"captions\")&&controls.setCaptionsMenu.call(this)},toggle(e,t=!0){if(!this.supported.ui)return;const{toggled:i}=this.captions,s=this.config.classNames.captions.active,n=is.nullOrUndefined(e)?!i:e;if(n!==i){if(t||(this.captions.active=n,this.storage.set({captions:n})),!this.language&&n&&!t){const e=captions.getTracks.call(this),t=captions.findTrack.call(this,[this.captions.language,...this.captions.languages],!0);return this.captions.language=t.language,void captions.set.call(this,e.indexOf(t))}this.elements.buttons.captions&&(this.elements.buttons.captions.pressed=n),toggleClass(this.elements.container,s,n),this.captions.toggled=n,controls.updateSetting.call(this,\"captions\"),triggerEvent.call(this,this.media,n?\"captionsenabled\":\"captionsdisabled\")}setTimeout((()=>{n&&this.captions.toggled&&(this.captions.currentTrackNode.mode=\"hidden\")}))},set(e,t=!0){const i=captions.getTracks.call(this);if(-1!==e)if(is.number(e))if(e in i){if(this.captions.currentTrack!==e){this.captions.currentTrack=e;const s=i[e],{language:n}=s||{};this.captions.currentTrackNode=s,controls.updateSetting.call(this,\"captions\"),t||(this.captions.language=n,this.storage.set({language:n})),this.isVimeo&&this.embed.enableTextTrack(n),triggerEvent.call(this,this.media,\"languagechange\")}captions.toggle.call(this,!0,t),this.isHTML5&&this.isVideo&&captions.updateCues.call(this)}else this.debug.warn(\"Track not found\",e);else this.debug.warn(\"Invalid caption argument\",e);else captions.toggle.call(this,!1,t)},setLanguage(e,t=!0){if(!is.string(e))return void this.debug.warn(\"Invalid language argument\",e);const i=e.toLowerCase();this.captions.language=i;const s=captions.getTracks.call(this),n=captions.findTrack.call(this,[i]);captions.set.call(this,s.indexOf(n),t)},getTracks(e=!1){return Array.from((this.media||{}).textTracks||[]).filter((t=>!this.isHTML5||e||this.captions.meta.has(t))).filter((e=>[\"captions\",\"subtitles\"].includes(e.kind)))},findTrack(e,t=!1){const i=captions.getTracks.call(this),s=e=>Number((this.captions.meta.get(e)||{}).default),n=Array.from(i).sort(((e,t)=>s(t)-s(e)));let r;return e.every((e=>(r=n.find((t=>t.language===e)),!r))),r||(t?n[0]:void 0)},getCurrentTrack(){return captions.getTracks.call(this)[this.currentTrack]},getLabel(e){let t=e;return!is.track(t)&&support.textTracks&&this.captions.toggled&&(t=captions.getCurrentTrack.call(this)),is.track(t)?is.empty(t.label)?is.empty(t.language)?i18n.get(\"enabled\",this.config):e.language.toUpperCase():t.label:i18n.get(\"disabled\",this.config)},updateCues(e){if(!this.supported.ui)return;if(!is.element(this.elements.captions))return void this.debug.warn(\"No captions element to render to\");if(!is.nullOrUndefined(e)&&!Array.isArray(e))return void this.debug.warn(\"updateCues: Invalid input\",e);let t=e;if(!t){const e=captions.getCurrentTrack.call(this);t=Array.from((e||{}).activeCues||[]).map((e=>e.getCueAsHTML())).map(getHTML)}const i=t.map((e=>e.trim())).join(\"\\n\");if(i!==this.elements.captions.innerHTML){emptyElement(this.elements.captions);const e=createElement(\"span\",getAttributesFromSelector(this.config.selectors.caption));e.innerHTML=i,this.elements.captions.appendChild(e),triggerEvent.call(this,this.media,\"cuechange\")}}},defaults={enabled:!0,title:\"\",debug:!1,autoplay:!1,autopause:!0,playsinline:!0,seekTime:10,volume:1,muted:!1,duration:null,displayDuration:!0,invertTime:!0,toggleInvert:!0,ratio:null,clickToPlay:!0,hideControls:!0,resetOnEnd:!1,disableContextMenu:!0,loadSprite:!0,iconPrefix:\"plyr\",iconUrl:\"https://cdn.plyr.io/3.7.8/plyr.svg\",blankVideo:\"https://cdn.plyr.io/static/blank.mp4\",quality:{default:576,options:[4320,2880,2160,1440,1080,720,576,480,360,240],forced:!1,onChange:null},loop:{active:!1},speed:{selected:1,options:[.5,.75,1,1.25,1.5,1.75,2,4]},keyboard:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},captions:{active:!1,language:\"auto\",update:!1},fullscreen:{enabled:!0,fallback:!0,iosNative:!1},storage:{enabled:!0,key:\"plyr\"},controls:[\"play-large\",\"play\",\"progress\",\"current-time\",\"mute\",\"volume\",\"captions\",\"settings\",\"pip\",\"airplay\",\"fullscreen\"],settings:[\"captions\",\"quality\",\"speed\"],i18n:{restart:\"Restart\",rewind:\"Rewind {seektime}s\",play:\"Play\",pause:\"Pause\",fastForward:\"Forward {seektime}s\",seek:\"Seek\",seekLabel:\"{currentTime} of {duration}\",played:\"Played\",buffered:\"Buffered\",currentTime:\"Current time\",duration:\"Duration\",volume:\"Volume\",mute:\"Mute\",unmute:\"Unmute\",enableCaptions:\"Enable captions\",disableCaptions:\"Disable captions\",download:\"Download\",enterFullscreen:\"Enter fullscreen\",exitFullscreen:\"Exit fullscreen\",frameTitle:\"Player for {title}\",captions:\"Captions\",settings:\"Settings\",pip:\"PIP\",menuBack:\"Go back to previous menu\",speed:\"Speed\",normal:\"Normal\",quality:\"Quality\",loop:\"Loop\",start:\"Start\",end:\"End\",all:\"All\",reset:\"Reset\",disabled:\"Disabled\",enabled:\"Enabled\",advertisement:\"Ad\",qualityBadge:{2160:\"4K\",1440:\"HD\",1080:\"HD\",720:\"HD\",576:\"SD\",480:\"SD\"}},urls:{download:null,vimeo:{sdk:\"https://player.vimeo.com/api/player.js\",iframe:\"https://player.vimeo.com/video/{0}?{1}\",api:\"https://vimeo.com/api/oembed.json?url={0}\"},youtube:{sdk:\"https://www.youtube.com/iframe_api\",api:\"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}\"},googleIMA:{sdk:\"https://imasdk.googleapis.com/js/sdkloader/ima3.js\"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,fastForward:null,mute:null,volume:null,captions:null,download:null,fullscreen:null,pip:null,airplay:null,speed:null,quality:null,loop:null,language:null},events:[\"ended\",\"progress\",\"stalled\",\"playing\",\"waiting\",\"canplay\",\"canplaythrough\",\"loadstart\",\"loadeddata\",\"loadedmetadata\",\"timeupdate\",\"volumechange\",\"play\",\"pause\",\"error\",\"seeking\",\"seeked\",\"emptied\",\"ratechange\",\"cuechange\",\"download\",\"enterfullscreen\",\"exitfullscreen\",\"captionsenabled\",\"captionsdisabled\",\"languagechange\",\"controlshidden\",\"controlsshown\",\"ready\",\"statechange\",\"qualitychange\",\"adsloaded\",\"adscontentpause\",\"adscontentresume\",\"adstarted\",\"adsmidpoint\",\"adscomplete\",\"adsallcomplete\",\"adsimpression\",\"adsclick\"],selectors:{editable:\"input, textarea, select, [contenteditable]\",container:\".plyr\",controls:{container:null,wrapper:\".plyr__controls\"},labels:\"[data-plyr]\",buttons:{play:'[data-plyr=\"play\"]',pause:'[data-plyr=\"pause\"]',restart:'[data-plyr=\"restart\"]',rewind:'[data-plyr=\"rewind\"]',fastForward:'[data-plyr=\"fast-forward\"]',mute:'[data-plyr=\"mute\"]',captions:'[data-plyr=\"captions\"]',download:'[data-plyr=\"download\"]',fullscreen:'[data-plyr=\"fullscreen\"]',pip:'[data-plyr=\"pip\"]',airplay:'[data-plyr=\"airplay\"]',settings:'[data-plyr=\"settings\"]',loop:'[data-plyr=\"loop\"]'},inputs:{seek:'[data-plyr=\"seek\"]',volume:'[data-plyr=\"volume\"]',speed:'[data-plyr=\"speed\"]',language:'[data-plyr=\"language\"]',quality:'[data-plyr=\"quality\"]'},display:{currentTime:\".plyr__time--current\",duration:\".plyr__time--duration\",buffer:\".plyr__progress__buffer\",loop:\".plyr__progress__loop\",volume:\".plyr__volume--display\"},progress:\".plyr__progress\",captions:\".plyr__captions\",caption:\".plyr__caption\"},classNames:{type:\"plyr--{0}\",provider:\"plyr--{0}\",video:\"plyr__video-wrapper\",embed:\"plyr__video-embed\",videoFixedRatio:\"plyr__video-wrapper--fixed-ratio\",embedContainer:\"plyr__video-embed__container\",poster:\"plyr__poster\",posterEnabled:\"plyr__poster-enabled\",ads:\"plyr__ads\",control:\"plyr__control\",controlPressed:\"plyr__control--pressed\",playing:\"plyr--playing\",paused:\"plyr--paused\",stopped:\"plyr--stopped\",loading:\"plyr--loading\",hover:\"plyr--hover\",tooltip:\"plyr__tooltip\",cues:\"plyr__cues\",marker:\"plyr__progress__marker\",hidden:\"plyr__sr-only\",hideControls:\"plyr--hide-controls\",isTouch:\"plyr--is-touch\",uiSupported:\"plyr--full-ui\",noTransition:\"plyr--no-transition\",display:{time:\"plyr__time\"},menu:{value:\"plyr__menu__value\",badge:\"plyr__badge\",open:\"plyr--menu-open\"},captions:{enabled:\"plyr--captions-enabled\",active:\"plyr--captions-active\"},fullscreen:{enabled:\"plyr--fullscreen-enabled\",fallback:\"plyr--fullscreen-fallback\"},pip:{supported:\"plyr--pip-supported\",active:\"plyr--pip-active\"},airplay:{supported:\"plyr--airplay-supported\",active:\"plyr--airplay-active\"},previewThumbnails:{thumbContainer:\"plyr__preview-thumb\",thumbContainerShown:\"plyr__preview-thumb--is-shown\",imageContainer:\"plyr__preview-thumb__image-container\",timeContainer:\"plyr__preview-thumb__time-container\",scrubbingContainer:\"plyr__preview-scrubbing\",scrubbingContainerShown:\"plyr__preview-scrubbing--is-shown\"}},attributes:{embed:{provider:\"data-plyr-provider\",id:\"data-plyr-embed-id\",hash:\"data-plyr-embed-hash\"}},ads:{enabled:!1,publisherId:\"\",tagUrl:\"\"},previewThumbnails:{enabled:!1,src:\"\"},vimeo:{byline:!1,portrait:!1,title:!1,speed:!0,transparent:!1,customControls:!0,referrerPolicy:null,premium:!1},youtube:{rel:0,showinfo:0,iv_load_policy:3,modestbranding:1,customControls:!0,noCookie:!1},mediaMetadata:{title:\"\",artist:\"\",album:\"\",artwork:[]},markers:{enabled:!1,points:[]}},pip={active:\"picture-in-picture\",inactive:\"inline\"},providers={html5:\"html5\",youtube:\"youtube\",vimeo:\"vimeo\"},types={audio:\"audio\",video:\"video\"};function getProviderByUrl(e){return/^(https?:\\/\\/)?(www\\.)?(youtube\\.com|youtube-nocookie\\.com|youtu\\.?be)\\/.+$/.test(e)?providers.youtube:/^https?:\\/\\/player.vimeo.com\\/video\\/\\d{0,9}(?=\\b|\\/)/.test(e)?providers.vimeo:null}const noop=()=>{};class Console{constructor(e=!1){this.enabled=window.console&&e,this.enabled&&this.log(\"Debugging enabled\")}get log(){return this.enabled?Function.prototype.bind.call(console.log,console):noop}get warn(){return this.enabled?Function.prototype.bind.call(console.warn,console):noop}get error(){return this.enabled?Function.prototype.bind.call(console.error,console):noop}}class Fullscreen{constructor(e){_defineProperty$1(this,\"onChange\",(()=>{if(!this.supported)return;const e=this.player.elements.buttons.fullscreen;is.element(e)&&(e.pressed=this.active);const t=this.target===this.player.media?this.target:this.player.elements.container;triggerEvent.call(this.player,t,this.active?\"enterfullscreen\":\"exitfullscreen\",!0)})),_defineProperty$1(this,\"toggleFallback\",((e=!1)=>{if(e?this.scrollPosition={x:window.scrollX??0,y:window.scrollY??0}:window.scrollTo(this.scrollPosition.x,this.scrollPosition.y),document.body.style.overflow=e?\"hidden\":\"\",toggleClass(this.target,this.player.config.classNames.fullscreen.fallback,e),browser.isIos){let t=document.head.querySelector('meta[name=\"viewport\"]');const i=\"viewport-fit=cover\";t||(t=document.createElement(\"meta\"),t.setAttribute(\"name\",\"viewport\"));const s=is.string(t.content)&&t.content.includes(i);e?(this.cleanupViewport=!s,s||(t.content+=`,${i}`)):this.cleanupViewport&&(t.content=t.content.split(\",\").filter((e=>e.trim()!==i)).join(\",\"))}this.onChange()})),_defineProperty$1(this,\"trapFocus\",(e=>{if(browser.isIos||browser.isIPadOS||!this.active||\"Tab\"!==e.key)return;const t=document.activeElement,i=getElements.call(this.player,\"a[href], button:not(:disabled), input:not(:disabled), [tabindex]\"),[s]=i,n=i[i.length-1];t!==n||e.shiftKey?t===s&&e.shiftKey&&(n.focus(),e.preventDefault()):(s.focus(),e.preventDefault())})),_defineProperty$1(this,\"update\",(()=>{if(this.supported){let e;e=this.forceFallback?\"Fallback (forced)\":Fullscreen.nativeSupported?\"Native\":\"Fallback\",this.player.debug.log(`${e} fullscreen enabled`)}else this.player.debug.log(\"Fullscreen not supported and fallback disabled\");toggleClass(this.player.elements.container,this.player.config.classNames.fullscreen.enabled,this.supported)})),_defineProperty$1(this,\"enter\",(()=>{this.supported&&(browser.isIos&&this.player.config.fullscreen.iosNative?this.player.isVimeo?this.player.embed.requestFullscreen():this.target.webkitEnterFullscreen():!Fullscreen.nativeSupported||this.forceFallback?this.toggleFallback(!0):this.prefix?is.empty(this.prefix)||this.target[`${this.prefix}Request${this.property}`]():this.target.requestFullscreen({navigationUI:\"hide\"}))})),_defineProperty$1(this,\"exit\",(()=>{if(this.supported)if(browser.isIos&&this.player.config.fullscreen.iosNative)this.player.isVimeo?this.player.embed.exitFullscreen():this.target.webkitEnterFullscreen(),silencePromise(this.player.play());else if(!Fullscreen.nativeSupported||this.forceFallback)this.toggleFallback(!1);else if(this.prefix){if(!is.empty(this.prefix)){const e=\"moz\"===this.prefix?\"Cancel\":\"Exit\";document[`${this.prefix}${e}${this.property}`]()}}else(document.cancelFullScreen||document.exitFullscreen).call(document)})),_defineProperty$1(this,\"toggle\",(()=>{this.active?this.exit():this.enter()})),this.player=e,this.prefix=Fullscreen.prefix,this.property=Fullscreen.property,this.scrollPosition={x:0,y:0},this.forceFallback=\"force\"===e.config.fullscreen.fallback,this.player.elements.fullscreen=e.config.fullscreen.container&&closest$1(this.player.elements.container,e.config.fullscreen.container),on.call(this.player,document,\"ms\"===this.prefix?\"MSFullscreenChange\":`${this.prefix}fullscreenchange`,(()=>{this.onChange()})),on.call(this.player,this.player.elements.container,\"dblclick\",(e=>{is.element(this.player.elements.controls)&&this.player.elements.controls.contains(e.target)||this.player.listeners.proxy(e,this.toggle,\"fullscreen\")})),on.call(this,this.player.elements.container,\"keydown\",(e=>this.trapFocus(e))),this.update()}static get nativeSupported(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}get useNative(){return Fullscreen.nativeSupported&&!this.forceFallback}static get prefix(){if(is.function(document.exitFullscreen))return\"\";let e=\"\";return[\"webkit\",\"moz\",\"ms\"].some((t=>!(!is.function(document[`${t}ExitFullscreen`])&&!is.function(document[`${t}CancelFullScreen`]))&&(e=t,!0))),e}static get property(){return\"moz\"===this.prefix?\"FullScreen\":\"Fullscreen\"}get supported(){return[this.player.config.fullscreen.enabled,this.player.isVideo,Fullscreen.nativeSupported||this.player.config.fullscreen.fallback,!this.player.isYouTube||Fullscreen.nativeSupported||!browser.isIos||this.player.config.playsinline&&!this.player.config.fullscreen.iosNative].every(Boolean)}get active(){if(!this.supported)return!1;if(!Fullscreen.nativeSupported||this.forceFallback)return hasClass(this.target,this.player.config.classNames.fullscreen.fallback);const e=this.prefix?this.target.getRootNode()[`${this.prefix}${this.property}Element`]:this.target.getRootNode().fullscreenElement;return e&&e.shadowRoot?e===this.target.getRootNode().host:e===this.target}get target(){return browser.isIos&&this.player.config.fullscreen.iosNative?this.player.media:this.player.elements.fullscreen??this.player.elements.container}}function loadImage(e,t=1){return new Promise(((i,s)=>{const n=new Image,r=()=>{delete n.onload,delete n.onerror,(n.naturalWidth>=t?i:s)(n)};Object.assign(n,{onload:r,onerror:r,src:e})}))}const ui={addStyleHook(){toggleClass(this.elements.container,this.config.selectors.container.replace(\".\",\"\"),!0),toggleClass(this.elements.container,this.config.classNames.uiSupported,this.supported.ui)},toggleNativeControls(e=!1){e&&this.isHTML5?this.media.setAttribute(\"controls\",\"\"):this.media.removeAttribute(\"controls\")},build(){if(this.listeners.media(),!this.supported.ui)return this.debug.warn(`Basic support only for ${this.provider} ${this.type}`),void ui.toggleNativeControls.call(this,!0);is.element(this.elements.controls)||(controls.inject.call(this),this.listeners.controls()),ui.toggleNativeControls.call(this),this.isHTML5&&captions.setup.call(this),this.volume=null,this.muted=null,this.loop=null,this.quality=null,this.speed=null,controls.updateVolume.call(this),controls.timeUpdate.call(this),controls.durationUpdate.call(this),ui.checkPlaying.call(this),toggleClass(this.elements.container,this.config.classNames.pip.supported,support.pip&&this.isHTML5&&this.isVideo),toggleClass(this.elements.container,this.config.classNames.airplay.supported,support.airplay&&this.isHTML5),toggleClass(this.elements.container,this.config.classNames.isTouch,this.touch),this.ready=!0,setTimeout((()=>{triggerEvent.call(this,this.media,\"ready\")}),0),ui.setTitle.call(this),this.poster&&ui.setPoster.call(this,this.poster,!1).catch((()=>{})),this.config.duration&&controls.durationUpdate.call(this),this.config.mediaMetadata&&controls.setMediaMetadata.call(this)},setTitle(){let e=i18n.get(\"play\",this.config);if(is.string(this.config.title)&&!is.empty(this.config.title)&&(e+=`, ${this.config.title}`),Array.from(this.elements.buttons.play||[]).forEach((t=>{t.setAttribute(\"aria-label\",e)})),this.isEmbed){const e=getElement.call(this,\"iframe\");if(!is.element(e))return;const t=is.empty(this.config.title)?\"video\":this.config.title,i=i18n.get(\"frameTitle\",this.config);e.setAttribute(\"title\",i.replace(\"{title}\",t))}},togglePoster(e){toggleClass(this.elements.container,this.config.classNames.posterEnabled,e)},setPoster(e,t=!0){return t&&this.poster?Promise.reject(new Error(\"Poster already set\")):(this.media.setAttribute(\"data-poster\",e),this.elements.poster.removeAttribute(\"hidden\"),ready.call(this).then((()=>loadImage(e))).catch((t=>{throw e===this.poster&&ui.togglePoster.call(this,!1),t})).then((()=>{if(e!==this.poster)throw new Error(\"setPoster cancelled by later call to setPoster\")})).then((()=>(Object.assign(this.elements.poster.style,{backgroundImage:`url('${e}')`,backgroundSize:\"\"}),ui.togglePoster.call(this,!0),e))))},checkPlaying(e){toggleClass(this.elements.container,this.config.classNames.playing,this.playing),toggleClass(this.elements.container,this.config.classNames.paused,this.paused),toggleClass(this.elements.container,this.config.classNames.stopped,this.stopped),Array.from(this.elements.buttons.play||[]).forEach((e=>{Object.assign(e,{pressed:this.playing}),e.setAttribute(\"aria-label\",i18n.get(this.playing?\"pause\":\"play\",this.config))})),is.event(e)&&\"timeupdate\"===e.type||ui.toggleControls.call(this)},checkLoading(e){this.loading=[\"stalled\",\"waiting\"].includes(e.type),clearTimeout(this.timers.loading),this.timers.loading=setTimeout((()=>{toggleClass(this.elements.container,this.config.classNames.loading,this.loading),ui.toggleControls.call(this)}),this.loading?250:0)},toggleControls(e){const{controls:t}=this.elements;if(t&&this.config.hideControls){const i=this.touch&&this.lastSeekTime+2e3>Date.now();this.toggleControls(Boolean(e||this.loading||this.paused||t.pressed||t.hover||i))}},migrateStyles(){Object.values({...this.media.style}).filter((e=>!is.empty(e)&&is.string(e)&&e.startsWith(\"--plyr\"))).forEach((e=>{this.elements.container.style.setProperty(e,this.media.style.getPropertyValue(e)),this.media.style.removeProperty(e)})),is.empty(this.media.style)&&this.media.removeAttribute(\"style\")}};class Listeners{constructor(e){_defineProperty$1(this,\"firstTouch\",(()=>{const{player:e}=this,{elements:t}=e;e.touch=!0,toggleClass(t.container,e.config.classNames.isTouch,!0)})),_defineProperty$1(this,\"global\",((e=!0)=>{const{player:t}=this;t.config.keyboard.global&&toggleListener.call(t,window,\"keydown keyup\",this.handleKey,e,!1),toggleListener.call(t,document.body,\"click\",this.toggleMenu,e),once.call(t,document.body,\"touchstart\",this.firstTouch)})),_defineProperty$1(this,\"container\",(()=>{const{player:e}=this,{config:t,elements:i,timers:s}=e;!t.keyboard.global&&t.keyboard.focused&&on.call(e,i.container,\"keydown keyup\",this.handleKey,!1),on.call(e,i.container,\"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen\",(t=>{const{controls:n}=i;n&&\"enterfullscreen\"===t.type&&(n.pressed=!1,n.hover=!1);let r=0;[\"touchstart\",\"touchmove\",\"mousemove\"].includes(t.type)&&(ui.toggleControls.call(e,!0),r=e.touch?3e3:2e3),clearTimeout(s.controls),s.controls=setTimeout((()=>ui.toggleControls.call(e,!1)),r)}));const n=()=>{if(!e.isVimeo||e.config.vimeo.premium)return;const t=i.wrapper,{active:s}=e.fullscreen,[n,r]=getAspectRatio.call(e),a=supportsCSS(`aspect-ratio: ${n} / ${r}`);if(!s)return void(a?(t.style.width=null,t.style.height=null):(t.style.maxWidth=null,t.style.margin=null));const[o,l]=getViewportSize(),c=o/l>n/r;a?(t.style.width=c?\"auto\":\"100%\",t.style.height=c?\"100%\":\"auto\"):(t.style.maxWidth=c?l/r*n+\"px\":null,t.style.margin=c?\"0 auto\":null)},r=()=>{clearTimeout(s.resized),s.resized=setTimeout(n,50)};on.call(e,i.container,\"enterfullscreen exitfullscreen\",(t=>{const{target:s}=e.fullscreen;if(s!==i.container)return;if(!e.isEmbed&&is.empty(e.config.ratio))return;n();(\"enterfullscreen\"===t.type?on:off).call(e,window,\"resize\",r)}))})),_defineProperty$1(this,\"media\",(()=>{const{player:e}=this,{elements:t}=e;if(on.call(e,e.media,\"timeupdate seeking seeked\",(t=>controls.timeUpdate.call(e,t))),on.call(e,e.media,\"durationchange loadeddata loadedmetadata\",(t=>controls.durationUpdate.call(e,t))),on.call(e,e.media,\"ended\",(()=>{e.isHTML5&&e.isVideo&&e.config.resetOnEnd&&(e.restart(),e.pause())})),on.call(e,e.media,\"progress playing seeking seeked\",(t=>controls.updateProgress.call(e,t))),on.call(e,e.media,\"volumechange\",(t=>controls.updateVolume.call(e,t))),on.call(e,e.media,\"playing play pause ended emptied timeupdate\",(t=>ui.checkPlaying.call(e,t))),on.call(e,e.media,\"waiting canplay seeked playing\",(t=>ui.checkLoading.call(e,t))),e.supported.ui&&e.config.clickToPlay&&!e.isAudio){const i=getElement.call(e,`.${e.config.classNames.video}`);if(!is.element(i))return;on.call(e,t.container,\"click\",(s=>{([t.container,i].includes(s.target)||i.contains(s.target))&&(e.touch&&e.config.hideControls||(e.ended?(this.proxy(s,e.restart,\"restart\"),this.proxy(s,(()=>{silencePromise(e.play())}),\"play\")):this.proxy(s,(()=>{silencePromise(e.togglePlay())}),\"play\")))}))}e.supported.ui&&e.config.disableContextMenu&&on.call(e,t.wrapper,\"contextmenu\",(e=>{e.preventDefault()}),!1),on.call(e,e.media,\"volumechange\",(()=>{e.storage.set({volume:e.volume,muted:e.muted})})),on.call(e,e.media,\"ratechange\",(()=>{controls.updateSetting.call(e,\"speed\"),e.storage.set({speed:e.speed})})),on.call(e,e.media,\"qualitychange\",(t=>{controls.updateSetting.call(e,\"quality\",null,t.detail.quality)})),on.call(e,e.media,\"ready qualitychange\",(()=>{controls.setDownloadUrl.call(e)}));const i=e.config.events.concat([\"keyup\",\"keydown\"]).join(\" \");on.call(e,e.media,i,(i=>{let{detail:s={}}=i;\"error\"===i.type&&(s=e.media.error),triggerEvent.call(e,t.container,i.type,!0,s)}))})),_defineProperty$1(this,\"proxy\",((e,t,i)=>{const{player:s}=this,n=s.config.listeners[i];let r=!0;is.function(n)&&(r=n.call(s,e)),!1!==r&&is.function(t)&&t.call(s,e)})),_defineProperty$1(this,\"bind\",((e,t,i,s,n=!0)=>{const{player:r}=this,a=r.config.listeners[s],o=is.function(a);on.call(r,e,t,(e=>this.proxy(e,i,s)),n&&!o)})),_defineProperty$1(this,\"controls\",(()=>{const{player:e}=this,{elements:t}=e,i=browser.isIE?\"change\":\"input\";if(t.buttons.play&&Array.from(t.buttons.play).forEach((t=>{this.bind(t,\"click\",(()=>{silencePromise(e.togglePlay())}),\"play\")})),this.bind(t.buttons.restart,\"click\",e.restart,\"restart\"),this.bind(t.buttons.rewind,\"click\",(()=>{e.lastSeekTime=Date.now(),e.rewind()}),\"rewind\"),this.bind(t.buttons.fastForward,\"click\",(()=>{e.lastSeekTime=Date.now(),e.forward()}),\"fastForward\"),this.bind(t.buttons.mute,\"click\",(()=>{e.muted=!e.muted}),\"mute\"),this.bind(t.buttons.captions,\"click\",(()=>e.toggleCaptions())),this.bind(t.buttons.download,\"click\",(()=>{triggerEvent.call(e,e.media,\"download\")}),\"download\"),this.bind(t.buttons.fullscreen,\"click\",(()=>{e.fullscreen.toggle()}),\"fullscreen\"),this.bind(t.buttons.pip,\"click\",(()=>{e.pip=\"toggle\"}),\"pip\"),this.bind(t.buttons.airplay,\"click\",e.airplay,\"airplay\"),this.bind(t.buttons.settings,\"click\",(t=>{t.stopPropagation(),t.preventDefault(),controls.toggleMenu.call(e,t)}),null,!1),this.bind(t.buttons.settings,\"keyup\",(t=>{[\" \",\"Enter\"].includes(t.key)&&(\"Enter\"!==t.key?(t.preventDefault(),t.stopPropagation(),controls.toggleMenu.call(e,t)):controls.focusFirstMenuItem.call(e,null,!0))}),null,!1),this.bind(t.settings.menu,\"keydown\",(t=>{\"Escape\"===t.key&&controls.toggleMenu.call(e,t)})),this.bind(t.inputs.seek,\"mousedown mousemove\",(e=>{const i=t.progress.getBoundingClientRect(),s=100/i.width*(e.pageX-i.left);e.currentTarget.setAttribute(\"seek-value\",s)})),this.bind(t.inputs.seek,\"mousedown mouseup keydown keyup touchstart touchend\",(t=>{const i=t.currentTarget,s=\"play-on-seeked\";if(is.keyboardEvent(t)&&![\"ArrowLeft\",\"ArrowRight\"].includes(t.key))return;e.lastSeekTime=Date.now();const n=i.hasAttribute(s),r=[\"mouseup\",\"touchend\",\"keyup\"].includes(t.type);n&&r?(i.removeAttribute(s),silencePromise(e.play())):!r&&e.playing&&(i.setAttribute(s,\"\"),e.pause())})),browser.isIos){const t=getElements.call(e,'input[type=\"range\"]');Array.from(t).forEach((e=>this.bind(e,i,(e=>repaint(e.target)))))}this.bind(t.inputs.seek,i,(t=>{const i=t.currentTarget;let s=i.getAttribute(\"seek-value\");is.empty(s)&&(s=i.value),i.removeAttribute(\"seek-value\"),e.currentTime=s/i.max*e.duration}),\"seek\"),this.bind(t.progress,\"mouseenter mouseleave mousemove\",(t=>controls.updateSeekTooltip.call(e,t))),this.bind(t.progress,\"mousemove touchmove\",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startMove(t)})),this.bind(t.progress,\"mouseleave touchend click\",(()=>{const{previewThumbnails:t}=e;t&&t.loaded&&t.endMove(!1,!0)})),this.bind(t.progress,\"mousedown touchstart\",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.startScrubbing(t)})),this.bind(t.progress,\"mouseup touchend\",(t=>{const{previewThumbnails:i}=e;i&&i.loaded&&i.endScrubbing(t)})),browser.isWebKit&&Array.from(getElements.call(e,'input[type=\"range\"]')).forEach((t=>{this.bind(t,\"input\",(t=>controls.updateRangeFill.call(e,t.target)))})),e.config.toggleInvert&&!is.element(t.display.duration)&&this.bind(t.display.currentTime,\"click\",(()=>{0!==e.currentTime&&(e.config.invertTime=!e.config.invertTime,controls.timeUpdate.call(e))})),this.bind(t.inputs.volume,i,(t=>{e.volume=t.target.value}),\"volume\"),this.bind(t.controls,\"mouseenter mouseleave\",(i=>{t.controls.hover=!e.touch&&\"mouseenter\"===i.type})),t.fullscreen&&Array.from(t.fullscreen.children).filter((e=>!e.contains(t.container))).forEach((i=>{this.bind(i,\"mouseenter mouseleave\",(i=>{t.controls&&(t.controls.hover=!e.touch&&\"mouseenter\"===i.type)}))})),this.bind(t.controls,\"mousedown mouseup touchstart touchend touchcancel\",(e=>{t.controls.pressed=[\"mousedown\",\"touchstart\"].includes(e.type)})),this.bind(t.controls,\"focusin\",(()=>{const{config:i,timers:s}=e;toggleClass(t.controls,i.classNames.noTransition,!0),ui.toggleControls.call(e,!0),setTimeout((()=>{toggleClass(t.controls,i.classNames.noTransition,!1)}),0);const n=this.touch?3e3:4e3;clearTimeout(s.controls),s.controls=setTimeout((()=>ui.toggleControls.call(e,!1)),n)})),this.bind(t.inputs.volume,\"wheel\",(t=>{const i=t.webkitDirectionInvertedFromDevice,[s,n]=[t.deltaX,-t.deltaY].map((e=>i?-e:e)),r=Math.sign(Math.abs(s)>Math.abs(n)?s:n);e.increaseVolume(r/50);const{volume:a}=e.media;(1===r&&a<1||-1===r&&a>0)&&t.preventDefault()}),\"volume\",!1)})),this.player=e,this.lastKey=null,this.focusTimer=null,this.lastKeyDown=null,this.handleKey=this.handleKey.bind(this),this.toggleMenu=this.toggleMenu.bind(this),this.firstTouch=this.firstTouch.bind(this)}handleKey(e){const{player:t}=this,{elements:i}=t,{key:s,type:n,altKey:r,ctrlKey:a,metaKey:o,shiftKey:l}=e,c=\"keydown\"===n,u=c&&s===this.lastKey;if(r||a||o||l)return;if(!s)return;if(c){const n=document.activeElement;if(is.element(n)){const{editable:s}=t.config.selectors,{seek:r}=i.inputs;if(n!==r&&matches(n,s))return;if(\" \"===e.key&&matches(n,'button, [role^=\"menuitem\"]'))return}switch([\" \",\"ArrowLeft\",\"ArrowUp\",\"ArrowRight\",\"ArrowDown\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"c\",\"f\",\"k\",\"l\",\"m\"].includes(s)&&(e.preventDefault(),e.stopPropagation()),s){case\"0\":case\"1\":case\"2\":case\"3\":case\"4\":case\"5\":case\"6\":case\"7\":case\"8\":case\"9\":u||(d=parseInt(s,10),t.currentTime=t.duration/10*d);break;case\" \":case\"k\":u||silencePromise(t.togglePlay());break;case\"ArrowUp\":t.increaseVolume(.1);break;case\"ArrowDown\":t.decreaseVolume(.1);break;case\"m\":u||(t.muted=!t.muted);break;case\"ArrowRight\":t.forward();break;case\"ArrowLeft\":t.rewind();break;case\"f\":t.fullscreen.toggle();break;case\"c\":u||t.toggleCaptions();break;case\"l\":t.loop=!t.loop}\"Escape\"===s&&!t.fullscreen.usingNative&&t.fullscreen.active&&t.fullscreen.toggle(),this.lastKey=s}else this.lastKey=null;var d}toggleMenu(e){controls.toggleMenu.call(this.player,e)}}var commonjsGlobal=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function createCommonjsModule(e,t){return e(t={exports:{}},t.exports),t.exports}var loadjs_umd=createCommonjsModule((function(e,t){e.exports=function(){var e=function(){},t={},i={},s={};function n(e,t){e=e.push?e:[e];var n,r,a,o=[],l=e.length,c=l;for(n=function(e,i){i.length&&o.push(e),--c||t(o)};l--;)r=e[l],(a=i[r])?n(r,a):(s[r]=s[r]||[]).push(n)}function r(e,t){if(e){var n=s[e];if(i[e]=t,n)for(;n.length;)n[0](e,t),n.splice(0,1)}}function a(t,i){t.call&&(t={success:t}),i.length?(t.error||e)(i):(t.success||e)(t)}function o(t,i,s,n){var r,a,l=document,c=s.async,u=(s.numRetries||0)+1,d=s.before||e,h=t.replace(/[\\?|#].*$/,\"\"),m=t.replace(/^(css|img)!/,\"\");n=n||0,/(^css!|\\.css$)/.test(h)?((a=l.createElement(\"link\")).rel=\"stylesheet\",a.href=m,(r=\"hideFocus\"in a)&&a.relList&&(r=0,a.rel=\"preload\",a.as=\"style\")):/(^img!|\\.(png|gif|jpg|svg|webp)$)/.test(h)?(a=l.createElement(\"img\")).src=m:((a=l.createElement(\"script\")).src=t,a.async=void 0===c||c),a.onload=a.onerror=a.onbeforeload=function(e){var l=e.type[0];if(r)try{a.sheet.cssText.length||(l=\"e\")}catch(e){18!=e.code&&(l=\"e\")}if(\"e\"==l){if((n+=1){loadjs_umd(e,{success:t,error:i})}))}function parseId$1(e){if(is.empty(e))return null;if(is.number(Number(e)))return e;return e.match(/^.*(vimeo.com\\/|video\\/)(\\d+).*/)?RegExp.$2:e}function parseHash(e){const t=e.match(/^.*(vimeo.com\\/|video\\/)(\\d+)(\\?.*&*h=|\\/)+([\\d,a-f]+)/);return t&&5===t.length?t[4]:null}function assurePlaybackState$1(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,triggerEvent.call(this,this.media,e?\"play\":\"pause\"))}const vimeo={setup(){const e=this;toggleClass(e.elements.wrapper,e.config.classNames.embed,!0),e.options.speed=e.config.speed.options,setAspectRatio.call(e),is.object(window.Vimeo)?vimeo.ready.call(e):loadScript(e.config.urls.vimeo.sdk).then((()=>{vimeo.ready.call(e)})).catch((t=>{e.debug.warn(\"Vimeo SDK (player.js) failed to load\",t)}))},ready(){const e=this,t=e.config.vimeo,{premium:i,referrerPolicy:s,...n}=t;let r=e.media.getAttribute(\"src\"),a=\"\";is.empty(r)?(r=e.media.getAttribute(e.config.attributes.embed.id),a=e.media.getAttribute(e.config.attributes.embed.hash)):a=parseHash(r);const o=a?{h:a}:{};i&&Object.assign(n,{controls:!1,sidedock:!1});const l=buildUrlParams({loop:e.config.loop.active,autoplay:e.autoplay,muted:e.muted,gesture:\"media\",playsinline:e.config.playsinline,...o,...n}),c=parseId$1(r),u=createElement(\"iframe\"),d=format(e.config.urls.vimeo.iframe,c,l);if(u.setAttribute(\"src\",d),u.setAttribute(\"allowfullscreen\",\"\"),u.setAttribute(\"allow\",[\"autoplay\",\"fullscreen\",\"picture-in-picture\",\"encrypted-media\",\"accelerometer\",\"gyroscope\"].join(\"; \")),is.empty(s)||u.setAttribute(\"referrerPolicy\",s),i||!t.customControls)u.setAttribute(\"data-poster\",e.poster),e.media=replaceElement(u,e.media);else{const t=createElement(\"div\",{class:e.config.classNames.embedContainer,\"data-poster\":e.poster});t.appendChild(u),e.media=replaceElement(t,e.media)}t.customControls||fetch(format(e.config.urls.vimeo.api,d)).then((t=>{!is.empty(t)&&t.thumbnail_url&&ui.setPoster.call(e,t.thumbnail_url).catch((()=>{}))})),e.embed=new window.Vimeo.Player(u,{autopause:e.config.autopause,muted:e.muted}),e.media.paused=!0,e.media.currentTime=0,e.supported.ui&&e.embed.disableTextTrack(),e.media.play=()=>(assurePlaybackState$1.call(e,!0),e.embed.play()),e.media.pause=()=>(assurePlaybackState$1.call(e,!1),e.embed.pause()),e.media.stop=()=>{e.pause(),e.currentTime=0};let{currentTime:h}=e.media;Object.defineProperty(e.media,\"currentTime\",{get:()=>h,set(t){const{embed:i,media:s,paused:n,volume:r}=e,a=n&&!i.hasPlayed;s.seeking=!0,triggerEvent.call(e,s,\"seeking\"),Promise.resolve(a&&i.setVolume(0)).then((()=>i.setCurrentTime(t))).then((()=>a&&i.pause())).then((()=>a&&i.setVolume(r))).catch((()=>{}))}});let m=e.config.speed.selected;Object.defineProperty(e.media,\"playbackRate\",{get:()=>m,set(t){e.embed.setPlaybackRate(t).then((()=>{m=t,triggerEvent.call(e,e.media,\"ratechange\")})).catch((()=>{e.options.speed=[1]}))}});let{volume:p}=e.config;Object.defineProperty(e.media,\"volume\",{get:()=>p,set(t){e.embed.setVolume(t).then((()=>{p=t,triggerEvent.call(e,e.media,\"volumechange\")}))}});let{muted:g}=e.config;Object.defineProperty(e.media,\"muted\",{get:()=>g,set(t){const i=!!is.boolean(t)&&t;e.embed.setMuted(!!i||e.config.muted).then((()=>{g=i,triggerEvent.call(e,e.media,\"volumechange\")}))}});let f,{loop:y}=e.config;Object.defineProperty(e.media,\"loop\",{get:()=>y,set(t){const i=is.boolean(t)?t:e.config.loop.active;e.embed.setLoop(i).then((()=>{y=i}))}}),e.embed.getVideoUrl().then((t=>{f=t,controls.setDownloadUrl.call(e)})).catch((e=>{this.debug.warn(e)})),Object.defineProperty(e.media,\"currentSrc\",{get:()=>f}),Object.defineProperty(e.media,\"ended\",{get:()=>e.currentTime===e.duration}),Promise.all([e.embed.getVideoWidth(),e.embed.getVideoHeight()]).then((t=>{const[i,s]=t;e.embed.ratio=roundAspectRatio(i,s),setAspectRatio.call(this)})),e.embed.setAutopause(e.config.autopause).then((t=>{e.config.autopause=t})),e.embed.getVideoTitle().then((t=>{e.config.title=t,ui.setTitle.call(this)})),e.embed.getCurrentTime().then((t=>{h=t,triggerEvent.call(e,e.media,\"timeupdate\")})),e.embed.getDuration().then((t=>{e.media.duration=t,triggerEvent.call(e,e.media,\"durationchange\")})),e.embed.getTextTracks().then((t=>{e.media.textTracks=t,captions.setup.call(e)})),e.embed.on(\"cuechange\",(({cues:t=[]})=>{const i=t.map((e=>stripHTML(e.text)));captions.updateCues.call(e,i)})),e.embed.on(\"loaded\",(()=>{if(e.embed.getPaused().then((t=>{assurePlaybackState$1.call(e,!t),t||triggerEvent.call(e,e.media,\"playing\")})),is.element(e.embed.element)&&e.supported.ui){e.embed.element.setAttribute(\"tabindex\",-1)}})),e.embed.on(\"bufferstart\",(()=>{triggerEvent.call(e,e.media,\"waiting\")})),e.embed.on(\"bufferend\",(()=>{triggerEvent.call(e,e.media,\"playing\")})),e.embed.on(\"play\",(()=>{assurePlaybackState$1.call(e,!0),triggerEvent.call(e,e.media,\"playing\")})),e.embed.on(\"pause\",(()=>{assurePlaybackState$1.call(e,!1)})),e.embed.on(\"timeupdate\",(t=>{e.media.seeking=!1,h=t.seconds,triggerEvent.call(e,e.media,\"timeupdate\")})),e.embed.on(\"progress\",(t=>{e.media.buffered=t.percent,triggerEvent.call(e,e.media,\"progress\"),1===parseInt(t.percent,10)&&triggerEvent.call(e,e.media,\"canplaythrough\"),e.embed.getDuration().then((t=>{t!==e.media.duration&&(e.media.duration=t,triggerEvent.call(e,e.media,\"durationchange\"))}))})),e.embed.on(\"seeked\",(()=>{e.media.seeking=!1,triggerEvent.call(e,e.media,\"seeked\")})),e.embed.on(\"ended\",(()=>{e.media.paused=!0,triggerEvent.call(e,e.media,\"ended\")})),e.embed.on(\"error\",(t=>{e.media.error=t,triggerEvent.call(e,e.media,\"error\")})),t.customControls&&setTimeout((()=>ui.build.call(e)),0)}};function parseId(e){if(is.empty(e))return null;return e.match(/^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/)?RegExp.$2:e}function assurePlaybackState(e){e&&!this.embed.hasPlayed&&(this.embed.hasPlayed=!0),this.media.paused===e&&(this.media.paused=!e,triggerEvent.call(this,this.media,e?\"play\":\"pause\"))}function getHost(e){return e.noCookie?\"https://www.youtube-nocookie.com\":\"http:\"===window.location.protocol?\"http://www.youtube.com\":void 0}const youtube={setup(){if(toggleClass(this.elements.wrapper,this.config.classNames.embed,!0),is.object(window.YT)&&is.function(window.YT.Player))youtube.ready.call(this);else{const e=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{is.function(e)&&e(),youtube.ready.call(this)},loadScript(this.config.urls.youtube.sdk).catch((e=>{this.debug.warn(\"YouTube API failed to load\",e)}))}},getTitle(e){fetch(format(this.config.urls.youtube.api,e)).then((e=>{if(is.object(e)){const{title:t,height:i,width:s}=e;this.config.title=t,ui.setTitle.call(this),this.embed.ratio=roundAspectRatio(s,i)}setAspectRatio.call(this)})).catch((()=>{setAspectRatio.call(this)}))},ready(){const e=this,t=e.config.youtube,i=e.media&&e.media.getAttribute(\"id\");if(!is.empty(i)&&i.startsWith(\"youtube-\"))return;let s=e.media.getAttribute(\"src\");is.empty(s)&&(s=e.media.getAttribute(this.config.attributes.embed.id));const n=parseId(s),r=createElement(\"div\",{id:generateId(e.provider),\"data-poster\":t.customControls?e.poster:void 0});if(e.media=replaceElement(r,e.media),t.customControls){const t=e=>`https://i.ytimg.com/vi/${n}/${e}default.jpg`;loadImage(t(\"maxres\"),121).catch((()=>loadImage(t(\"sd\"),121))).catch((()=>loadImage(t(\"hq\")))).then((t=>ui.setPoster.call(e,t.src))).then((t=>{t.includes(\"maxres\")||(e.elements.poster.style.backgroundSize=\"cover\")})).catch((()=>{}))}e.embed=new window.YT.Player(e.media,{videoId:n,host:getHost(t),playerVars:extend({},{autoplay:e.config.autoplay?1:0,hl:e.config.hl,controls:e.supported.ui&&t.customControls?0:1,disablekb:1,playsinline:e.config.playsinline&&!e.config.fullscreen.iosNative?1:0,cc_load_policy:e.captions.active?1:0,cc_lang_pref:e.config.captions.language,widget_referrer:window?window.location.href:null},t),events:{onError(t){if(!e.media.error){const i=t.data,s={2:\"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.\",5:\"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.\",100:\"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.\",101:\"The owner of the requested video does not allow it to be played in embedded players.\",150:\"The owner of the requested video does not allow it to be played in embedded players.\"}[i]||\"An unknown error occurred\";e.media.error={code:i,message:s},triggerEvent.call(e,e.media,\"error\")}},onPlaybackRateChange(t){const i=t.target;e.media.playbackRate=i.getPlaybackRate(),triggerEvent.call(e,e.media,\"ratechange\")},onReady(i){if(is.function(e.media.play))return;const s=i.target;youtube.getTitle.call(e,n),e.media.play=()=>{assurePlaybackState.call(e,!0),s.playVideo()},e.media.pause=()=>{assurePlaybackState.call(e,!1),s.pauseVideo()},e.media.stop=()=>{s.stopVideo()},e.media.duration=s.getDuration(),e.media.paused=!0,e.media.currentTime=0,Object.defineProperty(e.media,\"currentTime\",{get:()=>Number(s.getCurrentTime()),set(t){e.paused&&!e.embed.hasPlayed&&e.embed.mute(),e.media.seeking=!0,triggerEvent.call(e,e.media,\"seeking\"),s.seekTo(t)}}),Object.defineProperty(e.media,\"playbackRate\",{get:()=>s.getPlaybackRate(),set(e){s.setPlaybackRate(e)}});let{volume:r}=e.config;Object.defineProperty(e.media,\"volume\",{get:()=>r,set(t){r=t,s.setVolume(100*r),triggerEvent.call(e,e.media,\"volumechange\")}});let{muted:a}=e.config;Object.defineProperty(e.media,\"muted\",{get:()=>a,set(t){const i=is.boolean(t)?t:a;a=i,s[i?\"mute\":\"unMute\"](),s.setVolume(100*r),triggerEvent.call(e,e.media,\"volumechange\")}}),Object.defineProperty(e.media,\"currentSrc\",{get:()=>s.getVideoUrl()}),Object.defineProperty(e.media,\"ended\",{get:()=>e.currentTime===e.duration});const o=s.getAvailablePlaybackRates();e.options.speed=o.filter((t=>e.config.speed.options.includes(t))),e.supported.ui&&t.customControls&&e.media.setAttribute(\"tabindex\",-1),triggerEvent.call(e,e.media,\"timeupdate\"),triggerEvent.call(e,e.media,\"durationchange\"),clearInterval(e.timers.buffering),e.timers.buffering=setInterval((()=>{e.media.buffered=s.getVideoLoadedFraction(),(null===e.media.lastBuffered||e.media.lastBufferedui.build.call(e)),50)},onStateChange(i){const s=i.target;clearInterval(e.timers.playing);switch(e.media.seeking&&[1,2].includes(i.data)&&(e.media.seeking=!1,triggerEvent.call(e,e.media,\"seeked\")),i.data){case-1:triggerEvent.call(e,e.media,\"timeupdate\"),e.media.buffered=s.getVideoLoadedFraction(),triggerEvent.call(e,e.media,\"progress\");break;case 0:assurePlaybackState.call(e,!1),e.media.loop?(s.stopVideo(),s.playVideo()):triggerEvent.call(e,e.media,\"ended\");break;case 1:t.customControls&&!e.config.autoplay&&e.media.paused&&!e.embed.hasPlayed?e.media.pause():(assurePlaybackState.call(e,!0),triggerEvent.call(e,e.media,\"playing\"),e.timers.playing=setInterval((()=>{triggerEvent.call(e,e.media,\"timeupdate\")}),50),e.media.duration!==s.getDuration()&&(e.media.duration=s.getDuration(),triggerEvent.call(e,e.media,\"durationchange\")));break;case 2:e.muted||e.embed.unMute(),assurePlaybackState.call(e,!1);break;case 3:triggerEvent.call(e,e.media,\"waiting\")}triggerEvent.call(e,e.elements.container,\"statechange\",!1,{code:i.data})}}})}},media={setup(){this.media?(toggleClass(this.elements.container,this.config.classNames.type.replace(\"{0}\",this.type),!0),toggleClass(this.elements.container,this.config.classNames.provider.replace(\"{0}\",this.provider),!0),this.isEmbed&&toggleClass(this.elements.container,this.config.classNames.type.replace(\"{0}\",\"video\"),!0),this.isVideo&&(this.elements.wrapper=createElement(\"div\",{class:this.config.classNames.video}),wrap(this.media,this.elements.wrapper),this.elements.poster=createElement(\"div\",{class:this.config.classNames.poster}),this.elements.wrapper.appendChild(this.elements.poster)),this.isHTML5?html5.setup.call(this):this.isYouTube?youtube.setup.call(this):this.isVimeo&&vimeo.setup.call(this)):this.debug.warn(\"No media element found!\")}},destroy=e=>{e.manager&&e.manager.destroy(),e.elements.displayContainer&&e.elements.displayContainer.destroy(),e.elements.container.remove()};class Ads{constructor(e){_defineProperty$1(this,\"load\",(()=>{this.enabled&&(is.object(window.google)&&is.object(window.google.ima)?this.ready():loadScript(this.player.config.urls.googleIMA.sdk).then((()=>{this.ready()})).catch((()=>{this.trigger(\"error\",new Error(\"Google IMA SDK failed to load\"))})))})),_defineProperty$1(this,\"ready\",(()=>{var e;this.enabled||((e=this).manager&&e.manager.destroy(),e.elements.displayContainer&&e.elements.displayContainer.destroy(),e.elements.container.remove()),this.startSafetyTimer(12e3,\"ready()\"),this.managerPromise.then((()=>{this.clearSafetyTimer(\"onAdsManagerLoaded()\")})),this.listeners(),this.setupIMA()})),_defineProperty$1(this,\"setupIMA\",(()=>{this.elements.container=createElement(\"div\",{class:this.player.config.classNames.ads}),this.player.elements.container.appendChild(this.elements.container),google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED),google.ima.settings.setLocale(this.player.config.ads.language),google.ima.settings.setDisableCustomPlaybackForIOS10Plus(this.player.config.playsinline),this.elements.displayContainer=new google.ima.AdDisplayContainer(this.elements.container,this.player.media),this.loader=new google.ima.AdsLoader(this.elements.displayContainer),this.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,(e=>this.onAdsManagerLoaded(e)),!1),this.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e)),!1),this.requestAds()})),_defineProperty$1(this,\"requestAds\",(()=>{const{container:e}=this.player.elements;try{const t=new google.ima.AdsRequest;t.adTagUrl=this.tagUrl,t.linearAdSlotWidth=e.offsetWidth,t.linearAdSlotHeight=e.offsetHeight,t.nonLinearAdSlotWidth=e.offsetWidth,t.nonLinearAdSlotHeight=e.offsetHeight,t.forceNonLinearFullSlot=!1,t.setAdWillPlayMuted(!this.player.muted),this.loader.requestAds(t)}catch(e){this.onAdError(e)}})),_defineProperty$1(this,\"pollCountdown\",((e=!1)=>{if(!e)return clearInterval(this.countdownTimer),void this.elements.container.removeAttribute(\"data-badge-text\");this.countdownTimer=setInterval((()=>{const e=formatTime(Math.max(this.manager.getRemainingTime(),0)),t=`${i18n.get(\"advertisement\",this.player.config)} - ${e}`;this.elements.container.setAttribute(\"data-badge-text\",t)}),100)})),_defineProperty$1(this,\"onAdsManagerLoaded\",(e=>{if(!this.enabled)return;const t=new google.ima.AdsRenderingSettings;t.restoreCustomPlaybackStateOnAdBreakComplete=!0,t.enablePreloading=!0,this.manager=e.getAdsManager(this.player,t),this.cuePoints=this.manager.getCuePoints(),this.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,(e=>this.onAdError(e))),Object.keys(google.ima.AdEvent.Type).forEach((e=>{this.manager.addEventListener(google.ima.AdEvent.Type[e],(e=>this.onAdEvent(e)))})),this.trigger(\"loaded\")})),_defineProperty$1(this,\"addCuePoints\",(()=>{is.empty(this.cuePoints)||this.cuePoints.forEach((e=>{if(0!==e&&-1!==e&&e{const{container:t}=this.player.elements,i=e.getAd(),s=e.getAdData();switch((e=>{triggerEvent.call(this.player,this.player.media,`ads${e.replace(/_/g,\"\").toLowerCase()}`)})(e.type),e.type){case google.ima.AdEvent.Type.LOADED:this.trigger(\"loaded\"),this.pollCountdown(!0),i.isLinear()||(i.width=t.offsetWidth,i.height=t.offsetHeight);break;case google.ima.AdEvent.Type.STARTED:this.manager.setVolume(this.player.volume);break;case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:this.player.ended?this.loadAds():this.loader.contentComplete();break;case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:this.pauseContent();break;case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:this.pollCountdown(),this.resumeContent();break;case google.ima.AdEvent.Type.LOG:s.adError&&this.player.debug.warn(`Non-fatal ad error: ${s.adError.getMessage()}`)}})),_defineProperty$1(this,\"onAdError\",(e=>{this.cancel(),this.player.debug.warn(\"Ads error\",e)})),_defineProperty$1(this,\"listeners\",(()=>{const{container:e}=this.player.elements;let t;this.player.on(\"canplay\",(()=>{this.addCuePoints()})),this.player.on(\"ended\",(()=>{this.loader.contentComplete()})),this.player.on(\"timeupdate\",(()=>{t=this.player.currentTime})),this.player.on(\"seeked\",(()=>{const e=this.player.currentTime;is.empty(this.cuePoints)||this.cuePoints.forEach(((i,s)=>{t{this.manager&&this.manager.resize(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL)}))})),_defineProperty$1(this,\"play\",(()=>{const{container:e}=this.player.elements;this.managerPromise||this.resumeContent(),this.managerPromise.then((()=>{this.manager.setVolume(this.player.volume),this.elements.displayContainer.initialize();try{this.initialized||(this.manager.init(e.offsetWidth,e.offsetHeight,google.ima.ViewMode.NORMAL),this.manager.start()),this.initialized=!0}catch(e){this.onAdError(e)}})).catch((()=>{}))})),_defineProperty$1(this,\"resumeContent\",(()=>{this.elements.container.style.zIndex=\"\",this.playing=!1,silencePromise(this.player.media.play())})),_defineProperty$1(this,\"pauseContent\",(()=>{this.elements.container.style.zIndex=3,this.playing=!0,this.player.media.pause()})),_defineProperty$1(this,\"cancel\",(()=>{this.initialized&&this.resumeContent(),this.trigger(\"error\"),this.loadAds()})),_defineProperty$1(this,\"loadAds\",(()=>{this.managerPromise.then((()=>{this.manager&&this.manager.destroy(),this.managerPromise=new Promise((e=>{this.on(\"loaded\",e),this.player.debug.log(this.manager)})),this.initialized=!1,this.requestAds()})).catch((()=>{}))})),_defineProperty$1(this,\"trigger\",((e,...t)=>{const i=this.events[e];is.array(i)&&i.forEach((e=>{is.function(e)&&e.apply(this,t)}))})),_defineProperty$1(this,\"on\",((e,t)=>(is.array(this.events[e])||(this.events[e]=[]),this.events[e].push(t),this))),_defineProperty$1(this,\"startSafetyTimer\",((e,t)=>{this.player.debug.log(`Safety timer invoked from: ${t}`),this.safetyTimer=setTimeout((()=>{this.cancel(),this.clearSafetyTimer(\"startSafetyTimer()\")}),e)})),_defineProperty$1(this,\"clearSafetyTimer\",(e=>{is.nullOrUndefined(this.safetyTimer)||(this.player.debug.log(`Safety timer cleared from: ${e}`),clearTimeout(this.safetyTimer),this.safetyTimer=null)})),this.player=e,this.config=e.config.ads,this.playing=!1,this.initialized=!1,this.elements={container:null,displayContainer:null},this.manager=null,this.loader=null,this.cuePoints=null,this.events={},this.safetyTimer=null,this.countdownTimer=null,this.managerPromise=new Promise(((e,t)=>{this.on(\"loaded\",e),this.on(\"error\",t)})),this.load()}get enabled(){const{config:e}=this;return this.player.isHTML5&&this.player.isVideo&&e.enabled&&(!is.empty(e.publisherId)||is.url(e.tagUrl))}get tagUrl(){const{config:e}=this;if(is.url(e.tagUrl))return e.tagUrl;return`https://go.aniview.com/api/adserver6/vast/?${buildUrlParams({AV_PUBLISHERID:\"58c25bb0073ef448b1087ad6\",AV_CHANNELID:\"5a0458dc28a06145e4519d21\",AV_URL:window.location.hostname,cb:Date.now(),AV_WIDTH:640,AV_HEIGHT:480,AV_CDIM2:e.publisherId})}`}}function clamp(e=0,t=0,i=255){return Math.min(Math.max(e,t),i)}const parseVtt=e=>{const t=[];return e.split(/\\r\\n\\r\\n|\\n\\n|\\r\\r/).forEach((e=>{const i={};e.split(/\\r\\n|\\n|\\r/).forEach((e=>{if(is.number(i.startTime)){if(!is.empty(e.trim())&&is.empty(i.text)){const t=e.trim().split(\"#xywh=\");[i.text]=t,t[1]&&([i.x,i.y,i.w,i.h]=t[1].split(\",\"))}}else{const t=e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);t&&(i.startTime=60*Number(t[1]||0)*60+60*Number(t[2])+Number(t[3])+Number(`0.${t[4]}`),i.endTime=60*Number(t[6]||0)*60+60*Number(t[7])+Number(t[8])+Number(`0.${t[9]}`))}})),i.text&&t.push(i)})),t},fitRatio=(e,t)=>{const i={};return e>t.width/t.height?(i.width=t.width,i.height=1/e*t.width):(i.height=t.height,i.width=e*t.height),i};class PreviewThumbnails{constructor(e){_defineProperty$1(this,\"load\",(()=>{this.player.elements.display.seekTooltip&&(this.player.elements.display.seekTooltip.hidden=this.enabled),this.enabled&&this.getThumbnails().then((()=>{this.enabled&&(this.render(),this.determineContainerAutoSizing(),this.listeners(),this.loaded=!0)}))})),_defineProperty$1(this,\"getThumbnails\",(()=>new Promise((e=>{const{src:t}=this.player.config.previewThumbnails;if(is.empty(t))throw new Error(\"Missing previewThumbnails.src config attribute\");const i=()=>{this.thumbnails.sort(((e,t)=>e.height-t.height)),this.player.debug.log(\"Preview thumbnails\",this.thumbnails),e()};if(is.function(t))t((e=>{this.thumbnails=e,i()}));else{const e=(is.string(t)?[t]:t).map((e=>this.getThumbnail(e)));Promise.all(e).then(i)}})))),_defineProperty$1(this,\"getThumbnail\",(e=>new Promise((t=>{fetch(e).then((i=>{const s={frames:parseVtt(i),height:null,urlPrefix:\"\"};s.frames[0].text.startsWith(\"/\")||s.frames[0].text.startsWith(\"http://\")||s.frames[0].text.startsWith(\"https://\")||(s.urlPrefix=e.substring(0,e.lastIndexOf(\"/\")+1));const n=new Image;n.onload=()=>{s.height=n.naturalHeight,s.width=n.naturalWidth,this.thumbnails.push(s),t()},n.src=s.urlPrefix+s.frames[0].text}))})))),_defineProperty$1(this,\"startMove\",(e=>{if(this.loaded&&is.event(e)&&[\"touchmove\",\"mousemove\"].includes(e.type)&&this.player.media.duration){if(\"touchmove\"===e.type)this.seekTime=this.player.media.duration*(this.player.elements.inputs.seek.value/100);else{var t,i;const s=this.player.elements.progress.getBoundingClientRect(),n=100/s.width*(e.pageX-s.left);this.seekTime=this.player.media.duration*(n/100),this.seekTime<0&&(this.seekTime=0),this.seekTime>this.player.media.duration-1&&(this.seekTime=this.player.media.duration-1),this.mousePosX=e.pageX,this.elements.thumb.time.innerText=formatTime(this.seekTime);const r=null===(t=this.player.config.markers)||void 0===t||null===(i=t.points)||void 0===i?void 0:i.find((({time:e})=>e===Math.round(this.seekTime)));r&&this.elements.thumb.time.insertAdjacentHTML(\"afterbegin\",`${r.label}
`)}this.showImageAtCurrentTime()}})),_defineProperty$1(this,\"endMove\",(()=>{this.toggleThumbContainer(!1,!0)})),_defineProperty$1(this,\"startScrubbing\",(e=>{(is.nullOrUndefined(e.button)||!1===e.button||0===e.button)&&(this.mouseDown=!0,this.player.media.duration&&(this.toggleScrubbingContainer(!0),this.toggleThumbContainer(!1,!0),this.showImageAtCurrentTime()))})),_defineProperty$1(this,\"endScrubbing\",(()=>{this.mouseDown=!1,Math.ceil(this.lastTime)===Math.ceil(this.player.media.currentTime)?this.toggleScrubbingContainer(!1):once.call(this.player,this.player.media,\"timeupdate\",(()=>{this.mouseDown||this.toggleScrubbingContainer(!1)}))})),_defineProperty$1(this,\"listeners\",(()=>{this.player.on(\"play\",(()=>{this.toggleThumbContainer(!1,!0)})),this.player.on(\"seeked\",(()=>{this.toggleThumbContainer(!1)})),this.player.on(\"timeupdate\",(()=>{this.lastTime=this.player.media.currentTime}))})),_defineProperty$1(this,\"render\",(()=>{this.elements.thumb.container=createElement(\"div\",{class:this.player.config.classNames.previewThumbnails.thumbContainer}),this.elements.thumb.imageContainer=createElement(\"div\",{class:this.player.config.classNames.previewThumbnails.imageContainer}),this.elements.thumb.container.appendChild(this.elements.thumb.imageContainer);const e=createElement(\"div\",{class:this.player.config.classNames.previewThumbnails.timeContainer});this.elements.thumb.time=createElement(\"span\",{},\"00:00\"),e.appendChild(this.elements.thumb.time),this.elements.thumb.imageContainer.appendChild(e),is.element(this.player.elements.progress)&&this.player.elements.progress.appendChild(this.elements.thumb.container),this.elements.scrubbing.container=createElement(\"div\",{class:this.player.config.classNames.previewThumbnails.scrubbingContainer}),this.player.elements.wrapper.appendChild(this.elements.scrubbing.container)})),_defineProperty$1(this,\"destroy\",(()=>{this.elements.thumb.container&&this.elements.thumb.container.remove(),this.elements.scrubbing.container&&this.elements.scrubbing.container.remove()})),_defineProperty$1(this,\"showImageAtCurrentTime\",(()=>{this.mouseDown?this.setScrubbingContainerSize():this.setThumbContainerSizeAndPos();const e=this.thumbnails[0].frames.findIndex((e=>this.seekTime>=e.startTime&&this.seekTime<=e.endTime)),t=e>=0;let i=0;this.mouseDown||this.toggleThumbContainer(t),t&&(this.thumbnails.forEach(((t,s)=>{this.loadedImages.includes(t.frames[e].text)&&(i=s)})),e!==this.showingThumb&&(this.showingThumb=e,this.loadImage(i)))})),_defineProperty$1(this,\"loadImage\",((e=0)=>{const t=this.showingThumb,i=this.thumbnails[e],{urlPrefix:s}=i,n=i.frames[t],r=i.frames[t].text,a=s+r;if(this.currentImageElement&&this.currentImageElement.dataset.filename===r)this.showImage(this.currentImageElement,n,e,t,r,!1),this.currentImageElement.dataset.index=t,this.removeOldImages(this.currentImageElement);else{this.loadingImage&&this.usingSprites&&(this.loadingImage.onload=null);const i=new Image;i.src=a,i.dataset.index=t,i.dataset.filename=r,this.showingThumbFilename=r,this.player.debug.log(`Loading image: ${a}`),i.onload=()=>this.showImage(i,n,e,t,r,!0),this.loadingImage=i,this.removeOldImages(i)}})),_defineProperty$1(this,\"showImage\",((e,t,i,s,n,r=!0)=>{this.player.debug.log(`Showing thumb: ${n}. num: ${s}. qual: ${i}. newimg: ${r}`),this.setImageSizeAndOffset(e,t),r&&(this.currentImageContainer.appendChild(e),this.currentImageElement=e,this.loadedImages.includes(n)||this.loadedImages.push(n)),this.preloadNearby(s,!0).then(this.preloadNearby(s,!1)).then(this.getHigherQuality(i,e,t,n))})),_defineProperty$1(this,\"removeOldImages\",(e=>{Array.from(this.currentImageContainer.children).forEach((t=>{if(\"img\"!==t.tagName.toLowerCase())return;const i=this.usingSprites?500:1e3;if(t.dataset.index!==e.dataset.index&&!t.dataset.deleting){t.dataset.deleting=!0;const{currentImageContainer:e}=this;setTimeout((()=>{e.removeChild(t),this.player.debug.log(`Removing thumb: ${t.dataset.filename}`)}),i)}}))})),_defineProperty$1(this,\"preloadNearby\",((e,t=!0)=>new Promise((i=>{setTimeout((()=>{const s=this.thumbnails[0].frames[e].text;if(this.showingThumbFilename===s){let n;n=t?this.thumbnails[0].frames.slice(e):this.thumbnails[0].frames.slice(0,e).reverse();let r=!1;n.forEach((e=>{const t=e.text;if(t!==s&&!this.loadedImages.includes(t)){r=!0,this.player.debug.log(`Preloading thumb filename: ${t}`);const{urlPrefix:e}=this.thumbnails[0],s=e+t,n=new Image;n.src=s,n.onload=()=>{this.player.debug.log(`Preloaded thumb filename: ${t}`),this.loadedImages.includes(t)||this.loadedImages.push(t),i()}}})),r||i()}}),300)})))),_defineProperty$1(this,\"getHigherQuality\",((e,t,i,s)=>{if(e{this.showingThumbFilename===s&&(this.player.debug.log(`Showing higher quality thumb for: ${s}`),this.loadImage(e+1))}),300)}})),_defineProperty$1(this,\"toggleThumbContainer\",((e=!1,t=!1)=>{const i=this.player.config.classNames.previewThumbnails.thumbContainerShown;this.elements.thumb.container.classList.toggle(i,e),!e&&t&&(this.showingThumb=null,this.showingThumbFilename=null)})),_defineProperty$1(this,\"toggleScrubbingContainer\",((e=!1)=>{const t=this.player.config.classNames.previewThumbnails.scrubbingContainerShown;this.elements.scrubbing.container.classList.toggle(t,e),e||(this.showingThumb=null,this.showingThumbFilename=null)})),_defineProperty$1(this,\"determineContainerAutoSizing\",(()=>{(this.elements.thumb.imageContainer.clientHeight>20||this.elements.thumb.imageContainer.clientWidth>20)&&(this.sizeSpecifiedInCSS=!0)})),_defineProperty$1(this,\"setThumbContainerSizeAndPos\",(()=>{const{imageContainer:e}=this.elements.thumb;if(this.sizeSpecifiedInCSS){if(e.clientHeight>20&&e.clientWidth<20){const t=Math.floor(e.clientHeight*this.thumbAspectRatio);e.style.width=`${t}px`}else if(e.clientHeight<20&&e.clientWidth>20){const t=Math.floor(e.clientWidth/this.thumbAspectRatio);e.style.height=`${t}px`}}else{const t=Math.floor(this.thumbContainerHeight*this.thumbAspectRatio);e.style.height=`${this.thumbContainerHeight}px`,e.style.width=`${t}px`}this.setThumbContainerPos()})),_defineProperty$1(this,\"setThumbContainerPos\",(()=>{const e=this.player.elements.progress.getBoundingClientRect(),t=this.player.elements.container.getBoundingClientRect(),{container:i}=this.elements.thumb,s=t.left-e.left+10,n=t.right-e.left-i.clientWidth-10,r=this.mousePosX-e.left-i.clientWidth/2,a=clamp(r,s,n);i.style.left=`${a}px`,i.style.setProperty(\"--preview-arrow-offset\",r-a+\"px\")})),_defineProperty$1(this,\"setScrubbingContainerSize\",(()=>{const{width:e,height:t}=fitRatio(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});this.elements.scrubbing.container.style.width=`${e}px`,this.elements.scrubbing.container.style.height=`${t}px`})),_defineProperty$1(this,\"setImageSizeAndOffset\",((e,t)=>{if(!this.usingSprites)return;const i=this.thumbContainerHeight/t.h;e.style.height=e.naturalHeight*i+\"px\",e.style.width=e.naturalWidth*i+\"px\",e.style.left=`-${t.x*i}px`,e.style.top=`-${t.y*i}px`})),this.player=e,this.thumbnails=[],this.loaded=!1,this.lastMouseMoveTime=Date.now(),this.mouseDown=!1,this.loadedImages=[],this.elements={thumb:{},scrubbing:{}},this.load()}get enabled(){return this.player.isHTML5&&this.player.isVideo&&this.player.config.previewThumbnails.enabled}get currentImageContainer(){return this.mouseDown?this.elements.scrubbing.container:this.elements.thumb.imageContainer}get usingSprites(){return Object.keys(this.thumbnails[0].frames[0]).includes(\"w\")}get thumbAspectRatio(){return this.usingSprites?this.thumbnails[0].frames[0].w/this.thumbnails[0].frames[0].h:this.thumbnails[0].width/this.thumbnails[0].height}get thumbContainerHeight(){if(this.mouseDown){const{height:e}=fitRatio(this.thumbAspectRatio,{width:this.player.media.clientWidth,height:this.player.media.clientHeight});return e}return this.sizeSpecifiedInCSS?this.elements.thumb.imageContainer.clientHeight:Math.floor(this.player.media.clientWidth/this.thumbAspectRatio/4)}get currentImageElement(){return this.mouseDown?this.currentScrubbingImageElement:this.currentThumbnailImageElement}set currentImageElement(e){this.mouseDown?this.currentScrubbingImageElement=e:this.currentThumbnailImageElement=e}}const source={insertElements(e,t){is.string(t)?insertElement(e,this.media,{src:t}):is.array(t)&&t.forEach((t=>{insertElement(e,this.media,t)}))},change(e){getDeep(e,\"sources.length\")?(html5.cancelRequests.call(this),this.destroy.call(this,(()=>{this.options.quality=[],removeElement(this.media),this.media=null,is.element(this.elements.container)&&this.elements.container.removeAttribute(\"class\");const{sources:t,type:i}=e,[{provider:s=providers.html5,src:n}]=t,r=\"html5\"===s?i:\"div\",a=\"html5\"===s?{}:{src:n};Object.assign(this,{provider:s,type:i,supported:support.check(i,s,this.config.playsinline),media:createElement(r,a)}),this.elements.container.appendChild(this.media),is.boolean(e.autoplay)&&(this.config.autoplay=e.autoplay),this.isHTML5&&(this.config.crossorigin&&this.media.setAttribute(\"crossorigin\",\"\"),this.config.autoplay&&this.media.setAttribute(\"autoplay\",\"\"),is.empty(e.poster)||(this.poster=e.poster),this.config.loop.active&&this.media.setAttribute(\"loop\",\"\"),this.config.muted&&this.media.setAttribute(\"muted\",\"\"),this.config.playsinline&&this.media.setAttribute(\"playsinline\",\"\")),ui.addStyleHook.call(this),this.isHTML5&&source.insertElements.call(this,\"source\",t),this.config.title=e.title,media.setup.call(this),this.isHTML5&&Object.keys(e).includes(\"tracks\")&&source.insertElements.call(this,\"track\",e.tracks),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&ui.build.call(this),this.isHTML5&&this.media.load(),is.empty(e.previewThumbnails)||(Object.assign(this.config.previewThumbnails,e.previewThumbnails),this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new PreviewThumbnails(this))),this.fullscreen.update()}),!0)):this.debug.warn(\"Invalid source format\")}};class Plyr{constructor(e,t){if(_defineProperty$1(this,\"play\",(()=>is.function(this.media.play)?(this.ads&&this.ads.enabled&&this.ads.managerPromise.then((()=>this.ads.play())).catch((()=>silencePromise(this.media.play()))),this.media.play()):null)),_defineProperty$1(this,\"pause\",(()=>this.playing&&is.function(this.media.pause)?this.media.pause():null)),_defineProperty$1(this,\"togglePlay\",(e=>(is.boolean(e)?e:!this.playing)?this.play():this.pause())),_defineProperty$1(this,\"stop\",(()=>{this.isHTML5?(this.pause(),this.restart()):is.function(this.media.stop)&&this.media.stop()})),_defineProperty$1(this,\"restart\",(()=>{this.currentTime=0})),_defineProperty$1(this,\"rewind\",(e=>{this.currentTime-=is.number(e)?e:this.config.seekTime})),_defineProperty$1(this,\"forward\",(e=>{this.currentTime+=is.number(e)?e:this.config.seekTime})),_defineProperty$1(this,\"increaseVolume\",(e=>{const t=this.media.muted?0:this.volume;this.volume=t+(is.number(e)?e:0)})),_defineProperty$1(this,\"decreaseVolume\",(e=>{this.increaseVolume(-e)})),_defineProperty$1(this,\"airplay\",(()=>{support.airplay&&this.media.webkitShowPlaybackTargetPicker()})),_defineProperty$1(this,\"toggleControls\",(e=>{if(this.supported.ui&&!this.isAudio){const t=hasClass(this.elements.container,this.config.classNames.hideControls),i=void 0===e?void 0:!e,s=toggleClass(this.elements.container,this.config.classNames.hideControls,i);if(s&&is.array(this.config.controls)&&this.config.controls.includes(\"settings\")&&!is.empty(this.config.settings)&&controls.toggleMenu.call(this,!1),s!==t){const e=s?\"controlshidden\":\"controlsshown\";triggerEvent.call(this,this.media,e)}return!s}return!1})),_defineProperty$1(this,\"on\",((e,t)=>{on.call(this,this.elements.container,e,t)})),_defineProperty$1(this,\"once\",((e,t)=>{once.call(this,this.elements.container,e,t)})),_defineProperty$1(this,\"off\",((e,t)=>{off(this.elements.container,e,t)})),_defineProperty$1(this,\"destroy\",((e,t=!1)=>{if(!this.ready)return;const i=()=>{document.body.style.overflow=\"\",this.embed=null,t?(Object.keys(this.elements).length&&(removeElement(this.elements.buttons.play),removeElement(this.elements.captions),removeElement(this.elements.controls),removeElement(this.elements.wrapper),this.elements.buttons.play=null,this.elements.captions=null,this.elements.controls=null,this.elements.wrapper=null),is.function(e)&&e()):(unbindListeners.call(this),html5.cancelRequests.call(this),replaceElement(this.elements.original,this.elements.container),triggerEvent.call(this,this.elements.original,\"destroyed\",!0),is.function(e)&&e.call(this.elements.original),this.ready=!1,setTimeout((()=>{this.elements=null,this.media=null}),200))};this.stop(),clearTimeout(this.timers.loading),clearTimeout(this.timers.controls),clearTimeout(this.timers.resized),this.isHTML5?(ui.toggleNativeControls.call(this,!0),i()):this.isYouTube?(clearInterval(this.timers.buffering),clearInterval(this.timers.playing),null!==this.embed&&is.function(this.embed.destroy)&&this.embed.destroy(),i()):this.isVimeo&&(null!==this.embed&&this.embed.unload().then(i),setTimeout(i,200))})),_defineProperty$1(this,\"supports\",(e=>support.mime.call(this,e))),this.timers={},this.ready=!1,this.loading=!1,this.failed=!1,this.touch=support.touch,this.media=e,is.string(this.media)&&(this.media=document.querySelectorAll(this.media)),(window.jQuery&&this.media instanceof jQuery||is.nodeList(this.media)||is.array(this.media))&&(this.media=this.media[0]),this.config=extend({},defaults,Plyr.defaults,t||{},(()=>{try{return JSON.parse(this.media.getAttribute(\"data-plyr-config\"))}catch(e){return{}}})()),this.elements={container:null,fullscreen:null,captions:null,buttons:{},display:{},progress:{},inputs:{},settings:{popup:null,menu:null,panels:{},buttons:{}}},this.captions={active:null,currentTrack:-1,meta:new WeakMap},this.fullscreen={active:!1},this.options={speed:[],quality:[]},this.debug=new Console(this.config.debug),this.debug.log(\"Config\",this.config),this.debug.log(\"Support\",support),is.nullOrUndefined(this.media)||!is.element(this.media))return void this.debug.error(\"Setup failed: no suitable element passed\");if(this.media.plyr)return void this.debug.warn(\"Target already setup\");if(!this.config.enabled)return void this.debug.error(\"Setup failed: disabled by config\");if(!support.check().api)return void this.debug.error(\"Setup failed: no support\");const i=this.media.cloneNode(!0);i.autoplay=!1,this.elements.original=i;const s=this.media.tagName.toLowerCase();let n=null,r=null;switch(s){case\"div\":if(n=this.media.querySelector(\"iframe\"),is.element(n)){if(r=parseUrl(n.getAttribute(\"src\")),this.provider=getProviderByUrl(r.toString()),this.elements.container=this.media,this.media=n,this.elements.container.className=\"\",r.search.length){const e=[\"1\",\"true\"];e.includes(r.searchParams.get(\"autoplay\"))&&(this.config.autoplay=!0),e.includes(r.searchParams.get(\"loop\"))&&(this.config.loop.active=!0),this.isYouTube?(this.config.playsinline=e.includes(r.searchParams.get(\"playsinline\")),this.config.youtube.hl=r.searchParams.get(\"hl\")):this.config.playsinline=!0}}else this.provider=this.media.getAttribute(this.config.attributes.embed.provider),this.media.removeAttribute(this.config.attributes.embed.provider);if(is.empty(this.provider)||!Object.values(providers).includes(this.provider))return void this.debug.error(\"Setup failed: Invalid provider\");this.type=types.video;break;case\"video\":case\"audio\":this.type=s,this.provider=providers.html5,this.media.hasAttribute(\"crossorigin\")&&(this.config.crossorigin=!0),this.media.hasAttribute(\"autoplay\")&&(this.config.autoplay=!0),(this.media.hasAttribute(\"playsinline\")||this.media.hasAttribute(\"webkit-playsinline\"))&&(this.config.playsinline=!0),this.media.hasAttribute(\"muted\")&&(this.config.muted=!0),this.media.hasAttribute(\"loop\")&&(this.config.loop.active=!0);break;default:return void this.debug.error(\"Setup failed: unsupported type\")}this.supported=support.check(this.type,this.provider),this.supported.api?(this.eventListeners=[],this.listeners=new Listeners(this),this.storage=new Storage(this),this.media.plyr=this,is.element(this.elements.container)||(this.elements.container=createElement(\"div\"),wrap(this.media,this.elements.container)),ui.migrateStyles.call(this),ui.addStyleHook.call(this),media.setup.call(this),this.config.debug&&on.call(this,this.elements.container,this.config.events.join(\" \"),(e=>{this.debug.log(`event: ${e.type}`)})),this.fullscreen=new Fullscreen(this),(this.isHTML5||this.isEmbed&&!this.supported.ui)&&ui.build.call(this),this.listeners.container(),this.listeners.global(),this.config.ads.enabled&&(this.ads=new Ads(this)),this.isHTML5&&this.config.autoplay&&this.once(\"canplay\",(()=>silencePromise(this.play()))),this.lastSeekTime=0,this.config.previewThumbnails.enabled&&(this.previewThumbnails=new PreviewThumbnails(this))):this.debug.error(\"Setup failed: no support\")}get isHTML5(){return this.provider===providers.html5}get isEmbed(){return this.isYouTube||this.isVimeo}get isYouTube(){return this.provider===providers.youtube}get isVimeo(){return this.provider===providers.vimeo}get isVideo(){return this.type===types.video}get isAudio(){return this.type===types.audio}get playing(){return Boolean(this.ready&&!this.paused&&!this.ended)}get paused(){return Boolean(this.media.paused)}get stopped(){return Boolean(this.paused&&0===this.currentTime)}get ended(){return Boolean(this.media.ended)}set currentTime(e){if(!this.duration)return;const t=is.number(e)&&e>0;this.media.currentTime=t?Math.min(e,this.duration):0,this.debug.log(`Seeking to ${this.currentTime} seconds`)}get currentTime(){return Number(this.media.currentTime)}get buffered(){const{buffered:e}=this.media;return is.number(e)?e:e&&e.length&&this.duration>0?e.end(0)/this.duration:0}get seeking(){return Boolean(this.media.seeking)}get duration(){const e=parseFloat(this.config.duration),t=(this.media||{}).duration,i=is.number(t)&&t!==1/0?t:0;return e||i}set volume(e){let t=e;is.string(t)&&(t=Number(t)),is.number(t)||(t=this.storage.get(\"volume\")),is.number(t)||({volume:t}=this.config),t>1&&(t=1),t<0&&(t=0),this.config.volume=t,this.media.volume=t,!is.empty(e)&&this.muted&&t>0&&(this.muted=!1)}get volume(){return Number(this.media.volume)}set muted(e){let t=e;is.boolean(t)||(t=this.storage.get(\"muted\")),is.boolean(t)||(t=this.config.muted),this.config.muted=t,this.media.muted=t}get muted(){return Boolean(this.media.muted)}get hasAudio(){return!this.isHTML5||(!!this.isAudio||(Boolean(this.media.mozHasAudio)||Boolean(this.media.webkitAudioDecodedByteCount)||Boolean(this.media.audioTracks&&this.media.audioTracks.length)))}set speed(e){let t=null;is.number(e)&&(t=e),is.number(t)||(t=this.storage.get(\"speed\")),is.number(t)||(t=this.config.speed.selected);const{minimumSpeed:i,maximumSpeed:s}=this;t=clamp(t,i,s),this.config.speed.selected=t,setTimeout((()=>{this.media&&(this.media.playbackRate=t)}),0)}get speed(){return Number(this.media.playbackRate)}get minimumSpeed(){return this.isYouTube?Math.min(...this.options.speed):this.isVimeo?.5:.0625}get maximumSpeed(){return this.isYouTube?Math.max(...this.options.speed):this.isVimeo?2:16}set quality(e){const t=this.config.quality,i=this.options.quality;if(!i.length)return;let s=[!is.empty(e)&&Number(e),this.storage.get(\"quality\"),t.selected,t.default].find(is.number),n=!0;if(!i.includes(s)){const e=closest(i,s);this.debug.warn(`Unsupported quality option: ${s}, using ${e} instead`),s=e,n=!1}t.selected=s,this.media.quality=s,n&&this.storage.set({quality:s})}get quality(){return this.media.quality}set loop(e){const t=is.boolean(e)?e:this.config.loop.active;this.config.loop.active=t,this.media.loop=t}get loop(){return Boolean(this.media.loop)}set source(e){source.change.call(this,e)}get source(){return this.media.currentSrc}get download(){const{download:e}=this.config.urls;return is.url(e)?e:this.source}set download(e){is.url(e)&&(this.config.urls.download=e,controls.setDownloadUrl.call(this))}set poster(e){this.isVideo?ui.setPoster.call(this,e,!1).catch((()=>{})):this.debug.warn(\"Poster can only be set for video\")}get poster(){return this.isVideo?this.media.getAttribute(\"poster\")||this.media.getAttribute(\"data-poster\"):null}get ratio(){if(!this.isVideo)return null;const e=reduceAspectRatio(getAspectRatio.call(this));return is.array(e)?e.join(\":\"):e}set ratio(e){this.isVideo?is.string(e)&&validateAspectRatio(e)?(this.config.ratio=reduceAspectRatio(e),setAspectRatio.call(this)):this.debug.error(`Invalid aspect ratio specified (${e})`):this.debug.warn(\"Aspect ratio can only be set for video\")}set autoplay(e){this.config.autoplay=is.boolean(e)?e:this.config.autoplay}get autoplay(){return Boolean(this.config.autoplay)}toggleCaptions(e){captions.toggle.call(this,e,!1)}set currentTrack(e){captions.set.call(this,e,!1),captions.setup.call(this)}get currentTrack(){const{toggled:e,currentTrack:t}=this.captions;return e?t:-1}set language(e){captions.setLanguage.call(this,e,!1)}get language(){return(captions.getCurrentTrack.call(this)||{}).language}set pip(e){if(!support.pip)return;const t=is.boolean(e)?e:!this.pip;is.function(this.media.webkitSetPresentationMode)&&this.media.webkitSetPresentationMode(t?pip.active:pip.inactive),is.function(this.media.requestPictureInPicture)&&(!this.pip&&t?this.media.requestPictureInPicture():this.pip&&!t&&document.exitPictureInPicture())}get pip(){return support.pip?is.empty(this.media.webkitPresentationMode)?this.media===document.pictureInPictureElement:this.media.webkitPresentationMode===pip.active:null}setPreviewThumbnails(e){this.previewThumbnails&&this.previewThumbnails.loaded&&(this.previewThumbnails.destroy(),this.previewThumbnails=null),Object.assign(this.config.previewThumbnails,e),this.config.previewThumbnails.enabled&&(this.previewThumbnails=new PreviewThumbnails(this))}static supported(e,t){return support.check(e,t)}static loadSprite(e,t){return loadSprite(e,t)}static setup(e,t={}){let i=null;return is.string(e)?i=Array.from(document.querySelectorAll(e)):is.nodeList(e)?i=Array.from(e):is.array(e)&&(i=e.filter(is.element)),is.empty(i)?null:i.map((e=>new Plyr(e,t)))}}Plyr.defaults=cloneDeep(defaults);export{Plyr as default};","import app from \"../icasf_app\";\nimport Component from \"../component\";\nimport Plyr from \"plyr\";\n\nexport class Video extends Component {\n static current = [];\n static eventNamespace = \"video\";\n\n get defaultState() {\n return {\n paused: !this.props.autoplay,\n poster: !this.props.autoplay,\n };\n }\n\n get aspectRatio() {\n if (this.props.aspectRatio) {\n // Ideally, look for an aspect ratio passed in via props\n return this.props.aspectRatio;\n } else if (this.elements.iframeTarget?.dataset?.plyrAspectRatio) {\n // Otherwise, locate a data attribute `data-plyr-aspect-ratio`\n return this.elements.iframeTarget.dataset.plyrAspectRatio;\n } else if (this.elements.iframe) {\n const computedStyle = getComputedStyle(this.elements.iframe);\n // Otherwise, look for an aspect ratio applied on the video already\n if (computedStyle[\"aspect-ratio\"]) {\n return computedStyle[\"aspect-ratio\"].replace(\" / \", \":\");\n } else if (this.elements.iframe.hasAttributes(\"width\", \"height\")) {\n return `${this.elements.iframe.getAttribute(\n \"width\"\n )}:${this.elements.iframe.getAttribute(\"height\")}`;\n }\n }\n }\n\n // Destructuring here allows us to set some default arguments\n constructor({\n onReady = () => {},\n onPlay = () => {},\n onPause = () => {},\n onEnded = () => {},\n autoplay = false,\n muted = false,\n ...props\n }) {\n // Arguments are recombined into an object so that they can all be accessed via this.props\n super({ onReady, onPlay, onPause, onEnded, autoplay, muted, ...props });\n\n this.setUpPlayer();\n this.trackPlayerState();\n window.video = this;\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.iframeTarget = element.querySelector(\n \".js-video__iframe-target\"\n );\n this.elements.iframe = element.querySelector(\"iframe\");\n\n // The easiest way to instantiate Plyr is with an iframe. Otherwise you have to construct a source object.\n // Plus, this way you get some sort progressive enhancement: if JS fails to load, they at least have an iframe\n // they can interact with.\n if (!this.elements.iframe) {\n throw new Error(\n \"You must have an iframe on the page to instantiate Video.\"\n );\n }\n\n this.elements.poster = element.querySelector(\".js-video__poster\");\n this.elements.playPause = element.querySelector(\".js-video__play-pause\");\n this.elements.play = element.querySelector(\".js-video__play\");\n this.elements.pause = element.querySelector(\".js-video__pause\");\n }\n\n setUpEvents() {\n super.setUpEvents();\n\n this.elements.playPause.onclick = this.togglePlayPause.bind(this);\n if (this.elements.poster) {\n this.elements.poster.onclick = this.play.bind(this);\n }\n }\n\n setUpPlayer() {\n this.player = new Plyr(this.elements.iframeTarget, {\n controls: [],\n autoplay: this.props.autoplay,\n muted: this.props.muted,\n ratio: this.aspectRatio\n });\n this.player.on(\"ready\", this.props.onReady);\n this.player.on(\"play\", this.props.onPlay);\n this.player.on(\"pause\", this.props.onPause);\n this.player.on(\"ended\", this.props.onEnded);\n }\n\n trackPlayerState() {\n this.player.on(\"play\", () => {\n this.update({ paused: false, poster: false })\n });\n this.player.on(\"pause\", () => {\n this.update({ paused: true })\n });\n }\n\n togglePlayPause() {\n if (this.state.paused) {\n this.play();\n } else {\n this.pause();\n }\n }\n\n // Dispatch events to the Plyr instance\n on(event, handler) {\n this.player.on(event, handler);\n }\n\n play() {\n const update = {};\n update.playing = true;\n if (this.state.poster) {\n update.poster = false;\n }\n this.update(update);\n this.player.play();\n }\n\n pause() {\n this.update({\n paused: true,\n });\n this.player.pause();\n }\n\n render(update, previousState) {\n if (update.hasOwnProperty(\"paused\") && this.state.paused !== previousState.paused) {\n if (this.state.paused) {\n this.elements.play.style.setProperty(\"display\", \"block\");\n this.elements.pause.style.setProperty(\"display\", \"none\");\n } else {\n this.elements.play.style.setProperty(\"display\", \"none\");\n this.elements.pause.style.setProperty(\"display\", \"block\");\n }\n }\n\n if (update.hasOwnProperty(\"poster\") && this.elements.poster && this.state.poster !== previousState.poster) {\n if (this.state.poster) {\n this.elements.poster.style.setProperty(\"display\", \"block\");\n } else {\n this.elements.poster.style.setProperty(\"display\", \"none\");\n }\n }\n }\n}\n","/* JavaScript for CarouselModule */\n\nimport app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { CrossfadeCarousel } from \"../elements\";\n\n// Export the class itself\nexport class CarouselModule extends Component {\n\n constructor(props) {\n super(props);\n\n this.imageCarousel = new CrossfadeCarousel(this.elements.element, {}, {\n slideWrapper: this.elements.imageCarousel,\n slides: this.elements.imageSlides,\n nextControl: this.elements.nextButton,\n previousControl: this.elements.previousButton\n });\n\n this.captionCarousel = new CrossfadeCarousel(this.elements.element, {\n accessibility: false\n }, {\n slideWrapper: this.elements.captionCarousel,\n slides: this.elements.captionSlides,\n });\n\n this.imageCarousel.on('change', ({ index }) => {\n this.captionCarousel.select(index);\n });\n\n window.carousel = this;\n // this.imageCarousel.select(1);\n }\n\n setUpElements() {\n super.setUpElements();\n\n const { element } = this.props;\n this.elements.element = element;\n this.elements.imageCarousel = element.querySelector('.js-carousel-module__images');\n this.elements.captionCarousel = element.querySelector('.js-carousel-module__captions');\n this.elements.nextButton = element.querySelector('.js-carousel-module__next');\n this.elements.previousButton = element.querySelector('.js-carousel-module__previous');\n this.elements.imageSlides = this.elements.imageCarousel.querySelectorAll('.js-carousel-module__slide');\n this.elements.captionSlides = this.elements.captionCarousel.querySelectorAll('.js-carousel-module__slide');\n }\n\n\n}\n\nexport const carouselModules = {\n current: [],\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n const elements = e.target.querySelectorAll(\".js-carousel-module\");\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map(\n (element) => new CarouselModule({ element })\n );\n carouselModules.current = [...carouselModules.current, ...instances];\n });\n },\n};\n","/* JavaScript for ImageGridModule */\nimport app from \"../icasf_app\";\nimport { lightbox } from \"../components/lightbox\";\nimport Component from \"../component\";\n\n// Export the class itself\nexport class ImageGridModule extends Component {\n constructor({ element }) {\n super({ element });\n\n console.log(\"image grid\", this)\n\n const images = element.querySelectorAll(\".js-image-grid__image\");\n const lightboxSlides = element.querySelectorAll(\".js-lightbox-slide\");\n\n [...images].forEach((image, index) => {\n image.addEventListener(\"click\", () => {\n lightbox.current.open(lightboxSlides, index);\n });\n });\n }\n}\n\n// Exports an array of all the current instances\nexport const imageGridModules = {\n current: [],\n init: () => {\n\n app.addEventListener(\"page-load\", (e) => {\n // Initialize any instances of the ImageGridModule on any given page\n const elements = e.target.querySelectorAll(\".js-image-grid-module\");\n \n if (!Boolean(elements.length)) {\n return;\n }\n \n const instances = [...elements].map(\n (element) => new ImageGridModule({ element })\n );\n \n if (!Boolean(instances.length)) {\n return;\n }\n\n imageGridModules.current = [...imageGridModules.current, ...instances];\n })\n }\n};\n","/* JavaScript for PosterModule */\n\nimport app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { Video } from \"../elements\";\n\n// Export the class itself\nexport class PosterModule extends Component {\n get defaultState() {\n return {\n paused: true,\n };\n }\n\n constructor(props) {\n super(props);\n this.setUpVideo();\n }\n\n setUpElements() {\n super.setUpElements();\n const { element } = this.props;\n this.elements.video = element.querySelector(\".js-video\");\n this.elements.headline = element.querySelector(\".js-poster-module__headline\");\n this.elements.cta = element.querySelector(\".js-poster-module__cta\");\n }\n\n setUpVideo() {\n this.video = new Video({\n element: this.elements.video,\n onPlay: () => {\n this.update({\n paused: false,\n });\n },\n onPause: () => {\n this.update({\n paused: true,\n });\n },\n onEnded: () => {\n this.update({\n paused: true,\n });\n }\n });\n }\n\n render(update) {\n const { headline, cta } = this.elements;\n if (update.hasOwnProperty(\"paused\")) {\n if (this.state.paused) {\n [headline, cta].forEach((element) => {\n element.animate({ opacity: 1 }, { duration: 200, fill: \"forwards\" });\n });\n } else {\n [headline, cta].forEach((element) => {\n element.animate({ opacity: 0 }, { duration: 200, fill: \"forwards\" });\n });\n }\n }\n }\n}\n\nexport const posterModules = {\n current: [],\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n const elements = e.target.querySelectorAll(\n \".js-poster-module--with-video\"\n );\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map(\n (element) => new PosterModule({ element })\n );\n posterModules.current = [...posterModules.current, ...instances];\n });\n },\n};\n","/* JavaScript for VideoModule */\n\nimport app from \"../icasf_app\";\nimport Component from \"../component\";\nimport { Video } from \"../elements\";\n\n// Export the class itself\nexport class VideoModule extends Component {\n constructor(props) {\n super(props)\n\n this.setUpVideo();\n }\n\n setUpElements() {\n super.setUpElements();\n const { element } = this.props;\n this.elements.video = element.querySelector(\".js-video\");\n }\n\n setUpVideo() {\n this.video = new Video({\n element: this.elements.video\n })\n }\n}\n\nexport const videoModules = {\n current: [],\n init: () => {\n app.addEventListener(\"page-load\", (e) => {\n const elements = e.target.querySelectorAll(\n \".js-video-module\"\n );\n\n if (!Boolean(elements.length)) {\n return;\n }\n\n const instances = [...elements].map(\n (element) => new VideoModule({ element })\n );\n videoModules.current = [...videoModules.current, ...instances];\n });\n },\n}","import initAccordionEdit from \"./components/accordion_end\";\nimport * as accordion from \"./components/accordion\";\nimport { blockLevelLinks } from \"./components/block_level_link\";\nimport { jumpLinkEditors } from \"./components/jump_link_editor\";\nimport { lightbox } from \"./components/lightbox\";\nimport { mainNav } from \"./components/main_nav\";\nimport { miniCalendar } from \"./components/mini_calendar\";\nimport { modal } from \"./components/modal\";\nimport { remoteContentAreas } from \"./components/remote_content_area\";\nimport { responsiveImages } from \"./components/responsive_image\";\n\n// BEGIN MAGIC_MODULE_IMPORT\nimport { billboardModules } from './magic_modules/billboard_module';\nimport { carouselModules } from \"./magic_modules/carousel_module\";\nimport { imageGridModules } from './magic_modules/image_grid_module';\nimport { posterModules } from \"./magic_modules/poster_module\";\nimport { videoModules } from './magic_modules/video_module';\n// END MAGIC_MODULE_IMPORT\n\n// BEGIN MAGIC_MODULE_INIT\nbillboardModules.init();\ncarouselModules.init();\nimageGridModules.init();\nposterModules.init();\nvideoModules.init();\n// END MAGIC_MODULE_INIT\n\naccordion.init();\ninitAccordionEdit();\nblockLevelLinks.init();\njumpLinkEditors.init();\nlightbox.init();\nmainNav.init();\nminiCalendar.init();\nmodal.init();\nremoteContentAreas.init();\nresponsiveImages.init();\n"],"names":["util.isEconomyEditMode","Util.loopAround","util.fetchJson","util.editSearchParams","util.fetchPageMarkup","this","require$$0","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","util.wait","util\n .promiseOrTimeout","animation.fadeOutElement","animation.fadeInElement","fetch","accordion.init"],"mappings":"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AAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAM,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,EAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,IAAI,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,cAAc,GAAG,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,MAAM,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAEA,OAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,GAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,kBAAkB,EAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,oCAAoC,CAAC,UAAU,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,eAAe,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,wCAAwC,CAAC,MAAM,CAAC,wCAAwC,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,oCAAoC,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,qBAAqB,CAAC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,sBAAsB,CAAC,WAAW,CAAC,4BAA4B,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,0BAA0B,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,sBAAsB,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,CAAC,mBAAmB,CAAC,eAAe,CAAC,kCAAkC,CAAC,cAAc,CAAC,8BAA8B,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,wBAAwB,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,iBAAiB,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,cAAc,CAAC,sCAAsC,CAAC,aAAa,CAAC,qCAAqC,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,mCAAmC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAM,6EAA6E,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,uDAAuD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAC,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAC,CAAC,IAAI,CAAC,QAAQ,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,GAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAE,CAAC,WAAW,eAAe,EAAE,CAAC,OAAM,CAAC,EAAE,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,uBAAuB,EAAE,QAAQ,CAAC,oBAAoB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,OAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,QAAQ,EAAE,CAAC,OAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,SAAS,EAAE,CAAC,OAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAM,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,EAAC,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,0EAA0E,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,0CAA0C,EAAE,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,6CAA6C,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,EAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,EAAC,CAAC,EAAE,MAAM,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,GAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,GAAE,CAAC,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAK,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,EAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAE,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,qDAAqD,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,EAAE,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAK,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,IAAI,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,mDAAmD,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,GAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAmK,SAAS,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,mCAAmC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAC,CAAC,CAAC,CAAC,cAAc,EAAEA,OAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,kCAAkC,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAM,MAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAACA,OAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,GAAE,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sOAAsO,CAAC,CAAC,CAAC,sHAAsH,CAAC,GAAG,CAAC,oIAAoI,CAAC,GAAG,CAAC,sFAAsF,CAAC,GAAG,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,GAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,EAAC,CAAC,CAAC,CAA8I,MAAM,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,EAAC,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,EAAC,CAAC,EAAE,GAAG,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,GAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,GAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAW,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAE,CAAC,IAAI,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAM,CAAC,2CAA2C,EAAE,cAAc,CAAC,CAAC,cAAc,CAAC,0BAA0B,CAAC,YAAY,CAAC,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,yGAAyG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,EAAE,CAACA,OAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,GAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,CAAC,sBAAsB,GAAE,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAW,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,EAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAE,CAAC,CAAC,EAAE,GAAG,EAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,GAAG,EAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,KAAK,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,IAAI,CAAC,oBAAoB,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAE,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,qBAAqB,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,YAAY,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,gBAAgB,EAAE,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,EAAC,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,GAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAQ,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,8BAA8B,GAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAC,CAAC,OAAM,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAI,CAAC,EAAE,GAAG,CAAC,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,YAAY,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,EAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAC,CAAC,IAAI,WAAW,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAC,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,IAAI,KAAK,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,EAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,EAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,IAAI,YAAY,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,OAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,oBAAoB,EAAE,EAAC,CAAC,IAAI,GAAG,EAAE,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAC,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC;;ECIhquH,MAAM,KAAK,SAAS,SAAS,CAAC;EACrC,EAAE,OAAO,OAAO,GAAG,EAAE,CAAC;EACtB,EAAE,OAAO,cAAc,GAAG,OAAO,CAAC;AAClC;EACA,EAAE,IAAI,YAAY,GAAG;EACrB,IAAI,OAAO;EACX,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;EAClC,MAAM,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;EAClC,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,IAAI,WAAW,GAAG;EACpB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;EAChC;EACA,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;EACpC,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE;EACrE;EACA,MAAM,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC;EAChE,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;EACrC,MAAM,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;EACnE;EACA,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,EAAE;EACzC,QAAQ,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;EACjE,OAAO,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;EACxE,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY;AACnD,UAAU,OAAO;AACjB,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;EAC3D,OAAO;EACP,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,WAAW,CAAC;EACd,IAAI,OAAO,GAAG,MAAM,EAAE;EACtB,IAAI,MAAM,GAAG,MAAM,EAAE;EACrB,IAAI,OAAO,GAAG,MAAM,EAAE;EACtB,IAAI,OAAO,GAAG,MAAM,EAAE;EACtB,IAAI,QAAQ,GAAG,KAAK;EACpB,IAAI,KAAK,GAAG,KAAK;EACjB,IAAI,GAAG,KAAK;EACZ,GAAG,EAAE;EACL;EACA,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC5E;EACA,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;EACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC5B,IAAI,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;EACxB,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;AAC1B;EACA,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;EACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa;EACtD,MAAM,0BAA0B;EAChC,KAAK,CAAC;EACN,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC3D;EACA;EACA;EACA;EACA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;EAC/B,MAAM,MAAM,IAAI,KAAK;EACrB,QAAQ,2DAA2D;EACnE,OAAO,CAAC;EACR,KAAK;AACL;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;EACtE,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;EAC7E,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;EAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;EACpE,GAAG;AACH;EACA,EAAE,WAAW,GAAG;EAChB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;AACxB;EACA,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACtE,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;EAC9B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1D,KAAK;EACL,GAAG;AACH;EACA,EAAE,WAAW,GAAG;EAChB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;EACvD,MAAM,QAAQ,EAAE,EAAE;EAClB,MAAM,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;EACnC,MAAM,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;EAC7B,MAAM,KAAK,EAAE,IAAI,CAAC,WAAW;EAC7B,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAChD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAChD,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;EAChD,GAAG;AACH;EACA,EAAE,gBAAgB,GAAG;EACrB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM;EACjC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAC;EACnD,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM;EAClC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAC;EACnC,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA,EAAE,eAAe,GAAG;EACpB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;EAClB,KAAK,MAAM;EACX,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;EACnB,KAAK;EACL,GAAG;AACH;EACA;EACA,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE;EACrB,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EACnC,GAAG;AACH;EACA,EAAE,IAAI,GAAG;EACT,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;EACtB,IAAI,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;EAC1B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC3B,MAAM,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;EAC5B,KAAK;EACL,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EACxB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;EACvB,GAAG;AACH;EACA,EAAE,KAAK,GAAG;EACV,IAAI,IAAI,CAAC,MAAM,CAAC;EAChB,MAAM,MAAM,EAAE,IAAI;EAClB,KAAK,CAAC,CAAC;EACP,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;EACxB,GAAG;AACH;EACA,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE;EAChC,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;EACvF,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC7B,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;EACjE,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;EACjE,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;EAChE,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;EAClE,OAAO;EACP,KAAK;AACL;EACA,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;EAC/G,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC7B,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;EACnE,OAAO,MAAM;EACb,QAAQ,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;EAClE,OAAO;EACP,KAAK;EACL,GAAG;EACH;;EC7JA;AACA;AAIA;EACA;EACO,MAAM,cAAc,SAAS,SAAS,CAAC;AAC9C;EACA,EAAE,WAAW,CAAC,KAAK,EAAE;EACrB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACjB;EACA,IAAI,IAAI,CAAC,aAAa,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,EAAE;EAC1E,MAAM,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;EAC/C,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;EACvC,MAAM,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;EAC3C,MAAM,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;EACnD,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;EACxE,MAAM,aAAa,EAAE,KAAK;EAC1B,KAAK,EAAE;EACP,MAAM,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe;EACjD,MAAM,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;EACzC,KAAK,CAAC,CAAC;AACP;EACA,IAAI,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK;EACnD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;EACzC,KAAK,CAAC,CAAC;AACP;EACA,IAAI,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;EAC3B;EACA,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;AAC1B;EACA,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;EACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;EACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;EACvF,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;EAC3F,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;EAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAC;EAC1F,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;EAC3G,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;EAC/G,GAAG;AACH;AACA;EACA,CAAC;AACD;EACO,MAAM,eAAe,GAAG;EAC/B,EAAE,OAAO,EAAE,EAAE;EACb,EAAE,IAAI,EAAE,MAAM;EACd,IAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK;EAC7C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;AACxE;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EACrC,QAAQ,OAAO;EACf,OAAO;AACP;EACA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;EACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC;EACpD,OAAO,CAAC;EACR,MAAM,eAAe,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;EAC3E,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;;EClED;AAIA;EACA;EACO,MAAM,eAAe,SAAS,SAAS,CAAC;EAC/C,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE;EAC3B,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACvB;EACA,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,EAAC;AACnC;EACA,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;EACrE,IAAI,MAAM,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;AAC1E;EACA,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK;EAC1C,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM;EAC5C,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;EACrD,OAAO,CAAC,CAAC;EACT,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;AACD;EACA;EACO,MAAM,gBAAgB,GAAG;EAChC,EAAE,OAAO,EAAE,EAAE;EACb,EAAE,IAAI,EAAE,MAAM;AACd;EACA,IAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK;EAC7C;EACA,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;EAC1E;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EACrC,QAAQ,OAAO;EACf,OAAO;EACP;EACA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;EACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;EACrD,OAAO,CAAC;EACR;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;EACtC,QAAQ,OAAO;EACf,OAAO;AACP;EACA,MAAM,gBAAgB,CAAC,OAAO,GAAG,CAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;EAC7E,KAAK,EAAC;EACN,GAAG;EACH,CAAC;;EC/CD;AACA;AAIA;EACA;EACO,MAAM,YAAY,SAAS,SAAS,CAAC;EAC5C,EAAE,IAAI,YAAY,GAAG;EACrB,IAAI,OAAO;EACX,MAAM,MAAM,EAAE,IAAI;EAClB,KAAK,CAAC;EACN,GAAG;AACH;EACA,EAAE,WAAW,CAAC,KAAK,EAAE;EACrB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;EACjB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;EAC1B,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;EACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;EAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;EAClF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;EACxE,GAAG;AACH;EACA,EAAE,UAAU,GAAG;EACf,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;EAC3B,MAAM,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;EAClC,MAAM,MAAM,EAAE,MAAM;EACpB,QAAQ,IAAI,CAAC,MAAM,CAAC;EACpB,UAAU,MAAM,EAAE,KAAK;EACvB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,OAAO,EAAE,MAAM;EACrB,QAAQ,IAAI,CAAC,MAAM,CAAC;EACpB,UAAU,MAAM,EAAE,IAAI;EACtB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,MAAM,OAAO,EAAE,MAAM;EACrB,QAAQ,IAAI,CAAC,MAAM,CAAC;EACpB,UAAU,MAAM,EAAE,IAAI;EACtB,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK,CAAC,CAAC;EACP,GAAG;AACH;EACA,EAAE,MAAM,CAAC,MAAM,EAAE;EACjB,IAAI,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;EAC5C,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;EACzC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;EAC7B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;EAC7C,UAAU,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;EAC/E,SAAS,CAAC,CAAC;EACX,OAAO,MAAM;EACb,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK;EAC7C,UAAU,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;EAC/E,SAAS,CAAC,CAAC;EACX,OAAO;EACP,KAAK;EACL,GAAG;EACH,CAAC;AACD;EACO,MAAM,aAAa,GAAG;EAC7B,EAAE,OAAO,EAAE,EAAE;EACb,EAAE,IAAI,EAAE,MAAM;EACd,IAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK;EAC7C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB;EAChD,QAAQ,+BAA+B;EACvC,OAAO,CAAC;AACR;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EACrC,QAAQ,OAAO;EACf,OAAO;AACP;EACA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;EACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC;EAClD,OAAO,CAAC;EACR,MAAM,aAAa,CAAC,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;EACvE,KAAK,CAAC,CAAC;EACP,GAAG;EACH,CAAC;;EClFD;AACA;AAIA;EACA;EACO,MAAM,WAAW,SAAS,SAAS,CAAC;EAC3C,EAAE,WAAW,CAAC,KAAK,EAAE;EACrB,IAAI,KAAK,CAAC,KAAK,EAAC;AAChB;EACA,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,GAAG;AACH;EACA,EAAE,aAAa,GAAG;EAClB,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;EAC1B,IAAI,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;EACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;EAC7D,GAAG;AACH;EACA,EAAE,UAAU,GAAG;EACf,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC;EAC3B,MAAM,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;EAClC,KAAK,EAAC;EACN,GAAG;EACH,CAAC;AACD;EACO,MAAM,YAAY,GAAG;EAC5B,EAAE,OAAO,EAAE,EAAE;EACb,EAAE,IAAI,EAAE,MAAM;EACd,IAAI,GAAG,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK;EAC7C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB;EAChD,QAAQ,kBAAkB;EAC1B,OAAO,CAAC;AACR;EACA,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;EACrC,QAAQ,OAAO;EACf,OAAO;AACP;EACA,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG;EACzC,QAAQ,CAAC,OAAO,KAAK,IAAI,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;EACjD,OAAO,CAAC;EACR,MAAM,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;EACrE,KAAK,CAAC,CAAC;EACP,GAAG;EACH;;EC5BA;AACA;EACA;EACA,gBAAgB,CAAC,IAAI,EAAE,CAAC;EACxB,eAAe,CAAC,IAAI,EAAE,CAAC;EACvB,gBAAgB,CAAC,IAAI,EAAE,CAAC;EACxB,aAAa,CAAC,IAAI,EAAE,CAAC;EACrB,YAAY,CAAC,IAAI,EAAE,CAAC;EACpB;AACA;AACAC,MAAc,EAAE,CAAC;EACjB,iBAAiB,EAAE,CAAC;EACpB,eAAe,CAAC,IAAI,EAAE,CAAC;EACvB,eAAe,CAAC,IAAI,EAAE,CAAC;EACvB,QAAQ,CAAC,IAAI,EAAE,CAAC;EAChB,OAAO,CAAC,IAAI,EAAE,CAAC;EACf,YAAY,CAAC,IAAI,EAAE,CAAC;EACpB,KAAK,CAAC,IAAI,EAAE,CAAC;EACb,kBAAkB,CAAC,IAAI,EAAE,CAAC;EAC1B,gBAAgB,CAAC,IAAI,EAAE;;;;;;","x_google_ignoreList":[14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35]}